:root{--teal-900: #0d3d35;--teal-800: #145c52;--teal-700: #1e8a7a;--teal-600: #28a594;--teal-500: #36b5a0;--teal-400: #5ce0c8;--teal-300: #a0f0e0;--gray-950: #0e0e11;--gray-900: #131316;--gray-800: #1b1b1f;--gray-700: #242428;--gray-600: #2e2e33;--gray-500: #555555;--gray-400: #888888;--gray-300: #b0b0b0;--gray-200: #d4d4d4;--gray-100: #ececec;--green-400: #4ade80;--green-600: #16a34a;--amber-400: #fbbf24;--amber-600: #d97706;--red-400: #f87171;--red-600: #dc2626;--purple-400: #c084fc;--sky-400: #38bdf8;--pink-400: #f472b6;--accent: var(--teal-500);--accent-bright: var(--teal-400);--accent-dim: rgba(54, 181, 160, .12);--accent-glow: rgba(54, 181, 160, .25);--bg: var(--gray-950);--surface: var(--gray-900);--surface-raised: var(--gray-800);--surface-overlay: var(--gray-700);--border: var(--gray-700);--border-bright: var(--gray-600);--text-heading: var(--gray-100);--text: var(--gray-200);--text-muted: var(--gray-400);--text-faint: var(--gray-500);--status-active: var(--teal-500);--status-success: var(--green-400);--status-warning: var(--amber-400);--status-error: var(--red-400);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--grid-size: 24px;--dot-color: rgba(54, 181, 160, .06)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-bright)}button{font-family:var(--font-mono);font-size:13px;font-weight:500;background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:8px 16px;cursor:pointer;transition:border-color .15s ease,background .15s ease;letter-spacing:.02em}button:hover{border-color:var(--border-bright);background:var(--surface-overlay)}button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}button.primary:hover{background:var(--accent-bright);border-color:var(--accent-bright)}button.danger{color:var(--status-error);border-color:#f871711a}button.danger:hover{background:#f871711a;border-color:var(--status-error)}button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}input,select,textarea{font-family:var(--font-mono);font-size:13px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:8px 12px;width:100%;transition:border-color .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}input::placeholder{color:var(--text-faint)}h1{font-family:var(--font-mono);font-size:20px;font-weight:700;margin:0 0 24px;letter-spacing:-.01em;color:var(--text)}h2{font-family:var(--font-mono);font-size:12px;font-weight:600;margin:0 0 16px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.app{display:grid;grid-template-columns:240px 1fr;height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar .brand{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--accent);margin-bottom:8px;padding:0 10px}.sidebar .brand .t{color:var(--text)}.sidebar .brand .cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:1px;vertical-align:text-bottom;animation:cursorBlink 1s step-end infinite}.sidebar .role-label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:0 10px;margin-bottom:20px}.sidebar .role-switcher{display:flex;gap:2px;padding:0 10px;margin-bottom:20px}.sidebar .role-switcher button{flex:1;padding:5px 0;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.sidebar .role-switcher button:hover{color:var(--text);border-color:var(--text-faint)}.sidebar .role-switcher button.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.sidebar .group{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;margin:20px 0 6px;padding:0 10px}.sidebar a{display:block;color:var(--text-muted);padding:7px 10px;border-radius:4px;font-size:13px;font-weight:500;border-left:2px solid transparent;transition:all .15s ease}.sidebar a:hover{color:var(--text);background:var(--surface-raised);text-decoration:none}.sidebar a.active{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent)}.sidebar .docs-link{display:flex;align-items:center;gap:6px;color:var(--text-faint);padding:7px 10px;font-size:12px;font-weight:500;transition:color .15s ease}.sidebar .docs-link:hover{color:var(--accent);text-decoration:none}.sidebar .docs-link:after{content:"↗";font-size:10px;opacity:.5}.sidebar .footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.sidebar .footer .user-info{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);word-break:break-all;padding:0 2px;margin-bottom:8px}.sidebar .footer button{width:100%;font-size:12px;padding:6px 12px}.main{overflow:auto;padding:32px 40px;background:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0) 0 0 / var(--grid-size) var(--grid-size)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{margin:0}.page-header .back{font-family:var(--font-mono);font-size:12px;color:var(--text-faint);margin-right:12px;transition:color .15s ease}.page-header .back:hover{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:20px;transition:border-color .15s ease}.card:hover{border-color:var(--border-bright)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px}.metric{position:relative;padding-left:23px}.metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--accent) 0%,transparent 100%);opacity:.5;transition:opacity .2s ease}.metric:hover:before{opacity:1}.metric .label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em}.metric .value{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--text);margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.metric .sub{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);margin-top:2px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}th{font-family:var(--font-mono);font-weight:500;color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.1em}tbody tr{transition:background .1s ease}tbody tr:hover{background:var(--surface-raised)}td{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}td a{color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:3px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge.running,.badge.busy{background:var(--accent-dim);color:var(--accent)}.badge.running:before,.badge.busy:before{background:var(--accent);animation:pulse-dot 2s ease-in-out infinite}.badge.idle,.badge.completed{background:#4ade801a;color:var(--status-success)}.badge.idle:before,.badge.completed:before{background:var(--status-success)}.badge.queued,.badge.pending,.badge.draining,.badge.paused{background:#fbbf241a;color:var(--status-warning)}.badge.queued:before,.badge.pending:before,.badge.draining:before,.badge.paused:before{background:var(--status-warning)}.badge.failed,.badge.cancelled{background:#f871711a;color:var(--status-error)}.badge.failed:before,.badge.cancelled:before{background:var(--status-error)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.progress-bar{height:6px;background:var(--surface-raised);border-radius:3px;overflow:hidden;position:relative}.progress-bar .fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent));border-radius:3px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar .fill:after{content:"";position:absolute;right:0;top:0;width:2px;height:100%;background:#fff;opacity:.6;animation:pulse-edge 1.5s ease-in-out infinite}.progress-bar.complete .fill{background:var(--status-success)}.progress-bar.complete .fill:after{display:none}.progress-bar.failed .fill{background:var(--status-error)}.progress-bar.failed .fill:after{display:none}@keyframes pulse-edge{0%,to{opacity:.3}50%{opacity:.8}}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.live{background:var(--status-success);box-shadow:0 0 6px #4ade801a;animation:breathe 1.5s ease-in-out infinite}.status-dot.stale{background:var(--text-faint);animation:blink-dot 1s step-end infinite}.status-dot.dead{background:var(--status-error)}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:0}}.kbd{font-family:var(--font-mono);font-size:11px;background:var(--surface-raised);border:1px solid var(--border);border-radius:2px;padding:2px 6px;color:var(--accent)}.code{font-family:var(--font-mono);font-size:13px;background:var(--bg);border:1px solid var(--border);border-radius:2px;padding:16px 20px;white-space:pre-wrap;word-break:break-all;line-height:1.8;color:var(--accent)}.login{display:grid;place-items:center;height:100vh;background:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0) 0 0 / var(--grid-size) var(--grid-size)}.login .panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:36px;width:440px;max-width:90vw}.login .panel h1{font-family:var(--font-mono);font-weight:700;font-size:18px;color:var(--accent);margin:0 0 4px}.login .sub{color:var(--text-muted);font-size:13px;margin-bottom:28px}.login .field{margin-bottom:16px}.login .field label{display:block;font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--text-faint);margin-bottom:6px;text-transform:uppercase;letter-spacing:.1em}.login .tabs{display:flex;margin-bottom:28px;border-bottom:1px solid var(--border);gap:0}.login .tabs button{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:10px 8px;color:var(--text-faint);font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;transition:color .15s ease,border-color .15s ease}.login .tabs button:hover{color:var(--text-muted)}.login .tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.error{color:var(--status-error);font-family:var(--font-mono);font-size:12px;margin-top:8px}.loading{color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.empty{color:var(--text-faint);font-size:13px;padding:20px 0}.fade-in{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.capacity-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.capacity-row:last-child{border-bottom:none}.capacity-row .cap-label{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);width:80px;flex-shrink:0}.capacity-row .cap-bar{flex:1;height:8px;background:var(--surface-raised);border-radius:4px;overflow:hidden}.capacity-row .cap-bar .cap-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent));border-radius:4px;transition:width .4s ease}.capacity-row .cap-count{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);width:80px;text-align:right;flex-shrink:0}.landing{min-height:100vh;background:var(--bg);overflow-x:hidden;color:var(--text)}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:transparent;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease}.landing-nav.blurred{background:#0e0e11c7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--border)}.landing-nav .nav-brand{font-family:var(--font-mono);font-weight:700;font-size:15px;color:var(--accent)}.landing-nav .nav-brand .t-char,.landing-nav .nav-brand .t{color:var(--text)}.landing-nav .nav-links{display:flex;align-items:center;gap:28px}.landing-nav .nav-links a{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;transition:color .15s ease}.landing-nav .nav-links a:hover{color:var(--text)}.landing-nav .nav-cta{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--bg)!important;background:var(--accent);padding:6px 16px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;transition:background .15s ease}.landing-nav .nav-cta:hover{background:var(--accent-bright)}.hero-scene-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero-canvas{width:100vw;height:100vh;display:block}.act{position:relative;z-index:1;padding:0 40px;max-width:1200px;margin:0 auto}.act-1{min-height:150vh;display:flex;align-items:center;justify-content:center}.act-1 .act-copy{position:sticky;top:40vh;text-align:center;max-width:640px;margin:0 auto}.version-badge{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:32px;opacity:0;animation:fadeIn .9s ease-out .1s forwards}.hero-title{font-family:var(--font-mono);font-size:clamp(32px,5vw,56px);line-height:1.15;letter-spacing:-.015em;font-weight:700;margin:0 0 40px}.hero-title .hero-line-a,.hero-title .hero-line-b{display:block;opacity:0;transform:translateY(12px);animation:fadeInUp .8s ease-out forwards}.hero-title .hero-line-a{color:var(--text);animation-delay:.25s}.hero-title .hero-line-b{color:var(--text-muted);animation-delay:.5s}.hero-actions{display:flex;gap:16px;justify-content:center;opacity:0;animation:fadeInUp .8s ease-out .75s forwards}.hero-actions .btn-primary,.act-4 .btn-primary,.cta-block .btn-primary{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--bg);background:var(--accent);padding:12px 28px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;display:inline-block;transition:background .15s ease,box-shadow .15s ease;animation:cta-glow 3s ease-in-out infinite}.hero-actions .btn-primary:hover,.act-4 .btn-primary:hover,.cta-block .btn-primary:hover{background:var(--accent-bright)}@keyframes cta-glow{0%,to{box-shadow:0 0 20px #36b5a01a}50%{box-shadow:0 0 30px #36b5a038}}.hero-actions .btn-secondary,.act-4 .btn-secondary,.cta-block .btn-secondary{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-muted);border:1px solid var(--border);padding:12px 28px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;display:inline-block;transition:border-color .15s ease,color .15s ease}.hero-actions .btn-secondary:hover,.act-4 .btn-secondary:hover,.cta-block .btn-secondary:hover{border-color:var(--border-bright);color:var(--text)}.scroll-hint{margin-top:56px;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;opacity:0;animation:fadeIn .9s ease-out 1.2s forwards}.scroll-arrow{font-size:14px;animation:bounceDown 1.6s ease-in-out infinite}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes bounceDown{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(6px);opacity:1}}.act-2{min-height:100vh;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18vh}.mesh-caption{font-family:var(--font-mono);font-size:15px;color:var(--text-muted);text-align:center;opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}.mesh-caption.visible{opacity:1;transform:translateY(0)}.act-mobile-mesh{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:140px}.mesh-static{width:min(420px,90vw);height:auto;aspect-ratio:1;filter:drop-shadow(0 0 40px rgba(54,181,160,.12));margin-bottom:24px}.mesh-static-edge{stroke:var(--accent);stroke-width:.8;opacity:.6}.mesh-static-node{fill:#5ce0c8}.mesh-static-hub{fill:#7af2dc}.mesh-static-label{font-family:var(--font-mono);font-size:7px;fill:var(--text-faint)}.act-mobile-mesh .mesh-caption{opacity:1;transform:none}.act-3{padding-top:120px;padding-bottom:80px;background:var(--bg)}.section-head{text-align:center;margin-bottom:56px}.section-head h2{font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--text);letter-spacing:-.01em;margin:0 0 12px}.section-head .section-sub{font-size:14px;color:var(--text-muted);max-width:540px;margin:0 auto;line-height:1.7}.topo{position:relative;border:1px solid var(--border);border-radius:4px;background:var(--surface);overflow:hidden;margin:0 auto 64px;opacity:0;transform:scale(.95);filter:blur(6px);transition:opacity .7s ease,transform .7s ease,filter .7s ease}.topo.visible{opacity:1;transform:scale(1);filter:blur(0)}.topo-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg)}.topo-title{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent)}.topo-status{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.topo-stage3d{position:relative;perspective:1400px;padding:28px 16px 48px;min-height:580px;overflow:hidden}.topo-stage3d>*{transform:rotateX(4deg);transform-origin:center top}.topo-svg{width:100%;height:auto;display:block}.topo-stage-label{font-family:var(--font-mono);font-size:10px;fill:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.topo-branch{fill:none;stroke:var(--border);stroke-width:1.2;opacity:.55;transition:stroke .3s ease,stroke-width .3s ease,opacity .3s ease,filter .3s ease}.topo-branch.branch-fwd,.topo-branch.branch-bwd,.topo-branch.branch-active{stroke:var(--accent);stroke-width:2;opacity:1;filter:drop-shadow(0 0 4px rgba(92,224,200,.55))}.flow-dot{fill:var(--accent)}.flow-dot.flow-bwd{fill:var(--accent-bright)}.topo-tp-line{stroke:var(--status-warning);stroke-width:1;stroke-dasharray:4 4;opacity:.4;transition:stroke-width .3s ease,opacity .3s ease}.topo-tp-line.tp-active{stroke-width:2;opacity:1;animation:tpPulse .6s ease-in-out infinite alternate}@keyframes tpPulse{0%{opacity:.55}to{opacity:1}}.topo-hub{fill:#7af2dc;filter:drop-shadow(0 0 8px rgba(122,242,220,.7));animation:hubPulse 2s ease-in-out infinite}.topo-hub-halo{fill:#5ce0c826}@keyframes hubPulse{0%,to{opacity:1}50%{opacity:.7}}.topo-hub-label{font-family:var(--font-mono);font-size:10px;fill:var(--accent);text-transform:uppercase;letter-spacing:.1em}.topo-nodes{position:absolute;top:28px;left:16px;right:16px;aspect-ratio:920 / 520;pointer-events:none;transform:rotateX(4deg);transform-style:preserve-3d;transform-origin:center top}.topo-node{position:absolute;width:88px;transform:translate(-50%,-50%);text-align:center;transform-style:preserve-3d;transition:opacity .3s ease,transform .3s ease}.topo-node.node-leaf .node-circle{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.node-circle{width:72px;height:72px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.node-gpu{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text);line-height:1.2}.node-vram{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);margin-top:2px}.node-caption{font-family:var(--font-mono);font-size:9px;color:var(--text-faint);margin-top:8px;letter-spacing:.02em}.node-rank{font-family:var(--font-mono);font-size:8px;color:var(--text-faint);opacity:.6;margin-top:2px;text-transform:lowercase}.topo-node.node-active .node-circle{border-color:var(--accent);box-shadow:0 0 18px #5ce0c859,inset 0 0 12px #5ce0c833;background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.topo-legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg)}.topo-legend span{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);display:inline-flex;align-items:center;gap:6px}.topo-legend .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.topo-legend .fwd-dot{background:var(--accent)}.topo-legend .bwd-dot{background:var(--accent-bright)}.topo-legend .tp-dot{background:var(--status-warning)}.topo-legend .tp0-dot{background:var(--text)}.topo-legend .tp1-dot{background:var(--text-faint)}.topo-legend-sep{color:var(--border)!important}.topo.cg .topo-stage3d.cg-stage{perspective:none;padding:24px 20px 32px;min-height:600px}.topo.cg .topo-stage3d.cg-stage>*{transform:none;transform-origin:initial}.cg-svg{width:100%;height:auto;display:block}.cg-code-bg{fill:#0a1618;stroke:var(--border);stroke-width:1}.cg-code-sep{stroke:var(--border);stroke-width:1;opacity:.7}.cg-code-filename{font-family:var(--font-mono);font-size:11px;fill:var(--text-faint);letter-spacing:.06em;text-transform:lowercase}.cg-code-ln{font-family:var(--font-mono);font-size:11px;fill:color-mix(in srgb,var(--text-faint) 55%,transparent)}.cg-code-line{font-family:var(--font-mono);font-size:12px;fill:var(--text-muted);white-space:pre}.cg-line{opacity:0;transition:opacity .18s ease}.cg-line.on{opacity:1}.cg-tok-kw{fill:#7fcff4}.cg-tok-fn{fill:var(--accent)}.cg-tok-var{fill:#e0c87a}.cg-tok-num{fill:#c3a4ff}.cg-region{opacity:.55;transition:opacity .3s ease,stroke-width .3s ease;stroke-width:1}.cg-region.strong{opacity:1;stroke-width:1.5}.cg-region-0{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:color-mix(in srgb,var(--accent) 55%,transparent)}.cg-region-1{fill:color-mix(in srgb,#7fcff4 12%,transparent);stroke:color-mix(in srgb,#7fcff4 55%,transparent)}.cg-region-2{fill:color-mix(in srgb,#e0c87a 12%,transparent);stroke:color-mix(in srgb,#e0c87a 55%,transparent)}.cg-region-3{fill:color-mix(in srgb,#c3a4ff 12%,transparent);stroke:color-mix(in srgb,#c3a4ff 55%,transparent)}.cg-region.strong.cg-region-0{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 45%,transparent))}.cg-region.strong.cg-region-1{filter:drop-shadow(0 0 5px color-mix(in srgb,#7fcff4 45%,transparent))}.cg-region.strong.cg-region-2{filter:drop-shadow(0 0 5px color-mix(in srgb,#e0c87a 45%,transparent))}.cg-region.strong.cg-region-3{filter:drop-shadow(0 0 5px color-mix(in srgb,#c3a4ff 45%,transparent))}.cg-node-ring{fill:var(--surface);stroke:var(--border);stroke-width:1.5;transition:stroke .3s ease,fill .3s ease,filter .3s ease}.cg-node.placed .cg-node-ring{stroke:var(--accent);fill:color-mix(in srgb,var(--accent) 10%,var(--surface))}.cg-node.active .cg-node-ring{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 55%,transparent))}.cg-node-label{font-family:var(--font-mono);font-size:10px;fill:var(--text-faint);opacity:.6;transition:opacity .3s ease,fill .3s ease}.cg-node.placed .cg-node-label{opacity:1;fill:var(--text)}.cg-node-sub{font-family:var(--font-mono);font-size:8px;fill:var(--text-faint);opacity:0;transition:opacity .3s ease}.cg-node.placed .cg-node-sub{opacity:.75}.cg-tile-layer{position:absolute;top:24px;left:20px;right:20px;aspect-ratio:960 / 560;pointer-events:none}.cg-tile{position:absolute;transform:translate(-50%,-50%);padding:3px 9px;background:color-mix(in srgb,var(--accent) 22%,var(--surface));border:1px solid var(--accent);border-radius:3px;font-family:var(--font-mono);font-size:10px;color:var(--text);white-space:nowrap;opacity:0;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent);transition:left .82s cubic-bezier(.5,.05,.45,1),top .82s cubic-bezier(.5,.05,.45,1),opacity .2s ease}.cg-tile.in-flight{opacity:1;animation:cgTileFade .82s ease forwards}@keyframes cgTileFade{0%{opacity:0}12%{opacity:1}85%{opacity:1}to{opacity:0}}.code-grid{display:grid;grid-template-columns:3fr 2fr;gap:40px;align-items:start}.code-col{display:flex;flex-direction:column;gap:20px;opacity:0;transform:translate(-16px);animation:codeSlideIn .7s ease-out .1s forwards}.prose-col{display:flex;flex-direction:column;gap:96px;padding-top:12px;opacity:0;animation:fadeIn .8s ease-out .35s forwards}.prose-col p{font-family:var(--font-body);font-size:13px;color:var(--text-muted);line-height:1.7;margin:0}@keyframes codeSlideIn{to{opacity:1;transform:translate(0)}}.code-block{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:18px 22px;margin:0;font-family:var(--font-mono);font-size:12.5px;color:var(--text-muted);line-height:1.7;overflow-x:auto}.code-block code{font-family:inherit;font-size:inherit}.code-block .kw{color:var(--accent);font-weight:600}.code-block .fn{color:var(--accent-bright);font-weight:600}.code-block .st{color:var(--status-warning)}.code-block .cm{color:var(--text-faint);font-style:italic}.code-block .sh-prompt{color:var(--accent);font-weight:700;-webkit-user-select:none;user-select:none}.code-block .sh-cmd{color:var(--text)}.act-4{padding-top:80px;padding-bottom:80px;text-align:center}.install-row{display:flex;justify-content:center;margin-bottom:48px}.install-wrap .install-code{position:relative;display:inline-flex;align-items:center;padding:14px 56px 14px 28px;font-size:14px;background:var(--bg);border:1px solid var(--border)}.copy-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:10px;color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:3px;padding:4px 8px;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.install-wrap .install-code:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--text);border-color:var(--border-bright)}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:900px;margin:0 auto 64px}.stat-item{text-align:center;padding:22px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.stat-item .stat-value{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.stat-item .stat-label{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.cta-block{margin-top:12px}.cta-title{font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--text);margin:0 0 24px}.cta-actions{display:flex;justify-content:center;gap:16px}.landing-footer{position:relative;z-index:1;border-top:1px solid var(--border);padding:28px 40px;display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.landing-footer .footer-brand{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--text-faint)}.landing-footer .footer-brand .t{color:var(--text-muted)}.landing-footer .footer-links{display:flex;gap:24px}.landing-footer .footer-links a{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;text-decoration:none}.landing-footer .footer-links a:hover{color:var(--text-muted)}.landing-footer .footer-copy{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.logo-animated{display:inline-block;font-family:var(--font-mono);font-weight:700;letter-spacing:-.01em;transform-origin:left center;animation:logoHeartbeat 2.2s ease-in-out 1.2s infinite}.logo-animated .logo-char{display:inline-block;opacity:0;transform:translate(-6px);animation:logoCharIn .32s ease-out forwards}.logo-animated .logo-char.t-char{color:var(--text)}.logo-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:1px;vertical-align:text-bottom;animation:cursorBlink 1s step-end infinite}@keyframes logoCharIn{to{opacity:1;transform:translate(0)}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes logoHeartbeat{0%,40%,to{transform:scale(1)}10%{transform:scale(1.028)}20%{transform:scale(1)}28%{transform:scale(1.018)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.visible:not(.topo){opacity:1;transform:translateY(0)}@media (max-width: 900px){.code-grid{grid-template-columns:1fr}.prose-col{gap:24px;padding-top:0}.stats-bar{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.landing-nav{padding:12px 20px}.landing-nav .nav-links{gap:14px}.landing-nav .nav-links a:not(.nav-cta){display:none}.act{padding:0 24px}.act-1{min-height:90vh}.act-1 .act-copy{top:30vh}.hero-title{font-size:30px}.topo-stage3d{min-height:420px}.stats-bar{grid-template-columns:1fr 1fr}.cta-actions{flex-direction:column;align-items:center}.landing-footer{flex-direction:column;gap:12px;padding:24px;text-align:center}}.dashboard{display:flex;flex-direction:column;gap:20px}.metric-strip{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}.metric-cell{background:var(--surface);padding:14px 18px;display:flex;flex-direction:column;gap:2px}.metric-cell .metric-label{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.metric-cell .metric-value{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}.metric-cell .metric-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-faint)}.metric-filter{background:var(--surface);display:flex;align-items:center;padding:10px 12px;gap:4px}.metric-filter button{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:transparent;border:1px solid var(--border);color:var(--text-faint);padding:6px 10px;border-radius:3px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.metric-filter button:hover{color:var(--text);border-color:var(--border-bright)}.metric-filter button.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.mesh-hero{position:relative;height:58vh;min-height:420px;background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden}.live-mesh{position:absolute;top:0;right:0;bottom:0;left:0}.live-mesh-canvas{width:100%;height:100%;display:block;cursor:grab}.live-mesh-legend{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:18px;padding:8px 14px;background:#0e0e11a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:20px;pointer-events:none}.live-mesh-legend span{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);display:inline-flex;align-items:center;gap:5px}.live-mesh-legend .dot{width:7px;height:7px;border-radius:50%}.live-mesh-legend .dot-busy{background:#5ce0c8}.live-mesh-legend .dot-idle{background:#36b5a0;opacity:.55}.live-mesh-legend .dot-offline{background:#555c66}.live-mesh-legend .dot-mine{background:var(--status-warning)}.run-chips{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:0 16px;max-width:80%}.run-chip{font-family:var(--font-mono);font-size:11px;background:#0e0e11b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-muted);padding:6px 12px;border-radius:20px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:border-color .15s ease,color .15s ease,background .15s ease}.run-chip:hover{border-color:var(--border-bright);color:var(--text)}.run-chip.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,rgba(14,14,17,.7))}.run-chip.mine{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-warning) 50%,transparent)}.run-chip .chip-id{color:var(--text);font-weight:600}.run-chip.active .chip-id{color:var(--accent)}.run-chip .chip-step{color:var(--text-faint);font-variant-numeric:tabular-nums}.mesh-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--text-muted)}.mesh-empty-icon{font-size:48px;color:var(--accent);margin-bottom:16px;opacity:.6}.mesh-empty h2{font-family:var(--font-mono);font-size:18px;color:var(--text);margin:0 0 12px}.mesh-empty p{max-width:420px;font-size:13px;line-height:1.6;margin:0 0 24px}.mesh-empty-actions{display:flex;gap:12px}.dash-split{display:grid;grid-template-columns:3fr 2fr;gap:16px;align-items:stretch;min-height:380px}.activity-feed{background:var(--surface);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;overflow:hidden}.feed-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--border)}.feed-title{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent)}.feed-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-faint)}.feed-body{flex:1;overflow-y:auto;max-height:420px}.feed-empty{padding:24px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.feed-row{width:100%;display:flex;align-items:center;gap:10px;padding:8px 16px;border:0;background:transparent;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);cursor:pointer;text-align:left;transition:background .15s ease}.feed-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.feed-row:last-child{border-bottom:none}.feed-time{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);font-variant-numeric:tabular-nums;min-width:64px}.feed-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.feed-row.kind-worker-offline .feed-dot{background:var(--status-error)}.feed-row.kind-worker-new .feed-dot{background:var(--accent-bright)}.feed-row.kind-run-status .feed-dot{background:var(--status-warning)}.feed-text{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.feed-row:hover .feed-text{color:var(--text)}.dash-panel-col{display:flex}.side-panel{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;overflow:hidden}.side-panel-head{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 16px;background:var(--bg);border-bottom:1px solid var(--border);gap:8px}.side-panel-kicker{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;margin-bottom:4px}.side-panel-title{font-family:var(--font-mono);font-size:14px;color:var(--text);font-weight:600;display:inline-flex;align-items:center;gap:8px}.side-panel-title code{font-family:var(--font-mono);color:var(--accent)}.side-panel-close{background:transparent;border:1px solid var(--border);color:var(--text-faint);font-size:16px;line-height:1;width:26px;height:26px;border-radius:3px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.side-panel-close:hover{color:var(--text);border-color:var(--border-bright)}.side-panel-body{padding:16px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.panel-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.panel-label{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.panel-value{font-size:13px;color:var(--text)}.panel-value.mono{font-family:var(--font-mono)}.panel-value.accent{color:var(--accent);font-weight:600}.panel-value .muted{color:var(--text-faint)}.panel-sparkline{display:flex;flex-direction:column;gap:6px}.spark-label{display:flex;align-items:center;gap:6px}.spark-svg{width:100%;height:48px}.spark-svg path{fill:none;stroke:var(--accent);stroke-width:1.5}.spark-svg path.spark-alt{stroke:var(--accent-bright)}.panel-empty{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);padding:8px 0}.panel-actions{display:flex;gap:8px;margin-top:8px}.panel-btn{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:8px 14px;border-radius:3px;text-decoration:none;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.panel-btn:hover{color:var(--text);border-color:var(--border-bright)}.panel-btn.primary{color:var(--bg);background:var(--accent);border-color:var(--accent)}.panel-btn.primary:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.empty-panel .empty-hint{font-size:13px;color:var(--text-muted);line-height:1.6;margin:0}.empty-panel .empty-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.empty-panel .empty-stats>div{border:1px solid var(--border);border-radius:3px;padding:12px;text-align:center}.empty-panel .empty-stats .n{display:block;font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--text)}.empty-panel .empty-stats .l{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}@media (max-width: 1100px){.metric-strip{grid-template-columns:repeat(3,1fr)}.metric-filter{grid-column:1 / -1;justify-content:flex-end}}@media (max-width: 768px){.metric-strip{grid-template-columns:1fr 1fr}.dash-split{grid-template-columns:1fr}.mesh-hero{height:50vh}.run-chips{max-width:100%}}.ascii-logo-row{display:flex;justify-content:center;margin-bottom:28px;padding:0 16px;overflow-x:auto}.ascii-logo{font-family:var(--font-mono);font-size:16px;line-height:1.15;font-weight:600;margin:0;text-align:left;white-space:pre;letter-spacing:0;color:var(--accent);animation:ascii-logo-fade 1.1s ease-out both}.ascii-logo code{display:block;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;background:transparent}.ascii-logo-tagline{display:block;margin-top:10px;text-align:center;font-size:11px;letter-spacing:.14em;color:var(--text-faint);text-transform:lowercase;text-shadow:none}@keyframes ascii-logo-fade{0%{opacity:0;transform:translateY(6px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media (max-width: 720px){.ascii-logo{font-size:10px}.ascii-logo-tagline{font-size:10px;letter-spacing:.1em}}
