@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols+2&display=swap";html,body{margin:0;padding:0;overflow:hidden;background-color:#4040e8;font-family:"Press Start 2P","Noto Sans Symbols 2",monospace,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px}#root{margin:0;padding:0;overflow:hidden;font-family:"Press Start 2P","Noto Sans Symbols 2",monospace,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;background-color:#4040e8}.crt-bulge{position:relative;overflow:hidden;border-radius:.5rem}.crt-bulge:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,transparent 50%,rgba(0,0,0,.2) 80%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:10}.crt-bulge .c64-inner{transform-style:preserve-3d;transform:perspective(25rem) rotateX(0)}.crt-bulge{clip-path:ellipse(98% 96% at 50% 50%)}@supports (filter: url(#barrel-distortion)){.crt-bulge{filter:url(#barrel-distortion)}}.c64-screen{background-color:#a5a5ff;width:100vw;height:100vh;padding:0;margin:0;cursor:default;position:fixed;top:0;left:0;display:flex;align-items:center;justify-content:center;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;overflow:hidden}.c64-inner{background-color:#4242e7;color:#a5a5ff;width:calc(100% - clamp(2rem,5vw,3.75rem));height:calc(100% - clamp(2rem,5vw,3.75rem));display:flex;align-items:center;flex-direction:column;overflow:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;font-size:clamp(.75rem,2vw,1.125rem);line-height:clamp(1rem,2.5vw,1.375rem)}.scrollable-container::-webkit-scrollbar{display:none}.c64-content{display:flex;flex-direction:column;align-items:flex-start;flex-grow:0;flex-shrink:0;flex-wrap:nowrap;width:100%;padding:clamp(.5rem,2vw,2rem);padding-bottom:clamp(2.5rem,6vw,4rem);box-sizing:border-box;font-size:inherit;line-height:inherit;letter-spacing:normal;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;word-wrap:break-word;overflow-wrap:break-word}.c64-content .print-line{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;letter-spacing:normal}.c64-cursor{display:inline-block;width:clamp(.5rem,1.5vw,1rem);height:clamp(.75rem,2vw,1.375rem);padding-top:.5%;background-color:#a5a5ff;vertical-align:text-bottom;margin-left:0}.print-line{padding-top:.5%;padding-bottom:.5%}.start-header{font-size:2cqw;display:flex;flex-direction:column;align-items:center;flex-wrap:nowrap;flex-shrink:0;-webkit-text-size-adjust:none}.end-line{display:flex;align-items:flex-end}.scanlines{overflow:hidden;position:relative}.scanlines:before,.scanlines:after{display:block;pointer-events:none;content:"";position:absolute}.scanlines:before{width:100%;height:.125rem;z-index:2147483649;background:#0000004d;opacity:.75;animation:scanline 16s linear infinite}.scanlines:after{top:0;right:0;bottom:0;left:0;z-index:2147483648;background:linear-gradient(to bottom,transparent 85%,rgba(0,0,0,.226) 51%);background-size:100% .25rem;animation:scanlines 1s steps(60) infinite}@keyframes scanline{0%{transform:translate3d(0,200000%,0)}}@keyframes scanlines{0%{background-position:0 50%}}div{margin:0;padding:0}div.scanlines{position:absolute}@media (min-width: 768px){.c64-inner{font-size:.875rem;line-height:1.125rem}.c64-content .print-line{overflow:visible}.c64-cursor{width:.75rem;height:1.125rem}}@media (min-width: 1024px){.c64-inner{font-size:1rem;line-height:1.25rem}.c64-cursor{width:.875rem;height:1.25rem}}@media (min-width: 1440px){.c64-inner{font-size:1.125rem;line-height:1.375rem}.c64-cursor{width:1rem;height:1.375rem}}.top-right-controls{position:absolute;top:clamp(.5rem,2vw,.625rem);right:clamp(.5rem,2vw,.625rem);display:flex;gap:clamp(.5rem,2vw,.5rem);z-index:100}@media (max-width: 768px){.top-right-controls{flex-direction:column;gap:clamp(.5rem,2vw,.625rem)}.icon-button{width:clamp(2rem,8vw,2.5rem);height:clamp(2rem,8vw,2.5rem);font-size:clamp(1rem,4vw,1.25rem)}}.icon-button{width:clamp(1.5rem,5vw,2rem);height:clamp(1.5rem,5vw,2rem);background:#4040e8;border:.125rem solid #7070ff;color:#a0a0ff;font-size:clamp(.875rem,3vw,1.125rem);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:C64,monospace}.icon-button:hover{background:#5050ff;color:#fff;border-color:#8080ff}.icon-button:active{transform:scale(.95)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#4040e8;border:.25rem solid #7070ff;padding:clamp(1rem,4vw,1.875rem);max-width:clamp(20rem,80vw,37.5rem);width:90%;max-height:80vh;overflow-y:auto;position:relative;color:#a0a0ff;font-family:C64,monospace;animation:slideIn .3s;scrollbar-width:none;-ms-overflow-style:none}.modal-content::-webkit-scrollbar{display:none}@keyframes slideIn{0%{transform:translateY(-3.125rem);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{color:#fff;margin-top:0;margin-bottom:clamp(.75rem,3vw,1.25rem);font-size:clamp(1rem,4vw,1.5rem)}.modal-content p{margin:clamp(.5rem,2vw,.625rem) 0;line-height:1.6}.modal-close{position:absolute;top:clamp(.5rem,2vw,.625rem);right:clamp(.5rem,2vw,.625rem);background:transparent;border:none;color:#a0a0ff;font-size:clamp(1.5rem,5vw,2rem);cursor:pointer;width:clamp(1.5rem,5vw,2rem);height:clamp(1.5rem,5vw,2rem);display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#fff}.glitch-text{text-align:center;color:#fff;margin:0;line-height:0;animation:glitch1 2.5s infinite}h1:nth-child(2){color:#67f3da;animation:glitch2 2.5s infinite}h1:nth-child(3){color:#f16f6f;animation:glitch3 2.5s infinite}@keyframes glitch1{0%{transform:none;opacity:1}7%{transform:skew(-.5deg,-.9deg);opacity:.75}10%{transform:none;opacity:1}27%{transform:none;opacity:1}30%{transform:skew(.8deg,-.1deg);opacity:.75}35%{transform:none;opacity:1}52%{transform:none;opacity:1}55%{transform:skew(-1deg,.2deg);opacity:.75}50%{transform:none;opacity:1}72%{transform:none;opacity:1}75%{transform:skew(.4deg,1deg);opacity:.75}80%{transform:none;opacity:1}to{transform:none;opacity:1}}@keyframes glitch2{0%{transform:none;opacity:.25}7%{transform:translate(-2px,-3px);opacity:.5}10%{transform:none;opacity:.25}27%{transform:none;opacity:.25}30%{transform:translate(-5px,-2px);opacity:.5}35%{transform:none;opacity:.25}52%{transform:none;opacity:.25}55%{transform:translate(-5px,-1px);opacity:.5}50%{transform:none;opacity:.25}72%{transform:none;opacity:.25}75%{transform:translate(-2px,-6px);opacity:.5}80%{transform:none;opacity:.25}to{transform:none;opacity:.25}}@keyframes glitch3{0%{transform:none;opacity:.25}7%{transform:translate(2px,3px);opacity:.5}10%{transform:none;opacity:.25}27%{transform:none;opacity:.25}30%{transform:translate(5px,2px);opacity:.5}35%{transform:none;opacity:.25}52%{transform:none;opacity:.25}55%{transform:translate(5px,1px);opacity:.5}50%{transform:none;opacity:.25}72%{transform:none;opacity:.25}75%{transform:translate(2px,6px);opacity:.5}80%{transform:none;opacity:.25}to{transform:none;opacity:.25}}.power-off-screen{width:100vw;height:100vh;background:#1a1a4d;display:flex;align-items:center;justify-content:center;transition:opacity .5s;position:fixed;top:0;left:0;margin:0;padding:0;overflow:hidden}.power-off-screen:before{width:100%;height:.125rem;z-index:2147483649;background:#0000004d;opacity:.75;animation:scanline 16s linear infinite;display:block;pointer-events:none;content:"";position:absolute}.power-off-screen:after{top:0;right:0;bottom:0;left:0;z-index:2147483648;background:linear-gradient(to bottom,transparent 85%,rgba(0,0,0,.226) 51%);background-size:100% .25rem;animation:scanlines 1s steps(60) infinite;display:block;pointer-events:none;content:"";position:absolute}.power-off-screen.booting{animation:powerOn 1.5s ease-out forwards}@keyframes powerOn{0%{background:#1a1a4d}40%{background:#4040e8}70%{background:#4040e8}to{background:#4040e8;visibility:hidden}}.power-button{width:clamp(5rem,15vw,7.5rem);height:clamp(5rem,15vw,7.5rem);border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;position:relative;padding:0}.power-button:hover:not(.pressed) .power-icon{color:#fff;text-shadow:0 0 .9375rem rgba(255,255,255,1),0 0 1.5625rem rgba(165,165,255,1),0 0 2.1875rem rgba(165,165,255,1),0 0 3.125rem rgba(165,165,255,.9),0 0 4.375rem rgba(112,112,255,.8),0 0 5.625rem rgba(112,112,255,.6);filter:drop-shadow(0 0 1.875rem rgba(165,165,255,1))}.power-button.pressed .power-icon{animation:powerPulse 1.5s ease-out}.power-icon{color:#fff;animation:glow 2s ease-in-out infinite;filter:drop-shadow(0 0 1.25rem rgba(165,165,255,.8));display:flex;align-items:center;justify-content:center}.power-icon svg{width:clamp(3rem,10vw,4.5rem);height:clamp(3rem,10vw,4.5rem);filter:drop-shadow(0 0 .625rem rgba(255,255,255,.8)) drop-shadow(0 0 1.25rem rgba(165,165,255,.8)) drop-shadow(0 0 1.875rem rgba(112,112,255,.6))}.power-text{font-family:C64,monospace;font-size:clamp(.875rem,3vw,1.25rem);color:#fff;text-shadow:0 0 .625rem rgba(255,255,255,.8),0 0 1.25rem rgba(165,165,255,1),0 0 1.875rem rgba(165,165,255,.8),0 0 2.5rem rgba(112,112,255,.6);letter-spacing:clamp(.0625rem,.5vw,.1875rem);text-align:center}.power-text-top{margin-bottom:clamp(.5rem,2vw,.625rem)}.power-text-bottom{margin-top:clamp(.5rem,2vw,.625rem)}@keyframes glow{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.05);text-shadow:0 0 .9375rem rgba(255,255,255,1),0 0 1.5625rem rgba(165,165,255,1),0 0 2.1875rem rgba(165,165,255,.9),0 0 3.125rem rgba(112,112,255,.7)}}@keyframes powerPulse{0%{transform:scale(1);color:#fff}50%{transform:scale(1.4);color:#fff;text-shadow:0 0 1.25rem rgba(255,255,255,1),0 0 2.5rem rgba(255,255,255,1),0 0 3.75rem rgba(165,165,255,1),0 0 5rem rgba(165,165,255,1),0 0 6.25rem rgba(112,112,255,.9);filter:drop-shadow(0 0 3.125rem rgba(255,255,255,1))}to{transform:scale(1);color:#fff}}.power-button:disabled{cursor:not-allowed}.power-button-container{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,3vw,1.25rem)}.c64-footer{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:C64,monospace;font-size:clamp(.625rem,2vw,.75rem);color:#3434fd;opacity:.7;z-index:2147483650;pointer-events:none}.ascii-art{overflow-x:auto;overflow-y:hidden;white-space:pre;font-size:clamp(.4rem,1.2vw,.75rem);line-height:clamp(.5rem,1.5vw,.9rem);scrollbar-width:thin;scrollbar-color:#a5a5ff #4242e7}.ascii-art::-webkit-scrollbar{height:4px}.ascii-art::-webkit-scrollbar-track{background:#4242e7}.ascii-art::-webkit-scrollbar-thumb{background:#a5a5ff}.icon-button,.modal-close,.power-button,.c64-cursor{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.anaglyph-effect{position:relative;animation:anaglyphPulse 1s ease-in-out}.anaglyph-effect:before,.anaglyph-effect:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9999;mix-blend-mode:screen;animation:anaglyphShift 1s ease-in-out}.anaglyph-effect:before{background:#ff000080;transform:translate(-3px);animation:anaglyphRed 1s ease-in-out}.anaglyph-effect:after{background:#00ffff80;transform:translate(3px);animation:anaglyphCyan 1s ease-in-out}@keyframes anaglyphRed{0%,to{transform:translate(0);opacity:0}10%{transform:translate(-4px);opacity:.6}50%{transform:translate(-3px);opacity:.5}90%{transform:translate(-2px);opacity:.3}}@keyframes anaglyphCyan{0%,to{transform:translate(0);opacity:0}10%{transform:translate(4px);opacity:.6}50%{transform:translate(3px);opacity:.5}90%{transform:translate(2px);opacity:.3}}@keyframes anaglyphPulse{0%,to{filter:none}20%{filter:contrast(1.2) brightness(1.1)}50%{filter:contrast(1.1) brightness(1.05)}80%{filter:contrast(1.05) brightness(1.02)}}
