@import url("https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900&family=Silkscreen:wght@400;700&display=swap");*{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;background:black;-webkit-user-select:none;-moz-user-select:none;user-select:none}body{overscroll-behavior:none;touch-action:none}#__next,#__next canvas{width:100%;height:100%}:root{--font-mono:"Silkscreen",monospace}button{cursor:pointer;border:0;padding:1rem 2rem;border-radius:.5rem;background:rgba(255,255,255,.75);font:inherit;font-size:1.75rem}body{font-family:var(--font-mono)}.abyss{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:.5rem;color:#fff;animation:fade-in 1 forwards;font-size:1.75em}.abyss h1{font-weight:400;font-size:1.5em;line-height:1.1;color:red}.abyss button{margin-top:1.5rem}.loader{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .3s}.loader[data-loading=false]{pointer-events:none;opacity:0}.loading-bar-wrapper{position:relative;width:200px;height:3px;background:gray;overflow:hidden;transition-property:opacity,transform;transition-duration:.3s}.loading-bar{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;transform:translate3d(-100%,0,0)}.loader[data-loading=false] .loading-bar-wrapper{transform:scale(.5);opacity:0}.tutorial-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:rgba(0,0,0,.25);transition:opacity .5s}.tutorial-wrapper.fade-out{opacity:0}.tutorial{width:min(90%,500px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:1fr;grid-gap:1rem;gap:1rem}.instructions{font-size:2rem;color:#fff}.tutorial:before{content:"";padding-bottom:100%;grid-row:1/1;grid-column:1/1}.arrow-key{aspect-ratio:square;width:100%;height:100%;transition-duration:.5s;transition:opacity 1s}.arrow-key-inner{position:relative;overflow:hidden;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-radius:1rem;border:1px solid #fff;color:#fff;padding:2rem;transition:color .2s}.arrow-key-inner span{position:relative;font-size:2rem;line-height:1;font-family:sans-serif}.arrow-key-inner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;opacity:0;transition:opacity .2s}.arrow-key.highlight{opacity:0}.arrow-key.highlight .arrow-key-inner{color:#000}.arrow-key.highlight .arrow-key-inner:before{opacity:1}.arrow-key:first-of-type{grid-column:5/9;grid-row:2/6}.arrow-key:nth-of-type(2),.arrow-key:nth-of-type(3),.arrow-key:nth-of-type(4){grid-row:6/10}.arrow-key:nth-of-type(2){grid-column:1/5}.arrow-key:nth-of-type(3){grid-column:5/9}.arrow-key:nth-of-type(4){grid-row:6/10;grid-column:9/-1}.touchpad{position:fixed;bottom:40px;left:50%;transform:translate3d(-50%,0,0);width:131px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.touchpad .bg{position:absolute;inset:0;width:100%;height:100%;border-radius:999px;background:#fff;transition-duration:.2s;transition-property:transform,opacity;opacity:.5}.touchpad .indicator{position:absolute;background:#fff;border:1px solid #000;width:50%;aspect-ratio:1;border-radius:999px}.touchpad.active .bg{opacity:1;transform:scale(.75)}.touchpad.active .indicator{background:#000;border-color:#fff}.action{display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1.5rem;padding:2rem 4rem;background:rgba(255,255,255,.7);border-radius:1rem;text-align:center;animation:fade-in .5s 1 forwards}.portal.action{position:fixed;bottom:50%;left:0;width:100%;transform:translate3d(0,50%,0);background:none;padding:1rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.action p:empty{display:none}.action p:first-child:not(:last-child){font-size:1.5em;margin-bottom:.5em}.action p:last-child{padding:.5rem 1rem;border-radius:.5rem;background:#fff;text-transform:uppercase}.portal.action p:last-child{padding:1.5rem 2.5rem;font-size:1.25em;border-radius:1.5rem;background:rgba(255,255,255,.75)}.portal.action:active p:last-child{background:rgba(255,255,255,1)}