/* Shared navigation surface; scoped so the approved workspace stays unchanged. */
.route-loader{position:fixed;inset:0;z-index:200;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:24px;box-sizing:border-box;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:#0b1228;color:#f5f7fc;font-family:Geist,Arial,sans-serif;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .32s ease,visibility .32s;}
.route-loader[hidden]{display:none!important}.route-loader[open]{visibility:visible;opacity:1;pointer-events:auto;transition:none}.route-loader::backdrop{background:transparent}
.route-loader-light{position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 66% 8%,#3347e83d,transparent 39%),radial-gradient(ellipse at 50% 53%,#5577ee20,transparent 38%)}
.route-loader-content{text-align:center;width:min(420px,100%);transform:translateY(-12px)}
.route-loader-visual{position:relative;width:240px;height:200px;margin:0 auto 24px;}
.route-loader-orbit{position:absolute;inset:14px 36px;border:1px solid #6e8aec55;border-radius:50%;box-shadow:0 0 40px #5577ee18,inset 0 0 28px #5577ee18;}
.route-loader-orbit:after{content:"";position:absolute;inset:13px;border-radius:50%;border:1px solid #6081e830;}
.route-loader-circuits{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.route-loader-traces{stroke:#6682cf66;stroke-width:1;}
.route-loader-signals{stroke:#92b3ff;stroke-width:1.8;stroke-linecap:round;filter:drop-shadow(0 0 4px #5577ee)}
.route-loader-signals path{stroke-dasharray:7 93;stroke-dashoffset:100}
.route-loader[open] .route-loader-signals path{animation:route-signal 1.8s linear infinite;}
.route-loader-signals path:nth-child(2){animation-delay:-.9s!important}.route-loader-signals path:nth-child(3){animation-delay:-.3s!important}.route-loader-signals path:nth-child(4){animation-delay:-1.2s!important}.route-loader-signals path:nth-child(5){animation-delay:-.6s!important}.route-loader-signals path:nth-child(6){animation-delay:-1.5s!important}
.route-loader-chip{position:absolute;left:50%;top:50%;width:78px;height:78px;transform:translate(-50%,-50%) rotate(-12deg);border:1px solid #8ea7e280;border-radius:21px;background:linear-gradient(135deg,#ffffff,#eaf0ff);display:grid;place-items:center;box-shadow:0 7px 0 #172750,0 8px 0 #7b9aea70,0 19px 38px #0009,inset 0 1px 0 #ffffff13;}
.route-loader-chip:before{content:"";position:absolute;inset:5px;border:1px solid #5274d62b;border-radius:16px;}
.route-loader-chip img{display:block;width:35px;height:35px;transform:rotate(12deg);filter:drop-shadow(0 0 10px #3347e820);}
.route-loader[open] .route-loader-chip{animation:route-chip 2.2s ease-in-out infinite;}
.route-loader-point{position:absolute;width:4px;height:4px;background:#9cbbff;border-radius:50%;box-shadow:0 0 12px #7c9fff80}.route-loader-point.point-a{left:13px;top:34px}.route-loader-point.point-b{right:13px;bottom:34px}
.route-loader-eyebrow{font:9px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:.2em;color:#bdccf0;display:block;margin:0 0 15px;}
.route-loader-title{font-size:clamp(27px,3vw,36px);line-height:1.2;letter-spacing:-.05em;font-weight:500;margin:0 0 14px;color:#f5f7fc;}
.route-loader-status{font-size:12px;line-height:1.6;letter-spacing:.015em;color:#c0cbe4;margin:0;}
.route-loader-track{position:relative;width:160px;height:2px;margin:29px auto 0;overflow:hidden;border-radius:3px;background:#24365b;}
.route-loader-track span{position:absolute;left:0;top:0;bottom:0;width:45%;transform:translateX(-105%);border-radius:3px;background:linear-gradient(90deg,transparent,#5577ee,#bed1ff);box-shadow:0 0 12px #5577ee50;}
.route-loader[open] .route-loader-track span{animation:route-progress 1.35s ease-in-out infinite;}
.route-loader-dismiss{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);min-height:40px;min-width:88px;padding:10px 17px;white-space:nowrap;font:11px/1.4 Geist,Arial,sans-serif;color:#cfdbf5;background:#142341;border:1px solid #586f9e;border-radius:24px;cursor:pointer;}
.route-loader-dismiss:hover{border-color:#93b1f5;color:#ffffff;background:#203761}.route-loader-dismiss:focus-visible{outline:2px solid #9cbbff;outline-offset:5px;}
@keyframes route-signal{to{stroke-dashoffset:0}}@keyframes route-progress{to{transform:translateX(325%)}}@keyframes route-chip{0%,100%{transform:translate(-50%,-50%) rotate(-12deg)}50%{transform:translate(-50%,calc(-50% - 5px)) rotate(-12deg)}}
@media(max-width:430px){.route-loader{padding:20px}.route-loader-visual{transform:scale(.9);margin-bottom:11px}.route-loader-title{font-size:29px}.route-loader-status{font-size:11px}.route-loader-dismiss{bottom:25px}}
@media(max-height:550px){.route-loader-content{transform:translateY(-15px)}.route-loader-visual{height:130px;margin-bottom:8px;transform:scale(.7)}.route-loader-orbit{inset:0 36px}.route-loader-eyebrow{margin-bottom:9px}.route-loader-title{font-size:25px;margin-bottom:9px}.route-loader-track{margin-top:16px}.route-loader-dismiss{bottom:12px;min-height:32px;padding:7px 14px}}
@media(prefers-reduced-motion:reduce){.route-loader{transition:none}.route-loader[open] *{animation:none!important;transition:none!important}.route-loader-signals path{stroke-dasharray:none;stroke-dashoffset:0;opacity:.5}.route-loader-track span{width:100%;transform:none;background:#9dbaff;opacity:.6}}
