:root{color-scheme:light}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scrollbar-width:none;overscroll-behavior:none;touch-action:none}html::-webkit-scrollbar{display:none}html,body{width:100%;height:100%;background:#c3c9d2;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body{position:fixed;top:0;right:0;bottom:0;left:0;font-family:IBM Plex Mono,Cascadia Mono,Consolas,ui-monospace,monospace;color:#67717f;-webkit-font-smoothing:antialiased}::selection{color:inherit;background:transparent}.scroll-spacer{height:100vh;pointer-events:none}.final-link-ui{position:fixed;z-index:8;left:50%;bottom:clamp(34px,7vh,72px);display:grid;grid-template-columns:clamp(100px,10vw,190px) clamp(140px,11vw,210px) clamp(100px,10vw,190px);align-items:center;color:#ffffffeb;font-size:13px;font-weight:600;letter-spacing:.02em;text-align:center;text-shadow:0 0 12px rgba(190,220,255,.7);opacity:0;transform:translate(-50%,8px);transition:opacity .28s ease,transform .4s cubic-bezier(.2,.8,.2,1);pointer-events:none}.final-link-current{position:relative;padding:11px 32px;color:inherit;text-decoration:none;pointer-events:auto;touch-action:manipulation}.final-link-current:before,.final-link-current:after{position:absolute;inset-block:0;width:16px;border-block:2px solid rgba(255,255,255,.9);content:""}.final-link-current:before{left:0;border-left:2px solid rgba(255,255,255,.9)}.final-link-current:after{right:0;border-right:2px solid rgba(255,255,255,.9)}.final-link-neighbor{color:#dfe7f257;filter:blur(.35px)}body.final-links-active .final-link-ui{opacity:1;transform:translate(-50%)}body.detail-active .final-link-ui{opacity:0}.final-room-arrow{position:fixed;z-index:8;top:45.5%;width:clamp(42px,4.5vw,64px);height:18px;opacity:0;filter:drop-shadow(0 0 5px rgba(210,230,255,.45));transition:opacity .3s ease;pointer-events:none}.final-room-arrow:before,.final-room-arrow:after{position:absolute;bottom:0;content:"";background:#ffffffb8}.final-room-arrow:before{left:0;width:100%;height:1px}.final-room-arrow:after{width:22px;height:1px}.final-room-arrow-left{left:25%}.final-room-arrow-left:after{left:-1px;transform:rotate(-43deg);transform-origin:left center}.final-room-arrow-right{right:25%}.final-room-arrow-right:after{right:-1px;transform:rotate(43deg);transform-origin:right center}body.final-links-active .final-room-arrow{opacity:1}body.detail-active .final-room-arrow{opacity:0}canvas.webgl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:default;outline:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.hud,body.ready .hud{display:none}.corner{position:absolute;padding:22px 26px;white-space:pre;transition:opacity .25s ease}.tl{top:0;left:0}.tr{top:0;right:0;text-align:right}.bl{bottom:0;left:0}.br{bottom:0;right:0;text-align:right}.hud .hi,.labels .hi{color:#fff;text-shadow:0 1px 10px rgba(60,70,85,.35)}.hud .dim,.labels .dim{color:#7d8794}.labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;font-size:12px;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;transition:opacity .25s ease}.labels .label,.labels .temp,.labels .date{position:absolute;top:0;left:0;will-change:transform}.labels .label{font-weight:600}.labels .temp{font-size:11px}.labels .temp span:first-child{color:#fff;text-shadow:0 1px 10px rgba(60,70,85,.35)}.labels .date{font-size:11px;color:#fff;white-space:pre-line;border-bottom:1px solid rgba(255,255,255,.75);padding-bottom:5px;text-shadow:0 1px 10px rgba(60,70,85,.35)}.labels .connector{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.labels .connector polyline{fill:none;stroke:#fffc;stroke-width:1}body.detail-active{overflow:hidden}body.detail-active .labels{opacity:0!important}body.detail-active .hud .tr,body.detail-active .hud .br{opacity:0}.detail-close{position:fixed;z-index:8;top:83.52px;right:125px;display:flex;align-items:center;width:120px;height:54px;gap:0;border:0;padding:8px;color:transparent;background:transparent;font:13px/1 IBM Plex Mono,Cascadia Mono,Consolas,monospace;letter-spacing:.05em;cursor:pointer;pointer-events:none;opacity:0;visibility:hidden;transform:scale(.92);transition:opacity .25s ease,transform .35s ease,visibility 0s linear .35s;touch-action:manipulation}@media(max-width:1599px),(max-height:799px){.detail-close{top:39.87px;right:50px;width:95px;height:42.75px}}@media(max-width:899px),(max-height:639px),(pointer:coarse)and (max-width:1199px){.final-room-arrow{top:47%;width:34px}.final-room-arrow-left{left:calc(16px + env(safe-area-inset-left,0px))}.final-room-arrow-right{right:calc(16px + env(safe-area-inset-right,0px))}.final-room-arrow:after{width:16px}}@media(max-width:639px),(max-height:639px){.detail-close{top:20.41px;right:25px;width:85px;height:38.25px}}.detail-close:before{content:none}.detail-close:hover{color:#fff}.detail-close-mark{display:inline-block;transition:transform .35s ease}.detail-close:hover .detail-close-mark{transform:rotate(90deg)}body.detail-active .detail-close{opacity:0;visibility:visible;transform:scale(1);transition-delay:.65s,.65s,0s}body.detail-open .detail-close{pointer-events:auto}body.detail-exiting .detail-close{opacity:0;transform:scale(.92);transition-delay:0s}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:#a0a5b1;color:#fff;transition:opacity .75s cubic-bezier(.6,0,0,1) .25s}.loader span{width:11ch;color:transparent;font:700 17px/1 IBM Plex Mono,Cascadia Mono,Consolas,monospace;letter-spacing:0;text-shadow:none;transition:opacity .25s ease}.loader span:before{content:"---===+++=-";display:block;color:#fff;text-shadow:0 0 5px rgba(255,255,255,.4);animation:igloo-loader-scan 5s steps(1,end) infinite}.loader.error span{width:auto;color:#fff;font-size:12px}.loader.error span:before{display:none}body.ready .loader{opacity:0;pointer-events:none}body.ready .loader span{opacity:0}@keyframes igloo-loader-scan{0%{content:"---===+++=-"}8%{content:"--===+++==-"}16%{content:"-===+++===-"}24%{content:"===+++===--"}32%{content:"==+++===---"}40%{content:"=+++===----"}48%{content:"+++===----="}56%{content:"++===----=="}64%{content:"+===----==="}72%{content:"===----===+"}80%{content:"==----===++"}88%{content:"=----===+++"}96%{content:"----===+++=-"}to{content:"---===+++=-"}}body.ff .loader{display:none}body.ff .hud{opacity:1;transition:none}
