*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;background:#0a0f14;color-scheme:dark;color:#e6edf3;line-height:1.5}.login-container.svelte-1jef3w8{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse 80% 50% at 20% -20%,rgba(34,197,94,.2),transparent),radial-gradient(ellipse 70% 50% at 90% 10%,rgba(6,182,212,.15),transparent);padding:2rem}.login-card.svelte-1jef3w8{background:#111821d9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(31,42,53,.9);border-radius:24px;padding:3rem;width:100%;max-width:420px;box-shadow:0 30px 60px -20px #0009}.logo-section.svelte-1jef3w8{text-align:center;margin-bottom:2rem}.logo-icon.svelte-1jef3w8{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 0 20px rgba(35,197,94,.3))}.logo-section.svelte-1jef3w8 h1:where(.svelte-1jef3w8){font-size:1.75rem;font-weight:700;margin:0;background:linear-gradient(135deg,#23c55e,#4ade80);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle.svelte-1jef3w8{color:#8b949e;margin:.5rem 0 0;font-size:.875rem}.form-section.svelte-1jef3w8{display:flex;flex-direction:column;gap:1rem}.form-section.svelte-1jef3w8 label:where(.svelte-1jef3w8){font-size:.875rem;font-weight:500;color:#c9d1d9}.form-section.svelte-1jef3w8 input:where(.svelte-1jef3w8){padding:.9rem 1rem;background:#0f151d;border:1px solid #27313d;border-radius:12px;color:#e6edf3;font-size:1rem;transition:all .2s}.form-section.svelte-1jef3w8 input:where(.svelte-1jef3w8):focus{outline:none;border-color:#23c55e;box-shadow:0 0 0 3px #23c55e1f}.error-message.svelte-1jef3w8{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f851491a;border:1px solid rgba(248,81,73,.3);border-radius:8px;color:#f85149;font-size:.875rem}.login-btn.svelte-1jef3w8{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#23c55e,#16a34a);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.login-btn.svelte-1jef3w8:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px -10px #23c55e80}.login-btn.svelte-1jef3w8:disabled{opacity:.6;cursor:not-allowed}.spinner.svelte-1jef3w8{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:svelte-1jef3w8-spin .8s linear infinite}@keyframes svelte-1jef3w8-spin{to{transform:rotate(360deg)}}.back-link.svelte-1jef3w8{text-align:center;color:#8b949e;text-decoration:none;font-size:.875rem;margin-top:.5rem}.back-link.svelte-1jef3w8:hover{color:#c9d1d9}.login-footer.svelte-1jef3w8{margin-top:2rem;color:#6e7681;font-size:.875rem}.dashboard.svelte-1jef3w8{min-height:100vh;background:#0a0f14;display:block;position:relative}.sidebar.svelte-1jef3w8{background:#0f141be6;border-right:1px solid #1f2a35;padding:1.75rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;width:260px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:100}.sidebar-header.svelte-1jef3w8{display:flex;align-items:center;gap:.75rem;padding-bottom:1.5rem;border-bottom:1px solid #1f2a35;margin-bottom:1.5rem}.sidebar-header.svelte-1jef3w8 .logo:where(.svelte-1jef3w8){font-size:1.5rem}.brand.svelte-1jef3w8{font-weight:700;font-size:1.125rem;background:linear-gradient(135deg,#23c55e,#4ade80);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-nav.svelte-1jef3w8{display:flex;flex-direction:column;gap:.5rem;flex:1}.nav-item.svelte-1jef3w8{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:12px;color:#9aa7b2;text-decoration:none;font-size:.9375rem;transition:all .2s}.nav-item.svelte-1jef3w8:hover{background:#1b2530;color:#e6edf3}.nav-item.active.svelte-1jef3w8{background:#23c55e1f;color:#4ade80}.sidebar-footer.svelte-1jef3w8{padding-top:1.5rem;border-top:1px solid #21262d}.logout-btn.svelte-1jef3w8{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;background:transparent;border:1px solid #27313d;border-radius:10px;color:#9aa7b2;font-size:.875rem;cursor:pointer;transition:all .2s}.logout-btn.svelte-1jef3w8:hover{border-color:#f85149;color:#f85149;background:#f851490d}.main-content.svelte-1jef3w8{margin-left:260px;padding:2.5rem 2.75rem 4rem;min-height:100vh;width:auto;max-width:100%;overflow-x:hidden}.page-header.svelte-1jef3w8{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.page-header.svelte-1jef3w8 h1:where(.svelte-1jef3w8){font-size:1.75rem;font-weight:700;margin:0}.page-header.svelte-1jef3w8 .subtitle:where(.svelte-1jef3w8){color:#8b949e;margin:.25rem 0 0;font-size:.9375rem}.status-badge.svelte-1jef3w8{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#131b24;border-radius:999px;font-size:.875rem;font-weight:500;border:1px solid #1f2a35}.status-badge.idle.svelte-1jef3w8{color:#23c55e}.status-badge.running.svelte-1jef3w8{color:#f0883e}.status-badge.error.svelte-1jef3w8{color:#f85149}.pulse.svelte-1jef3w8{width:8px;height:8px;background:currentColor;border-radius:50%;animation:svelte-1jef3w8-pulse 2s ease-in-out infinite}@keyframes svelte-1jef3w8-pulse{0%,to{opacity:1}50%{opacity:.4}}.stats-grid.svelte-1jef3w8{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card.svelte-1jef3w8{background:#111821e6;border:1px solid #1f2a35;border-radius:18px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.stat-card.svelte-1jef3w8:hover{border-color:#334251;transform:translateY(-2px)}.stat-card.primary.svelte-1jef3w8{background:linear-gradient(135deg,#23c55e24,#16a34a0f);border-color:#23c55e59}.stat-icon.svelte-1jef3w8{font-size:2rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#131b24;border-radius:14px}.stat-card.primary.svelte-1jef3w8 .stat-icon:where(.svelte-1jef3w8){background:#23c55e26}.stat-info.svelte-1jef3w8{display:flex;flex-direction:column}.stat-value.svelte-1jef3w8{font-size:1.75rem;font-weight:700;color:#e6edf3;line-height:1}.stat-card.primary.svelte-1jef3w8 .stat-value:where(.svelte-1jef3w8){color:#23c55e}.stat-label.svelte-1jef3w8{font-size:.875rem;color:#8b949e;margin-top:.25rem}.section.svelte-1jef3w8{margin-top:2.5rem}.section-header.svelte-1jef3w8{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header.svelte-1jef3w8 h2:where(.svelte-1jef3w8){font-size:1.25rem;font-weight:600;margin:0}.section-stats.svelte-1jef3w8{display:flex;gap:.5rem}.badge.svelte-1jef3w8{padding:.375rem .75rem;background:#23c55e1a;border-radius:6px;font-size:.75rem;font-weight:500;color:#23c55e}.badge.warning.svelte-1jef3w8{background:#f851491a;color:#f85149}.crawler-card.svelte-1jef3w8{background:#111821b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(31,42,53,.9);border-radius:18px;padding:1.5rem}.crawler-status.svelte-1jef3w8{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.status-indicator.svelte-1jef3w8{display:flex;align-items:center;gap:.5rem}.status-ring.svelte-1jef3w8{width:12px;height:12px;border-radius:50%;position:relative}.status-indicator.idle.svelte-1jef3w8 .status-ring:where(.svelte-1jef3w8){background:#23c55e}.status-indicator.running.svelte-1jef3w8 .status-ring:where(.svelte-1jef3w8){background:#f0883e;animation:svelte-1jef3w8-pulse-ring 1.5s ease-out infinite}.status-indicator.error.svelte-1jef3w8 .status-ring:where(.svelte-1jef3w8){background:#f85149}@keyframes svelte-1jef3w8-pulse-ring{0%{box-shadow:0 0 #f0883eb3}70%{box-shadow:0 0 0 10px #f0883e00}to{box-shadow:0 0 #f0883e00}}.status-text.svelte-1jef3w8{font-weight:600;text-transform:capitalize}.last-crawl.svelte-1jef3w8{color:#8b949e;font-size:.875rem;margin:0}.crawl-result.svelte-1jef3w8{background:#0f151d;border:1px solid #1f2a35;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.crawl-result.success.svelte-1jef3w8{border-color:#23c55e4d;background:#23c55e0d}.crawl-result.error.svelte-1jef3w8{border-color:#f851494d;background:#f851490d}.result-header.svelte-1jef3w8{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:1rem}.crawl-result.success.svelte-1jef3w8 .result-header:where(.svelte-1jef3w8){color:#23c55e}.crawl-result.error.svelte-1jef3w8 .result-header:where(.svelte-1jef3w8){color:#f85149}.error-text.svelte-1jef3w8{color:#f85149;font-size:.875rem;margin:0}.result-stats.svelte-1jef3w8{display:flex;gap:2rem}.result-stat.svelte-1jef3w8{display:flex;flex-direction:column;align-items:center}.result-stat.svelte-1jef3w8 .value:where(.svelte-1jef3w8){font-size:1.5rem;font-weight:700;color:#e6edf3}.result-stat.highlight.svelte-1jef3w8 .value:where(.svelte-1jef3w8){color:#23c55e}.result-stat.error.svelte-1jef3w8 .value:where(.svelte-1jef3w8){color:#f85149}.result-stat.svelte-1jef3w8 .label:where(.svelte-1jef3w8){font-size:.75rem;color:#8b949e;margin-top:.25rem}.crawler-actions.svelte-1jef3w8{display:flex;gap:1rem;flex-wrap:wrap}.run-btn.svelte-1jef3w8{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#23c55e,#16a34a);border:none;border-radius:12px;color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.run-btn.svelte-1jef3w8:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px -10px #23c55e80}.run-btn.svelte-1jef3w8:disabled{opacity:.6;cursor:not-allowed}.run-btn.running.svelte-1jef3w8{background:linear-gradient(135deg,#f0883e,#e85d04)}.secondary-btn.svelte-1jef3w8{padding:.875rem 1.5rem;background:#141c25;border:1px solid #27313d;border-radius:12px;color:#c9d1d9;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.secondary-btn.svelte-1jef3w8:hover{background:#30363d}.crawl-hint.svelte-1jef3w8{color:#8b949e;font-size:.875rem;margin:1rem 0 0}.crawl-history.svelte-1jef3w8{margin-top:1.5rem;background:#111821b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(31,42,53,.9);border-radius:18px;padding:1.5rem}.crawl-history.svelte-1jef3w8 h3:where(.svelte-1jef3w8){font-size:1rem;font-weight:600;margin:0 0 1rem}.crawl-logs-list.svelte-1jef3w8{display:flex;flex-direction:column;gap:.75rem}.crawl-log-item.svelte-1jef3w8{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#0f151d99;border:1px solid rgba(31,42,53,.8);border-radius:12px;transition:all .2s;flex-wrap:wrap;gap:1rem}.crawl-log-item.svelte-1jef3w8:hover{border-color:#23c55e66;background:#0f151dcc}.crawl-log-item.status-success.svelte-1jef3w8{border-left:3px solid #23c55e}.crawl-log-item.status-error.svelte-1jef3w8{border-left:3px solid #f85149}.crawl-log-item.status-running.svelte-1jef3w8{border-left:3px solid #f0883e}.log-main.svelte-1jef3w8{display:flex;align-items:center;gap:1rem;min-width:200px}.log-status-icon.svelte-1jef3w8{font-size:1.25rem}.log-info.svelte-1jef3w8{display:flex;flex-direction:column}.log-time.svelte-1jef3w8{font-size:.875rem;color:#e6edf3;font-weight:500}.log-duration.svelte-1jef3w8{font-size:.75rem;color:#8b949e}.log-stats.svelte-1jef3w8{display:flex;gap:1.5rem;flex-wrap:wrap}.log-stat.svelte-1jef3w8{display:flex;flex-direction:column;align-items:center;min-width:60px}.stat-label-sm.svelte-1jef3w8{font-size:.6875rem;color:#8b949e;text-transform:uppercase;letter-spacing:.05em}.stat-value-sm.svelte-1jef3w8{font-size:1.125rem;font-weight:600;color:#e6edf3}.log-stat.highlight.svelte-1jef3w8 .stat-value-sm:where(.svelte-1jef3w8){color:#23c55e}.log-stat.error.svelte-1jef3w8 .stat-value-sm:where(.svelte-1jef3w8){color:#f85149}.logs-panel.svelte-1jef3w8{background:#0d1117cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(31,42,53,.9);border-radius:18px;overflow:hidden}.logs-content.svelte-1jef3w8{max-height:400px;overflow-y:auto;padding:1rem;font-family:SF Mono,Monaco,monospace;font-size:.8125rem;line-height:1.7}.log-entry.svelte-1jef3w8{padding:.5rem 0;color:#8b949e;border-bottom:1px solid #21262d;white-space:pre-wrap;word-break:break-all}.log-entry.svelte-1jef3w8:last-child{border-bottom:none}.refresh-btn.svelte-1jef3w8{padding:.5rem 1rem;background:#141c25;border:1px solid #27313d;border-radius:10px;color:#c9d1d9;font-size:.875rem;cursor:pointer;transition:all .2s}.refresh-btn.svelte-1jef3w8:hover{background:#30363d}.empty-state.svelte-1jef3w8{text-align:center;padding:3rem;color:#6e7681;background:#ffffff05;border-radius:12px;border:1px dashed rgba(255,255,255,.1)}.empty-state.svelte-1jef3w8 span:where(.svelte-1jef3w8){font-size:2.5rem;display:block;margin-bottom:1rem;opacity:.5}.empty-state.svelte-1jef3w8 p:where(.svelte-1jef3w8){margin:0;font-size:.9375rem}.api-grid.svelte-1jef3w8{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.api-card.svelte-1jef3w8{background:#111821e6;border:1px solid #1f2a35;border-radius:14px;padding:1.25rem;transition:all .2s}.api-card.svelte-1jef3w8:hover{border-color:#30363d;transform:translateY(-2px)}.api-header.svelte-1jef3w8{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.method.svelte-1jef3w8{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:700}.method.get.svelte-1jef3w8{background:#23c55e26;color:#23c55e}.api-header.svelte-1jef3w8 code:where(.svelte-1jef3w8){font-family:SF Mono,Monaco,monospace;font-size:.875rem;color:#58a6ff}.api-card.svelte-1jef3w8 p:where(.svelte-1jef3w8){margin:0;font-size:.875rem;color:#8b949e}@media(max-width:1024px){.stats-grid.svelte-1jef3w8{grid-template-columns:repeat(2,1fr)}.api-grid.svelte-1jef3w8{grid-template-columns:1fr}}@media(max-width:768px){.dashboard.svelte-1jef3w8{display:flex;flex-direction:column}.sidebar.svelte-1jef3w8{position:relative;width:100%;height:auto;border-right:none;border-bottom:1px solid #21262d;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f141a}.main-content.svelte-1jef3w8{margin-left:0;width:100%;padding:1.5rem}.stats-grid.svelte-1jef3w8{grid-template-columns:1fr}.crawler-actions.svelte-1jef3w8{flex-direction:column}.crawl-log-item.svelte-1jef3w8,.page-header.svelte-1jef3w8{flex-direction:column;gap:1rem;align-items:flex-start}}
