.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{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ffffffe6;border:2px solid #1a1a1a;border-radius:12px;cursor:url(/cursors/cursor-pointer.png),pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:2px 2px #1a1a1a}.nav-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #1a1a1a}.nav-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #1a1a1a}.nav-btn svg{width:24px;height:24px;fill:none;stroke:#1a1a1a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.back-btn{position:fixed;top:24px;left:24px;animation:fadeSlideIn .3s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.nav-controls{position:fixed;top:24px;right:24px;display:flex;gap:12px}.hamburger-btn .hamburger-icon{display:flex;flex-direction:column;gap:5px;width:22px}.hamburger-btn .hamburger-icon span{display:block;height:2px;width:100%;background:#1a1a1a;border-radius:2px;transition:transform .3s ease,opacity .2s ease}.hamburger-btn.open .hamburger-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.open .hamburger-icon span:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hamburger-btn:hover .hamburger-icon span{animation:wiggle .3s ease}@keyframes wiggle{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.audio-btn:hover{animation:bounce .4s ease}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.map-panel{position:fixed;top:84px;right:24px;width:300px;max-width:calc(100vw - 48px);background:#fffffff2;border:2px solid #1a1a1a;border-radius:16px;box-shadow:4px 4px #1a1a1a;padding:20px;opacity:0;visibility:hidden;transform:scale(.95) translateY(-10px);transform-origin:top right;transition:opacity .2s ease,transform .2s ease,visibility .2s}.map-panel.open{opacity:1;visibility:visible;transform:scale(1) translateY(0)}.map-panel .map-header{margin-bottom:16px;padding-bottom:12px;border-bottom:2px dashed #ccc}.map-panel .map-header h3{margin:0;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#1a1a1a;font-family:Patrick Hand,cursive,sans-serif}.map-panel .map-container{position:relative;width:100%;height:180px;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#e0e0e0 19px,#e0e0e0 20px);border:1px solid #ddd;border-radius:8px}.map-panel .map-connections{position:absolute;inset:0;width:100%;height:100%}.map-panel .map-connections path{fill:none;stroke:#999;stroke-width:1;stroke-dasharray:4 2}.map-panel .map-room{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:url(/cursors/cursor-pointer.png),pointer;padding:8px;transition:transform .2s ease}.map-panel .map-room:hover{transform:translate(-50%,-50%) scale(1.1)}.map-panel .map-room:hover .room-dot{box-shadow:0 0 0 4px #1a1a1a33}.map-panel .map-room .room-dot{width:16px;height:16px;background:#fff;border:2px solid #1a1a1a;border-radius:50%;transition:box-shadow .2s ease,background .2s ease}.map-panel .map-room .room-label{font-size:11px;font-weight:600;color:#1a1a1a;white-space:nowrap}.map-panel .map-room.current .room-dot{background:#1a1a1a;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #1a1a1a66}50%{box-shadow:0 0 0 8px #1a1a1a00}}.map-panel .map-legend{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed #ccc;font-size:11px;color:#666}.map-panel .map-legend .legend-dot{width:10px;height:10px;background:#1a1a1a;border-radius:50%}.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:44px;height:44px}.back-btn{top:16px;left:16px}.nav-controls{top:16px;right:16px;gap:8px}.map-panel{top:72px;right:16px;left:16px;width:auto;max-width:none}.map-panel .map-container{height:200px}.entrance-hint,.corridor-hint{gap:8px;bottom:24px;padding:12px 20px;font-size:13px}}@media(max-width:480px){.map-panel .map-room .room-label{font-size:10px}}*,*: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}
