*{box-sizing:border-box;margin:0;padding:0}#root,body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}#root,.app,body,html{height:100%;width:100%}.loading{align-items:center;background:#f8f9fa;display:flex;flex-direction:column;height:100vh;justify-content:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#1a237e;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading p{color:#666;font-size:1.1rem}.error{align-items:center;background:#f8f9fa;display:flex;flex-direction:column;height:100vh;justify-content:center;padding:2rem;text-align:center}.error h2{color:#d32f2f;margin-bottom:1rem}.error p{color:#555;margin-bottom:1.5rem}.error button{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-bottom:1.5rem;padding:.75rem 1.5rem}.error button:hover{background:#283593}.debug-info{background:#e3f2fd;border-radius:8px;max-width:400px;padding:1rem}.debug-info code{background:#f5f5f5;border-radius:4px;color:#1565c0;font-family:monospace;padding:2px 6px}.navigation-canvas{background:#f5f6f8;overflow:hidden;touch-action:none}.navigation-canvas,.navigation-transform-wrapper{height:100%;width:100%}.navigation-transform-content{display:inline-block}.navigation-svg{display:block;height:auto;width:auto}.navigation-hit-area{fill:rgba(0,0,0,.001);pointer-events:all}.route-line{stroke:#2563eb;stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(37,99,235,.35))}.route-line.is-focus{stroke:#f97316;stroke-width:6px;filter:drop-shadow(0 0 8px rgba(249,115,22,.45))}.fulcrum-marker{fill:#facc15;stroke:#0f172a;stroke-width:2px}.fulcrum-marker.start{fill:#22c55e;stroke:#14532d}.fulcrum-marker.end{fill:#ef4444;stroke:#7f1d1d}.fulcrum-marker.is-focus{stroke:#f97316;stroke-width:3px;filter:drop-shadow(0 0 6px rgba(249,115,22,.5))}.navigation-page{overflow:hidden;position:relative}.navigation-page,.navigation-state{background:#f5f6f8;height:100%;width:100%}.navigation-state{align-items:center;color:#1f2937;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:24px;text-align:center}.navigation-state h2{font-size:20px;margin:0}.navigation-state p{color:#4b5563;font-size:14px;margin:0}.navigation-layers{inset:0;position:absolute}.navigation-search{left:50%;position:absolute;top:16px;transform:translateX(-50%);width:min(520px,calc(100% - 32px));z-index:6}.navigation-search-input{background:#fffffff5;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 24px #0f172a1f;color:#111827;font-size:14px;outline:none;padding:12px 14px;width:100%}.navigation-search-input:focus{border-color:#2563eb;box-shadow:0 12px 28px #2563eb2e}.navigation-search-input.is-open{box-shadow:none}.navigation-search-results{background:#fffffffa;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 16px 32px #0f172a1f;margin-top:8px;max-height:min(60vh,360px);overflow:hidden;overflow-y:auto}.navigation-search-results.is-open{animation:searchFadeIn .18s ease}.navigation-search-item{align-items:center;animation:searchItemIn .18s ease;background:#0000;border:none;cursor:pointer;display:flex;gap:12px;justify-content:flex-start;padding:12px 14px;text-align:left;transition:background .15s ease,transform .15s ease;width:100%}.navigation-search-item:hover{background:#f3f4f6;transform:translateX(2px)}@keyframes searchFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes searchItemIn{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.navigation-search-name{color:#111827;font-size:14px;font-weight:600}.navigation-search-divider{color:#9ca3af;font-weight:500}.navigation-search-floor{color:#6b7280;font-size:12.5px;font-weight:600;white-space:nowrap}.navigation-search-empty{color:#6b7280;font-size:13px;padding:14px;text-align:center}.navigation-layer{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease}.navigation-layer.is-active{opacity:1;pointer-events:auto;z-index:1}.navigation-layer-placeholder{align-items:center;background:#f5f6f8;color:#1f2937;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;padding:24px;text-align:center;width:100%}.navigation-layer-placeholder h2{font-size:20px;margin:0}.navigation-layer-placeholder p{color:#4b5563;font-size:14px;margin:0}.floor-switcher{align-items:center;background:#fffffff5;border:1px solid #e5e7eb;border-radius:999px;bottom:16px;box-shadow:0 10px 24px #0f172a1f;display:flex;gap:10px;left:50%;max-width:calc(100% - 32px);padding:8px 10px;pointer-events:auto;position:absolute;transform:translateX(-50%);z-index:5}.floor-switcher-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.floor-switcher-list{-webkit-overflow-scrolling:touch;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.floor-switcher-list::-webkit-scrollbar{display:none}.floor-switcher-button{background:#f3f4f6;border:1px solid #0000;border-radius:999px;color:#1f2937;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .15s ease;white-space:nowrap}.floor-switcher-button:hover{background:#e5e7eb}.floor-switcher-button.is-active{background:#2563eb;border-color:#1d4ed8;color:#fff}.navigation-steps{background:#fffffff5;border:1px solid #e5e7eb;border-radius:16px;bottom:78px;box-shadow:0 10px 24px #0f172a1f;left:50%;overflow:hidden;position:absolute;transform:translateX(-50%);transition:transform .2s ease,box-shadow .2s ease;width:min(520px,calc(100% - 32px));z-index:5}.navigation-steps.is-open{transform:translateX(-50%) translateY(0)}.navigation-steps:not(.is-open){transform:translateX(-50%) translateY(12px)}.navigation-steps-toggle{align-items:center;background:#0000;border:none;color:#111827;cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:10px 14px;width:100%}.navigation-steps-chevron{color:#6b7280;font-size:14px}.navigation-steps-content{-webkit-overflow-scrolling:touch;border-top:1px solid #e5e7eb;max-height:0;opacity:0;overflow-y:auto;transform:translateY(-6px);transition:max-height .25s ease,opacity .2s ease,transform .2s ease}.navigation-steps.is-open .navigation-steps-content{max-height:min(40vh,280px);opacity:1;transform:translateY(0)}.navigation-steps-list{grid-gap:8px;color:#374151;display:grid;font-size:13px;gap:8px;list-style:decimal;margin:0;padding:12px 18px 14px 30px}.navigation-steps.is-open .navigation-step{opacity:1;transform:translateY(0)}.navigation-step{opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}.navigation-steps.is-open .navigation-step:first-child{transition-delay:.02s}.navigation-steps.is-open .navigation-step:nth-child(2){transition-delay:.04s}.navigation-steps.is-open .navigation-step:nth-child(3){transition-delay:.06s}.navigation-steps.is-open .navigation-step:nth-child(4){transition-delay:.08s}.navigation-steps.is-open .navigation-step:nth-child(5){transition-delay:.1s}.navigation-steps.is-open .navigation-step:nth-child(6){transition-delay:.12s}.navigation-steps.is-open .navigation-step:nth-child(7){transition-delay:.14s}.navigation-steps.is-open .navigation-step:nth-child(8){transition-delay:.16s}.navigation-steps.is-open .navigation-step:nth-child(9){transition-delay:.18s}.navigation-steps.is-open .navigation-step:nth-child(10){transition-delay:.2s}.navigation-step{display:block}.navigation-step-button{background:#0000;border:none;border-radius:8px;color:inherit;cursor:pointer;font:inherit;padding:6px 0;text-align:left;transition:background .15s ease,color .15s ease;width:100%}.navigation-step-button:hover{color:#111827}.navigation-step-button.is-selected{background:#ffedd5;color:#9a3412;padding:6px 8px;transition:background .2s ease,color .2s ease,padding .2s ease}.navigation-steps-empty{color:#6b7280;font-size:13px;padding:12px 14px 14px}@media (max-width:600px){.navigation-search{top:10px;width:calc(100% - 24px)}.navigation-search-input{padding:11px 12px}.floor-switcher{bottom:12px;gap:6px;padding:6px 8px}.navigation-steps{bottom:calc(70px + env(safe-area-inset-bottom));width:calc(100% - 24px)}.navigation-steps-toggle{font-size:14px;padding:12px 14px}.navigation-step-button{padding:8px 4px}.floor-switcher-label{display:none}.floor-switcher-button{font-size:12px;padding:6px 12px}}
/*# sourceMappingURL=main.2436f6ae.css.map*/