:root{--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "Geist Mono", "Fira Code", monospace;--accent: #06b6d4;--accent-hover: #0891b2;--accent-dim: rgba(6, 182, 212, .12);--success: #3fb950;--error: #f85149;--warn: #d29922;--info: #58a6ff;--ct-playwright: #7c3aed;--ct-ssh: #059669;--ct-rest: #d97706;--sidebar-w: 220px;--brand-h: 52px;--topbar-h: 52px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--t-fast: .15s ease;--t-base: .2s ease;--t-slow: .3s ease}:root,:root[data-theme=dark]{--bg: #0f1117;--surface: #161b22;--surface-2: #1c2128;--surface-3: #21262d;--border: #30363d;--border-2: #3d444d;--text-1: #f0f6fc;--text-2: #8b949e;--text-3: #6e7681;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-card: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .7);--skeleton-base: #1c2128;--skeleton-shimmer: #21262d;color-scheme:dark}:root[data-theme=light]{--bg: #e8edf6;--surface: #ffffff;--surface-2: #f4f6fb;--surface-3: #eef1f8;--border: #cdd5e8;--border-2: #b8c4da;--text-1: #111827;--text-2: #374151;--text-3: #6b7a99;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .07);--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--skeleton-base: #e2e8f0;--skeleton-shimmer: #f1f5f9;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-sans);font-size:14px;background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-2)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shimmer) 50%,var(--skeleton-base) 75%);background-size:800px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(4px) scale(.97)}}.toast-enter{animation:toast-in var(--t-base) forwards}.toast-exit{animation:toast-out var(--t-base) forwards}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid transparent;transition:background var(--t-fast),border-color var(--t-fast),opacity var(--t-fast)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface-2);color:var(--text-1);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-3)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-1)}.btn-danger{background:transparent;color:var(--error);border-color:var(--error)}.btn-danger:hover:not(:disabled){background:#f851491a}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:500;font-family:var(--font-mono)}.badge-playwright{background:#7c3aed26;color:var(--ct-playwright)}.badge-ssh{background:#05966926;color:var(--ct-ssh)}.badge-rest{background:#d9770626;color:var(--ct-rest)}.badge-online{background:#3fb95026;color:var(--success)}.badge-offline{background:#f8514926;color:var(--error)}.badge-unknown{background:var(--surface-3);color:var(--text-3)}.fc{width:100%;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13px;transition:border-color var(--t-fast);outline:none}.fc:focus{border-color:var(--accent)}.fc::placeholder{color:var(--text-3)}label{display:block;font-size:12px;font-weight:500;color:var(--text-2);margin-bottom:5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.mono{font-family:var(--font-mono)}.md-body{font-size:14px;line-height:1.75;color:var(--text-1);max-width:740px}.md-body h1{font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--text-1);margin:0 0 8px;padding-bottom:12px;border-bottom:1px solid var(--border);line-height:1.25}.md-body h2{font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--text-1);margin:36px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.md-body h3{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text-1);margin:24px 0 8px}.md-body p{margin:0 0 14px;color:var(--text-2)}.md-body a{color:var(--accent);text-decoration:none}.md-body a:hover{text-decoration:underline}.md-body strong{color:var(--text-1);font-weight:600}.md-body em{color:var(--text-2)}.md-body ul,.md-body ol{margin:0 0 14px;padding-left:20px;color:var(--text-2)}.md-body li{margin-bottom:4px}.md-body li>p{margin:0}.md-body hr{border:none;border-top:1px solid var(--border);margin:28px 0}.md-body blockquote{margin:0 0 14px;padding:10px 16px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2)}.md-body blockquote p{margin:0}.md-body :not(pre)>code{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--accent)}.md-body pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;overflow-x:auto;margin:0 0 16px}.md-body pre code{font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--text-1);background:none;border:none;padding:0;white-space:pre}.md-body table{width:100%;border-collapse:collapse;font-size:13px;margin:0 0 16px}.md-body thead th{text-align:left;padding:7px 12px;font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2)}.md-body thead th:first-child{border-radius:var(--radius-sm) 0 0 0}.md-body thead th:last-child{border-radius:0 var(--radius-sm) 0 0}.md-body tbody td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:top}.md-body tbody tr:last-child td{border-bottom:none}.md-body tbody tr:hover td{background:var(--surface-2)}
