.preloader{position:fixed;inset:0;width:100%;height:100%;z-index:100;pointer-events:auto;cursor:url(/cursors/cursor-default.png),auto}.preloader__half{position:absolute;top:0;bottom:0;width:100%;height:100%;background-color:#fff;background-image:url(/textures/paper-texture.webp);background-size:cover;background-position:center;will-change:transform;filter:drop-shadow(0 0 10px rgba(0,0,0,.1))}.navigation-ui{position:fixed;inset:0;pointer-events:none;z-index:100}.navigation-ui button,.navigation-ui .map-panel,.navigation-ui .menu-overlay{pointer-events:auto}.nav-btn{position:relative;display:flex;align-items:center;justify-content:center;width:50px;height:55px;padding-top:8px;background:transparent;border:none;cursor:url(/cursors/cursor-pointer.png),pointer;transition:transform .2s ease;overflow:visible}.nav-btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url(/textures/paper-texture.webp) center center;background-size:cover;z-index:-1;clip-path:polygon(0% 0%,100% 0%,100% 0%,98% 10%,100% 20%,97% 35%,100% 50%,98% 65%,100% 80%,97% 90%,100% 100%,90% 97%,80% 100%,70% 96%,60% 100%,50% 97%,40% 100%,30% 96%,20% 100%,10% 97%,0% 100%,0% 100%,2% 90%,0% 80%,3% 65%,0% 50%,2% 35%,0% 20%,3% 10%,0% 0%)}.nav-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 55' preserveAspectRatio='none'%3E%3Cpath d='M0 0 L50 0 L49 5.5 L50 11 L48.5 19 L50 27.5 L49 36 L50 44 L48.5 49.5 L50 55 L45 54 L40 55 L35 53 L30 55 L25 54 L20 55 L15 53 L10 55 L5 54 L0 55 L1 49.5 L0 44 L1.5 36 L0 27.5 L1 19 L0 11 L1.5 5.5 L0 0 Z' fill='none' stroke='%231a1a1a' stroke-width='1.5'/%3E%3C/svg%3E");background-size:100% 100%}.nav-btn{box-shadow:0 3px 10px #0000001a}.nav-btn:hover{transform:translateY(-2px)}.nav-btn:active{transform:translateY(1px)}.nav-btn svg{width:22px;height:22px;fill:none;stroke:#1a1a1a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;z-index:1}.back-btn{position:fixed;top:0;left:24px;animation:fadeSlideDown .3s ease-out;transition:transform .3s ease,opacity .3s ease}.back-btn.exiting{transform:translateY(-100%);opacity:0;pointer-events:none}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.nav-controls{position:fixed;top:0;right:24px;display:flex;gap:12px;transition:transform .3s ease,opacity .3s ease;animation:slideDownEntrance .4s ease-out}@keyframes slideDownEntrance{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.nav-controls.menu-open{transform:translateY(-100%);opacity:0;pointer-events:none}.hamburger-btn .hamburger-icon{display:flex;flex-direction:column;gap:5px;width:20px}.hamburger-btn .hamburger-icon span{display:block;height:2px;width:100%;background:#1a1a1a;border-radius:2px}.map-panel{position:fixed;top:0;left:50%;transform:translate(-50%) translateY(-100%);width:90%;max-width:500px;padding:20px 20px 30px;z-index:200;background:#fff}.map-panel:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:url(/textures/paper-texture.webp) center center;background-size:cover;transform:rotate(90deg);z-index:-1}.map-panel{border:none;border-radius:0;box-shadow:0 4px 20px #00000026,0 12px 50px #0000001a;clip-path:polygon(0% 0%,100% 0%,100% 0%,99% 3%,100% 6%,98% 10%,100% 14%,99% 18%,100% 22%,98% 26%,100% 30%,99% 35%,100% 40%,98% 45%,100% 50%,99% 55%,100% 60%,98% 65%,100% 70%,99% 75%,100% 80%,98% 85%,100% 90%,99% 95%,100% 100%,96% 99%,92% 100%,88% 98%,84% 100%,80% 99%,76% 100%,72% 98%,68% 100%,64% 99%,60% 100%,56% 98%,52% 100%,48% 99%,44% 100%,40% 98%,36% 100%,32% 99%,28% 100%,24% 98%,20% 100%,16% 99%,12% 100%,8% 98%,4% 100%,0% 99%,0% 100%,1% 95%,0% 90%,2% 85%,0% 80%,1% 75%,0% 70%,2% 65%,0% 60%,1% 55%,0% 50%,2% 45%,0% 40%,1% 35%,0% 30%,2% 26%,0% 22%,1% 18%,0% 14%,2% 10%,0% 6%,1% 3%,0% 0%);opacity:0;visibility:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease,visibility .3s}.map-panel.open{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.map-panel .map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px dashed #ccc}.map-panel .map-header h3{margin:0;font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#1a1a1a;font-family:Patrick Hand,cursive,sans-serif}.map-panel .map-header .close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;cursor:url(/cursors/cursor-pointer.png),pointer;transition:transform .2s ease,opacity .2s ease;opacity:.6}.map-panel .map-header .close-btn svg{width:18px;height:18px;fill:none;stroke:#1a1a1a;stroke-width:2.5;stroke-linecap:round}.map-panel .map-header .close-btn:hover{opacity:1;transform:scale(1.1)}.map-panel .map-header .close-btn:active{transform:scale(.95)}.map-panel .map-container{position:relative;width:100%;border-radius:8px;overflow:hidden}.map-panel .map-image{display:block;width:100%;height:auto;pointer-events:none}.map-panel .pin-slot{position:absolute;transform:translate(-50%,-50%);width:35px;height:35px;padding:0;background:none;border:none;cursor:url(/cursors/cursor-pointer.png),pointer;transition:transform .2s ease;z-index:2}.map-panel .pin-slot .slot-image{width:100%;height:100%;object-fit:contain}.map-panel .pin-slot:hover{transform:translate(-50%,-50%) scale(1.15)}.map-panel .pin-slot.active{filter:drop-shadow(0 0 4px rgba(200,50,50,.5))}.map-panel .pin-marker{position:absolute;transform:translate(-50%,-90%);width:20px;height:auto;z-index:3;pointer-events:none;transition:left .4s ease,top .4s ease}.map-panel .pin-marker .pin-image{width:100%;height:auto;filter:drop-shadow(2px 2px 2px rgba(0,0,0,.3))}.menu-overlay{position:fixed;inset:0;background:transparent;z-index:-1}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.entrance-hint{position:fixed;bottom:32px;left:50%;transform:translate(-50%);display:flex;gap:24px;padding:16px 24px;background:#ffffffe6;border:2px solid #1a1a1a;border-radius:12px;box-shadow:3px 3px #1a1a1a;font-size:14px;color:#1a1a1a;pointer-events:auto;animation:hintFadeIn .5s ease-out}.entrance-hint span{display:flex;align-items:center;gap:8px}.corridor-hint{position:fixed;bottom:32px;left:50%;transform:translate(-50%);display:flex;gap:24px;padding:16px 24px;background:#ffffffe6;border:2px solid #1a1a1a;border-radius:12px;box-shadow:3px 3px #1a1a1a;font-size:14px;color:#1a1a1a;pointer-events:auto;animation:corridorHintFadeIn .5s ease-out,corridorHintFadeOut .5s ease-out 3.5s forwards}.corridor-hint span{display:flex;align-items:center;gap:8px}@keyframes corridorHintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes corridorHintFadeOut{to{opacity:0;transform:translate(-50%) translateY(10px)}}@media(max-width:768px){.nav-btn{width:45px;height:50px}.back-btn{left:16px}.nav-controls{right:16px;gap:8px}.map-panel{width:95%;max-width:none;padding:16px}.map-panel .map-header h3{font-size:14px}.map-panel .close-btn{width:28px;height:28px}.entrance-hint,.corridor-hint{gap:8px;bottom:24px;padding:12px 20px;font-size:13px}}@media(max-width:480px){.map-panel{width:100%;border-radius:0 0 16px 16px;padding:12px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}@media(max-width:767px){html{font-size:14px}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#fafafa;color:#0a0a0a;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-ms-overflow-style:none;scrollbar-width:none}body::-webkit-scrollbar{display:none}.app{width:100%;height:100vh;height:100dvh;position:relative;overflow:hidden}.canvas-wrapper{position:absolute;inset:0;z-index:1}.ui-overlay{position:fixed;inset:0;pointer-events:none;z-index:50}.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:fadeIn 1s ease .5s both}.scroll-hint__text{font-family:Caveat,cursive;font-size:1rem;color:#666}.scroll-hint__arrow{font-size:1.5rem;color:#0a0a0a;animation:bounce 2s ease infinite}.instructions{position:absolute;bottom:1rem;right:1rem}.instructions p{font-family:Caveat,cursive;font-size:.9rem;color:#888;background:#ffffffe6;padding:.5rem 1rem;border-radius:20px;border:1px solid #eee}@media(max-width:767px){.instructions{bottom:auto;top:1rem;right:1rem}.instructions p{font-size:.75rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.ui-overlay,.scroll-hint,.instructions{-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:url(/cursors/cursor-pointer.png),pointer;font:inherit;color:inherit}.preloader{position:fixed;inset:0;width:100%;height:100%;z-index:100;pointer-events:auto;cursor:url(/cursors/cursor-default.png),auto}.preloader__half{position:absolute;top:0;bottom:0;width:100%;height:100%;background-color:#fff;background-image:url(/textures/paper-texture.webp);background-size:cover;background-position:center;will-change:transform;filter:drop-shadow(0 0 10px rgba(0,0,0,.1))}.preloader__half--left{left:0}.preloader__half--right{right:0}.preloader__overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none}.preloader__percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Caveat,cursive;font-size:2rem;color:#0a0a0a;z-index:20;mix-blend-mode:multiply}
