@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ecede5;--gold:#d8ab63;--gold-bright:#ffd590;--glass:#071016c7;--line:#e8dbba38;background:#071016;font-family:IBM Plex Mono,ui-monospace,monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}.is-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.experience{isolation:isolate;background:#071016;width:100%;height:100%;min-height:35rem;position:relative;overflow:hidden}.scene,.game-canvas{width:100%;height:100%;position:absolute;inset:0}.scene{z-index:0}.game-canvas{image-rendering:pixelated;display:block}.atmosphere{z-index:1;pointer-events:none;background:linear-gradient(90deg,#02070ab8,#0000 44%,#02070a2e);position:absolute;inset:0}.atmosphere:before{content:"";opacity:.17;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");position:absolute;inset:0}.atmosphere:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 18vw 3vw #020609}.boot{z-index:100;background:#071016;place-content:center;justify-items:center;gap:1.25rem;transition:opacity .8s,visibility .8s;display:grid;position:absolute;inset:0}.boot-mark{border:1px solid #d8ab6359;place-items:center;width:5rem;height:5rem;display:grid;transform:rotate(45deg)}.boot-mark span{color:var(--gold);font:500 3.2rem/1 Cormorant Garamond,serif;transform:rotate(-45deg)}.boot-copy{text-align:center;letter-spacing:.16em;gap:.4rem;display:grid}.boot-copy strong{color:var(--gold);font-size:.65rem}.boot-copy span{color:#ecede58c;font-size:.58rem}.boot-track{background:#ffffff1f;width:15rem;height:1px}.boot-track i{background:var(--gold-bright);width:0;height:1px;box-shadow:0 0 1rem var(--gold);transition:width .5s;display:block}.boot.has-error .boot-track i{background:#d66}.splash{z-index:5;text-align:center;background:radial-gradient(circle,#040a0d0a,#040a0d94);flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:opacity 1s,visibility 1s;display:flex;position:absolute;inset:0}.splash-emblem{aspect-ratio:1;width:clamp(8rem,14vw,12rem);margin-bottom:-1rem}.splash-emblem img{object-fit:cover;filter:drop-shadow(0 1rem 2.5rem #0009);border-radius:24%;width:100%;height:100%}.eyebrow,.edition{letter-spacing:.38em;color:#ecede5b3;font-size:clamp(.52rem,.72vw,.66rem)}.splash h1{letter-spacing:.08em;color:#f2ebdb;text-shadow:0 .05em .3em #000000b3;margin:-.05em 0 0;font:500 clamp(5rem,13vw,11rem)/.75 Cormorant Garamond,serif}.tagline{letter-spacing:.06em;color:#d8cdb5;margin:1.2rem 0 2.5rem;font:italic 400 clamp(1.1rem,2vw,1.7rem)/1 Cormorant Garamond,serif}.primary-action{color:#14110d;cursor:pointer;letter-spacing:.17em;background:linear-gradient(100deg,#b98442,#f1ca82);border:1px solid #ffd59080;justify-content:space-between;align-items:center;gap:2rem;min-width:17rem;padding:.95rem 1.1rem .95rem 1.35rem;font-size:.69rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1rem 3rem #00000059}.primary-action:hover{transform:translateY(-2px);box-shadow:0 1rem 4rem #d8ab6340}.primary-action kbd{border:1px solid #14110d40;border-radius:2px;padding:.3rem .45rem}.edition{opacity:.55;position:absolute;bottom:2rem}.main-menu{z-index:5;background:linear-gradient(90deg,#03080bf0 0%,#03080bc2 60%,#0000 100%);flex-direction:column;justify-content:center;width:min(39rem,100%);padding:clamp(2.5rem,7vw,7.5rem);transition:opacity .6s,visibility .6s;display:flex;position:absolute;inset:0}.menu-brand{align-items:center;gap:.8rem;margin-bottom:clamp(2rem,6vh,4rem);display:flex}.menu-brand img{border-radius:16%;width:3.7rem;height:3.7rem}.menu-brand div{gap:.2rem;display:grid}.menu-brand span{letter-spacing:.12em;font:500 1.8rem/1 Cormorant Garamond,serif}.menu-brand small{color:var(--gold);letter-spacing:.21em;font-size:.53rem}.chapter{color:var(--gold);letter-spacing:.3em;margin:0 0 .5rem;font-size:.56rem}.main-menu h2{letter-spacing:-.02em;margin:0 0 2rem;font:400 clamp(2.8rem,5vw,4.7rem)/.88 Cormorant Garamond,serif}.main-menu nav{gap:.15rem;display:grid}.menu-item{border:0;border-left:1px solid var(--line);color:#ecede5a6;text-align:left;cursor:pointer;background:0 0;grid-template-columns:2rem 1fr auto;align-items:center;gap:.75rem;width:100%;padding:.92rem 1rem;transition:all .2s;display:grid;position:relative}.menu-item:before{content:"";z-index:-1;transform-origin:0;background:linear-gradient(90deg,#d8ab6326,#0000);transition:transform .22s;position:absolute;inset:0;transform:scaleX(0)}.menu-item:hover,.menu-item:focus-visible,.menu-item.featured{color:#fff;border-left-color:var(--gold-bright);padding-left:1.35rem}.menu-item:hover:before,.menu-item:focus-visible:before,.menu-item.featured:before{transform:scaleX(1)}.menu-item i{color:var(--gold);font-size:.55rem;font-style:normal}.menu-item span{letter-spacing:.04em;font:500 1.3rem/1 Cormorant Garamond,serif}.menu-item b{color:var(--gold-bright);letter-spacing:.14em;font-size:.48rem}.menu-hint{color:#ecede566;letter-spacing:.08em;align-items:center;gap:.65rem;margin-top:2rem;font-size:.5rem;display:flex}.menu-hint span{background:var(--gold);width:1.8rem;height:1px}.hud{z-index:10;padding:max(1.1rem, env(safe-area-inset-top)) 1.4rem 1rem;background:linear-gradient(#03080bbf,#0000);grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem;transition:opacity .4s,visibility .4s;display:grid;position:absolute;top:0;left:0;right:0}.glass-button{border:1px solid var(--line);color:#eee5d4;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060d1199;border-radius:50%;width:2.8rem;height:2.8rem}.glass-button:hover,.glass-button.is-active{border-color:var(--gold);color:var(--gold-bright)}.location{gap:.2rem;display:grid}.location small{letter-spacing:.23em;color:var(--gold);font-size:.48rem}.location strong{letter-spacing:.04em;font:500 1.25rem/1 Cormorant Garamond,serif}.runtime-badges{gap:.4rem;display:flex}.runtime-badges span{color:#f5f3ebc7;letter-spacing:.09em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040a0d9e;border:1px solid #ffffff29;border-radius:1rem;padding:.45rem .6rem;font-size:.5rem}.hotspots{z-index:4;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.hotspot{cursor:pointer;pointer-events:auto;background:0 0;border:0;width:2rem;height:2rem;position:absolute}.hotspot span{border:1px solid var(--gold-bright);border-radius:50%;animation:2s infinite pulse;position:absolute;inset:.45rem;box-shadow:0 0 0 .3rem #d8ab631f,0 0 1rem #d8ab6359}.hotspot b{color:#16120e;background:var(--gold-bright);letter-spacing:.08em;opacity:0;width:max-content;padding:.45rem .65rem;font:500 .52rem/1 IBM Plex Mono,monospace;transition:all .2s;position:absolute;bottom:2rem;left:50%;transform:translate(-50%,.35rem)}.hotspot:hover b,.hotspot:focus-visible b{opacity:1;transform:translate(-50%)}.hotspot.observatory{top:44%;left:66%}.hotspot.shelter{top:62%;left:18%}.hotspot.sign{top:59%;left:84%}@keyframes pulse{50%{opacity:.45;transform:scale(1.35)}}.systems{z-index:30;border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#050c10e0;width:min(26rem,100% - 2rem);padding:1.3rem;transition:opacity .3s,visibility .3s,transform .3s;position:absolute;top:5.4rem;right:1.4rem;box-shadow:0 2rem 6rem #0000008c}.systems.is-hidden{transform:translate(1rem)}.systems-heading{justify-content:space-between;gap:1rem;display:flex}.systems-heading small{color:var(--gold);letter-spacing:.2em;font-size:.48rem}.systems-heading h2{margin:.25rem 0 0;font:500 2rem/1 Cormorant Garamond,serif}.systems-heading button{color:#eee;cursor:pointer;background:0 0;border:0;font-size:1.5rem}.systems>p{color:#ecede5ad;margin:1rem 0;font:400 .8rem/1.55 Cormorant Garamond,serif}.system-grid{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.system-card{color:#ecede5a6;text-align:left;cursor:pointer;background:#ffffff06;border:1px solid #ffffff1a;flex-direction:column;align-items:flex-start;gap:.45rem;min-height:7.2rem;padding:.8rem;display:flex;position:relative}.system-card:hover,.system-card.is-active{color:#fff;background:#d8ab6314;border-color:#d8ab6399}.system-card i{color:var(--gold);font-size:.48rem;font-style:normal}.system-card strong{letter-spacing:.08em;margin-top:.25rem;font-size:.6rem}.system-card span{color:#ecede5ad;font:.78rem/1.25 Cormorant Garamond,serif}.system-card b{color:var(--gold-bright);letter-spacing:.1em;font-size:.42rem;position:absolute;top:.6rem;right:.6rem}.system-card.static{cursor:default}.systems-footer{color:#ecede594;justify-content:space-between;gap:1rem;margin-top:.9rem;font-size:.48rem;display:flex}.dialogue{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(110deg,#070e11f5,#0e1414e3);grid-template-columns:9rem 1fr;width:min(54rem,100% - 2rem);min-height:10rem;transition:opacity .3s,visibility .3s;display:grid;position:absolute;bottom:clamp(1.4rem,5vh,3.5rem);left:50%;transform:translate(-50%);box-shadow:0 1.5rem 5rem #00000080}.portrait{border-right:1px solid var(--line);background:radial-gradient(circle at 50% 35%,#6f563d,#171d1d 58%,#090e10);position:relative;overflow:hidden}.portrait:before{content:"";background:linear-gradient(100deg,#251d1b 50%,#866044 51%);border-radius:48% 48% 42% 42%;width:4.5rem;height:5.8rem;position:absolute;top:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 2.5rem 0 .9rem #37241f}.portrait:after{content:"";background:#d9a56d;width:1.7rem;height:.18rem;position:absolute;top:4rem;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 .75rem 0 -.04rem #2a1715}.portrait[data-character=stranger]{background:radial-gradient(circle at 50% 35%,#3c5553,#11191b 58%,#080d0f)}.portrait[data-character=stranger]:before{background:linear-gradient(100deg,#0c1011 52%,#54504a 53%);box-shadow:0 2.5rem 0 .9rem #151c1d}.dialogue-body{padding:1.15rem 1.35rem}.dialogue-body small{color:var(--gold-bright);letter-spacing:.22em;font-size:.58rem}.dialogue-body p{color:#f1ecdf;min-height:2.8rem;margin:.6rem 0 .9rem;font:500 clamp(1.15rem,2vw,1.45rem)/1.25 Cormorant Garamond,serif}.choices{flex-wrap:wrap;gap:.5rem;display:flex}.choices button{color:#eee8dc;letter-spacing:.06em;cursor:pointer;background:#d8ab6314;border:1px solid #d8ab6373;padding:.55rem .7rem;font-size:.58rem}.choices button:hover{border-color:var(--gold-bright);color:#fff;background:#d8ab6326}.toast{z-index:50;color:#e9dfca;text-align:center;letter-spacing:.05em;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050b0ee0;border:1px solid #d8ab6361;max-width:min(28rem,80%);padding:.65rem 1rem;font-size:.54rem;line-height:1.5;transition:all .25s;position:absolute;top:6rem;left:50%;transform:translate(-50%,-.8rem)}.toast.is-visible{opacity:1;transform:translate(-50%)}.corner-note{z-index:3;color:#ecede585;letter-spacing:.1em;align-items:center;gap:.5rem;font-size:.48rem;display:flex;position:absolute;bottom:1rem;right:1.3rem}.corner-note i{background:#d8ab6366;width:1.5rem;height:1px}.boot-fallback{color:#d8ab63;letter-spacing:.15em;background:#071016;place-content:center;justify-items:center;gap:1rem;height:100%;font-size:.65rem;display:grid}.boot-fallback img{border-radius:22%;width:8rem}@media (max-width:720px){.experience{min-height:30rem}.main-menu{background:linear-gradient(90deg,#03080beb,#03080b80);width:100%;padding:2rem}.runtime-badges span:nth-child(n+2){display:none}.location strong{font-size:1rem}.dialogue{grid-template-columns:5.5rem 1fr;min-height:8.5rem;bottom:1rem}.portrait:before{transform:translate(-50%)scale(.8)}.system-grid{grid-template-columns:1fr;max-height:55vh;overflow:auto}.system-card{min-height:5.5rem}.corner-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
