@import"https://fonts.googleapis.com/css2?family=Smooch+Sans:wght@100..900&display=swap";body{margin:0;padding:0;background-color:#000;font-family:Courier New,Courier,monospace;color:#4ade80;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}.lab-container{min-height:100vh;background-color:#000;color:#4ade80;padding:2rem;position:relative;overflow-y:auto;overflow-x:hidden}.lab-container:before{content:"";position:absolute;inset:0;opacity:.1;background-image:linear-gradient(0deg,transparent 24%,rgba(0,255,0,.3) 25%,rgba(0,255,0,.3) 26%,transparent 27%,transparent 74%,rgba(0,255,0,.3) 75%,rgba(0,255,0,.3) 76%,transparent 77%,transparent),linear-gradient(90deg,transparent 24%,rgba(0,255,0,.3) 25%,rgba(0,255,0,.3) 26%,transparent 27%,transparent 74%,rgba(0,255,0,.3) 75%,rgba(0,255,0,.3) 76%,transparent 77%,transparent);background-size:50px 50px;pointer-events:none;z-index:0}.lab-container .lab-content{max-width:1200px;margin:0 auto;position:relative;z-index:10}.lab-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #166534;padding-bottom:1rem;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.lab-header .header-left{cursor:pointer}.lab-header .header-left h1{font-family:Smooch Sans,sans-serif;font-size:5rem;font-weight:200;margin:0;letter-spacing:1px;background:linear-gradient(to right,#4ade80,#10b981);-webkit-background-clip:text;color:transparent;animation:pulse 2s infinite;line-height:.8}.lab-header .header-left .subtitle{font-size:.875rem;color:#1ea44f;margin-top:.5rem}.lab-header .user-nav{display:flex;gap:1rem;align-items:center}.lab-header .user-nav .beta-badge{background:#ca8a04;color:#000;font-size:.6rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;letter-spacing:1px}.lab-header .user-nav button{background:transparent;border:1px solid #166534;color:#4ade80;padding:.5rem 1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;border-radius:4px}.lab-header .user-nav button:hover{background:#4ade801a;border-color:#4ade80}.lab-header .user-nav button.active{background:#4ade80;color:#000}.view-waitlist{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.view-waitlist .waitlist-icon{color:#ca8a04;margin-bottom:2rem;animation:pulse 2s infinite}.view-waitlist h1{font-size:3rem;color:#ca8a04;margin-bottom:2rem;letter-spacing:2px}.view-waitlist .waitlist-message{background:#00140099;border:1px solid rgba(74,222,128,.3);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2rem;max-width:600px;color:#ccc;font-size:1.1rem;line-height:1.6;border-color:#ca8a04}.view-waitlist .waitlist-message p{margin-bottom:1rem}.view-waitlist .waitlist-message .highlight{color:#4ade80;font-weight:700}.view-waitlist .btn-refresh{margin-top:1.5rem;background:#4ade80;color:#000;border:none;padding:1rem 2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;border-radius:4px;transition:all .2s}.view-waitlist .btn-refresh:hover{background:#75e69e;box-shadow:0 0 15px #4ade804d}.view-waitlist .btn-logout{margin-top:1rem;background:transparent;border:1px solid #166534;color:#166534;padding:1rem 2rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;border-radius:4px;transition:all .2s}.view-waitlist .btn-logout:hover{color:#dc2626;border-color:#dc2626}.view-gate{display:flex;flex-direction:column;gap:4rem;padding-bottom:4rem}.view-gate .gate-hero{text-align:center;padding:2rem 0}.view-gate .gate-hero .gate-logo{font-size:8rem;font-family:Smooch Sans,sans-serif;font-weight:200;color:#4ade80;line-height:1;text-shadow:0 0 30px rgba(74,222,128,.4);margin-bottom:1rem}.view-gate .gate-hero .gate-tagline{font-size:1.5rem;color:#fff;margin-bottom:.5rem;font-weight:700;letter-spacing:1px}.view-gate .gate-hero .gate-subtext{color:#26cf64;max-width:600px;margin:0 auto}.view-gate .gate-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.view-gate .gate-features .feature-card{background:#00140099;border:1px solid rgba(74,222,128,.3);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2rem;text-align:center;transition:transform .3s}.view-gate .gate-features .feature-card:hover{transform:translateY(-5px);border-color:#4ade80}.view-gate .gate-features .feature-card .icon-wrapper{width:4rem;height:4rem;background:#4ade801a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#4ade80;border:1px solid #166534}.view-gate .gate-features .feature-card h3{color:#fff;margin-bottom:1rem;font-size:1.25rem}.view-gate .gate-features .feature-card p{font-size:.9rem;color:#aaa;line-height:1.5}.view-gate .gate-auth-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1rem}@media(min-width:768px){.view-gate .gate-auth-grid{grid-template-columns:1fr 1fr}}.view-gate .gate-auth-grid .auth-panel{background:#00140099;border:1px solid rgba(74,222,128,.3);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2rem;display:flex;flex-direction:column}.view-gate .gate-auth-grid .auth-panel.login-panel{border-color:#166534}.view-gate .gate-auth-grid .auth-panel.register-panel{border-color:#4ade80;box-shadow:0 0 20px #4ade801a}.view-gate .gate-auth-grid .auth-panel h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #166534;padding-bottom:1rem}.view-gate .gate-auth-grid .auth-panel form{display:flex;flex-direction:column;gap:1.25rem}.view-gate .gate-auth-grid .auth-panel form label{font-size:.75rem;font-weight:700;text-transform:uppercase;margin-bottom:.25rem;display:block;color:#26cf64}.view-gate .gate-auth-grid .auth-panel form input{width:100%;padding:1rem;background:#00000080;border:1px solid #166534;color:#fff;border-radius:4px;font-family:inherit}.view-gate .gate-auth-grid .auth-panel form input:focus{outline:none;border-color:#4ade80;box-shadow:0 0 0 1px #4ade80}.view-gate .gate-auth-grid .auth-panel form button{margin-top:1rem;padding:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:4px;cursor:pointer;border:none;transition:all .2s}.view-gate .gate-auth-grid .auth-panel form button.btn-login{background:transparent;border:1px solid #4ade80;color:#4ade80}.view-gate .gate-auth-grid .auth-panel form button.btn-login:hover{background:#4ade801a}.view-gate .gate-auth-grid .auth-panel form button.btn-register{background:#4ade80;color:#000}.view-gate .gate-auth-grid .auth-panel form button.btn-register:hover{background:#75e69e;box-shadow:0 0 15px #4ade8066}.view-gate .gate-auth-grid .auth-panel .auth-message{margin-top:1rem;padding:.75rem;border-radius:4px;font-size:.85rem;text-align:center}.view-gate .gate-auth-grid .auth-panel .auth-message.error{background:#dc262633;border:1px solid #dc2626;color:#e35252}.view-gate .gate-auth-grid .auth-panel .auth-message.success{background:#4ade8033;border:1px solid #4ade80;color:#75e69e}.view-lab{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.view-lab{grid-template-columns:5fr 7fr}}.view-profile .profile-header{background:#00140099;border:1px solid rgba(74,222,128,.3);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2rem;margin-bottom:2rem;display:flex;align-items:center;gap:2rem}.view-profile .profile-header .profile-avatar{width:100px;height:100px;background:#166534;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#4ade80}.view-profile .profile-header .profile-stats h2{margin:0 0 .5rem;font-size:2rem}.view-profile .profile-header .profile-stats p{margin:0;color:#1ea44f}.view-profile .builds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.view-profile .builds-grid .build-card{background:#00140099;border:1px solid rgba(74,222,128,.3);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden;transition:transform .2s}.view-profile .builds-grid .build-card:hover{transform:translateY(-5px);border-color:#4ade80}.view-profile .builds-grid .build-card .build-image{height:200px;background:#000;position:relative}.view-profile .builds-grid .build-card .build-image img{width:100%;height:100%;object-fit:cover;opacity:.8}.view-profile .builds-grid .build-card .build-image .status-badge{position:absolute;top:10px;right:10px;background:#4ade80;color:#000;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase}.view-profile .builds-grid .build-card .build-info{padding:1.5rem}.view-profile .builds-grid .build-card .build-info h3{margin:0 0 .5rem;font-size:1.2rem}.view-profile .builds-grid .build-card .build-info p{font-size:.8rem;color:#888;margin-bottom:1rem}.view-profile .builds-grid .build-card .build-info .build-actions{display:flex;gap:.5rem}.view-profile .builds-grid .build-card .build-info .build-actions button{flex:1;padding:.5rem;font-size:.8rem;font-weight:700;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-profile .builds-grid .build-card .build-info .build-actions button.btn-dl{background:transparent;border:1px solid #166534;color:#4ade80}.view-profile .builds-grid .build-card .build-info .build-actions button.btn-dl:hover{background:#4ade801a}.view-profile .builds-grid .build-card .build-info .build-actions button.btn-print{background:#166534;border:none;color:#fff}.view-profile .builds-grid .build-card .build-info .build-actions button.btn-print:hover{background:#1f8f4a}.view-profile .builds-grid .empty-state{grid-column:1/-1;text-align:center;padding:4rem;border:1px dashed #166534;border-radius:8px;color:#16793a}.lab-intro{background:#00140099;border:1px solid rgba(74,222,128,.3);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);grid-column:1/-1;width:100%;padding:1.5rem;margin-bottom:1rem;border-left:4px solid #4ade80}.lab-intro p{margin:0 0 .5rem;font-size:.9rem;color:#26cf64;line-height:1.5}.lab-intro .warning{margin-top:.75rem;color:#ca8a04;font-weight:700;display:flex;align-items:center;gap:.5rem;font-size:.8rem;border-top:1px dashed rgba(202,138,4,.3);padding-top:.75rem}.lab-intro .warning svg{flex-shrink:0}.controls-column{display:flex;flex-direction:column;gap:1.5rem}.mode-switcher{display:flex;background:#052e1666;border:1px solid #166534;padding:.25rem;border-radius:4px}.mode-switcher button{flex:1;background:transparent;border:none;color:#1ea44f;padding:.75rem;font-family:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:4px}.mode-switcher button.active{background:#166534;color:#000;box-shadow:0 4px 6px #0000004d}.mode-switcher button:disabled{opacity:.5;cursor:not-allowed}.input-module{background:#00140099;border:1px solid rgba(74,222,128,.3);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1.5rem;position:relative;transition:border-color .3s}.input-module:hover{border-color:#4ade80}.input-module .corner{position:absolute;width:8px;height:8px;border-color:#4ade80;border-style:solid;pointer-events:none}.input-module .corner.tl{top:0;left:0;border-width:2px 0 0 2px}.input-module .corner.tr{top:0;right:0;border-width:2px 2px 0 0}.input-module .corner.bl{bottom:0;left:0;border-width:0 0 2px 2px}.input-module .corner.br{bottom:0;right:0;border-width:0 2px 2px 0}.input-module label{display:block;font-size:.75rem;font-weight:700;letter-spacing:1px;margin-bottom:.5rem;text-transform:uppercase}.input-module textarea,.input-module input[type=text]{width:100%;background:#00000080;border:1px solid #166534;color:#4ade80;padding:1rem;border-radius:4px;font-family:inherit;resize:none}.input-module textarea:focus,.input-module input[type=text]:focus{outline:none;border-color:#4ade80;box-shadow:0 0 0 1px #4ade80}.input-module .upload-zone{border:2px dashed #166534;border-radius:8px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.input-module .upload-zone.dragging{border-color:#4ade80;background:#4ade801a;transform:scale(1.02)}.input-module .upload-zone img{width:100%;height:100%;object-fit:cover;opacity:.5}.input-module .upload-zone .overlay-text{position:absolute;background:#000000b3;padding:.5rem;border-radius:4px;font-size:.75rem}.input-module .btn-action{width:100%;margin-top:1rem;padding:1rem;background:#4ade80;color:#000;border:none;border-radius:4px;font-weight:700;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .2s}.input-module .btn-action:hover:not(:disabled){background:#75e69e;box-shadow:0 0 20px #4ade8080}.input-module .btn-action:disabled{background:#166534;opacity:.5;cursor:not-allowed}.input-module .btn-action.btn-camera{background:transparent;border:1px solid #166534;color:#4ade80;margin-top:.5rem;padding:.5rem}.input-module .btn-action.btn-camera:hover{background:#1665344d}.terminal-log{flex:1;background:#000;border:1px solid #166534;border-radius:8px;padding:1rem;height:250px;overflow-y:auto;font-size:.8rem}.terminal-log .log-header{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #166534;padding-bottom:.5rem;margin-bottom:.5rem;position:sticky;top:0;background:#000}.terminal-log .log-entry{opacity:.8;margin-bottom:.25rem}.terminal-log .log-entry:last-child{opacity:1;font-weight:700}.viz-column .viz-container{height:100%;min-height:600px;background:#052e1633;border:1px solid rgba(74,222,128,.3);border-radius:8px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.viz-column .viz-container:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#fff0,#fff0 50%,#0003 50%,#0003);background-size:100% 4px;pointer-events:none}.viz-column .viz-content{position:relative;z-index:10;text-align:center;width:100%;padding:2rem}.viz-column .viz-content .icon-large{width:4rem;height:4rem;color:#26cf64;margin-bottom:1rem}.viz-column .state-idle{opacity:.5;animation:pulse 3s infinite}.viz-column .state-mutating .dna-spinner{width:6rem;height:6rem;border:4px solid transparent;border-top-color:#4ade80;border-bottom-color:#4ade80;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2rem}.viz-column .state-blueprint{width:100%;display:flex;flex-direction:column;align-items:center}.viz-column .state-blueprint .blueprint-frame{width:100%;border:1px solid #4ade80;border-radius:8px;overflow:hidden;position:relative;margin-bottom:2rem;max-width:600px}.viz-column .state-blueprint .blueprint-frame img{width:100%;height:auto;display:block}.viz-column .state-blueprint .blueprint-frame .watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Smooch Sans,sans-serif;font-size:3rem;font-weight:900;color:#fff3;transform:rotate(-45deg);pointer-events:none;mix-blend-mode:overlay;border:4px solid rgba(255,255,255,.2);padding:1rem}.viz-column .state-blueprint .blueprint-actions{background:#000c;border:1px solid #166534;padding:2rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.viz-column .state-blueprint .blueprint-actions .actions-row{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.viz-column .state-blueprint .blueprint-actions .actions-row button{padding:.75rem 1.5rem;font-weight:700;border-radius:4px;cursor:pointer}.viz-column .state-blueprint .blueprint-actions .actions-row button.btn-primary{background:#4ade80;color:#000;border:none}.viz-column .state-blueprint .blueprint-actions .actions-row button.btn-primary:hover{transform:scale(1.05)}.viz-column .state-blueprint .blueprint-actions .actions-row button.btn-secondary{background:transparent;border:1px solid #4ade80;color:#4ade80}.viz-column .state-sculpting{width:100%}.viz-column .state-sculpting .progress-bar-container{width:100%;height:8px;background:#166534;border-radius:4px;margin-top:2rem;overflow:hidden;max-width:400px;margin-left:auto;margin-right:auto}.viz-column .state-sculpting .progress-bar-container .progress-bar{height:100%;background:#4ade80;width:0%;animation:progress 8s linear forwards}.viz-column .state-complete .model-viewer-placeholder{width:100%;aspect-ratio:1;max-width:400px;margin:0 auto 2rem;background:#00000080;border:1px solid #4ade80;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative}.viz-column .state-complete .download-options{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:400px;margin:0 auto}.viz-column .state-complete .download-options button{padding:1rem;border-radius:4px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}.viz-column .state-complete .download-options button.btn-download{background:#fff;color:#000;border:none}.viz-column .state-complete .download-options button.btn-order{background:#166534;color:#fff;border:1px solid #4ade80}.modal-overlay{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-overlay .modal-content{width:100%;max-width:500px;background:#000;border:2px solid #4ade80;border-radius:8px;overflow:hidden;box-shadow:0 0 50px #4ade8033}.modal-overlay .modal-content .modal-header{display:flex;justify-content:space-between;padding:1rem;background:#16653433;border-bottom:1px solid #166534}.modal-overlay .modal-content .modal-header button{background:none;border:none;color:#4ade80;cursor:pointer}.modal-overlay .modal-content .modal-body{padding:1.5rem}.modal-overlay .modal-content .modal-body form{display:flex;flex-direction:column;gap:1rem}.modal-overlay .modal-content .modal-body form input{width:100%;padding:.75rem;background:#111;border:1px solid #166534;color:#fff;border-radius:4px}.modal-overlay .modal-content .modal-body form input:focus{outline:1px solid #4ade80}.modal-overlay .modal-content .modal-body form button[type=submit]{background:#4ade80;color:#000;padding:1rem;font-weight:700;border:none;cursor:pointer;border-radius:4px;display:flex;justify-content:center}.modal-overlay .modal-content video{width:100%;transform:scaleX(-1);display:block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress{0%{width:0%}to{width:100%}}
