:root{color-scheme:dark;font-family:Arial,sans-serif;background:#07111e;color:#c4d5e1}*{box-sizing:border-box}body{margin:0}#observatory{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#07111e}.ambient{position:absolute;inset:-70px;z-index:-4;background:url(../media/lunar-observatory-poster.png) center 47%/cover no-repeat;filter:blur(48px) brightness(.32) saturate(.85);opacity:.76;transform:scale(1.12)}.ambient:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#040b16b0,transparent 42%,transparent 58%,#040b16b0)}.film-window{position:absolute;z-index:-2;top:50%;left:50%;width:min(100vw,calc(100svh * .574074));aspect-ratio:496/864;transform:translate(-50%,-50%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 3%,#000 98%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 3%,#000 98%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .7s}video{display:block;width:100%;height:100%;object-fit:contain}.periphery{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 85% at 50% 46%,transparent 30%,#040d1970 100%),linear-gradient(0deg,#050c18d9,transparent 17%,transparent 87%,#06111d42)}header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:18px 3.5%;z-index:3}.brand{display:block;width:213px;color:#c5d8e6;text-decoration:none;opacity:.84;transition:filter .3s,opacity .3s}.brand svg{display:block;width:100%;height:auto}.brand:hover,.brand:focus-visible{opacity:1;filter:drop-shadow(0 0 10px #57adff45)}a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:1px solid #8ccfff;outline-offset:7px}.top-link{min-width:44px;min-height:44px;display:grid;place-items:center;font:9px monospace;letter-spacing:.17em;color:#9cb5c8;text-decoration:none;transition:color .25s,text-shadow .25s}.top-link:hover{color:#c5e7ff;text-shadow:0 0 12px #5aafff}.edge{position:absolute;top:25%;bottom:22%;width:1px;background:linear-gradient(0deg,transparent,#6698bc33,transparent);pointer-events:none;color:#7599b355}.edge-left{left:6.2%}.edge-right{right:6.2%}.edge i{position:absolute;top:22%;width:2px;height:18%;background:linear-gradient(0deg,transparent,#6cbcff88,transparent);box-shadow:0 0 8px #4baeff22;animation:edge-drift 13s ease-in-out infinite}.edge-right i{animation-delay:-7s}.edge span{position:absolute;top:100%;font:7px/1.7 monospace;letter-spacing:.22em;white-space:nowrap;writing-mode:vertical-rl}.edge-left span{left:-3px;margin-top:15px}.edge-right span{right:-3px;transform:rotate(180deg);margin-top:15px}.entrance{position:absolute;left:50%;bottom:max(35px,5svh);transform:translateX(-50%);z-index:4;text-align:center}#enter-works{position:relative;display:flex;align-items:center;justify-content:center;gap:45px;min-height:54px;width:246px;border:1px solid #6cafdc70;border-radius:8px;background:linear-gradient(115deg,#102c4655,#091b2b75);backdrop-filter:blur(12px);color:#c4e5fb;box-shadow:inset 0 1px #b7e5ff0a,0 0 28px #2b85c412;text-decoration:none;transition:border-color .3s,box-shadow .4s,background .3s,transform .3s;overflow:hidden;font:11px monospace;letter-spacing:.32em}#enter-works:before{content:'';position:absolute;top:-1px;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,#84cdff,transparent);box-shadow:0 0 10px #58b2ff90}#enter-works:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#69b9ee18 50%,transparent 65%);transform:translateX(-110%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}#enter-works:hover,#enter-works:focus-visible{border-color:#a1d8ffb0;box-shadow:0 0 32px #3d9ee329,inset 0 0 25px #3b89c115;background:#112d4585;transform:translateY(-1px)}#enter-works:hover:after,#enter-works:focus-visible:after{transform:translateX(110%)}#enter-works svg{width:29px;height:12px;fill:none;stroke:#88c5ed;stroke-width:.7;transition:transform .4s}#enter-works:hover svg{transform:translateX(4px)}.entrance p{font:6px monospace;letter-spacing:.28em;color:#7797b38c;white-space:nowrap;margin:14px 0 0}.passage{position:absolute;inset:0;z-index:5;pointer-events:none;background:#07111e;opacity:0;transition:opacity .8s cubic-bezier(.45,0,.7,1)}.passage i{position:absolute;top:50%;left:50%;width:80%;height:1px;background:linear-gradient(90deg,transparent,#72bbef80,transparent);box-shadow:0 0 14px #51aeff50;transform:translate(-50%,-50%) scaleX(.01);opacity:0;transition:transform .45s cubic-bezier(.09,.8,.2,1),opacity .5s}.is-entering .film-window{transform:translate(-50%,-50%) scale(1.025);filter:brightness(.75)}.is-entering .entrance{pointer-events:none}.is-entering #enter-works svg{transform:translateX(10px)}.is-entering .passage{opacity:1}.is-entering .passage i{opacity:.8;transform:translate(-50%,-50%) scaleX(1)}@keyframes edge-drift{0%,100%{top:12%;opacity:.25}55%{top:63%;opacity:.85}}@media(max-width:850px){header{padding:17px 5%}.brand{width:153px}.edge{display:none}.entrance{bottom:max(28px,5svh)}#enter-works{width:224px;min-height:52px}.ambient{filter:blur(35px) brightness(.38);opacity:.65}.film-window{-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 97%,transparent)}}@media(max-height:600px) and (min-width:851px){header{padding-top:8px}.brand{width:162px}.entrance{bottom:18px}#enter-works{width:210px;min-height:46px}.entrance p{margin-top:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.is-entering .film-window{transform:translate(-50%,-50%);filter:none}}
.film-window [hidden]{display:none!important}#observatory-motion{display:block;width:100%;height:100%;object-fit:contain}.image-intro .film-window{background:url(../media/lunar-observatory-poster.png) center/contain no-repeat}
