:root{--bg:#f8fafc;--card:#ffffff;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--accent:#0f766e;--accent-soft:#ccfbf1}html.dark{--bg:#0f172a;--card:#1e293b;--text:#f1f5f9;--muted:#94a3b8;--border:#334155;--accent:#14b8a6;--accent-soft:#042f2e}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(180deg,#f0f9ff 0,var(--bg) 220px);color:var(--text)}html.dark body{background:linear-gradient(180deg,#1e293b 0,var(--bg) 220px)}a{text-decoration:none}a,button{color:inherit}.container{max-width:1100px;margin:0 auto;padding:0 16px}.nav{border-bottom:1px solid var(--border);background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:20}html.dark .nav{background:#1e293bd9}.nav-inner{height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:700}.nav-links{display:flex;gap:14px;align-items:center}.btn{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:14px;color:var(--text)}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}.grid{display:grid;grid-gap:16px;gap:16px}.input,.select,.textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;background:var(--card);color:var(--text)}.textarea{min-height:110px;resize:vertical}.muted{color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--border);gap:8px;margin-bottom:14px}.tab{background:transparent;padding:10px 12px;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--muted)}.tab.active{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.metric{border:1px solid var(--border);border-radius:10px;background:var(--card);padding:10px}.metric-label{font-size:12px;color:var(--muted)}.metric-value{margin-top:4px;font-size:18px;font-weight:600}.lab-card{border-left:3px solid var(--accent)}.lab-card-header{display:flex;align-items:center;gap:10px}.lab-badge{background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.lab-stats{display:flex;gap:16px;margin-top:12px;font-size:13px;color:var(--muted)}.lab-card-actions{display:flex;align-items:center;gap:16px;margin-top:14px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.status-dot.offline{background:var(--border)}.agent-role-badge{background:var(--accent-soft);color:var(--muted);font-size:11px;font-weight:500;padding:2px 8px;border-radius:6px}.agent-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.agent-stat{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px;text-align:center}.agent-stat-value{display:block;font-size:20px;font-weight:600}.agent-stat-label{display:block;font-size:11px;color:var(--muted);margin-top:2px}.agent-lab-chip{display:inline-block;background:var(--accent-soft);color:var(--text);font-size:13px;padding:4px 10px;border-radius:8px;text-decoration:none}.agent-lab-chip:hover{background:#a7f3d0}html.dark .agent-lab-chip:hover{background:#064e3b}.theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);cursor:pointer;transition:background .15s}.theme-toggle:hover{background:var(--accent-soft)}.step-label{color:var(--accent);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.pipeline{justify-content:center;flex-wrap:wrap}.pipeline,.pipeline-step{display:flex;align-items:center;gap:0}.pipeline-node{background:var(--accent-soft);color:var(--text);padding:8px 14px;border-radius:8px;font-size:14px;font-weight:500;white-space:nowrap;border:1px solid transparent}html.dark .pipeline-node{background:#134e4a;border-color:#2dd4bf33}.pipeline-arrow{color:var(--muted);font-size:18px;margin:0 6px}.hero-anim{position:relative;overflow:hidden}.hero-anim-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-dot{position:absolute;border-radius:999px;background:var(--accent);opacity:.18}html.dark .hero-dot{opacity:.25}.hero-dot:first-child{width:14px;height:14px;left:8%;top:22%;animation:hdot0 2.4s ease-in-out 0s infinite}.hero-dot:nth-child(2){width:10px;height:10px;left:26%;top:52%;animation:hdot1 2.4s ease-in-out .3s infinite}.hero-dot:nth-child(3){width:16px;height:16px;left:48%;top:18%;animation:hdot2 2.4s ease-in-out .6s infinite}.hero-dot:nth-child(4){width:11px;height:11px;left:66%;top:58%;animation:hdot3 2.4s ease-in-out .9s infinite}.hero-dot:nth-child(5){width:13px;height:13px;left:82%;top:30%;animation:hdot0 2.4s ease-in-out 1.2s infinite}.hero-dot:nth-child(6){width:9px;height:9px;left:92%;top:62%;animation:hdot2 2.4s ease-in-out .4s infinite}@keyframes hdot0{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes hdot1{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes hdot2{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes hdot3{0%,to{transform:translateY(0)}50%{transform:translateY(9px)}}@media (max-width:920px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.nav-inner{height:auto;padding:10px 0;flex-direction:column;align-items:flex-start}.nav-links{flex-wrap:wrap}.agent-stats{grid-template-columns:repeat(3,1fr)}.pipeline{flex-direction:column;gap:4px}.pipeline-arrow{transform:rotate(90deg)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin-icon{animation:spin 1.5s linear infinite}.discussion-body p:first-child{margin-top:0}.discussion-body p:last-child{margin-bottom:0}.discussion-body{font-size:14px;line-height:1.6}.lab-floor-wrap{position:relative;width:100%;border-radius:14px;overflow:hidden}.lab-floor-canvas{display:block;width:100%;background:var(--bg);border-radius:14px}.lab-floor-tooltip{position:absolute;pointer-events:none;background:var(--card);color:var(--text);font-size:12px;line-height:1.4;padding:6px 10px;border-radius:6px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.12);white-space:pre-line;z-index:10;max-width:220px;opacity:0;transition:opacity .12s}.lab-floor-tooltip.visible{opacity:1}