*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080810;--surface: #0f0f1a;--surface2: #151522;--border: #1c1c2e;--border2: #252538;--text: #e8e8f8;--muted: #64648a;--subtle: #9898b8;--accent: #6366f1;--accent2: #818cf8;--green: #10b981;--yellow: #f59e0b;--red: #ef4444;--blue: #3b82f6;--purple: #8b5cf6;--radius: 12px;--radius-sm: 8px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-lg: 0 4px 16px rgba(0,0,0,.5);--code-bg: #070710;--code-text:#a5b4fc}:root.light{--bg: #f5f5fa;--surface: #ffffff;--surface2: #f0f0f8;--border: #e4e4f0;--border2: #d0d0e4;--text: #0a0a18;--muted: #6868a0;--subtle: #4a4a80;--accent: #6366f1;--accent2: #4f52d9;--green: #059669;--yellow: #d97706;--red: #dc2626;--blue: #2563eb;--purple: #7c3aed;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-lg: 0 4px 16px rgba(0,0,0,.12);--code-bg: #f0f0f8;--code-text:#4f52d9}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;outline:none;font-family:var(--font);font-size:14px;background:none}input,textarea,select{font-family:var(--font);font-size:14px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);padding:10px 14px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}input::placeholder{color:var(--muted)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.flex{display:flex}.col{flex-direction:column}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}.wrap{flex-wrap:wrap}.center{align-items:center}.between{justify-content:space-between}.end{justify-content:flex-end}.grow{flex:1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-lg{padding:28px 32px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-green{background:#10b98115;color:var(--green);border:1px solid #10b98130}.badge-yellow{background:#f59e0b15;color:var(--yellow);border:1px solid #f59e0b30}.badge-red{background:#ef444415;color:var(--red);border:1px solid #ef444430}.badge-blue{background:#6366f115;color:var(--accent2);border:1px solid #6366f130}.badge-gray{background:var(--border);color:var(--subtle);border:1px solid var(--border2)}.badge-purple{background:#8b5cf615;color:var(--purple);border:1px solid #8b5cf630}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);font-weight:500;transition:all .15s;white-space:nowrap;font-size:13px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 4px #6366f14d}.btn-primary:hover{background:#5254cc;box-shadow:0 2px 8px #6366f166;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--subtle);border:1px solid var(--border2)}.btn-ghost:hover{color:var(--text);border-color:var(--border2);background:var(--surface2)}.btn-danger{background:transparent;color:var(--red);border:1px solid #ef444430}.btn-danger:hover{background:#ef444412}.btn-sm{padding:5px 12px;font-size:12px;border-radius:7px}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.divider{height:1px;background:var(--border);margin:20px 0}pre,code{font-family:JetBrains Mono,Fira Code,Consolas,monospace}code{font-size:12px;background:var(--surface2);padding:2px 6px;border-radius:5px;color:var(--accent2)}pre{font-size:12px;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px;overflow-x:auto;color:var(--code-text);line-height:1.6;max-height:420px;overflow-y:auto}.spinner{width:16px;height:16px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:1000}.toast{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:12px 18px;font-size:13px;max-width:360px;animation:slideIn .2s ease;box-shadow:var(--shadow-lg)}.toast-success{border-left:3px solid var(--green)}.toast-error{border-left:3px solid var(--red)}.toast-info{border-left:3px solid var(--accent)}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-green{background:var(--green);box-shadow:0 0 5px var(--green)}.dot-yellow{background:var(--yellow)}.dot-red{background:var(--red)}.dot-gray{background:var(--muted)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{padding:9px 16px;background:none;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;font-size:13px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent2);border-bottom-color:var(--accent);font-weight:500}.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:7px;display:block}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow)}.stat-value{font-size:28px;font-weight:700;color:var(--text);line-height:1.1}.stat-label{font-size:12px;color:var(--muted);margin-top:5px;font-weight:500}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--border)}.table td{padding:13px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#ffffff03}.conf-bar{height:4px;border-radius:2px;background:var(--border2);overflow:hidden;width:80px;flex-shrink:0}.conf-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .3s}.code-block{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12.5px;color:var(--code-text);line-height:1.6;position:relative;overflow-x:auto}.code-block .copy-btn-abs{position:absolute;top:10px;right:10px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 32px;gap:12px}.empty-state-icon{font-size:36px;margin-bottom:4px;opacity:.6}.empty-state-title{font-size:15px;font-weight:600;color:var(--text)}.empty-state-desc{font-size:13px;color:var(--muted);max-width:340px;line-height:1.6}.section-header{margin-bottom:20px}.section-header h1{font-size:22px;font-weight:700;letter-spacing:-.3px}.section-header p{color:var(--muted);margin-top:5px;font-size:13px}.info-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row-label{color:var(--muted);font-size:12px}.info-row-value{color:var(--text);font-weight:500}.suggestion{padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border)}.suggestion-high{border-left:3px solid var(--red)}.suggestion-medium{border-left:3px solid var(--yellow)}.suggestion-low{border-left:3px solid var(--border2)}.capability{padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border);transition:border-color .15s}.capability:hover{border-color:var(--border2)}#root{min-height:100vh}
