:root{--primary:#78716c;--secondary:#a8a29e;--tertiary:#1c1917;--bg:#fafaf9;--surface:#f5f5f4;--surface-raised:#efedeb;--panel:#fff;--panel-2:#f5f5f4;--text-primary:#1c1917;--text-secondary:#57534e;--text-tertiary:#a8a29e;--border-subtle:#e7e5e4;--border-medium:#d6d3d1;--border-strong:#a8a29e;--line:#e7e5e4;--ink:#1c1917;--dim:#57534e;--accent:#78716c;--ok:#65a30d;--warn:#ca8a04;--bad:#dc2626;--font-display:"Libre Baskerville", Georgia, "Times New Roman", serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, sans-serif;--mono:"Source Code Pro", "JetBrains Mono", "Fira Code", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text-primary);font:14px/1.6 var(--sans);font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.studio{flex-direction:column;gap:12px;max-width:1720px;min-height:100vh;margin:0 auto;padding:16px 24px 24px;display:flex}.studio-top{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:6px 0 12px;display:flex}.studio-brand h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--tertiary);margin:0;font-size:24px;font-weight:700}.studio-header-right{align-items:center;gap:10px;display:flex}.webmcp-status-pill{letter-spacing:.01em;border-radius:0;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.webmcp-status-pill.is-connected{background:var(--panel);border:1px solid var(--border-medium);color:var(--primary);justify-content:center;width:28px;height:28px;padding:0;transition:all .12s}.webmcp-status-pill.is-connected:hover{background:var(--surface);border-color:var(--primary);color:var(--tertiary)}.webmcp-status-pill.is-disconnected{color:var(--warn);background:#fefce8;border:1px solid #fef08a}.webmcp-status-pill .status-icon{flex-shrink:0}.webmcp-status-pill .status-dot{background:var(--warn);border-radius:9999px;width:6px;height:6px}.info-popover-anchor{align-items:center;display:inline-flex;position:relative}.info-toggle-btn{background:var(--panel);border:1px solid var(--border-medium);width:28px;height:28px;color:var(--dim);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.info-toggle-btn:hover,.info-toggle-btn.is-active{background:var(--surface);color:var(--ink);border-color:var(--primary)}.info-popover-card{background:var(--panel);border:1px solid var(--border-medium);width:290px;box-shadow:none;z-index:100;border-radius:0;padding:16px;position:absolute;top:calc(100% + 8px);right:0}.popover-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.popover-header strong{font-family:var(--font-display);color:var(--tertiary);font-size:14px;font-weight:700}.popover-close{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:0;padding:2px 4px;font-size:12px}.popover-close:hover{background:var(--surface);color:var(--ink)}.popover-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:12.5px;display:flex}.popover-label{color:var(--text-secondary)}.popover-val{color:var(--text-primary);font-weight:500}.fixture-badge{color:var(--warn);text-transform:uppercase;letter-spacing:.04em;background:#fefce8;border:1px solid #fef08a;border-radius:0;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.popover-note{border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin:12px 0 0;padding-top:8px;font-size:11.5px;line-height:1.5}.studio-body{flex:1;grid-template-columns:minmax(0,1fr) 320px;gap:16px;min-height:0;display:grid}.canvas-pane{background:var(--panel);border:1px solid var(--border-subtle);border-radius:0;flex-direction:column;min-width:0;min-height:520px;padding:16px 18px 14px;display:flex}.canvas-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-left button,.mode-toggle button{align-items:center;gap:6px;display:inline-flex}.toolbar-right{align-items:center;gap:8px;display:flex}.icon-only-btn{background:var(--panel);border:1px solid var(--border-medium);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0;transition:all .1s;display:inline-flex}.icon-only-btn:hover:not(:disabled){background:var(--surface);border-color:var(--primary);color:var(--tertiary)}.canvas-hint{color:var(--text-secondary);margin:6px 0 10px;font-size:13.5px;line-height:1.5}.mode-toggle{border:1px solid var(--border-medium);border-radius:0;margin-right:4px;display:inline-flex;overflow:hidden}.mode-toggle button{border:none;border-radius:0;margin:0;padding:6px 14px;font-size:13px;font-weight:500}.studio-rail{flex-direction:column;gap:12px;min-width:0;max-height:calc(100vh - 84px);display:flex;overflow:auto}.rail-block,.sim-strip,.activity-strip{background:var(--panel);border:1px solid var(--border-subtle);border-radius:0;padding:16px 18px}.rail-block h2,.sim-strip h2,.activity-strip h2{font-family:var(--font-display);color:var(--tertiary);letter-spacing:-.01em;margin:0 0 10px;font-size:14px;font-weight:700}.bottleneck-card{background:var(--surface);border:1px solid var(--border-medium);border-radius:0;margin:12px 0 0;padding:14px 16px}.bottleneck-card .stat-value{font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--tertiary);margin:4px 0 6px;font-size:17px;font-weight:650;display:block}.sim-strip.has-run .sim-result{grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);align-items:start;gap:20px;display:grid}.sim-strip.is-empty{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sim-strip.is-empty .sim-empty{margin:0}.sim-actions .buttons{margin-bottom:0}.sim-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 12px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:0;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:11px;font-weight:600}.kpi-val{font-family:var(--sans);color:var(--tertiary);font-variant-numeric:tabular-nums;font-size:16px;font-weight:650;line-height:1.25}.kpi-val.ok{color:var(--ok)}.kpi-val.bad{color:var(--bad)}.kpi-sub{color:var(--text-secondary);font-size:12px;font-weight:450}.status-kpi .status-val{letter-spacing:.04em;font-size:13.5px;font-weight:700}.sim-kpis.healthy .status-val{color:var(--ok)}.sim-kpis.degraded .status-val{color:var(--warn)}.sim-kpis.failing .status-val{color:var(--bad)}.bottleneck-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:2px;font-size:11px;font-weight:600;display:block}.bottleneck-desc{color:var(--text-secondary);margin:4px 0 0;font-size:12.5px;line-height:1.45}.activity-strip{max-height:220px;overflow:auto}.footer-hint{color:var(--text-secondary);border-top:1px solid var(--border-subtle);text-align:center;max-width:820px;margin:18px auto 6px;padding-top:14px;font-size:12.5px;line-height:1.5}.count{background:var(--surface);border:1px solid var(--border-medium);font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--text-primary);border-radius:0;margin-left:6px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:8px 0;font-size:13.5px;display:flex}.row:last-of-type{border-bottom:none}.row-label{color:var(--text-secondary);flex-shrink:0}.row-value{text-align:right;word-break:break-word;color:var(--text-primary);font-weight:500}.row-value.ok{color:var(--ok)}.row-value.bad{color:var(--bad)}.hint{color:var(--text-secondary);margin:0 0 10px;font-size:13px;line-height:1.55}.demo-prompt{font-size:12px;font-family:var(--mono);background:var(--surface);border:1px solid var(--border-subtle);border-radius:0;margin-top:8px;padding:8px 10px}.inspect-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.kind-chip{border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.inspect-name{font-family:var(--font-display);color:var(--tertiary);font-size:16px;font-weight:700}.inspect-kind{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat-grid{background:var(--surface);border:1px solid var(--border-subtle);border-radius:0;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;padding:12px 14px;display:grid}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.stat-value{font-family:var(--sans);color:var(--tertiary);letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:650;line-height:1.25}.stat-note{color:var(--text-tertiary);font-size:11.5px}.untrusted-notes{color:var(--warn);background:#fefce8;border:1px solid #fef08a;border-radius:0;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.buttons{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}button{background:var(--panel);color:var(--primary);border:1px solid var(--border-medium);font-size:13px;font-weight:600;font-family:var(--sans);cursor:pointer;border-radius:0;padding:7px 16px;transition:all .1s}button:hover:not(:disabled){background:var(--surface);border-color:var(--primary);color:var(--tertiary)}button:disabled{opacity:.4;cursor:not-allowed}button.ghost{border:1px solid var(--border-medium);color:var(--text-secondary);background:0 0}button.ghost:hover:not(:disabled){background:var(--surface);border-color:var(--primary);color:var(--tertiary)}button.primary{background:var(--primary);color:var(--bg);border:1px solid var(--primary)}button.primary:hover:not(:disabled){color:var(--bg);background:#57534e;border-color:#57534e}button.is-active{background:var(--primary);color:var(--bg);border-color:var(--primary)}code{font-family:var(--mono);background:var(--surface);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:0;padding:2px 6px;font-size:12px}.banner{color:#713f12;background:#fefce8;border:1px solid #fef08a;border-radius:0;padding:12px 16px;font-size:13px;line-height:1.5}.proposal{border:1px solid var(--border-subtle);background:var(--surface);border-radius:0;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;padding:12px 14px;display:flex}.proposal .buttons{flex-direction:column;margin:0}.proposal-title{font-family:var(--font-display);color:var(--tertiary);margin-top:4px;font-size:14px;font-weight:700}.proposal-meta{color:var(--text-secondary);font-size:12px}.status.draft{color:var(--warn);text-transform:uppercase;font-size:11px;font-weight:600}.status.applied{color:var(--ok);text-transform:uppercase;font-size:11px;font-weight:600}.status.rejected{color:var(--text-tertiary);text-transform:uppercase;font-size:11px;font-weight:600}.activity{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr auto auto;gap:4px 10px;padding:8px 0;font-size:12px;display:grid}.activity-name{font-family:var(--mono);color:var(--primary);font-weight:600}.activity .preview{color:var(--text-secondary);font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;overflow:hidden}.activity.error .activity-name{color:var(--bad)}.dim{color:var(--text-secondary);font-family:var(--mono)}a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}a:hover{color:var(--tertiary)}.causal{margin:10px 0;padding-left:20px;font-size:13px;line-height:1.6}.causal li{margin-bottom:4px}.causal li::marker{color:var(--text-secondary)}.changes{color:var(--text-secondary);margin:8px 0 6px;padding-left:20px;font-size:12px}.changes code{color:var(--primary);background:0 0;border:none;padding:0}.canvas-wrapper{background:var(--panel);flex:1;width:100%;display:flex;position:relative;overflow:hidden}.canvas-zoom-controls{background:var(--panel);border:1px solid var(--border-medium);z-index:10;border-radius:0;align-items:center;display:inline-flex;position:absolute;bottom:12px;left:12px}.zoom-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;min-width:30px;height:30px;padding:6px 10px;font-size:13px;font-weight:600;transition:all .1s;display:inline-flex}.zoom-btn:hover{background:var(--surface);color:var(--tertiary)}.zoom-btn.zoom-level{font-family:var(--sans);color:var(--text-primary);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;padding:4px 8px;font-size:11.5px;font-weight:550}.arch-svg{flex:1;width:100%;height:auto;min-height:440px;display:block}.lane-title{fill:var(--tertiary);letter-spacing:.05em;font-size:12px;font-weight:700;font-family:var(--font-display)}.lane-desc{fill:var(--text-secondary);font-size:11px;font-weight:400;font-family:var(--sans)}.lane-divider{stroke:var(--border-subtle);stroke-width:1px;stroke-dasharray:4 4}.edge-sync{stroke:#a8a29e;stroke-width:1.5px}.edge-async{stroke:#a8a29e;stroke-width:1.5px;stroke-dasharray:5 4}.edge-arrow{fill:#a8a29e}.edge-pill{fill:var(--panel);stroke:var(--border-medium);stroke-width:1px;pointer-events:none;border-radius:0}.edge-label{fill:var(--text-secondary);font-size:11px;font-weight:600;font-family:var(--sans);pointer-events:none}.edge-dim{opacity:.25}.packet{fill:var(--primary)}.arch-node{cursor:pointer}.arch-node .node-card{fill:var(--panel);stroke:var(--border-medium);stroke-width:1.25px}.arch-node .node-icon{stroke:none}.arch-node .node-name{fill:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:600;font-family:var(--sans)}.arch-node .node-cap{fill:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--sans);font-variant-numeric:tabular-nums}.arch-node .port{fill:var(--panel);stroke:#a8a29e;stroke-width:1.25px}.arch-node .node-util{fill:var(--primary)}.arch-node.is-dim{opacity:.35}.arch-node.is-selected .node-card{stroke:var(--tertiary);stroke-width:2.2px}.arch-node.is-inspect .node-card{stroke:var(--primary);stroke-width:2.2px}.arch-node.heat-ok .node-card{stroke:#a3e635}.arch-node.heat-ok .node-util{fill:var(--ok)}.arch-node.heat-warn .node-card{stroke:#facc15}.arch-node.heat-warn .node-util{fill:var(--warn)}.arch-node.heat-bad .node-card{fill:#fef2f2;stroke:var(--bad)}.arch-node.heat-bad .node-util{fill:var(--bad)}.arch-node:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){.packet{display:none}}@media (width<=960px){.studio-body{grid-template-columns:1fr}.studio-rail{max-height:none}}@media (width<=640px){.row{flex-direction:column;gap:2px}.row-value{text-align:left}.proposal{flex-direction:column}}.page{max-width:940px;margin:0 auto;padding:32px 20px 80px}.page header h1{font-family:var(--font-display);color:var(--tertiary);margin:0 0 4px;font-size:24px;font-weight:700}.page header p{color:var(--text-secondary);margin:0 0 28px}.page section{background:var(--panel);border:1px solid var(--border-subtle);border-radius:0;margin-bottom:20px;padding:20px 24px}.tool{border:1px solid var(--border-subtle);background:var(--surface);border-radius:0;margin-bottom:14px;padding:16px}.tool-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-head code{color:var(--tertiary);background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{border:1px solid var(--border-medium);color:var(--text-secondary);font-size:11px;font-family:var(--mono);border-radius:0;padding:2px 8px}.badge.ro{color:var(--ok);background:#f0fdf4;border-color:#bbf7d0}.badge.untrusted{color:var(--warn);background:#fefce8;border-color:#fef08a}.tool-desc{color:var(--text-secondary);margin:10px 0 12px;font-size:13px;line-height:1.5}textarea{background:var(--panel);width:100%;color:var(--text-primary);border:1px solid var(--border-medium);font-family:var(--mono);resize:vertical;border-radius:0;padding:10px 12px;font-size:12.5px}textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--primary);outline:none}.tool-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.via{color:var(--text-secondary);font-size:12px;font-family:var(--mono)}.result,pre.result{background:var(--surface);border:1px solid var(--border-subtle);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:0;max-height:380px;margin:12px 0 0;padding:12px 14px;font-size:12.5px;overflow:auto}
