: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}body{margin:0}.app-container{width:100vw;height:100vh;margin:0;padding:0;display:flex}.scene-half{width:50%;height:100vh;position:relative}.ui-half{width:50%;height:100vh;background-color:#000;display:flex;align-items:center;justify-content:center}.ui-content{font-size:2.5rem;color:#0f0;overflow-y:auto;font-family:Courier New,monospace;width:85%;height:95%;box-sizing:border-box}.geometry-editor{display:flex;flex-direction:column;gap:5px;max-width:100%;height:100%}.geometry-editor h3{margin:0 0 15px;font-size:1.5rem;text-transform:uppercase;color:#0f0;text-align:center}.input-group{display:flex;flex-direction:column;flex:1;position:relative}.input-group label{font-size:1.5rem;font-weight:700;color:#0f0;text-transform:uppercase;position:relative}.geometry-input{width:100%;border:none;border-radius:0;font-family:Courier New,monospace;font-size:1.2rem;resize:vertical;background-color:#000;color:#0f0;border:2px solid #00ff00;text-align:center;box-sizing:border-box;position:relative}.geometry-input:focus{outline:none;border:2px solid #00ff00;background-color:#000}.render-button{padding:12px 24px;background-color:#000;color:#0f0;border:2px solid #00ff00;border-radius:0;font-size:1.3rem;font-weight:700;cursor:pointer;transition:background-color .2s;font-family:Courier New,monospace;text-transform:uppercase;display:block;margin:0 auto;position:relative}.render-button:hover{background-color:#0f0;color:#000}.render-button:active{background-color:#0c0;color:#000}.fullscreen-button{position:absolute;top:20px;right:20px;width:50px;height:50px;background-color:#000000b3;color:#0f0;border:2px solid #00ff00;border-radius:8px;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;padding:0;line-height:.25;box-sizing:border-box;font-family:Courier New,monospace;appearance:none;-webkit-appearance:none;transform:translateY(1px)}.fullscreen-button:hover{background-color:#00ff001a;transform:translateY(1px) scale(1.05)}.fullscreen-button:active{background-color:#0f03;transform:translateY(1px) scale(.95)}@media (max-width: 768px){.fullscreen-button{width:40px;height:40px;font-size:18px;line-height:1;top:15px;right:15px;border-radius:8px;padding-top:2px}}@media (hover: none) and (pointer: coarse){.fullscreen-button{width:42px;height:42px;font-size:18px;line-height:1;border-width:2px;padding-top:2px}}.ui-scanlines{background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 5px,rgba(0,255,0,.12) 5px,rgba(0,255,0,.12) 6px)}@media (orientation: portrait){.app-container{flex-direction:column;height:100vh;overflow:hidden}.scene-half{width:100%;height:55vh;flex-shrink:0;position:relative}.ui-half{width:100%;height:45vh;flex-shrink:0;padding:10px;box-sizing:border-box;align-items:flex-start}.ui-content{width:100%;height:100%;font-size:1.8rem;padding:0}.geometry-editor{height:100%;gap:8px}.input-group{flex:1;min-height:0}.input-group label{font-size:1.1rem;margin-bottom:4px}.geometry-input{height:100%;font-size:.9rem;padding:8px;resize:none}.render-button{flex-shrink:0;padding:10px 20px;font-size:1.1rem;margin-top:8px}}.signature-text{position:fixed;bottom:20px;right:20px;color:#0f0;font-family:Courier New,monospace;font-size:.9rem;opacity:.7;z-index:1000;pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.signature-text{display:none}}@media (orientation: landscape) and (max-height: 600px){.app-container{flex-direction:row;height:100vh;overflow:hidden}.scene-half{width:60%;height:100vh;flex-shrink:0;position:relative}.ui-half{width:40%;height:100vh;flex-shrink:0;padding:8px;box-sizing:border-box}.ui-content{width:100%;height:100%;font-size:1.4rem;padding:0}.geometry-editor{height:100%;gap:6px}.input-group{flex:1;min-height:0}.input-group label{font-size:.9rem;margin-bottom:2px}.geometry-input{height:100%;font-size:.8rem;padding:6px;resize:none}.render-button{flex-shrink:0;padding:8px 16px;font-size:.9rem;margin-top:6px}}
