@charset "UTF-8";@keyframes flash{0%{opacity:1}70%{opacity:1}to{opacity:0}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}canvas{width:100%!important;height:100%!important}canvas:active{cursor:grabbing}html::-moz-selection{background-color:#fff;color:#000}html::selection{background-color:#fff;color:#000}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Normal.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Normal%20Oblique.ttf) format("truetype");font-weight:400;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Thin%20Oblique.ttf) format("truetype");font-weight:100;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Extra%20Light.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Extra%20Light%20Oblique.ttf) format("truetype");font-weight:200;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Light%20Oblique.ttf) format("truetype");font-weight:300;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Light%20Oblique.ttf) format("truetype");font-weight:300;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Regular.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Regular%20Oblique.ttf) format("truetype");font-weight:500;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Medium.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Medium%20Oblique.ttf) format("truetype");font-weight:600;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Demi%20Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Demi%20Bold%20Oblique.ttf) format("truetype");font-weight:700;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Bold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Bold%20Oblique.ttf) format("truetype");font-weight:800;font-style:oblique;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Heavy.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Articulat CF;src:url(/font/ArticulatCF/Articulat%20CF%20Heavy%20Oblique.ttf) format("truetype");font-weight:900;font-style:oblique;font-display:swap}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes flash{0%{opacity:0}4%{opacity:1}96%{opacity:1}to{opacity:0}}.loading-bar{position:fixed;top:50%;left:0;width:100%;height:2px;background:#fff;transform-origin:top left;transform:scaleX(0);transition:transform .5s;z-index:10}.loading-bar.ended{transform:scaleX(0);transform-origin:top right;transition:transform 1.5s ease-in-out}#timeline-progress{position:fixed;bottom:10px;left:10px;right:10px;height:4px;background-color:#fff3;border-radius:2px;z-index:100}#progress-indicator{height:100%;width:0%;background-color:#fff;border-radius:2px;transition:width .05s ease-out}.camera-interface{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1000;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:20px}.camera-interface-capture-button{position:absolute;width:88px;height:88px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;pointer-events:auto;bottom:-44px;left:50%;transform:translate(-50%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:box-shadow .3s ease,backdrop-filter .3s ease,transform .15s ease}.camera-interface-capture-button-hovered{box-shadow:0 0 8px 4px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.camera-interface-capture-button-inner{position:absolute;width:88px;height:88px;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;pointer-events:auto;cursor:pointer;transition:box-shadow .3s ease,backdrop-filter .3s ease,transform .15s ease}.camera-interface-capture-button-inner-text{width:100%;max-width:56px;height:100%;display:flex;justify-content:center;align-items:center;color:#f9feff;text-align:center;font-family:Articulat CF,serif;font-size:12px;font-style:normal;font-weight:700;line-height:normal;transition:text-shadow .3s ease}.camera-interface-capture-button-inner-hovered{background:#f9feff80;box-shadow:0 0 8px 4px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.camera-interface-capture-button-inner-default{background:#f9feff80}.camera-viewport{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:65%;max-width:80%;aspect-ratio:16/10;box-shadow:0 0 0 9999px #0009;z-index:-1;border:1px solid white;border-radius:50px;overflow:visible}.camera-viewport:before{content:"";position:absolute;top:-2px;left:-2px;width:25%;height:25%;border-top:4px solid white;border-left:4px solid white;border-top-left-radius:50px;z-index:5;pointer-events:none}.camera-viewport:after{content:"";position:absolute;top:-2px;right:-2px;width:25%;height:25%;border-top:4px solid white;border-right:4px solid white;border-top-right-radius:50px;z-index:5;pointer-events:none}.camera-viewport-corner-bl{content:"";position:absolute;bottom:-2px;left:-2px;width:25%;height:25%;border-bottom:4px solid white;border-left:4px solid white;border-bottom-left-radius:50px;z-index:5;pointer-events:none}.camera-viewport-corner-br{content:"";position:absolute;bottom:-2px;right:-2px;width:25%;height:25%;border-bottom:4px solid white;border-right:4px solid white;border-bottom-right-radius:50px;z-index:5;pointer-events:none}.camera-viewport-border{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;overflow:hidden;border-radius:50px}.camera-viewport-border img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:fill;display:block}.camera-viewport-target{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:15%;aspect-ratio:1/1;border:1px solid white;border-radius:50%;background-color:transparent;pointer-events:none}.camera-viewport-zoom{position:absolute;top:50%;right:5%;width:30px;height:70%;transform:translateY(-50%) translate(13px)}.camera-viewport-zoom:before{content:"";position:absolute;top:0;left:50%;width:3px;height:100%;background:#fff;border-radius:100px;transform:translate(-50%)}.camera-viewport-zoom-indicator{position:absolute;top:50%;left:50%;width:45px;height:20px;transform:translate(-50%,-50%);border-radius:999px;border:1.5px solid #F9FEFF;background:#f9feff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:top .2s ease,box-shadow .3s ease,background .3s ease;display:flex;align-items:center;justify-content:center;z-index:15}.camera-viewport-zoom-indicator:hover,.camera-viewport-zoom-indicator.dragging{box-shadow:0 0 8px 4px #ffffff80;background:#f9feffb3}.camera-viewport-zoom-indicator-bar{width:30px;height:8px;background:#fff;border-radius:100px;pointer-events:none}.camera-viewport-zoom-plus{position:absolute;top:-12%;left:50%;transform:translate(-50%);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}.camera-viewport-zoom-plus-icon{position:relative;width:27px;height:27px}.camera-viewport-zoom-plus-icon:before{content:"";position:absolute;top:50%;left:50%;width:27px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:100px}.camera-viewport-zoom-plus-icon:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:27px;background:#fff;transform:translate(-50%,-50%);border-radius:100px}.camera-viewport-zoom-minus{position:absolute;bottom:-12%;left:50%;transform:translate(-50%);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}.camera-viewport-zoom-minus-icon{position:relative;width:27px;height:27px}.camera-viewport-zoom-minus-icon:before{content:"";position:absolute;top:50%;left:50%;width:27px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:100px}.camera-button{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);background-color:#fff;color:#000;border:none;border-radius:50%;width:80px;height:80px;font-size:16px;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 8px #0000004d;transition:transform .2s;z-index:1}.camera-button:hover{transform:translate(-50%,50%) scale(1.1)}.camera-objective{background:#fff;border:2px solid #000000;border-radius:100px;height:50%;width:50%}.camera-flash{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:#fff;z-index:1001;animation:flash 8s ease-out}.camera-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:10px 20px;background-color:#000000b3;color:#fff;border-radius:5px;z-index:1002;animation:fadeIn .3s ease-in}.scanner-interface{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1000;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:20px}.scanner-interface-scan-button{position:absolute;width:88px;height:88px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;pointer-events:auto;bottom:-44px;left:50%;transform:translate(-50%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scanner-interface-scan-button-inner{position:absolute;width:88px;height:88px;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;background:#f9feff80;pointer-events:auto;cursor:pointer;transition:box-shadow .3s ease,backdrop-filter .3s ease,transform .15s ease}.scanner-interface-scan-button-inner-text{width:100%;max-width:56px;display:flex;justify-content:center;align-items:center;color:#f9feff;text-align:center;font-family:Articulat CF,serif;font-size:12px;font-style:normal;font-weight:700;line-height:normal}.scanner-interface-scan-button-inner-progress{position:absolute;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1px solid #F9FEFF;background:transparent;pointer-events:none}.scanner-interface-scan-button-inner-hovered{background:#f9feff80;box-shadow:0 0 8px 4px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scanner-interface-scan-button-inner-default{background:#f9feff80}.scanner-viewport{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:65%;max-width:80%;aspect-ratio:16/10;box-shadow:0 0 0 9999px #0009;z-index:-1;border:1px solid white;border-radius:50px;overflow:visible}.scanner-viewport:before{content:"";position:absolute;top:-2px;left:-2px;width:25%;height:25%;border-top:4px solid white;border-left:4px solid white;border-top-left-radius:50px;z-index:5}.scanner-viewport:after{content:"";position:absolute;top:-2px;right:-2px;width:25%;height:25%;border-top:4px solid white;border-right:4px solid white;border-top-right-radius:50px;z-index:5}.scanner-viewport-corner-bl{content:"";position:absolute;bottom:-2px;left:-2px;width:25%;height:25%;border-bottom:4px solid white;border-left:4px solid white;border-bottom-left-radius:50px;z-index:5}.scanner-viewport-corner-br{content:"";position:absolute;bottom:-2px;right:-2px;width:25%;height:25%;border-bottom:4px solid white;border-right:4px solid white;border-bottom-right-radius:50px;z-index:5}.scanner-viewport-border{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;overflow:hidden;border-radius:50px}.scanner-viewport-border img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:fill;display:block}.scanner-viewport-target{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:15%;aspect-ratio:1/1;background-color:transparent;pointer-events:none}.scanner-viewport-target svg{width:100%;height:100%}.scanner-scan-line{position:absolute;left:-5%;width:110%;height:5px;background-color:#ffffffe6;box-shadow:0 0 10px #fffc;z-index:3;pointer-events:none;animation-duration:4s;animation-timing-function:linear;animation-iteration-count:infinite;animation-name:scanAnimation}.scanner-progress-container{position:absolute;bottom:10%;left:10%;right:10%;height:6px;background-color:#ffffff4d;border-radius:3px;overflow:hidden}.scanner-progress-bar{height:100%;width:0;background-color:#4383f5;border-radius:3px;transition:width .05s linear}.scanner-button{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);background-color:#fff;color:#000;border:none;border-radius:50%;width:80px;height:80px;font-size:16px;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 8px #0000004d;transition:transform .2s;z-index:1}.scanner-objective{background:#fff;border:2px solid #000000;border-radius:5px;height:40%;width:40%}.scanner-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:10px 20px;background-color:#000000b3;color:#fff;border-radius:5px;z-index:1002;animation:fadeIn .3s ease-in}@keyframes scanAnimation{0%{top:0}50%{top:calc(100% - 5px)}to{top:0}}.blackscreen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;z-index:500;display:block;opacity:0;animation:fadeIn .5s forwards}#interaction-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:15px 30px;background-color:#4383f5;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 4px 8px #0000004d;transition:all .3s ease;display:none;z-index:100}#interaction-button:hover{background-color:#306ad6}#countdown-element{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);display:none;z-index:100}#scroll-debug-indicator{position:fixed;bottom:20px;right:20px;padding:8px 12px;background-color:#0009;color:#0f0;font-family:sans-serif;font-size:14px;border-radius:4px;z-index:100;transition:color .3s ease}.marker-text{opacity:1;transition:opacity .3s;background-color:#000000b3;color:#fff;padding:5px 10px;border-radius:4px;font-family:Articulat CF,sans-serif;font-size:14px;font-weight:700;text-align:center;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto}.marker-button{position:absolute;width:88px;height:88px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;pointer-events:auto}.marker-button.disable{opacity:.4;right:33vw;top:33vh}.marker-button.double-button{position:relative;width:auto;height:auto;border:none;background:none}.marker-button.double-button .double-button-container{display:flex;gap:16px;align-items:center}.marker-button.left-marker,.marker-button.right-marker{position:relative;width:88px;height:88px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;pointer-events:auto}.marker-button.confirm{position:relative!important;width:fit-content;height:fit-content;aspect-ratio:unset;border:none}.marker-button-inner{position:absolute;width:88px;height:88px;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;background:#f9feff80;pointer-events:auto;cursor:pointer;transition:box-shadow .3s ease,backdrop-filter .3s ease}.marker-button-inner.confirm{position:relative;width:fit-content;height:fit-content;padding:16px;aspect-ratio:unset}.marker-button-inner-hovered{box-shadow:0 0 8px 4px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.marker-button-inner-text{width:100%;max-width:56px;height:100%;display:flex;justify-content:center;align-items:center;color:#f9feff;text-align:center;font-family:Articulat CF,serif;font-size:12px;font-style:normal;font-weight:700;line-height:normal}.marker-button-inner-text.confirm{width:fit-content;height:fit-content;aspect-ratio:unset;max-width:unset;font-size:16px!important}.marker-button-inner-progress{position:absolute;width:72px;height:72px;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1px solid #F9FEFF;transition:all .3s ease;opacity:.7;pointer-events:none}.marker-drag{position:absolute;width:80px;height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;pointer-events:auto;transition:box-shadow .3s ease,backdrop-filter .3s ease}.marker-drag-inner{position:absolute;width:80px;height:120px;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;background:#f9feff80;pointer-events:auto;cursor:grab;transition:box-shadow .3s ease,backdrop-filter .3s ease}.marker-drag-inner-hovered{box-shadow:0 0 8px 4px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.marker-drag-inner-dragging{cursor:grabbing}.marker-drag-inner-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.marker-drag-inner-icon{width:100%;display:flex;justify-content:center;align-items:center}.marker-drag-inner-text{width:100%;max-width:56px;display:flex;justify-content:center;align-items:center;color:#f9feff;text-align:center;font-family:Articulat CF,serif;font-size:12px;font-style:normal;font-weight:700;line-height:normal}.responsive-landing{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0c0c0c;background-image:url(/images/Landing_Background.png);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;overflow:hidden}.responsive-landing:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#001006b2;z-index:-1}.responsive-landing-content{width:100%;height:100%;max-width:500px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:72px 20px;position:relative;z-index:1}.responsive-landing-school-logo{width:38px;height:auto;margin-bottom:11px}.responsive-landing-school-logo img{width:100%;height:auto}.responsive-landing-project-logo{width:100%;max-width:300px;margin-bottom:54px}.responsive-landing-project-logo img{width:100%;height:auto}.responsive-landing-cta{font-family:Articulat CF;font-size:16px;font-style:normal;font-weight:700;line-height:normal;background:transparent;color:#f9feff;padding:12px 24px;border-radius:100px;border:1.5px solid #F9FEFF;cursor:pointer;transition:all .3s ease;text-align:center;animation:fadeIn .5s ease-in;margin-bottom:150px}.responsive-landing-cta:hover{box-shadow:0 0 4px #fff}.responsive-landing-cta:active{transform:scale(.95)}.responsive-landing-message{font-family:Articulat CF;font-size:14px;font-weight:600;line-height:normal;font-style:italic;color:#f9feff;padding:20px 0;border-radius:100px;text-align:center;bottom:0;position:absolute}.responsive-landing-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;z-index:10000;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-in}.responsive-landing-popup-container{width:90%;max-width:800px;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;position:relative}.responsive-landing-popup-header{display:flex;justify-content:flex-end;padding:8px}.responsive-landing-popup-close{background:transparent;border:none;color:#f9feff;font-size:24px;cursor:pointer;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:background-color .2s}.responsive-landing-popup-close:hover{background-color:#f9feff33}.responsive-landing-popup-content{position:relative;width:100%;padding-top:56.25%}.responsive-landing-popup-player{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;background-color:#000}.responsive-landing-popup-player.no-controls::-webkit-media-controls{display:none!important}.responsive-landing-popup-player.no-controls{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.responsive-landing-popup-play-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.responsive-landing-popup-footer{padding:12px;display:flex;justify-content:center}.responsive-landing-popup-fullscreen{font-family:Articulat CF;font-size:14px;font-style:normal;font-weight:700;line-height:normal;background:#f9feff80;color:#f9feff;padding:8px 16px;border-radius:100px;border:1.5px solid #F9FEFF;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center}.responsive-landing-popup-fullscreen:hover{box-shadow:0 0 8px 4px #ffffff4d;background:#f9feff99}.responsive-landing-popup-fullscreen:active{transform:scale(.95)}@media (max-height: 600px){.responsive-landing-content{padding:20px 10px}.responsive-landing-school-logo{width:38px;margin-bottom:20px}.responsive-landing-project-logo{max-width:220px;margin-bottom:30px}.responsive-landing-message{font-size:16px}}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0c0c0c;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;overflow:hidden;opacity:1;transition:opacity 1s ease}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-screen:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#001006b2;z-index:-1}.loading-screen .loading-content{width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-screen .loading-logo{width:80%;height:auto}.loading-screen .loading-logo img{width:100%;height:auto}.loading-screen .loading-progress-container{width:100%;height:8px;border-radius:4px;margin-bottom:15px;overflow:hidden;position:relative;border:1px solid rgb(249,254,255)}.loading-screen .loading-progress-bar{height:100%;background:#f9feff;border-radius:4px;transition:width .2s ease-out;box-shadow:0 0 15px #f9feff80;position:relative;overflow:hidden}.loading-screen .loading-progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-screen .loading-percentage{font-family:Articulat CF;font-size:16px;font-weight:700;font-style:italic;color:#f9feff;text-align:center;text-shadow:0 0 10px rgba(249,254,255,.5);transition:all .3s ease}.desktop-landing{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0c0c0c;background-image:url(/images/Landing_Background.png);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:8001;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;overflow:hidden;opacity:1;transition:opacity 1s ease}.desktop-landing.fade-out{opacity:0;pointer-events:none}.desktop-landing:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#001006b2;z-index:-1}.desktop-landing-content{width:100%;height:100%;max-width:800px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 20px;position:relative;z-index:1}.desktop-landing-school-logo{width:48px;height:auto;margin-bottom:20px}.desktop-landing-school-logo img{width:100%;height:auto}.desktop-landing-project-logo{width:100%;max-width:596px;margin-bottom:64px}.desktop-landing-project-logo img{width:100%;height:auto}.desktop-landing-cta{font-family:Articulat CF;font-size:16px;font-style:normal;font-weight:700;line-height:normal;background:transparent;color:#f9feff;padding:12px 24px;border-radius:100px;border:1.5px solid #F9FEFF;cursor:pointer;transition:all .3s ease;text-align:center;margin-bottom:100px;animation:fadeIn .5s ease-in}.desktop-landing-cta:hover{box-shadow:0 0 4px #fff}.desktop-landing-cta:active{transform:scale(.95)}.desktop-landing-cta.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.desktop-landing-message{font-family:Articulat CF,sans-serif;font-size:15px;font-weight:200;font-style:oblique;line-height:normal;color:#f9feff;border-radius:100px;text-align:center;margin-top:auto;position:absolute;bottom:20px}.desktop-landing-logos{font-family:Articulat CF,sans-serif;font-size:15px;font-weight:200;font-style:oblique;line-height:normal;color:#f9feff;border-radius:100px;text-align:center;margin-top:auto;position:absolute;top:20px}.desktop-landing-logos img{height:48px;margin:0 10px}.black-screen-transition{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;z-index:100;opacity:0;animation:fadeInOut 2s forwards}@keyframes fadeInOut{0%{opacity:0}to{opacity:1}}.main-layout{position:fixed;top:0;left:0;width:100%;height:100px;z-index:8000;padding:20px;pointer-events:none}.main-layout>*{pointer-events:auto}.main-layout-logo{position:absolute;top:40px;left:40px;width:40px;height:auto}.main-layout-logo img{width:100%;height:auto}.main-layout-audio-controls{position:absolute;top:40px;right:40px;display:flex;align-items:center;gap:25px;pointer-events:auto}.main-layout-volume-slider{width:0;opacity:0;overflow:hidden;height:40px;display:flex;align-items:center;background:#f9feff33;border-radius:20px;border:1.5px solid #F9FEFF;padding:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:all .3s ease}.main-layout-volume-slider input[type=range]{width:100%;margin:0 15px;accent-color:#F9FEFF;background:transparent;cursor:pointer}.main-layout-volume-slider input[type=range]::-webkit-slider-thumb{background:#f9feff}.main-layout-volume-slider input[type=range]::-moz-range-thumb{background:#f9feff}.main-layout .show-volume .main-layout-volume-slider{width:120px;opacity:1;padding:0}.main-layout-audio-button{width:40px;height:40px;border-radius:50%;background:#f9feff33;border:1.5px solid #F9FEFF;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-layout-audio-button:hover{background:#f9feff4d;box-shadow:0 0 8px 2px #ffffff4d}.main-layout-audio-button:active{transform:scale(.95)}.main-layout-audio-button svg{width:16px;height:16px}.main-layout-map{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10}.map-progress{display:flex;align-items:center;justify-content:center;padding:10px 20px}.map-progress svg{width:401px;height:52px;max-width:90vw;height:auto}.map-progress rect[fill="#F9F9F9"]{fill:#f9f9f9;fill-opacity:1;transform:scale(1)}.scrollToStart{position:fixed;bottom:110px;left:50%;transform:translate(-50%);color:#f9fffb;font-size:16px;font-family:Articulat CF;font-weight:200;font-style:italic;text-align:center;z-index:12000;padding:8px 16px;pointer-events:none;width:90%;white-space:pre-line;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:6px}.scrollToStart svg{animation:bounce2 3s ease infinite}@keyframes bounce2{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-2px)}}.ending-landing{position:fixed;top:0;left:0;width:100%;height:100%;background:#000b04;z-index:8001;opacity:0;overflow-y:scroll;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.ending-landing::-webkit-scrollbar{display:none}.ending-block{height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;position:relative}.ending-block-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;z-index:8000}.ending-messages-block .ending-block-content{position:relative}.ending-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;pointer-events:none}.ending-message strong{font-weight:800}.ending-message.active{pointer-events:auto}.ending-text-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;z-index:2;position:relative}.ending-text{font-family:Articulat CF;font-size:16px;font-style:italic;font-weight:400;line-height:1.5;color:#f9feff;text-align:center}.ending-text strong{font-weight:700}.ending-asset{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.ending-asset img{width:100%;height:auto;transform:translateY(-50%)}.eye-1{transform:translate(-400px,-100px)}.eye-2{transform:translate(-250px,130px)}.eye-3{transform:translate(400px,30px)}.first-asset{transform:translateY(-60%)}.second-asset{transform:translateY(-85%)}.third-asset{transform:rotateY(180deg)!important;left:0!important;right:unset!important;bottom:0!important;top:unset!important}.third-asset img{transform:unset!important}.ending-asset-right{right:-40px}.ending-asset-left{left:0}.ending-landing-school-logo{position:absolute;top:48px;left:50%;transform:translate(-50%);width:300px;height:auto;margin-bottom:50px;animation:fadeIn 1s ease-in}.ending-landing-school-logo img{width:100%;height:auto}.ending-landing-cta{font-family:Articulat CF;font-size:16px;font-style:normal;font-weight:700;line-height:normal;background:transparent;color:#f9feff;padding:12px 24px;border-radius:100px;border:1.5px solid #F9FEFF;cursor:pointer;box-shadow:0 0 8px 4px #ffffff1a;transition:all .3s ease;text-align:center;animation:fadeIn .5s ease-in}.ending-landing-cta:hover{box-shadow:0 0 8px 4px #ffffff80}.ending-landing-cta:active{transform:scale(.95)}.ending-credits-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;width:100%;height:100%;position:relative}.ending-project-logo-small{width:100%;max-width:320px}.ending-project-logo-small img{width:100%;height:auto}.ending-credits{position:absolute;bottom:48px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px}.ending-credits-names{display:flex;justify-content:center;flex-wrap:wrap}.ending-credits-names.line-2{margin-top:10px}.ending-credits-name{font-family:Articulat CF;font-size:12px;font-weight:700;font-style:italic;color:#f9feff;text-align:center;letter-spacing:.5px;text-transform:uppercase;padding:0 10px;position:relative;line-height:1}.line-2 .ending-credits-name{font-weight:200}.ending-credits-name:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:23px;width:1px;background-color:#f9feff}.ending-logos{display:flex;justify-content:center;align-items:center;gap:40px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.ending-logo-item{height:60px;width:auto}.ending-logo-item img{height:100%;width:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scroll-indicator{display:none}@media (max-width: 768px){.ending-text{font-size:14px;gap:20px}.ending-landing-school-logo{width:300px;margin-bottom:40px}.ending-asset img{max-width:80%}.third-asset{right:20px!important}}@media (max-width: 480px){.ending-text{font-size:13px;gap:16px}.ending-text-container{gap:20px;padding:0 20px}.ending-landing-school-logo{width:250px;margin-bottom:30px}.ending-asset img{max-width:70%}}.custom-cursor{position:fixed;width:18px;height:18px;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);opacity:0;will-change:transform}.custom-cursor.visible{opacity:1}.custom-cursor .cursor-border{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 .5px #f9f9f9;transition:all .3s ease}.custom-cursor .cursor-dot{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);border-radius:50%;background:#f9f9f9;box-shadow:0 0 8px 4px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:all .3s ease}.custom-cursor.pixelated .cursor-border,.custom-cursor.pixelated .cursor-dot{border-radius:0}.custom-cursor.cursor-click .cursor-dot{transform:translate(-50%,-50%) scale(.8)}.custom-cursor.cursor-interactive .cursor-border{transform:scale(2)}.custom-cursor.cursor-interactive.pixelated .cursor-border,.custom-cursor.cursor-interactive.pixelated .cursor-dot{border-radius:0}html,body,#root,a,button,[role=button],.marker-button-inner,.scanner-interface-scan-button-inner,.camera-interface-capture-button-inner,.desktop-landing-cta,.ending-landing-cta,*{cursor:none!important}.image-interface{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#000000d9;cursor:none!important;opacity:0;animation:fadeInDelay 2.5s forwards}.image-interface .image-container{position:relative;max-width:90%;max-height:70%;display:flex;justify-content:center;align-items:center;padding:4px 20px 28px;border-radius:8px;overflow:hidden;opacity:0;animation:fadeInDelay .5s forwards}.image-interface .image-container img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.image-interface-hold-button{position:fixed;width:88px;height:88px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;pointer-events:auto;transform:translate(-50%,-50%);z-index:10;opacity:0;animation:fadeInDelay 2.5s forwards;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.image-interface-hold-button:not(.image-interface-hold-button-fixed){pointer-events:none}.image-interface-hold-button-fixed{position:fixed;bottom:40px;left:50%;transform:translate(-50%);pointer-events:auto;cursor:pointer;opacity:1;animation:none}.image-interface-hold-button-fixed.show{animation:buttonFadeIn .5s ease-out forwards}.image-interface-hold-button-inner{position:absolute;width:88px;height:88px;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1.5px solid #F9FEFF;background:#f9feff80;pointer-events:none;transition:box-shadow .3s ease,backdrop-filter .3s ease,transform .15s ease}.image-interface-hold-button-inner-text{width:100%;max-width:56px;display:flex;justify-content:center;align-items:center;color:#f9feff;text-align:center;font-family:Articulat CF,serif;font-size:12px;font-style:normal;font-weight:700;line-height:normal}.image-interface-hold-button-inner-progress{position:absolute;display:flex;padding:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;flex-shrink:0;aspect-ratio:1;border-radius:999px;border:1px solid #F9FEFF;background:transparent;pointer-events:none}.image-interface-hold-button-inner-active{background:#f9feff80;box-shadow:0 0 8px 4px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.image-interface-hold-button-inner-default{background:#f9feff80}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes fadeInDelay{0%,80%{opacity:0}to{opacity:1}}@keyframes fadeInDelayPulse{0%,80%{opacity:0}90%{opacity:.75}95%{opacity:1}to{opacity:.75}}@keyframes buttonFadeIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
