@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Roboto+Mono:wght@300;400;500;700&display=swap";html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#050505;touch-action:none}#app{width:100vw;height:100vh}canvas{display:block}.header-bar,.bottom-bar,.corner-logo{opacity:0;transition:opacity 1.5s ease}body.ui-visible .header-bar,body.ui-visible .bottom-bar,body.ui-visible .corner-logo{opacity:1}.header-bar{position:absolute;top:0;left:0;width:100%;padding:20px 0;background:linear-gradient(to bottom,rgba(13,13,13,.95),transparent);text-align:center;z-index:100;pointer-events:none;border-bottom:1px solid rgba(235,19,19,.1)}.header-bar h1{margin:0;font-size:2.2rem;color:#fff;text-transform:uppercase;letter-spacing:8px;text-shadow:0 0 15px rgba(235,19,19,.8);font-weight:900}.header-bar p{margin:5px 0 0;font-size:.9rem;color:#fff;text-transform:uppercase;letter-spacing:4px;opacity:.8}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;justify-content:center;align-items:center;padding-left:0;z-index:3000;opacity:0;visibility:hidden;transition:all .4s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:#0d0d0d;border:1px solid #EB1313;padding:40px;max-width:500px;width:90%;box-sizing:border-box;max-height:90vh;max-height:90dvh;overflow-y:auto;position:relative;box-shadow:0 0 40px #eb13134d;color:#fff;scrollbar-width:thin;scrollbar-color:rgba(235,19,19,.5) transparent;touch-action:pan-y;overflow-x:hidden}.modal-content::-webkit-scrollbar{width:4px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background-color:#eb131380;border-radius:4px}.modal-close{position:absolute;top:15px;right:20px;color:#eb1313;font-size:2rem;cursor:pointer;line-height:1}.modal-content h2{margin-top:0;color:#eb1313;text-transform:uppercase;letter-spacing:2px}.modal-content p{line-height:1.6;color:#ccc}.modal-link{display:inline-block;margin-top:20px;padding:10px 20px;background:#eb1313;color:#fff;text-decoration:none;font-weight:700;text-transform:uppercase;transition:transform .2s}.modal-link:hover{transform:scale(1.05)}.ui-overlay{display:none}.label{color:#fff;font-family:Courier New,Courier,monospace;font-size:10px;padding:2px 6px;background:#000000b3;border:1px solid #EB1313;pointer-events:none;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;opacity:0;transition:opacity 1s ease;z-index:500;box-shadow:0 0 10px #eb13134d}.label.visible{opacity:1}.label:before{content:"";position:absolute;bottom:-30px;left:50%;transform:translate(-50%);width:1px;height:30px;background:linear-gradient(to top,rgba(235,19,19,.8),transparent)}.label:after{content:"";position:absolute;bottom:-34px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#eb1313;border-radius:50%;box-shadow:0 0 5px #eb1313}.bottom-bar{position:fixed;bottom:0;left:0;width:100%;min-height:40px;height:auto;background:#0d0d0dd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(235,19,19,.2);display:flex;justify-content:space-between;align-items:center;padding:5px 20px;box-sizing:border-box;z-index:100;font-size:.85rem;color:#fff;text-transform:uppercase;letter-spacing:1.5px;flex-wrap:wrap}.bottom-left{color:#fff;font-weight:700}.bottom-center{display:flex;gap:20px}.bottom-center a{color:#fff;text-decoration:none;transition:color .3s,text-shadow .3s}.bottom-center a:hover{color:#eb1313;text-shadow:0 0 8px rgba(235,19,19,.6)}.bottom-right{color:#555;font-family:Courier New,monospace}.controls-hints{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.controls-hints .hint{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;letter-spacing:1px}.controls-hints .hint-key{display:inline-block;padding:2px 7px;border:1px solid rgba(255,85,85,.5);border-radius:3px;background:#ff55551f;color:#f55;font-weight:700;font-size:.7rem;font-family:Courier New,monospace}.controls-hints .hint-action{color:#fff6;font-family:Courier New,monospace}@media(max-width:768px){.controls-hints{gap:8px;justify-content:center;width:100%}.controls-hints .hint{font-size:.65rem}.controls-hints .hint-key{padding:1px 5px;font-size:.6rem}.bottom-left,.bottom-right{display:none!important}.bottom-center{width:100%;justify-content:center;padding:5px 0;gap:15px}.back-button{top:20px;left:unset;right:20px;padding:10px 20px;font-size:.8rem}}.cursor-tooltip{position:fixed;top:0;left:0;background:#000c;border:1px solid #EB1313;color:#fff;padding:5px 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;pointer-events:none;z-index:2000;opacity:0;transition:opacity .2s;box-shadow:0 0 10px #eb13134d;white-space:nowrap}.back-button{position:fixed;top:100px;left:20px;padding:15px 30px;background:transparent;border:1px solid #EB1313;color:#eb1313;font-family:Inter,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:2px;cursor:pointer;z-index:1000;transition:all .3s ease;opacity:0}.back-button.visible{opacity:1}.back-button:hover{background:#eb1313;color:#fff;box-shadow:0 0 20px #eb131380}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;opacity:1;transition:opacity 1.5s ease}.loading-screen.hidden{opacity:0;pointer-events:none}.intro-logo-container{position:relative;opacity:0;transition:opacity 1.5s ease}.intro-logo-container.visible{opacity:1}.loader-logo{width:500px;max-width:75vw;height:auto;display:block;filter:invert(1) brightness(1.5)}.loading-progress-container{display:flex;align-items:center;gap:12px;width:420px;max-width:75vw;opacity:0;animation:fadeInUp .8s ease .6s forwards}.loading-progress-track{flex:1;height:3px;background:#1a1a1a;border-radius:2px;overflow:hidden;position:relative}.loading-progress-bar{height:100%;width:0%;background:#eb1313;border-radius:2px;transition:width .3s ease;box-shadow:0 0 8px #eb131399,0 0 20px #eb131333}.loading-progress-pct{font-family:Roboto Mono,Courier New,monospace;font-size:.75rem;color:#eb1313;letter-spacing:1px;min-width:32px;text-align:right;font-weight:500}.loading-flavor-text{font-family:Roboto Mono,Courier New,monospace;font-size:.8rem;color:#eb1313b3;text-transform:uppercase;letter-spacing:3px;opacity:0;transition:opacity .4s ease;text-align:center;max-width:80vw}.loading-flavor-text.visible{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onboarding-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:9998;background:transparent;display:flex;justify-content:center;align-items:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s ease}.onboarding-overlay.active{opacity:1;visibility:visible}.onboarding-overlay.exiting{opacity:0;visibility:hidden;transition:opacity .5s ease}.onboarding-grid{display:grid;width:100%;height:100%;grid-template-columns:1fr 350px;grid-template-rows:1fr;box-sizing:border-box;padding:40px}.onboarding-center{display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:auto;position:relative;top:-5%;animation:fadeScaleIn .8s ease forwards}.onboarding-title{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin:0 0 3rem;text-align:center}.onboarding-subtitle{font-family:Roboto,sans-serif;font-size:1.2rem;font-weight:300;color:#fff;letter-spacing:.2em;text-transform:uppercase;margin:0;opacity:.9}.onboarding-logo{width:clamp(280px,75vw,600px);height:auto;display:block;margin:0 auto;filter:drop-shadow(0 0 15px rgba(255,0,0,.3));transition:transform .3s ease;animation:pulse-logo 3s infinite ease-in-out}@keyframes pulse-logo{0%,to{transform:scale(1);filter:drop-shadow(0 0 15px rgba(255,0,0,.3))}50%{transform:scale(1.03);filter:drop-shadow(0 0 25px rgba(255,0,0,.6))}}.onboarding-info{font-family:Roboto,sans-serif;font-weight:300;font-size:1.1rem;color:#fffc;margin:0;letter-spacing:1px}.onboarding-cta{background:#eb1313;color:#fff;border:none;font-family:Roboto Mono,monospace;font-size:1.2rem;font-weight:700;padding:18px 40px;cursor:pointer;text-transform:uppercase;letter-spacing:2px;display:flex;align-items:center;gap:12px;box-shadow:0 0 15px #eb131366;transition:all .2s cubic-bezier(.175,.885,.32,1.275);opacity:0;animation:fadeInUp .8s ease .5s forwards}.onboarding-cta:hover{transform:scale(1.05);background:#ff1f1f;box-shadow:0 0 25px #eb131399}.onboarding-cta:active{transform:scale(.95)}.cta-icon{font-size:1rem}.onboarding-right{display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.controls-panel{background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);width:100%;padding:24px;border-left:2px solid rgba(255,255,255,.1);pointer-events:auto;opacity:0;transform:translate(20px);animation:slideInRight .8s ease 1s forwards;display:flex;flex-direction:column;gap:16px;text-shadow:0px 2px 10px rgba(0,0,0,.8)}.panel-header{color:#ffffff80;font-family:Roboto Mono,monospace;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px;margin-bottom:5px}.controls-list{display:flex;flex-direction:column;gap:12px}.control-item{display:flex;align-items:center;gap:12px}.key-icon{background:#ffffff1a;color:#fff;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;padding:6px 10px;border-radius:4px;min-width:60px;text-align:center;border:1px solid rgba(255,255,255,.1)}.action-text{color:#ccc;font-size:.85rem;text-transform:uppercase;font-weight:300;letter-spacing:1px}@keyframes fadeScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.onboarding-grid{grid-template-columns:1fr;grid-template-rows:1fr auto;padding:20px}.onboarding-center{justify-content:center;top:0;margin-bottom:40px}.onboarding-title{font-size:15vw;margin-bottom:1.5rem}.onboarding-cta{width:100%;justify-content:center;padding:16px;font-size:1rem}.onboarding-right{justify-content:center;width:100%}}#flash-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:10000;pointer-events:none;opacity:0}#flash-overlay.active{animation:flash-animation 2.5s ease-out forwards}@keyframes flash-animation{0%{opacity:0}10%{opacity:1}to{opacity:0}}@media(max-width:768px){.controls-panel{width:100%;border-left:none;border-top:1px solid rgba(255,255,255,.1);flex-direction:row;flex-wrap:wrap;justify-content:space-around;padding:15px;background:#000000d9}.panel-header{width:100%;text-align:center;border-bottom:none;margin-bottom:0;padding-bottom:5px}.controls-list{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 16px}.control-item{gap:6px}.key-icon{padding:4px 6px;min-width:auto;font-size:.65rem}.action-text{font-size:.7rem}}.corner-logo{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:150;opacity:0;transition:opacity 1.5s ease}.corner-logo img{width:120px;height:auto;filter:invert(1) brightness(1.5)}.fade-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:900;pointer-events:none;opacity:0;transition:opacity .1s linear}.about-content{max-width:800px;width:90%;display:flex;flex-direction:column;gap:20px;background:#0a0a0af2;border:1px solid #EB1313;box-shadow:0 0 50px #eb131333}.about-body{display:flex;flex-direction:row;gap:30px;align-items:center;justify-content:center}.about-image{flex:0 0 35%;max-width:250px;display:flex;justify-content:center;align-items:center}.about-image img{width:100%;height:auto;border-radius:8px;box-shadow:0 0 20px #eb131366;border:1px solid rgba(235,19,19,.3);transition:transform .3s ease}.about-image img:hover{transform:scale(1.02)}.about-text{flex:1;color:#ddd;font-size:.95rem;line-height:1.6;text-align:left}.about-text p{margin-bottom:1rem}.social-buttons{display:flex;justify-content:center;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(235,19,19,.2)}.social-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 25px;background:transparent;border:1px solid #EB1313;color:#fff;text-decoration:none;font-family:Courier New,monospace;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease;min-width:100px;text-align:center}.social-btn:hover{background:#eb1313;color:#000;box-shadow:0 0 15px #eb131399;transform:translateY(-2px)}@media(max-width:768px){.loader-logo{width:80%;max-width:300px;margin:0 auto}.intro-text-redesign{font-size:.8rem;letter-spacing:4px}}@media(max-width:768px){.modal-overlay{justify-content:center;align-items:center;padding-left:0}.modal-content{width:90%;padding:25px 20px;max-height:85vh;margin:auto;overflow-y:auto}.modal-close{top:10px;right:15px;font-size:1.8rem}.modal-content h2{font-size:1.5rem;text-align:center}.about-body{flex-direction:column;align-items:center;gap:20px}.about-image{flex:0 0 auto;width:160px;max-width:60%;margin-bottom:5px}.about-text{width:100%;text-align:center;font-size:.9rem}.about-text p{margin-bottom:.8rem}.social-buttons{flex-direction:column;width:100%;gap:12px;margin-top:15px;padding-top:15px}.social-btn{width:100%;box-sizing:border-box;padding:12px;font-size:.9rem}}.model-selection-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:2500;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .5s ease;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.model-selection-overlay.active{opacity:1;visibility:visible}.model-selection-title{color:#eb1313;font-size:2.5rem;font-weight:900;text-transform:uppercase;letter-spacing:10px;margin-bottom:40px;text-shadow:0 0 20px rgba(235,19,19,.5)}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:900px;width:90%;margin-bottom:40px}.model-slot{aspect-ratio:1 / 1;background:#141414cc;border:1px solid rgba(235,19,19,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;padding:10px}.model-slot:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(235,19,19,.1),transparent);opacity:0;transition:opacity .3s ease}.model-slot:hover:not(.locked){border-color:#eb1313;transform:scale(1.05);box-shadow:0 0 25px #eb13134d}.model-slot:hover:before{opacity:1}.model-slot.locked{cursor:not-allowed;opacity:.6;filter:grayscale(1);background:#0a0a0ae6}.model-slot.locked .model-icon{opacity:.2}.model-slot .model-icon{width:60%;height:auto;filter:invert(1);margin-bottom:10px;transition:transform .3s ease}.model-slot:hover .model-icon{transform:scale(1.1)}.model-slot .model-name{font-size:.75rem;font-family:Courier New,monospace;color:#fff;text-transform:uppercase;letter-spacing:2px}.model-slot.locked .model-name{color:#555}.model-slot.locked:after{content:"LOCK";position:absolute;bottom:10px;right:10px;font-size:.6rem;color:#eb1313;font-weight:700;border:1px solid #EB1313;padding:2px 5px}@media(max-width:768px){.model-grid{grid-template-columns:repeat(2,1fr)}.model-selection-title{font-size:1.5rem;letter-spacing:5px}}.viewer-controls{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;gap:20px;z-index:2000}.viewer-btn{padding:10px 20px;background:#000c;border:1px solid #EB1313;color:#fff;font-family:Courier New,monospace;font-size:.9rem;cursor:pointer;text-transform:uppercase;letter-spacing:2px;transition:all .3s ease}.viewer-btn:hover{background:#eb1313;box-shadow:0 0 15px #eb131380}.viewer-btn.active{background:#eb1313;color:#000;font-weight:700}.model-slot .model-preview{width:100%;height:70%;background:#000;margin-bottom:10px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(235,19,19,.1);position:relative}.model-slot .model-preview img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 0 10px rgba(235,19,19,.4));transition:transform .3s ease}.model-slot:hover .model-preview img{transform:scale(1.1)}.model-slot .collection-badge{position:absolute;top:5px;left:5px;background:#eb1313;color:#fff;font-size:.6rem;padding:2px 5px;font-weight:700}
