.route-fallback-boot-placeholder{background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 5%, var(--background)) 0%, var(--background) 40%, var(--background) 100%);width:100%;min-height:100vh}.route-fallback-panel-placeholder{background:0 0;width:100%;min-height:min(520px,68vh)}.route-fallback{isolation:isolate;background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 5%, var(--background)) 0%, var(--background) 40%, var(--background) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.route-fallback--panel{background:0 0;justify-content:center;align-items:center;width:100%;min-height:min(520px,68vh);display:flex}.route-fallback--panel:before,.route-fallback--panel .route-fallback-grid{display:none}.route-fallback--panel .route-fallback-vignette{background:radial-gradient(ellipse 88% 72% at 50% 48%, transparent 0%, color-mix(in srgb, var(--background) 22%, transparent) 100%)}.route-fallback--panel .route-fallback-ambient{opacity:.28}.route-fallback--panel.route-fallback--nested{min-height:min(380px,52vh)}.route-fallback--panel.route-fallback--nested .route-fallback-ambient{opacity:.22}.route-fallback:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 42% 32%, color-mix(in srgb, var(--border) 28%, transparent) 0%, transparent 46%), radial-gradient(circle at 78% 68%, color-mix(in srgb, var(--accent) 4%, transparent) 0%, transparent 42%), radial-gradient(ellipse 130% 85% at 50% 108%, #00000038, transparent 58%);position:absolute;inset:-40%}.route-fallback-ambient{z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--border) 24%, transparent) 0%, color-mix(in srgb, var(--accent) 4%, transparent) 38%, transparent 68%);filter:blur(56px);opacity:.32;border-radius:50%;width:min(140vw,920px);height:min(140vw,920px);margin-top:calc(min(140vw,920px)/-2);margin-left:calc(min(140vw,920px)/-2);animation:5.5s ease-in-out infinite route-fallback-ambient-pulse;position:absolute;top:44%;left:50%}.route-fallback-grid{z-index:0;pointer-events:none;opacity:.42;background-image:linear-gradient(color-mix(in srgb, var(--border) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 16%, transparent) 1px, transparent 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(72% 58% at 50% 46%,#000 0%,#0000 72%);mask-image:radial-gradient(72% 58% at 50% 46%,#000 0%,#0000 72%)}html[data-theme=light] .route-fallback-grid,html.light .route-fallback-grid{opacity:.28;background-image:linear-gradient(color-mix(in srgb, var(--border) 22%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 22%, transparent) 1px, transparent 1px)}.route-fallback-vignette{z-index:0;pointer-events:none;background:radial-gradient(ellipse 85% 70% at 50% 48%, transparent 0%, color-mix(in srgb, var(--background) 55%, transparent) 100%);position:absolute;inset:0}html[data-theme=light] .route-fallback-vignette,html.light .route-fallback-vignette{background:radial-gradient(ellipse 88% 72% at 50% 48%, transparent 0%, color-mix(in srgb, var(--background) 35%, transparent) 100%)}.route-fallback-frame{z-index:1;border-radius:var(--radius-fallback-frame);padding:2px;position:relative;overflow:hidden}.route-fallback-rotor{pointer-events:none;background:conic-gradient(from 0deg, transparent 0deg, color-mix(in srgb, var(--accent) 28%, transparent) 52deg, transparent 104deg, transparent 196deg, color-mix(in srgb, var(--accent) 18%, transparent) 238deg, transparent 300deg, transparent 360deg);width:220%;height:220%;margin-top:-110%;margin-left:-110%;animation:7s linear infinite route-fallback-rotor-spin;position:absolute;top:50%;left:50%}.route-fallback-inner{z-index:1;text-align:center;border-radius:var(--radius-fallback-hero);border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:linear-gradient(168deg, color-mix(in srgb, var(--surface) 82%, transparent) 0%, color-mix(in srgb, var(--surface) 58%, transparent) 48%, color-mix(in srgb, var(--surface) 44%, transparent) 100%);-webkit-backdrop-filter:blur(28px)saturate(1.45);width:min(400px,100vw - 40px);box-shadow:var(--premium-shadow-elevated,var(--shadow-card)), 0 0 48px color-mix(in srgb, var(--border) 18%, transparent), 0 0 0 1px #ffffff0d inset;padding:48px 44px 42px;position:relative}html[data-theme=light] .route-fallback-inner,html.light .route-fallback-inner{background:linear-gradient(168deg, color-mix(in srgb, var(--surface) 92%, transparent) 0%, color-mix(in srgb, var(--sidebar-hover) 78%, transparent) 100%);box-shadow:var(--premium-shadow-elevated,var(--shadow-card)), 0 0 40px color-mix(in srgb, var(--border) 14%, transparent), 0 0 0 1px color-mix(in srgb, var(--border) 10%, transparent) inset}.route-fallback-inner-bloom{border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 90% 55% at 50% -8%, color-mix(in srgb, var(--border) 16%, transparent), transparent 62%);opacity:.45;position:absolute;inset:0}.route-fallback-emblem{width:96px;height:96px;margin:0 auto 26px;position:relative}.route-fallback-orbit{pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%}.route-fallback-orbit-outer{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);border-top-color:color-mix(in srgb, var(--accent) 38%, transparent);border-bottom-color:color-mix(in srgb, var(--accent) 14%, transparent);opacity:.85;width:100%;height:100%;margin-top:-50%;margin-left:-50%;animation:2.8s cubic-bezier(.45,.02,.25,1) infinite route-fallback-orbit-ccw}.route-fallback-orbit-inner{border:1.5px solid color-mix(in srgb, var(--border) 58%, transparent);border-top-color:color-mix(in srgb, var(--accent) 58%, transparent);border-right-color:color-mix(in srgb, var(--accent) 18%, transparent);opacity:.9;width:74%;height:74%;margin-top:-37%;margin-left:-37%;animation:1.25s cubic-bezier(.45,.05,.22,1) infinite route-fallback-orbit-cw}.route-fallback-beacon{pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 32%, transparent), transparent 100%);filter:blur(.3px);opacity:.45;transform-origin:50% 0;border-radius:99px;width:3px;height:28px;margin-left:-1.5px;animation:2.2s ease-in-out infinite route-fallback-beacon;position:absolute;bottom:6px;left:50%}.route-fallback-mark{border-radius:var(--radius-sm);object-fit:contain;width:36px;height:36px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border) 28%, transparent), 0 0 20px color-mix(in srgb, var(--accent) 10%, transparent), 0 16px 40px #00000047;animation:3.2s ease-in-out infinite route-fallback-mark-float;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.route-fallback-emblem--error .route-fallback-orbit-outer{border-top-color:color-mix(in srgb, var(--status-warning-emphasis) 48%, transparent);border-bottom-color:color-mix(in srgb, var(--status-warning-emphasis) 18%, transparent);opacity:.88}.route-fallback-emblem--error .route-fallback-orbit-inner{border-top-color:color-mix(in srgb, var(--status-warning-emphasis) 62%, transparent);border-right-color:color-mix(in srgb, var(--status-warning-emphasis) 22%, transparent);opacity:.9}.route-fallback-emblem--error .route-fallback-beacon{opacity:.5;background:linear-gradient(180deg, color-mix(in srgb, var(--status-warning-emphasis) 42%, transparent), transparent 100%)}.route-fallback-emblem--error .route-fallback-mark{box-shadow:0 0 0 1px color-mix(in srgb, var(--status-warning-emphasis) 28%, transparent), 0 0 18px color-mix(in srgb, var(--status-warning-emphasis) 10%, transparent), 0 12px 32px #00000038}.route-fallback-emblem-alert{border:2px solid var(--surface);background:var(--status-warning-emphasis);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--status-warning-emphasis) 24%, transparent);border-radius:50%;position:absolute;bottom:4px;right:4px}.route-fallback--error .route-fallback-ambient{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--status-warning-emphasis) 8%, transparent) 0%, color-mix(in srgb, var(--status-warning-emphasis) 3%, transparent) 38%, transparent 68%);opacity:.34}.route-fallback-title{font-family:var(--font-display,inherit);letter-spacing:.04em;color:var(--foreground);margin:0 0 12px;font-size:clamp(16px,3vw,18px);font-weight:700;line-height:1.3;position:relative}.route-fallback-message{color:var(--text-secondary);word-break:break-word;max-height:5.5em;margin:0 0 24px;font-size:13px;line-height:1.55;position:relative;overflow:auto}.route-fallback-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex;position:relative}.route-fallback-brand{font-family:var(--font-display,inherit);letter-spacing:.42em;text-transform:uppercase;background:linear-gradient(118deg, var(--text-secondary) 0%, var(--foreground) 36%, color-mix(in srgb, var(--accent) 42%, var(--foreground) 58%) 52%, var(--foreground) 68%, var(--text-secondary) 100%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;margin:0 0 20px;font-size:clamp(15px,2.8vw,17px);font-weight:800;line-height:1.2;animation:5s ease-in-out infinite route-fallback-brand-sheen;position:relative}html[data-theme=light] .route-fallback-brand,html.light .route-fallback-brand{background:linear-gradient(118deg, var(--text-tertiary) 0%, color-mix(in srgb, var(--accent) 55%, var(--foreground) 45%) 40%, color-mix(in srgb, var(--accent) 38%, var(--foreground) 62%) 52%, color-mix(in srgb, var(--accent) 55%, var(--foreground) 45%) 72%, var(--text-secondary) 100%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.route-fallback-brand{color:var(--foreground);background:0 0;animation:none}}.route-fallback-pulse{justify-content:center;align-items:center;gap:var(--spacing-sm);display:flex;position:relative}.route-fallback-pulse span{background:color-mix(in srgb, var(--foreground) 42%, var(--border) 58%);width:5px;height:5px;box-shadow:0 0 6px color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%;animation:1.05s ease-in-out infinite route-fallback-dot}.route-fallback-pulse span:nth-child(2){animation-delay:.16s}.route-fallback-pulse span:nth-child(3){animation-delay:.32s}@keyframes route-fallback-ambient-pulse{0%,to{opacity:.26;transform:scale(1)}50%{opacity:.38;transform:scale(1.04)}}@keyframes route-fallback-rotor-spin{to{transform:rotate(360deg)}}@keyframes route-fallback-orbit-cw{to{transform:rotate(360deg)}}@keyframes route-fallback-orbit-ccw{to{transform:rotate(-360deg)}}@keyframes route-fallback-beacon{0%,to{opacity:.35;transform:scaleY(.85)}50%{opacity:.85;transform:scaleY(1.08)}}@keyframes route-fallback-mark-float{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 4px))}}@keyframes route-fallback-brand-sheen{0%,to{background-position:0%}50%{background-position:100%}}@keyframes route-fallback-dot{0%,to{opacity:.28;transform:scale(.72)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.route-fallback-ambient,.route-fallback-rotor,.route-fallback-orbit-outer,.route-fallback-orbit-inner,.route-fallback-beacon,.route-fallback-mark,.route-fallback-brand,.route-fallback-pulse span{animation:none!important}.route-fallback-ambient{opacity:.3}.route-fallback-brand{background-position:50%}.route-fallback-pulse span{opacity:.55;transform:none}}
