:root{--color-bg-primary:#0a0a0a;--color-bg-secondary:#141414;--color-bg-card:#1a1a1a;--color-bg-card-hover:#262626;--color-bg-glass:#0a0a0ad9;--color-text-primary:#fff;--color-text-secondary:#a3a3a3;--color-text-muted:#525252;--color-border:#262626;--color-border-hover:#525252;--color-border-active:#fff;--color-accent:#fff;--color-accent-inverse:#000;--font-heading:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-bg-primary);color:var(--color-text-primary)}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.03em;font-weight:700}a{color:var(--color-text-primary);transition:opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#333}::-webkit-scrollbar-thumb:hover{background:#666}.container{width:100%;max-width:1100px;padding:0 var(--space-lg);margin:0 auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#1a1a1a 25%,#262626 50%,#1a1a1a 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.backend-offline-banner.svelte-12qhfyh{background:linear-gradient(135deg,#1a0a0a 0%,#2a1010 100%);border-bottom:1px solid #3d1515;padding:.75rem 0}.banner-content.svelte-12qhfyh{max-width:1100px;padding:0 var(--space-lg);align-items:center;gap:var(--space-md);flex-wrap:wrap;margin:0 auto;display:flex}.banner-icon-pulse.svelte-12qhfyh{color:#ef4444;flex-shrink:0;align-items:center;display:flex;position:relative}.pulse-dot.svelte-12qhfyh{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse;position:absolute;top:-2px;right:-2px}.banner-text.svelte-12qhfyh{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.banner-text.svelte-12qhfyh strong:where(.svelte-12qhfyh){font-family:var(--font-heading);color:#fca5a5;letter-spacing:.02em;font-size:.85rem}.banner-text.svelte-12qhfyh span:where(.svelte-12qhfyh){color:#a3a3a3;font-size:.78rem;line-height:1.4}.trigger-feedback.svelte-12qhfyh{max-width:1100px;padding:.4rem var(--space-lg);border-radius:var(--radius-sm);margin:.5rem auto 0;font-size:.78rem}.trigger-feedback.success.svelte-12qhfyh{color:#86efac}.trigger-feedback.error.svelte-12qhfyh{color:#fca5a5}.status-indicator.svelte-12qhfyh{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-secondary);letter-spacing:.03em;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.7rem;font-weight:600;display:flex}.status-dot.svelte-12qhfyh{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.online.svelte-12qhfyh{background:#22c55e;box-shadow:0 0 6px #22c55e99}.status-dot.offline.svelte-12qhfyh{background:#ef4444;animation:1.5s ease-in-out infinite pulse;box-shadow:0 0 6px #ef444499}.status-label.svelte-12qhfyh{color:var(--color-text-secondary)}.navbar.svelte-12qhfyh{z-index:100;background:var(--color-bg-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);padding:var(--space-md) 0;position:sticky;top:0}.nav-container.svelte-12qhfyh{max-width:1100px;padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-brand.svelte-12qhfyh{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-text-primary);align-items:center;gap:.6rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.brand-svg.svelte-12qhfyh{width:22px;height:22px;color:var(--color-text-primary)}.brand-sub.svelte-12qhfyh{color:var(--color-text-muted);margin-left:2px;font-weight:400}.nav-links.svelte-12qhfyh{align-items:center;gap:var(--space-md);display:flex}.nav-link.svelte-12qhfyh{border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.875rem;font-weight:500;display:flex}.nav-link.svelte-12qhfyh:hover{color:var(--color-text-primary);background:var(--color-bg-card);border-color:var(--color-border);opacity:1}.main-content.svelte-12qhfyh{z-index:1;min-height:calc(100vh - 140px);position:relative}.footer.svelte-12qhfyh{border-top:1px solid var(--color-border);padding:var(--space-xl) 0;text-align:center}.footer-container.svelte-12qhfyh{max-width:1100px;padding:0 var(--space-lg);margin:0 auto}.footer-text.svelte-12qhfyh{color:var(--color-text-muted);letter-spacing:.02em;font-size:.8rem}@media (width<=640px){.banner-content.svelte-12qhfyh{text-align:center;gap:var(--space-sm);flex-direction:column}.navbar.svelte-12qhfyh{padding:var(--space-sm) 0}.nav-container.svelte-12qhfyh{padding:0 var(--space-md)}.nav-brand.svelte-12qhfyh{gap:.4rem;font-size:1rem}.brand-svg.svelte-12qhfyh{width:18px;height:18px}.nav-links.svelte-12qhfyh{gap:var(--space-xs)}.nav-link.svelte-12qhfyh{gap:.3rem;padding:.35rem .5rem;font-size:.8rem}.status-indicator.svelte-12qhfyh{gap:.25rem;padding:.25rem .5rem;font-size:.65rem}.status-label.svelte-12qhfyh{display:none}}@media (width<=400px){.nav-link.svelte-12qhfyh svg:where(.svelte-12qhfyh){width:14px;height:14px}.nav-link.svelte-12qhfyh{padding:.3rem .4rem;font-size:.75rem}.brand-text.svelte-12qhfyh{font-size:.9rem}}
