.viz-container-spacetime{width:100%;margin-bottom:2rem}.canvas-container-spacetime{cursor:grab;width:100%;height:50vh;max-height:500px}.canvas-container-spacetime:active{cursor:grabbing}.viz-container{border:1px solid var(--base-color);background-color:#0a0a0acc;width:100%;max-width:800px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 0 15px #00ffc333}.viz-container h2{text-align:center;text-transform:uppercase;color:var(--base-color);margin-top:0}.controls-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem;font-family:Courier New,Courier,monospace;display:grid}.control-group{border:1px dashed #00ffc34d;padding:1rem}.control-group h3{color:var(--base-color);text-align:center;margin-top:0;font-size:1rem}.slider-group{align-items:center;gap:.8rem;margin-bottom:.5rem;display:flex}.slider-group label{color:var(--base-color);text-align:right;flex-basis:90px;font-size:1rem}.slider-group input[type=range]{-webkit-appearance:none;background:#00ffc34d;outline:none;flex-grow:1;height:5px;transition:opacity .2s}.slider-group input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--base-color);cursor:pointer;width:15px;height:15px;box-shadow:0 0 5px var(--base-color)}.slider-group span{text-align:center;color:#fff;flex-basis:50px;font-family:Courier New,Courier,monospace;font-size:1rem}.canvas-container{cursor:grab;width:100%;height:80vh;max-height:900px;margin-top:1rem}.canvas-container:active{cursor:grabbing}.reset-button{border:1px solid var(--base-color);color:var(--base-color);text-transform:uppercase;cursor:pointer;background-color:#0000;margin-top:10px;padding:8px 15px;font-family:Orbitron,sans-serif;transition:all .2s}.reset-button:hover{background-color:var(--base-color);color:var(--background-color);box-shadow:0 0 10px var(--base-color)}:root{--base-color:#00ffc3;--background-color:#0a0a0a;--glitch-speed:.75s;--color-cycle-speed:5s;--text-color:#e0e0e0}body,html{background-color:var(--background-color);width:100%;height:100%;color:var(--text-color);margin:0;padding:0;font-family:Orbitron,sans-serif;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,#0006,#0006 1px,#0000 1px 4px);width:100%;height:100%;animation:10s linear infinite scanlines;position:fixed;top:0;left:0}@keyframes scanlines{0%{background-position:0 0}to{background-position:0 100px}}.container{box-sizing:border-box;flex-wrap:wrap;min-height:100vh;padding:2rem;display:flex}.sidebar{flex-direction:column;flex:0 400px;min-width:350px;padding-right:3rem}.main-content{flex-direction:column;flex:1 1 0;align-items:center;min-width:300px;display:flex}.cyberpunk-text{text-transform:uppercase;color:var(--base-color);animation:color-cycle var(--color-cycle-speed)linear infinite;text-shadow:0 0 5px var(--base-color),0 0 10px var(--base-color),0 0 20px var(--base-color),0 0 40px #ff00de,0 0 80px #ff00de;margin-bottom:2rem;font-size:6vw;font-weight:900;position:relative}.cyberpunk-text:before,.cyberpunk-text:after{content:attr(data-text);background-color:var(--background-color);clip:rect(0,900px,0,0);width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.cyberpunk-text:before{text-shadow:-2px 0 #ff00c1;animation:glitch-anim-1 var(--glitch-speed)infinite linear alternate-reverse;left:3px}.cyberpunk-text:after{text-shadow:-2px 0 #00fff9,2px 2px #ff00c1;animation:glitch-anim-2 var(--glitch-speed)infinite linear alternate-reverse;left:-3px}@keyframes glitch-anim-1{0%{clip:rect(42px,9999px,44px,0)}5%{clip:rect(12px,9999px,59px,0)}10%{clip:rect(45px,9999px,23px,0)}15%{clip:rect(62px,9999px,78px,0)}20%{clip:rect(10px,9999px,92px,0)}25%{clip:rect(63px,9999px,14px,0)}30%{clip:rect(81px,9999px,86px,0)}35%{clip:rect(4px,9999px,49px,0)}40%{clip:rect(88px,9999px,9px,0)}45%{clip:rect(42px,9999px,74px,0)}50%{clip:rect(5px,9999px,60px,0)}55%{clip:rect(74px,9999px,93px,0)}60%{clip:rect(25px,9999px,7px,0)}65%{clip:rect(83px,9999px,29px,0)}70%{clip:rect(45px,9999px,85px,0)}75%{clip:rect(13px,9999px,69px,0)}80%{clip:rect(61px,9999px,3px,0)}85%{clip:rect(33px,9999px,72px,0)}90%{clip:rect(89px,9999px,41px,0)}95%{clip:rect(51px,9999px,99px,0)}to{clip:rect(2px,9999px,66px,0)}}@keyframes glitch-anim-2{0%{clip:rect(7px,9999px,92px,0)}10%{clip:rect(80px,9999px,19px,0)}20%{clip:rect(25px,9999px,50px,0)}30%{clip:rect(55px,9999px,98px,0)}40%{clip:rect(33px,9999px,5px,0)}50%{clip:rect(96px,9999px,45px,0)}60%{clip:rect(15px,9999px,88px,0)}70%{clip:rect(66px,9999px,2px,0)}80%{clip:rect(40px,9999px,75px,0)}90%{clip:rect(70px,9999px,30px,0)}to{clip:rect(80px,9999px,19px,0)}}@keyframes color-cycle{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}.summary{margin-bottom:2rem;font-family:Courier New,Courier,monospace;font-size:1rem;line-height:1.6}.github-link{border:2px solid var(--base-color);color:var(--base-color);text-transform:uppercase;box-shadow:0 0 5px var(--base-color),inset 0 0 5px var(--base-color);padding:10px 20px;font-family:Orbitron,sans-serif;text-decoration:none;transition:all .3s;display:inline-block}.github-link:hover{background-color:var(--base-color);color:var(--background-color);box-shadow:0 0 20px var(--base-color)}
