@font-face{font-family:Orbitron;src:url(/fonts/orbitron.woff2) format("woff2");font-weight:200 900}@font-face{font-family:Montserrat;src:url(/fonts/montserrat.woff2) format("woff2");font-weight:400}:root{--font-size: 1.1rem;--theme-gradient: linear-gradient(135deg, #006f20, #6cb220);--dark-bg: rgba(20, 20, 30, .8);--dark-bg-lighter: rgba(30, 34, 53, .85);--dark-border: rgba(255, 255, 255, .08);--text-primary: #ffffff;--text-secondary: rgba(147, 159, 167, .8);--accent: #00ffe1}html,body,#root{position:fixed;top:0;left:0;width:100%;height:100%;padding:0;margin:0;overscroll-behavior:contain;font-family:Orbitron,sans-serif;font-optical-sizing:auto;font-weight:900;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-size:var(--font-size)}.glass-effect{background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.5rem;transition:background .3s ease,border-color .3s ease}.glass-effect.active,.glass-effect:hover{background:var(--dark-bg-lighter);border-color:#ffffff26}.webgl{width:100%;height:100vh;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}button{pointer-events:initial;cursor:pointer;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.5rem;font-size:1.3rem;color:inherit;font-weight:inherit;padding:.75rem 1.5rem;margin:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s ease,border-color .2s ease,opacity .2s ease}button:hover{background:var(--dark-bg-lighter);border-color:#ffffff26}.author{pointer-events:none;position:absolute;left:.5rem;bottom:.5rem;font-size:max(1em,1vw);padding:.5rem 2rem .5rem 1rem;font-weight:700}h1{margin:.4rem 0}h2{text-transform:initial;font-size:.95em}section{display:flex;flex-direction:column;box-sizing:border-box;flex:1}#root{position:absolute;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;align-items:center}#root:before{content:"";position:absolute;inset:0;transition:opacity 2.5s ease;z-index:-1;opacity:1;width:100%;height:100%}#root.ready:before{opacity:0}a{color:inherit;text-decoration:none}nav{margin:1rem 0;display:flex;justify-content:center;align-items:initial;font-size:.65rem;width:100%}nav a{pointer-events:initial;position:relative;color:inherit;text-decoration:none;padding:1em;margin:0 .5em;flex:0 1 150px;text-align:center;transition:all .3s ease;background:transparent;border:1px solid transparent;border-radius:.5rem}nav a:hover{background:var(--dark-bg);border-color:var(--dark-border)}#home{justify-content:center}.look-around-hint{opacity:0;text-align:center;transition:all .5s;display:flex;justify-content:center;flex-direction:column;pointer-events:none;font-size:.6rem;padding:.5rem;transform:translateY(100px);z-index:100}.look-around-hint.show{opacity:1;transform:translateY(0)}.look-around-hint svg{position:relative;width:75px;height:auto;display:inline-block;margin-bottom:60px}.look-around-hint svg path{fill:#fff}.orbit{position:relative;display:inline-block;transform-origin:center;animation-delay:1s}.look-around-hint.show .orbit{animation:ellipticalMove 3s infinite cubic-bezier(.7,0,.3,1)}.look-around-hint span{display:block;padding:1rem}@keyframes ellipticalMove{0%{transform:rotate(0) translateY(40px) rotate(0)}50%{transform:rotate(360deg) translateY(40px) rotate(-360deg)}to{transform:rotate(360deg) translateY(40px) rotate(-360deg)}}.explore-hint{position:fixed;top:0;left:0;opacity:0;transition:opacity .5s ease}.explore-hint.show{opacity:1}.explore-hint svg{display:block;height:40px;width:40px}.explore-hint path{fill:#fff}.explore-hint span{font-size:.7rem;padding:.5rem;display:block;margin-top:.5rem}#contact{max-width:100rem;padding-bottom:4rem}#contact h1{text-align:center}#contact p{font-weight:200;text-align:center;margin-top:2rem}#contact .container{display:flex;justify-content:center;flex-direction:column;flex:1}.swarm-switch{flex:1;display:flex;justify-content:space-between;max-width:50em;align-items:center}.swarm-switch button{margin:0 .5rem;padding:0;font-size:6em;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;transition:all .2s ease-in-out}.social-media{display:flex;justify-content:center;align-items:center}.social-media button{font-size:1.5em;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;display:flex;justify-content:center;flex-direction:column;line-height:.3rem;transition:all .2s ease-in-out;padding:0;margin:0 .5em}.social-media button:hover{line-height:.4em}.social-media ul{display:flex;justify-content:center;gap:1rem;list-style:none;font-size:.6em;margin:0;padding:0}.social-media li{display:none}.social-media li.active{display:block}.social-media a{display:block;padding:1rem;min-width:150px;text-align:center;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.5rem;pointer-events:initial;-webkit-user-select:text;-moz-user-select:text;user-select:text;word-break:break-word;transition:background .2s ease,border-color .2s ease}.social-media a:hover{background:var(--dark-bg-lighter);border-color:#ffffff26}@media(max-width:600px){#contact{padding-top:0}#contact h1,#contact p{margin-top:1rem}#contact h1{font-size:1.2em}#contact p{font-size:.9em}}@media(max-width:450px){#contact h1,#contact p{margin-top:0}.social-media a{font-size:.8em}}@media(max-height:530px){#contact .header{display:none}#contact .container{flex-direction:column-reverse}}#about{align-self:center;overflow:hidden auto;margin-bottom:1rem;justify-content:center}.about-container{position:relative;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.75rem;margin:0 .5rem;max-width:25rem;padding:1.25rem;overflow:hidden auto;pointer-events:initial;font-size:1.2rem;scrollbar-width:thin;scrollbar-color:#333 rgba(0,0,0,.1)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#0000001a}*::-webkit-scrollbar-thumb{background-color:#333;border-radius:4px}.about-container h1{font-size:1.8rem}.about-container h2{font-weight:200;margin-top:0;font-size:1.4rem}.about-container p{font-size:.9em;font-weight:400;text-align:justify;text-transform:initial;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;letter-spacing:initial;font-family:montserrat,sans-serif;color:#c8d2dce6}.about-container .close{position:absolute;top:.5rem;right:.75rem;font-size:1.8rem;font-weight:200;cursor:pointer;pointer-events:initial;transform:rotate(45deg);padding:0;margin:0;box-sizing:border-box;opacity:.7;transition:opacity .2s ease}.about-container .close:hover{opacity:1}@media(max-width:600px){.about-container h1{font-size:1.6rem}.about-container h2{font-size:1.4rem}.about-container p{font-size:1.2rem}}@media(max-width:450px){.about-container h1{font-size:1.4rem}.about-container h2{font-size:1.2rem}.about-container p{font-size:1rem}}@media(max-width:625px)and (max-height:900px){#about{justify-content:flex-start;margin-top:1rem}.about-container h1{font-size:1.4rem}.about-container h2{font-size:1.2rem}.about-container p{font-size:1rem}}@media(max-width:500px)and (max-height:900px){.about-container h1{font-size:1.2rem}.about-container h2{font-size:1rem}.about-container p{font-size:.9rem}}@media(max-width:390px)and (max-height:900px){.about-container h1{font-size:1.2rem}.about-container h2{font-size:1rem}.about-container p{font-size:.85rem}}@media(max-width:340px)and (max-height:900px){.about-container h1{font-size:1.1rem}.about-container h2{font-size:.95rem}.about-container p{font-size:.85rem}}.circle-container{position:absolute;cursor:pointer;pointer-events:initial;--point-color: white;transform-origin:center center;left:0;top:0;display:block;--width: 12px;--height: 12px;--ring-offset: 10px}.circle-container.visited{--point-color: var(--accent)}body:not([data-section=home]) .circle-container,.circle-container.current,.circle-container.occluded,.circle-container.too-far{display:none}.circle{position:relative;width:var(--width);height:var(--height);background-color:var(--point-color);border-radius:50%}.ring{position:absolute;top:50%;left:50%;width:calc(var(--width) + var(--ring-offset));height:calc(var(--height) + var(--ring-offset));border:2px solid var(--point-color);border-radius:50%;transform:translate(-50%,-50%);opacity:1}.circle-container:hover .ring,.circle-container.animated .ring{animation:wave-effect 1.2s ease-out infinite}@keyframes wave-effect{0%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:0}51%{transform:translate(-50%,-50%) scale(.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.viewpoints-progress{display:none}.crystal-progress{position:relative;max-width:80px;font-size:.7rem;flex-grow:0;box-sizing:border-box;padding:.5rem .75rem .5rem 1.8rem;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.5rem;transition:transform .2s ease,box-shadow .3s ease,width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1),padding .5s cubic-bezier(.4,0,.2,1),border-radius .5s cubic-bezier(.4,0,.2,1),background .3s ease,border-color .3s ease}.crystal-progress .crystal-icon{position:absolute;top:50%;left:.55rem;width:12px;height:16px;transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath d='M12 2L4 12L12 30L20 12L12 2Z' fill='%237b5cff' opacity='0.4'/%3E%3Cpath d='M12 2L4 12L12 18L20 12L12 2Z' fill='%239b7bff' opacity='0.7'/%3E%3Cpath d='M12 2L12 18L4 12L12 2Z' fill='%23a88bff'/%3E%3Cpath d='M12 2L20 12L12 18V2Z' fill='%23c4b0ff'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(0 0 3px rgba(155,123,255,.6));transition:opacity .2s ease}.crystal-progress>span{transition:opacity .2s ease}.crystal-progress.content-hidden .crystal-icon,.crystal-progress.content-hidden>span{opacity:0}.crystal-progress.all-collected{cursor:pointer;pointer-events:initial;animation:crystal-glow 2s ease-in-out infinite}.crystal-progress.all-collected:hover{transform:scale(1.05)}.crystal-progress.all-collected.active{animation:none;box-shadow:0 0 12px #00ffe1cc;border-color:#00ffe199}.crystal-progress.all-collected.active .crystal-icon{filter:drop-shadow(0 0 6px rgba(0,255,225,1))}.crystal-progress.all-collected .crystal-icon{animation:crystal-pulse 1.5s ease-in-out infinite}@keyframes crystal-glow{0%,to{box-shadow:0 0 8px #9b7bff4d}50%{box-shadow:0 0 16px #9b7bff99}}@keyframes crystal-pulse{0%,to{filter:drop-shadow(0 0 3px rgba(155,123,255,.6))}50%{filter:drop-shadow(0 0 8px rgba(155,123,255,1))}}.crystal-progress.collecting{z-index:10000;animation:crystal-fly var(--fly-duration, 3s) cubic-bezier(.22,1,.36,1) forwards}.crystal-progress.celebrating{z-index:10000;transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5);animation:crystal-celebrate .6s ease-out forwards}.crystal-progress.celebrating .crystal-icon{animation:crystal-icon-burst .6s ease-out}.crystal-progress.returning{z-index:10000;animation:crystal-return var(--return-duration, .7s) cubic-bezier(.22,1,.36,1) forwards}@keyframes crystal-fly{0%{transform:translate(0) scale(1)}to{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5)}}@keyframes crystal-celebrate{0%{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5);box-shadow:0 0 #9b7bffcc}30%{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.7);box-shadow:0 0 30px 10px #9b7bff99}to{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5);box-shadow:0 0 20px 5px #9b7bff66}}@keyframes crystal-icon-burst{0%{filter:drop-shadow(0 0 3px rgba(155,123,255,.6));transform:translateY(-50%) scale(1)}30%{filter:drop-shadow(0 0 15px rgba(255,255,255,1)) brightness(1.5);transform:translateY(-50%) scale(1.3)}to{filter:drop-shadow(0 0 8px rgba(155,123,255,.8));transform:translateY(-50%) scale(1)}}@keyframes crystal-return{0%{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5)}to{transform:translate(0) scale(1)}}.crystal-progress.switch-mode.returning{animation:switch-return var(--return-duration, .7s) cubic-bezier(.22,1,.36,1) forwards}@keyframes switch-return{0%{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5)}to{transform:translate(0) scale(1)}}.crystal-progress.unlock-ready,.crystal-progress.unlock-ready:hover{z-index:10000;transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5);cursor:pointer;animation:unlock-pulse 1.5s ease-in-out infinite}@keyframes unlock-pulse{0%,to{box-shadow:0 0 20px 5px #9b7bff80}50%{box-shadow:0 0 35px 12px #9b7bffcc}}.crystal-progress .unlock-text{position:absolute;top:calc(100% + 1rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;white-space:nowrap;opacity:0;transition:opacity .4s ease-out;pointer-events:none}.crystal-progress .unlock-text.visible{opacity:1}.crystal-progress .unlock-text .unlock-label{font-size:1rem;font-weight:700;color:#fff;text-shadow:0 0 10px rgba(155,123,255,.8),0 0 20px rgba(155,123,255,.5);letter-spacing:.15em;animation:unlock-text-glow 2s ease-in-out infinite}.crystal-progress .unlock-text .unlock-hint{font-size:.7rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.1em}@keyframes unlock-text-glow{0%,to{text-shadow:0 0 10px rgba(155,123,255,.8),0 0 20px rgba(155,123,255,.5)}50%{text-shadow:0 0 15px rgba(200,170,255,1),0 0 30px rgba(155,123,255,.8)}}.crystal-progress.active{border-color:#00ffe199;box-shadow:0 0 12px #00ffe180}.crystal-progress.active .crystal-icon{filter:drop-shadow(0 0 6px rgba(0,255,225,1)) hue-rotate(120deg) saturate(1.5)}.crystal-progress.flipping{animation:morph-spin .5s ease-in-out forwards!important}@keyframes morph-spin{0%{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5) perspective(2000px) rotateY(0)}50%{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5) perspective(2000px) rotateY(60deg)}to{transform:translate(var(--fly-translate-x),var(--fly-translate-y)) scale(1.5)}}.crystal-progress.switch-mode{--switch-height: 32px;--switch-width: 58px;width:var(--switch-width);height:var(--switch-height);padding:0;border-radius:calc(var(--switch-height) / 2);background:var(--dark-bg);border:1px solid var(--dark-border);transition:width .4s ease,height .4s ease,padding .4s ease,border-radius .4s ease,background .4s ease,box-shadow .4s ease,border-color .4s ease}.crystal-progress.switch-mode:hover{background:var(--dark-bg-lighter);border-color:#ffffff26}.crystal-progress.switch-mode.active{border-color:#00ffe14d;box-shadow:0 0 12px #00ffe133}.crystal-progress.switch-mode .crystal-icon,.crystal-progress.switch-mode>span{opacity:0;pointer-events:none}.crystal-progress.switch-mode .switch-handle{position:absolute;width:calc(var(--switch-height) - 6px);height:calc(var(--switch-height) - 6px);background:var(--dark-bg-lighter);border:1px solid rgba(155,123,255,.4);border-radius:50%;top:2px;left:2px;transform:translate(0);transition:transform .4s cubic-bezier(.4,0,.2,1),background .4s ease,border-color .4s ease,box-shadow .4s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #9b7bff4d}.crystal-progress.switch-mode.active .switch-handle{transform:translate(calc(var(--switch-width) - var(--switch-height)));border-color:#00ffe199;box-shadow:0 0 12px #00ffe180}.crystal-progress.switch-mode .switch-crystal-icon{width:12px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath d='M12 2L4 12L12 30L20 12L12 2Z' fill='%239b7bff' opacity='0.4'/%3E%3Cpath d='M12 2L4 12L12 18L20 12L12 2Z' fill='%239b7bff' opacity='0.7'/%3E%3Cpath d='M12 2L12 18L4 12L12 2Z' fill='%23b89fff'/%3E%3Cpath d='M12 2L20 12L12 18V2Z' fill='%23c4b0ff' opacity='0.8'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;opacity:1;filter:drop-shadow(0 0 4px rgba(155,123,255,.6));transition:opacity .3s ease,transform .3s ease}.crystal-progress.switch-mode.active .switch-crystal-icon{opacity:0;transform:scale(.5) rotate(180deg)}.crystal-progress.switch-mode .switch-spirit-icon{position:absolute;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5z' fill='none' stroke='%2300ffe1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='3.5' fill='%2300ffe1'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;opacity:0;filter:drop-shadow(0 0 4px rgba(0,255,225,.8));transition:opacity .3s ease,transform .3s ease;transform:scale(.5)}.crystal-progress.switch-mode.active .switch-spirit-icon{opacity:1;transform:scale(1)}.tour-button{width:50px;height:40px;margin:0;padding:.1rem;display:flex;align-items:center;justify-content:center;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.5rem;cursor:pointer;transition:transform .15s ease}.tour-button svg{width:35px;height:35px;color:#fff;transition:color .2s ease}.tour-button:hover{background:var(--dark-bg-lighter);border-color:#ffffff26}.tour-button:active{transform:scale(.95)}.tour-button.active svg{color:var(--accent)}.ui-stack{position:fixed;bottom:1rem;right:1rem;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:.3rem;pointer-events:none;z-index:100}.ui-stack>*{pointer-events:auto}.ui-stack>[hidden],.ui-stack>.hidden{display:none!important}[data-slot=daynight]{order:1}[data-slot=sound]{order:2}[data-slot=crystal]{order:3}[data-slot=tour]{order:4}[data-slot=weather]{order:5}[data-slot=settings]{order:6}@media(max-width:575px),(max-height:530px){body[data-section=contact] .ui-stack,body[data-section=about] .ui-stack{right:1rem;left:1rem;bottom:1rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center}body[data-section=contact] [data-slot=sound],body[data-section=about] [data-slot=sound]{order:1}body[data-section=contact] [data-slot=crystal],body[data-section=about] [data-slot=crystal]{order:2}body[data-section=contact] [data-slot=daynight],body[data-section=about] [data-slot=daynight]{order:3}body[data-section=contact] [data-slot=tour],body[data-section=contact] [data-slot=weather],body[data-section=contact] [data-slot=settings],body[data-section=about] [data-slot=tour],body[data-section=about] [data-slot=weather],body[data-section=about] [data-slot=settings]{display:none}body[data-section=contact] .ui-stack .switch,body[data-section=about] .ui-stack .switch{--height: 30px;--width: 55px}body[data-section=contact] .ui-stack .sound-icon,body[data-section=about] .ui-stack .sound-icon{padding:.4rem .8rem}body[data-section=contact] .ui-stack .crystal-progress,body[data-section=about] .ui-stack .crystal-progress{margin:0;padding:.4rem .6rem .4rem 1.5rem;font-size:.65rem}body[data-section=contact] .ui-stack .crystal-progress .crystal-icon,body[data-section=about] .ui-stack .crystal-progress .crystal-icon{width:10px;height:14px;left:.45rem}}.sound-icon{font-size:16px;display:flex;justify-content:center;gap:.1875rem;align-items:flex-end;width:2rem;height:1rem;padding:.5rem 1rem;cursor:pointer;pointer-events:initial;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.5rem;transition:background .2s ease,border-color .2s ease}.sound-icon:hover{background:var(--dark-bg-lighter);border-color:#ffffff26}.sound-icon span{display:block;width:.4rem;background:#fff;height:2rem;border-radius:.1rem;animation:none}.sound-icon span:nth-child(2){height:.4375rem}.sound-icon span:nth-child(3){height:.8125rem}.sound-icon[data-sound=off] span{height:.25rem}.sound-icon[data-sound=on] span:nth-child(1){animation:pulse1 1.5s infinite steps(10)}.sound-icon[data-sound=on] span:nth-child(2){animation:pulse2 1.5s infinite steps(10)}.sound-icon[data-sound=on] span:nth-child(3){animation:pulse3 1.5s infinite steps(10)}@keyframes pulse1{0%,to{height:.8125rem}10%{height:.75rem}20%{height:.375rem}30%{height:.625rem}40%{height:.5rem}50%{height:.875rem}60%{height:.375rem}70%{height:.75rem}80%{height:.5rem}90%{height:.875rem}}@keyframes pulse2{0%,to{height:.5rem}10%{height:1rem}20%{height:.625rem}30%{height:.875rem}40%{height:.5rem}50%{height:1.125rem}60%{height:.75rem}70%{height:1rem}80%{height:.5rem}90%{height:.875rem}}@keyframes pulse3{0%,to{height:.4375rem}10%{height:.5rem}20%{height:.625rem}30%{height:.5625rem}40%{height:.875rem}50%{height:.75rem}60%{height:.5rem}70%{height:.8125rem}80%{height:.375rem}90%{height:.625rem}}.switch{--height: 35px;--width: 65px;position:relative;width:var(--width);height:var(--height);background:#e6e6e6;border-radius:30px;cursor:pointer;transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000001a;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch:hover{transform:scale(1.05)}.switch.active{background:#1e3a8a;box-shadow:0 8px 32px #1e3a8a4d}.switch-handle{width:calc(var(--height) - 4px);height:calc(var(--height) - 4px);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0003}.switch.active .switch-handle{transform:translate(calc(-2px + var(--width) / 2))}.sun-icon{width:calc(var(--height) - 4px);height:calc(var(--height) - 4px);opacity:1;transition:all .3s ease}.switch.active .sun-icon{opacity:0;transform:rotate(180deg) scale(.5)}.moon-icon{width:calc(var(--height) - 4px);height:calc(var(--height) - 4px);position:absolute;opacity:0;transition:all .3s ease}.switch.active .moon-icon{opacity:1;transform:rotate(0) scale(1)}.stars{position:absolute;width:100%;height:100%;opacity:0;transition:opacity .4s ease}.switch.active .stars{opacity:1}.star{position:absolute;width:calc(var(--height) * .08);height:calc(var(--height) * .08);background:#fff;border-radius:50%;animation:twinkle 2s infinite}.star:nth-child(1){top:calc(var(--height) * .3);left:calc(var(--width) * .15);animation-delay:0s}.star:nth-child(2){top:calc(var(--height) * .6);left:calc(var(--width) * .3);animation-delay:.5s}.star:nth-child(3){top:calc(var(--height) * .2);left:calc(var(--width) * .7);animation-delay:1s}.star:nth-child(4){top:calc(var(--height) * .7);left:calc(var(--width) * .75);animation-delay:.3s}.star:nth-child(5){top:calc(var(--height) * .45);left:calc(var(--width) * .85);animation-delay:.8s}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.clouds{position:absolute;width:100%;height:100%;opacity:1;transition:opacity .4s ease;pointer-events:none}.switch.active .clouds{opacity:0}.cloud{position:absolute;background:#fff9;border-radius:calc(var(--height) * .6)}.cloud:nth-child(1){width:calc(var(--width) * .3);height:calc(var(--height) * .25);top:calc(var(--height) * .25);left:calc(var(--width) * .6);animation:float 3s ease-in-out infinite}.cloud:nth-child(2){width:calc(var(--width) * .2);height:calc(var(--height) * .18);top:calc(var(--height) * .65);left:calc(var(--width) * .7);animation:float 4s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(calc(var(--width) * .08)) translateY(calc(var(--height) * -.06))}}.loading{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;opacity:1;transition:opacity 1s ease,background .8s ease;background:#191c2d;color:var(--text-primary)}.loading.loaded{opacity:0;pointer-events:none}.loading .circle-container{position:relative;--width: 80px;--height: 80px;--ring-offset: 24px;--point-color: rgba(0, 255, 225, .4);font-size:.75rem;cursor:initial;background:#1e2235;border:1px solid var(--dark-border);border-radius:50%;padding:1.5rem;transition:border-color .4s ease,box-shadow .4s ease}.loading.ready{background:transparent}.loading.ready .circle-container{border-color:#00ffe14d;box-shadow:0 0 30px #00ffe126}.loading .circle-container:has(button.show){cursor:pointer}.loading .circle{display:flex;align-items:center;justify-content:center;background:transparent}.loading .circle span{opacity:1;transition:opacity .3s ease}.loading .circle span.hidden{opacity:0}.loading button{position:absolute;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:.5rem 1.25rem;color:var(--text-primary);font-family:Orbitron,sans-serif;text-transform:uppercase;font-weight:900;font-size:.85rem;opacity:0;transition:opacity .3s ease,color .2s ease;pointer-events:none;cursor:initial}.loading button.show{opacity:1;cursor:pointer;pointer-events:initial}.loading .circle-container:hover button{color:var(--accent)}.progress-percentage{text-align:center;font-size:1.2rem;font-weight:700}.loading-text{position:absolute;top:calc(50% + 6rem);left:50%;transform:translate(-50%,-50%);font-size:.7rem;text-align:center;z-index:10;opacity:.6;transition:opacity .5s ease;letter-spacing:.15em}.loading.ready .loading-text{opacity:0}.tp-dfwv{font-family:monospace;letter-spacing:initial;text-transform:initial}.update{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:1.5rem;max-height:90dvh;box-sizing:border-box;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:.75rem;pointer-events:initial;display:flex;flex-direction:column;width:90%;max-width:400px}.update h1{word-break:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:1.2rem;margin-bottom:1rem;margin-top:0}.update .text{overflow:auto;padding-right:.5rem;flex:1}.update p{text-align:justify;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;text-transform:none;font-weight:200;font-family:Montserrat,sans-serif}.update button{display:block;margin:1rem auto 0;font-size:.9em;text-transform:uppercase}.fwa-otd{display:flex;align-items:center;justify-content:flex-start;font-size:.7em;font-weight:200;text-transform:initial;margin-left:-.5rem;margin-bottom:-.5rem}.fwa-otd img{width:6rem}.fwa-otd span{display:block;margin-top:-.75rem}.fwa-otd span a{font-weight:800}.hidden,.hide{display:none}@media(max-width:450px){nav{font-size:.5rem;margin-bottom:1.5rem}.author{font-size:.6em}}body.lab-mode #root,body.lab-mode .loading,body.lab-mode .update{display:none!important}.settings-icon{width:50px;height:2rem;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:.4rem;box-sizing:border-box;transition:transform .3s ease,opacity .3s ease}.settings-icon.hidden{display:none}.settings-icon.active{opacity:.5}.settings-icon svg{width:100%;height:100%;stroke:#fff;fill:none}.settings-overlay{position:fixed;inset:0;background:#000000b3;z-index:999;opacity:0;pointer-events:none;transition:opacity .25s ease}.settings-overlay.visible{opacity:1;pointer-events:auto}.settings-panel{position:fixed;top:50%;left:150%;transform:translate(-50%,-50%) scale(.95);width:min(400px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);background:linear-gradient(145deg,#141923fa,#0a0f16fa);border:1px solid rgba(255,255,255,.08);border-radius:1rem;box-shadow:0 0 0 1px #ffffff08,0 20px 50px #00000080,0 0 100px #6478b414;z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease,left 0s ease .25s;display:flex;flex-direction:column;overflow:hidden;text-transform:none;font-size:13px;letter-spacing:normal}.settings-panel.visible{left:50%;opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition:opacity .25s ease,transform .25s ease,left 0s ease 0s}.settings-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.settings-panel-header h2{margin:0;font-size:.85rem;font-weight:500;color:#ffffffe6;text-transform:none;letter-spacing:.02em}.settings-close-btn{width:1.75rem;height:1.75rem;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:.4rem;cursor:pointer;color:#fff;opacity:.6;transition:opacity .2s ease,background .2s ease}.settings-close-btn:hover{opacity:1;background:#ffffff1a}.settings-close-btn svg{width:.9rem;height:.9rem;stroke:#fff}.settings-tabs{display:flex;position:relative;padding:2px;background:#ffffff0f;border-radius:.375rem;border:1px solid rgba(255,255,255,.04);margin:.5rem}.settings-tabs:before{content:"";position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background:#ffffff1a;border-radius:.25rem;box-shadow:0 1px 2px #00000026;transition:transform .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.settings-tabs[data-active=achievements]:before{transform:translate(100%)}.settings-tab{flex:1;position:relative;z-index:1;padding:.3rem .5rem;margin:.4rem .2rem;background:transparent;border:none;border-radius:.25rem;color:#ffffff73;font-size:.65rem;font-weight:500;cursor:pointer;transition:color .2s ease;text-transform:none;font-family:inherit}.settings-tab:hover{color:#ffffffb3;background-color:initial}.settings-tab.active{color:#fff}.settings-content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:.75rem;max-height:min(60dvh,400px)}@media(max-height:600px){.settings-content{max-height:calc(100dvh - 7rem)}}.settings-tab-content{display:none;flex-direction:column;height:100%;min-height:0;overflow-x:hidden}.settings-tab-content.active{display:flex}.settings-section{margin-bottom:1.25rem}.settings-section:last-child{margin-bottom:0}.settings-section-title{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;margin-bottom:.625rem;padding-left:.125rem}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:.75rem}.settings-row-label{font-size:.75rem;color:#ffffffd9}.settings-row-value{font-size:.7rem;color:#ffffff80;background:#ffffff0d;padding:.25rem .5rem;border-radius:.25rem}.volume-control{display:flex;align-items:center;gap:.625rem;flex:1;max-width:160px}.volume-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;background:#ffffff26;border-radius:2px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;-webkit-transition:transform .1s ease;transition:transform .1s ease;box-shadow:0 1px 4px #0000004d}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.volume-slider::-moz-range-thumb{width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;border:none}.volume-value{min-width:2rem;text-align:right;font-size:.7rem;color:#ffffff80}.mute-toggle{width:36px;height:20px;background:#ffffff26;border-radius:10px;position:relative;cursor:pointer;transition:background .2s ease}.mute-toggle.active{background:#78b4ff66}.mute-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.mute-toggle.active:after{transform:translate(16px)}.achievements-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.achievements-progress{font-size:.7rem;color:#ffffff80}.achievements-grid{display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.25rem}.achievements-grid::-webkit-scrollbar{width:4px}.achievements-grid::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.achievements-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.achievements-grid::-webkit-scrollbar-thumb:hover{background:#ffffff40}.achievement-card{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#ffffff08;border-radius:.5rem;border:1px solid rgba(255,255,255,.04);transition:border-color .2s ease,background .2s ease}.achievement-card.unlocked{background:#ffffff0d;border-color:#ffffff14}.achievement-card.locked{opacity:.45}.achievement-icon{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:.35rem;flex-shrink:0}.achievement-icon svg{width:1rem;height:1rem;stroke:#fffc;fill:none}.achievement-card.locked .achievement-icon svg{stroke:#fff6}.achievement-info{flex:1;min-width:0}.achievement-name{font-size:.72rem;color:#ffffffe6;margin-bottom:.1rem}.achievement-description{font-size:.6rem;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.achievement-tiers{display:flex;gap:2px;margin-top:.3rem}.achievement-tier{flex:1;height:2px;background:#ffffff1f;border-radius:1px}.achievement-tier.unlocked{background:#b4c8ff99}.achievements-reset{flex-shrink:0;margin:0;margin-top:.75rem;padding:.5rem .75rem;width:100%;background:#ff50501a;border:1px solid rgba(255,80,80,.2);border-radius:.375rem;color:#ff7878cc;font-size:.65rem;cursor:pointer;transition:background .2s ease,border-color .2s ease;text-transform:none;font-family:inherit}.achievements-reset:hover{background:#ff505026;border-color:#ff50504d;color:#ff8c8ce6}.achievements-reset-container{flex-shrink:0;position:relative;margin-top:.75rem}.achievements-reset-container .achievements-reset{margin-top:0}.achievements-reset-confirm{display:none;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:#ff50501a;border:1px solid rgba(255,80,80,.2);border-radius:.375rem}.achievements-reset-confirm span{flex:1;font-size:.65rem;color:#ff7878cc}.achievements-reset-confirm .reset-buttons{display:flex;gap:1rem}.achievements-reset-confirm button{padding:.35rem .6rem;border-radius:.25rem;font-size:.6rem;font-family:inherit;cursor:pointer;transition:background .15s ease}.achievements-reset-confirm .reset-cancel{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#ffffffb3;margin:0}.achievements-reset-confirm .reset-cancel:hover{background:#ffffff26}.achievements-reset-confirm .reset-confirm{background:#ff50504d;border:1px solid rgba(255,80,80,.4);color:#ffa0a0e6;margin:0}.achievements-reset-confirm .reset-confirm:hover{background:#ff505066}.achievements-reset-container.confirming .achievements-reset{display:none}.achievements-reset-container.confirming .achievements-reset-confirm{display:flex}@media(max-width:480px){.settings-panel{width:calc(100vw - 1rem);border-radius:.75rem}.settings-content{padding:.5rem}.achievement-card{padding:.4rem}}@media(max-width:768px){.settings-icon{bottom:21.5rem;right:.75rem;width:43.79px}}@media(max-height:500px){.settings-panel{max-height:calc(100dvh - 1rem);border-radius:.75rem}}@media(max-width:575px)or (max-height:530px){body[data-section=contact] .settings-icon{display:none}}@media(max-width:680px)or (max-height:530px){body[data-section=about] .settings-icon{display:none}}
