@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@200;300;400&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;overflow-y:auto}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}[data-component=spinner]{color:inherit;flex-shrink:0;width:18px;aspect-ratio:1}@keyframes pulse-opacity{0%,to{opacity:.4}50%{opacity:1}}@keyframes pulse-opacity-dim{0%,to{opacity:0}50%{opacity:.2}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;background:#000;overflow:hidden;position:fixed;top:0;left:0}.container{position:relative;width:100vw;height:100vh;overflow:hidden}.mobile-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none}.mobile-message{color:#888;font-family:IBM Plex Mono,monospace;font-size:14px;text-align:center;background:#000}.background-layers{position:absolute;top:0;left:0;width:100%;height:100%}.background-layers.hidden{display:none}.background-layers:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;background:linear-gradient(to bottom,rgba(0,0,0,1) 0%,transparent 22%),linear-gradient(to top,rgba(0,0,0,1) 0%,transparent 22%)}.ascii-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:26;overflow:hidden;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(ellipse 150% 65% at 50% 50%,black 0%,black 65%,transparent 100%);mask-image:radial-gradient(ellipse 150% 65% at 50% 50%,black 0%,black 65%,transparent 100%);filter:contrast(2.5) brightness(2.5) sepia(1) saturate(5) hue-rotate(-25deg);pointer-events:none}.ascii-bg canvas,.ascii-bg>div{width:100vw!important;height:100vh!important;object-fit:cover}.fluid-overlay{position:absolute;top:30%;left:0;width:100vw;height:100vh;z-index:25;pointer-events:none}.fluid-overlay iframe{width:100%;height:200%;border:none;pointer-events:none;background:transparent;transform:translateY(-25%) scale(1.5)}.terminal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:500}.terminal.morphing{animation:morphToSquare .8s cubic-bezier(.4,0,.2,1) forwards;border:1px solid #fff}.terminal.hidden{display:none}.terminal.morphing .terminal-content{animation:fadeOut .4s ease-out forwards}.terminal-content.fading-out{animation:fadeOut .8s ease-out forwards}@keyframes fadeOut{to{opacity:0}}@keyframes morphToSquare{0%{top:0;left:0;width:100vw;height:100vh}to{top:50%;left:50%;width:482px;height:482px;transform:translate(-50%,-50%)}}.terminal-content{padding:32px;font-family:IBM Plex Mono,monospace;font-size:14px;color:#888;line-height:1.6}.terminal-line{white-space:pre;min-height:1.5em;color:#ccc}.fastfetch{display:flex;gap:40px;font-family:IBM Plex Mono,monospace;font-size:14px;line-height:1.5}.ascii-logo{margin:0;background:linear-gradient(180deg,#d4824a,#666);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.info-panel{display:flex;flex-direction:column}.info-line{color:#888}.info-line:first-child{color:#d4824a;margin-bottom:16px}.stagger-line{opacity:0;animation:lineReveal .3s ease-out forwards;animation-delay:calc(var(--line-index) * 80ms)}@keyframes lineReveal{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.color-palettes{margin-top:16px}.color-row{line-height:1.2}.input-section{margin-top:48px;color:#ccc}.terminal-response{color:#ccc;margin-bottom:16px}.input-wrapper{position:relative;flex:1}.placeholder-text{position:absolute;color:#666;pointer-events:none}.terminal-input{position:relative;width:100%}.separator-line{color:#333;margin:12px 0}.terminal-input-line{display:flex;align-items:center}.prompt{color:#d4824a;margin-right:8px}.command{color:#666}.terminal-input{background:transparent;border:none;outline:none;color:#d4824a;font-family:IBM Plex Mono,monospace;font-size:14px;caret-color:#d4824a;width:100%;position:relative}.terminal-input::placeholder{color:#333}.terminal-error{color:#ff6b6b;margin-top:4px}.submit-output{margin-top:16px}.submit-line{color:#666;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.4}.submit-line:last-child{color:#d4824a}.light-pillar-layer{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:200;pointer-events:none;opacity:0;animation:fadeIn .8s ease-out .3s forwards}.light-pillar-layer.no-anim{opacity:1;animation:none}.light-pillar-layer.hidden{visibility:hidden}.light-pillar-layer canvas{mix-blend-mode:screen!important}.light-pillar-layer>div{background:transparent!important}.flowchart-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:400;pointer-events:none}.flowchart-container>*{pointer-events:auto}.flowchart-container.fullscreen{background:#000}.flowchart-container.fullscreen .game-frame{width:100vw;height:100vh;border:none;box-shadow:none;animation:none}.flowchart-container.fullscreen .game-frame canvas,.flowchart-container.fullscreen .game-frame video{object-fit:cover}.flowchart-panel{display:flex;flex-direction:column;align-items:center}.flowchart-panel.center-panel{position:absolute}.flowchart-side{position:absolute;top:50%;transform:translateY(-50%);opacity:0;animation:fadeIn .8s ease-out .6s forwards;z-index:300}.flowchart-side.left-side{left:8%}.flowchart-side.right-side{right:8%}.flowchart-side.no-anim{opacity:1;animation:none}.flowchart-side.hidden{visibility:hidden}.flowchart-trapezoid{position:absolute;top:50%;transform:translateY(-50%);opacity:0;animation:fadeIn .8s ease-out .6s forwards;z-index:200}.flowchart-trapezoid.left-trapezoid{left:17%}.flowchart-trapezoid.right-trapezoid{right:17%}.flowchart-trapezoid.no-anim{opacity:1;animation:none}.flowchart-trapezoid.hidden{visibility:hidden}.side-box{width:280px;height:280px;background:#000;border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden;filter:drop-shadow(0 0 30px rgba(255,255,255,.15))}.side-video{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.3) brightness(.9) saturate(.7)}.side-video.left-video{transform:scale(1.3)}.side-box:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.3) 2px,rgba(0,0,0,.3) 4px);pointer-events:none;z-index:1}.flowchart-panel.center-panel{left:50%;top:50%;transform:translate(-50%,-50%)}.panel-frame{width:100%;height:100%;background:#000;position:relative;overflow:hidden}.panel-border{width:100px;height:140px;padding:1px;background:#ffffff80;filter:drop-shadow(0 0 20px rgba(255,255,255,.15))}.left-trapezoid .panel-border,.left-trapezoid .panel-frame{clip-path:polygon(0 0,100% 20%,100% 80%,0 100%)}.right-trapezoid .panel-border,.right-trapezoid .panel-frame{clip-path:polygon(0 20%,100% 0,100% 100%,0 80%)}.panel-label{font-family:IBM Plex Mono,monospace;font-size:11px;color:#555;text-transform:lowercase;letter-spacing:.5px}.placeholder-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0a0a0a;color:#333;font-family:IBM Plex Mono,monospace;font-size:12px}.flowchart-panel.center-panel{position:relative}.tv-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:400;display:flex;flex-direction:column;align-items:center}.tv-container.fullscreen{width:100vw;height:100vh;background:#000;display:flex;justify-content:center;align-items:center}.tv-container.fullscreen .game-frame{width:100vw;height:100vh;border:none;box-shadow:none;animation:none}.tv-container.fullscreen .game-frame canvas,.tv-container.fullscreen .game-frame video{object-fit:cover}.game-frame{width:480px;height:480px;background:#000;border:1px solid #fff;position:relative;overflow:hidden;animation:glowFadeIn 1.5s ease-out forwards}@keyframes glowFadeIn{0%{box-shadow:0 0 60px #fff0,0 0 120px #fff0}to{box-shadow:0 0 60px #fff3,0 0 120px #ffffff1a}}.game-canvas{width:100%;height:100%}.game-canvas canvas{width:100%!important;height:100%!important;display:block}.prompt-input,.status-box{position:absolute;left:50%;transform:translate(-50%);width:480px;padding:10px 12px;background:#000;border:1px solid #333;color:#888;font-family:IBM Plex Mono,monospace;font-size:12px;outline:none;z-index:500;opacity:0;animation:fadeIn .5s ease-out .3s forwards;box-shadow:0 0 40px #ffffff14,0 0 80px #ffffff0a}.prompt-input{top:calc(50% + 290px)}.status-box{top:calc(50% - 330px);display:flex;justify-content:space-between}.status-box .wallet-group{display:flex;align-items:center;gap:10px}.status-box .wallet-label{color:#b87040}.status-box .wallet-address{color:#666}.status-box .status{color:#555}.status-box .status.collecting{color:#e8a050;cursor:pointer}.status-box .status .status-stop,.status-box .status.collecting:hover .status-label,.status-box .status.connected:hover .status-label,.status-box .status.disconnected:hover .status-label{display:none}.status-box .status.collecting:hover .status-stop,.status-box .status.connected:hover .status-stop,.status-box .status.disconnected:hover .status-stop{display:inline}.status-box .status.connecting{color:#b87040}.status-box .status.connected{color:#b87040;cursor:pointer}.status-box .status.uploading,.status-box .status.thankyou{color:#e8a050}.status-box .status.disconnected{color:#666;cursor:pointer}.status-box .status-dot{width:5px;height:5px;border-radius:50%;background:#444}.status-box .status-dot.collecting{background:#d4824a;animation:pulse-orange 1.5s ease-in-out infinite}.status-box .status-dot.connecting{background:#9a5e38;animation:pulse-brown 2s ease-in-out infinite}.status-box .status-dot.disconnected{background:#444}@keyframes pulse-orange{0%,to{opacity:1;box-shadow:0 0 #d4824a66}50%{opacity:.7;box-shadow:0 0 8px 3px #d4824a99}}@keyframes pulse-brown{0%,to{opacity:1;box-shadow:0 0 #9a5e3866}50%{opacity:.7;box-shadow:0 0 6px 2px #9a5e3880}}.prompt-input.no-anim,.status-box.no-anim{opacity:1;animation:none}.prompt-input.hidden,.status-box.hidden{visibility:hidden}.prompt-input:focus{border-color:#555;color:#ccc}.prompt-input::placeholder{color:#444}.game-frame:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);box-shadow:0 0 80px #ffffff80;animation:glowOut 1.5s ease-out forwards;pointer-events:none}@keyframes glowOut{0%{opacity:1}to{opacity:0}}.game-frame:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);background:#ffffffe6;filter:blur(20px);animation:pushOut 1s ease-out forwards;pointer-events:none;z-index:200}@keyframes pushOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(10px)}to{opacity:0;transform:translate(-50%,-50%) scale(1.8);filter:blur(40px)}}.shape-blur-container{position:absolute;width:750px;height:750px;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1;overflow:visible;animation:fadeIn 1s ease-out forwards}.shape-blur-container.hidden{visibility:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shape-blur-container canvas{width:100%!important;height:100%!important;display:block!important}.debug-panel{position:absolute;top:16px;left:16px;background:#000000d9;color:#fff;padding:12px 16px;font-family:IBM Plex Mono,monospace;font-size:12px;z-index:300;border-radius:4px;border:1px solid #333;min-width:180px}.debug-panel select{font-family:IBM Plex Mono,monospace;border-radius:2px}.debug-panel button{font-family:IBM Plex Mono,monospace;border-radius:2px;transition:background .15s}.debug-panel button:hover{background:#555!important}.scenario-status-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:20px 40px;font-family:IBM Plex Mono,monospace;font-size:24px;border-radius:8px;z-index:250;text-align:center;pointer-events:none}.scenario-status-overlay.won{border:2px solid #4caf50;color:#4caf50}.scenario-status-overlay.lost{border:2px solid #f44336;color:#f44336}@media(max-width:1024px){.terminal{width:90vw}.terminal.morphing{width:90vw;min-height:50.625vw}.tv-screen{width:90vw;height:50.625vw}}@media(max-width:768px){.terminal-content{font-size:12px;padding:20px}.ascii-bg{filter:contrast(2.5) brightness(2.5) grayscale(1)}.fluid-overlay iframe{filter:grayscale(1)}}
