@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/VT323-Regular-DICElq-Y.ttf) format("truetype")}:root{color-scheme:dark}html,body{margin:0;padding:0;height:100%;width:100%;background:#0a0d0a;font-family:VT323,monospace;overflow-x:hidden}canvas{display:block;width:100%;height:100%}#menu{position:fixed;top:10px;left:10px;z-index:10000;width:240px;background:#001300;border:1px solid rgba(0,255,51,.25);border-radius:6px;padding:10px 10px 8px;color:#7cff7c;text-shadow:0 0 6px rgba(0,255,120,.35);box-shadow:inset 0 0 12px #00ff7826,0 4px 24px #00000080;overflow:hidden;transition:all .2s ease}#menu.canvas-focused{opacity:.85}#menu.canvas-focused .menu-content{opacity:.4;filter:brightness(.5)}.menu-content{position:relative;z-index:1;transition:opacity .1s ease,filter .1s ease}#menu:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(0,255,120,.06) 0 2px,transparent 2px 4px);pointer-events:none;mix-blend-mode:screen}.title{font-size:18px;letter-spacing:.12em;margin:0 0 8px;transition:opacity .2s ease,filter .2s ease}.title:before{content:"┌";margin-right:4px}.title:after{content:"┐";margin-left:4px}#levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;position:relative;z-index:1;transition:opacity .2s ease,filter .2s ease}#levels button{width:100%;background:#001000;color:#8f8;border:1px solid #0a3;border-radius:4px;padding:6px 8px;cursor:pointer;text-align:left;font-family:inherit;font-size:18px;line-height:1.2;transition:background .12s ease,color .12s ease,border-color .12s ease;position:relative;display:flex;align-items:center;gap:8px}#levels button .checkbox{width:14px;height:14px;border:1px solid #0a3;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;transition:all .12s ease;cursor:pointer;position:relative}#levels button .checkbox:hover{border-color:#0f5;box-shadow:0 0 4px #00ff784d}#levels button.active .checkbox{background:#0f5;border-color:#0f5;color:#001000}#levels button .checkbox:after{content:""}#levels button.active .checkbox:after{content:"✓";font-weight:700}#levels button .label:before{content:"[ "}#levels button .label:after{content:" ]"}#levels button::marker{content:none}#levels button::selection{background:#063;color:#cfffce}#levels button:hover{background:#001a00;color:#b5ffb5;border-color:#0f5}#levels button:hover .checkbox{border-color:#0f5}#levels button:focus{outline:none}#levels button.highlighted{background:#001800;border-color:#0c4}#levels button.active{background:#002000;color:#fff;border-color:#1f7;text-shadow:0 0 15px rgba(255,255,255,.6),0 0 25px rgba(255,255,255,.3);box-shadow:0 0 10px #ffffff4d,0 0 20px #fff3,inset 0 0 10px #ffffff1a}#levels button.active .arrow{opacity:1}#levels button .arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:.4}.cursor{display:inline-block;width:8px;height:1em;margin-left:6px;animation:blink 1.2s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.section-title{font-size:18px;letter-spacing:.12em;margin:16px 0 8px;font-weight:400;transition:opacity .2s ease,filter .2s ease}.section-title:before{content:"┌";margin-right:4px}.section-title:after{content:"┐";margin-left:4px}#viewport-controls{display:flex;gap:6px;margin-bottom:8px}.viewport-btn{flex:1;background:#001000;color:#8f8;border:1px solid #0a3;border-radius:4px;padding:6px 8px;cursor:pointer;text-align:center;font-family:inherit;font-size:14px;transition:all .2s ease}.viewport-btn:hover{background:#001a00;color:#b5ffb5;border-color:#0f5}.viewport-btn:active{background:#002000;color:#c8ffc8;border-color:#1f7}.viewport-btn .icon-frame,.viewport-btn .icon-center{display:inline-block;margin-right:4px;font-size:16px;opacity:.8}#cursor-toggle-container,#view-mode-toggle{display:flex;gap:6px;margin-bottom:8px}.pointer-btn,.view-mode-btn{flex:1;background:#001000;color:#8f8;border:1px solid #0a3;border-radius:4px;padding:6px 8px;cursor:pointer;text-align:center;font-family:inherit;font-size:14px;transition:all .2s ease}.pointer-btn:hover,.view-mode-btn:hover{background:#001a00;color:#b5ffb5;border-color:#0f5}.pointer-btn.active,.view-mode-btn.active{background:#002000;color:#fff;border-color:#1f7;text-shadow:0 0 15px rgba(255,255,255,.6),0 0 25px rgba(255,255,255,.3);box-shadow:0 0 10px #ffffff4d,0 0 20px #fff3,inset 0 0 10px #ffffff1a}.pointer-icon{display:inline-block;margin-right:4px;font-size:16px;opacity:.8;transform:rotate(-135deg)}.crosshair-icon,.icon-2d,.icon-3d{display:inline-block;margin-right:4px;font-size:16px;opacity:.8}.menu-branding{margin-top:20px;padding-top:16px;border-top:1px solid rgba(0,255,51,.15);display:flex;flex-direction:column;gap:8px}.menu-branding-link{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;text-decoration:none;color:inherit;font-size:13px;letter-spacing:.05em;transition:all .2s ease;opacity:.7}.menu-branding-link:hover{opacity:1;background:#00ff330d}.menu-logo{width:16px;height:16px;opacity:.8;flex-shrink:0}.menu-patreon-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#ff424d14;border:1px solid rgba(255,66,77,.2);border-radius:4px;text-decoration:none;font-size:13px;letter-spacing:.05em;color:#ffb3b8;transition:all .2s ease;font-family:inherit}.menu-patreon-btn img{width:14px;height:14px;opacity:.9;flex-shrink:0}.menu-patreon-btn:hover{background:#ff424d26;border-color:#ff424d66;color:#ffd0d3;transform:translateY(-1px)}.menu-patreon-btn:active{transform:translateY(0)}#crosshair-x,#crosshair-y{position:fixed;background:#ffffff80;pointer-events:none;z-index:9999;transition:opacity .2s ease}#crosshair-x{height:1px;width:100vw;left:0}#crosshair-y{width:1px;height:100vh;top:0}#crosshair-x.hidden,#crosshair-y.hidden{opacity:0}body{cursor:none}body.show-cursor,#menu,#themeSelector{cursor:auto}#themeSelector{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0d0a;z-index:20000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}#themeSelector.hidden{display:none}#themeSelector h1{font-size:24px;letter-spacing:.2em;margin:0 0 30px;color:#ccc;text-shadow:0 0 10px rgba(255,255,255,.3)}.theme-button{width:280px;padding:16px 24px;border:2px solid;border-radius:8px;font-size:18px;font-family:inherit;cursor:pointer;text-align:center;transition:all .2s ease}.theme-button[data-theme=green]{background:#001300;border-color:#0f3;color:#7cff7c;box-shadow:inset 0 0 12px #00ff781a,0 4px 16px #00000080}.theme-button[data-theme=green]:hover{background:#002000;border-color:#1f7;color:#c8ffc8;box-shadow:inset 0 0 20px #00ff7833,0 6px 24px #000000b3;transform:translateY(-2px)}.theme-button[data-theme=blue]{background:#001320;border-color:#0df;color:#7cddff;box-shadow:inset 0 0 12px #00aaff1a,0 4px 16px #00000080}.theme-button[data-theme=blue]:hover{background:#002040;border-color:#0ef;color:#c8f0ff;box-shadow:inset 0 0 20px #0af3,0 6px 24px #000000b3;transform:translateY(-2px)}.theme-button[data-theme=amber]{background:#201300;border-color:#fc5;color:#ffcc7c;box-shadow:inset 0 0 12px #ffaa001a,0 4px 16px #00000080}.theme-button[data-theme=amber]:hover{background:#402000;border-color:#fd7;color:#fff0c8;box-shadow:inset 0 0 20px #fa03,0 6px 24px #000000b3;transform:translateY(-2px)}.theme-button:active{transform:translateY(0)}.branding{margin-top:60px;display:inline-flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 4px 16px #0006,inset 0 1px #ffffff0d}.branding>a{text-decoration:none;display:inline-block}.branding .logo{width:120px;height:120px;object-fit:contain;opacity:.9;transition:opacity .2s ease,transform .2s ease;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.branding a:hover .logo{opacity:1;transform:scale(1.05)}.branding-link{transition:opacity .2s ease}.branding-link:hover{opacity:.8}.branding-text{margin:0;font-size:16px;letter-spacing:.08em;color:#999;text-transform:uppercase;transition:color .2s ease}.branding-link:hover .branding-text{color:#bbb}.branding-text strong{color:#ccc;font-weight:400}.social-links{margin-top:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}.patreon-featured{width:196px;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;background:#ff424d1a;border:2px solid rgba(255,66,77,.3);border-radius:8px;transition:all .2s ease;text-decoration:none;font-size:14px;letter-spacing:.05em;color:#ffb3b8;font-family:inherit;white-space:nowrap}.patreon-featured img{width:24px;height:24px;opacity:.9;transition:opacity .2s ease,transform .2s ease}.patreon-featured:hover{background:#ff424d33;border-color:#ff424d80;color:#ffd0d3;transform:translateY(-2px);box-shadow:0 4px 16px #ff424d4d}.patreon-featured:hover img{opacity:1;transform:scale(1.1)}.patreon-featured:active{transform:translateY(0)}.social-links-row{display:flex;gap:12px;align-items:center;justify-content:center}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:6px;transition:all .2s ease;text-decoration:none}.social-link img{width:20px;height:20px;opacity:.7;transition:opacity .2s ease,transform .2s ease}.social-link:hover{background:#ffffff14;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.social-link:hover img{opacity:1;transform:scale(1.1)}.social-link:active{transform:translateY(0)}@media(max-width:640px){.theme-button{width:240px;padding:14px 20px;font-size:16px}.branding{margin-top:40px;padding:20px}.branding .logo{width:100px;height:100px}.branding-text{font-size:14px}.social-links{margin-top:8px;padding-top:12px;gap:10px}.patreon-featured{height:44px;font-size:14px}.patreon-featured img{width:20px;height:20px}.social-links-row{gap:10px}.social-link{width:36px;height:36px}.social-link img{width:18px;height:18px}}.theme-green #menu{background:#001300;border-color:#00ff3340;color:#7cff7c;text-shadow:0 0 6px rgba(0,255,120,.35);box-shadow:inset 0 0 12px #00ff7826,0 4px 24px #00000080}.theme-green #menu:after{background:repeating-linear-gradient(to bottom,rgba(0,255,120,.06) 0 2px,transparent 2px 4px)}.theme-green .title,.theme-green .section-title{color:#9cff9c}.theme-green #levels button{background:#001000;color:#8f8;border-color:#0a3}.theme-green #levels button .checkbox{border-color:#0a3}.theme-green #levels button:hover{background:#001a00;color:#b5ffb5;border-color:#0f5}.theme-green #levels button:hover .checkbox{border-color:#0f5}.theme-green #levels button.active{background:#002000;border-color:#1f7}.theme-green #levels button.active .checkbox{background:#1f7;border-color:#1f7}.theme-green .viewport-btn,.theme-green .pointer-btn,.theme-green .view-mode-btn{background:#001000;color:#8f8;border-color:#0a3}.theme-green .viewport-btn:hover,.theme-green .pointer-btn:hover,.theme-green .view-mode-btn:hover{background:#001a00;color:#b5ffb5;border-color:#0f5}.theme-green .pointer-btn.active,.theme-green .view-mode-btn.active{background:#002000;border-color:#1f7}.theme-green .cursor{background:#7cff7c}.theme-green .menu-branding{border-top-color:#00ff3326}.theme-green .menu-branding-link:hover{background:#00ff330d}.theme-blue #menu{background:#001320;border-color:#00aaff40;color:#7cddff;text-shadow:0 0 6px rgba(0,170,255,.35);box-shadow:inset 0 0 12px #00aaff26,0 4px 24px #00000080}.theme-blue #menu:after{background:repeating-linear-gradient(to bottom,rgba(0,170,255,.06) 0 2px,transparent 2px 4px)}.theme-blue .title,.theme-blue .section-title{color:#9cddff}.theme-blue #levels button{background:#001020;color:#8df;border-color:#0ac}.theme-blue #levels button .checkbox{border-color:#0ac}.theme-blue #levels button:hover{background:#001a30;color:#b5eeff;border-color:#0df}.theme-blue #levels button:hover .checkbox{border-color:#0df}.theme-blue #levels button.active{background:#002040;border-color:#0ef}.theme-blue #levels button.active .checkbox{background:#0ef;border-color:#0ef}.theme-blue .viewport-btn,.theme-blue .pointer-btn,.theme-blue .view-mode-btn{background:#001020;color:#8df;border-color:#0ac}.theme-blue .viewport-btn:hover,.theme-blue .pointer-btn:hover,.theme-blue .view-mode-btn:hover{background:#001a30;color:#b5eeff;border-color:#0df}.theme-blue .pointer-btn.active,.theme-blue .view-mode-btn.active{background:#002040;border-color:#0ef}.theme-blue .cursor{background:#7cddff}.theme-blue .menu-branding{border-top-color:#00aaff26}.theme-blue .menu-branding-link:hover{background:#00aaff0d}.theme-amber #menu{background:#201300;border-color:#ffaa3340;color:#ffcc7c;text-shadow:0 0 6px rgba(255,170,0,.35);box-shadow:inset 0 0 12px #ffaa0026,0 4px 24px #00000080}.theme-amber #menu:after{background:repeating-linear-gradient(to bottom,rgba(255,170,0,.06) 0 2px,transparent 2px 4px)}.theme-amber .title,.theme-amber .section-title{color:#ffdd9c}.theme-amber #levels button{background:#201000;color:#fd8;border-color:#a80}.theme-amber #levels button .checkbox{border-color:#a80}.theme-amber #levels button:hover{background:#301a00;color:#ffeeb5;border-color:#fc5}.theme-amber #levels button:hover .checkbox{border-color:#fc5}.theme-amber #levels button.active{background:#402000;border-color:#fd7}.theme-amber #levels button.active .checkbox{background:#fd7;border-color:#fd7}.theme-amber .viewport-btn,.theme-amber .pointer-btn,.theme-amber .view-mode-btn{background:#201000;color:#fd8;border-color:#a80}.theme-amber .viewport-btn:hover,.theme-amber .pointer-btn:hover,.theme-amber .view-mode-btn:hover{background:#301a00;color:#ffeeb5;border-color:#fc5}.theme-amber .pointer-btn.active,.theme-amber .view-mode-btn.active{background:#402000;border-color:#fd7}.theme-amber .cursor{background:#ffcc7c}.theme-amber .menu-branding{border-top-color:#ffaa3326}.theme-amber .menu-branding-link:hover{background:#ffaa330d}
