:root{--ink:#000;--paper:#fff;--ink-64:rgba(0,0,0,0.64);--ink-46:rgba(0,0,0,0.46);--rule:rgba(0,0,0,0.14);--rule-hard:#000;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--row-h:44px;--pad-y:12px;--radius:0;--hair:1px;--focus:2px;--lab-size:12px;--lab-track:0.10em;--t-fast:120ms;--t-base:180ms;--ease:cubic-bezier(0.2,0,0,1);--z-board:0;--z-sticky:10;--z-drawer:20;--z-scrim:30;--z-modal:40;--z-toast:50;--scrim:rgba(0,0,0,0.44);--hue-indigo:#264E8E;--hue-orange:#E74403;--hue-teal:#00879B;--hue-magenta:#A61240;--f-display:"Poppins",ui-sans-serif,system-ui,-apple-system,sans-serif;--f-body:"Inter Tight",ui-sans-serif,system-ui,-apple-system,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;--bg:var(--paper);--panel:var(--paper);--panel-2:rgba(0,0,0,0.03);--border:var(--rule);--border-bright:var(--rule-hard);--text:var(--ink);--muted:var(--ink-64);--dim:var(--ink-46);--mono:var(--f-mono);--accent:var(--ink);--accent-ink:var(--ink);--accent-dim:var(--paper);--good:transparent;--good-ink:var(--ink);--warn:var(--ink);--warn-ink:var(--ink);--bad:var(--ink);--bad-ink:var(--ink);--ico-model:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M12 12h40v40H12zM24 24h16v16H24zM18 2h6v10h-6zM29 2h6v10h-6zM40 2h6v10h-6zM18 52h6v10h-6zM29 52h6v10h-6zM40 52h6v10h-6zM2 18h10v6H2zM2 29h10v6H2zM2 40h10v6H2zM52 18h10v6H52zM52 29h10v6H52zM52 40h10v6H52z'/%3E%3C/svg%3E");--ico-instructions:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M10 2h30l14 14v46H10zM40 2v14h14zM18 26h28v5H18zM18 37h28v5H18zM18 48h18v5H18z'/%3E%3C/svg%3E");--ico-tools:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M16 16h32v32H16zM27 27h10v10H27zM25 4h14v12H25zM25 48h14v12H25zM4 25h12v14H4zM48 25h12v14H48zM4 4h12v12H4zM48 4h12v12H48zM4 48h12v12H4zM48 48h12v12H48z'/%3E%3C/svg%3E");--ico-knowledge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M20 10h26v11H20zM13 25h40v11H13zM6 40h50v11H6zM6 55h50v5H6z'/%3E%3C/svg%3E");--ico-memory:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 14h56v28H4zM12 20h5v16h-5zM23 20h5v16h-5zM34 20h5v16h-5zM45 20h5v16h-5zM10 42h8v8h-8zM28 42h8v8h-8zM46 42h8v8h-8z'/%3E%3C/svg%3E");--ico-orchestration:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M24 2h16v16H24zM30 18h4v12h-4zM8 30h48v4H8zM10 34h4v6h-4zM30 34h4v6h-4zM50 34h4v6h-4zM4 40h16v16H4zM24 40h16v16H24zM44 40h16v16H44z'/%3E%3C/svg%3E");--ico-quality:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 4h56v56H4zM15 32l5-5 7 7 17-17 5 5-22 22z'/%3E%3C/svg%3E");--ico-policy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M6 14h52v6H6zM30 20h4v30h-4zM16 50h32v7H16zM11 20h2v6h-2zM51 20h2v6h-2zM2 26h22l-5 12H7zM40 26h22l-5 12H45z'/%3E%3C/svg%3E");--ico-brand:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 8h56v34H26L12 58V42H4zM14 18h36v5H14zM14 28h24v5H14z'/%3E%3C/svg%3E");--ico-safety:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M32 2l26 10v20L32 62 6 32V12zM28 16h8v10h9v8h-9v10h-8V34h-9v-8h9z'/%3E%3C/svg%3E");--ico-security:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M16 6h32v20h-9V15H25v11h-9zM8 26h48v34H8zM28 36h8v14h-8z'/%3E%3C/svg%3E");--ico-privacy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 14h28v34H4zM14 24h9v14h-9zM32 26h22v10H32zM40 36h7v12h-7zM49 36h7v10h-7z'/%3E%3C/svg%3E");--ico-trace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M4 4h14v14H4zM9 18h4v14H9zM9 28h16v4H9zM25 25h14v14H25zM30 39h4v14h-4zM30 49h16v4H30zM46 46h14v14H46z'/%3E%3C/svg%3E");--ico-ops:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M26 8h30v11H26zM45 19h11v26H45zM8 45h48v11H8zM8 28h11v17H8zM1 28h25L13.5 8z'/%3E%3C/svg%3E");--ico-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M0 0h13v18H0zM17 0h13v18H17zM34 0h13v18H34zM51 0h13v18H51zM0 23h13v18H0zM17 23h13v18H17zM34 23h13v18H34zM51 23h13v18H51zM0 46h13v18H0zM17 46h13v18H17zM34 46h13v18H34zM51 46h13v18H51z'/%3E%3C/svg%3E");--ico-bridge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M4 10h12v50H4zM48 10h12v50H48zM0 26h20v9H0zM44 26h20v9H44zM26 26h12v9H26z'/%3E%3C/svg%3E");--ico-table:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M4 6h56v13H4zM4 23h24v11H4zM32 23h28v11H32zM4 38h24v11H4zM32 38h28v11H32zM4 53h24v11H4zM32 53h28v11H32z'/%3E%3C/svg%3E");--ico-store:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 8h56v14H4zM46 12h9v6h-9zM4 26h56v14H4zM46 30h9v6h-9zM4 44h56v14H4zM46 48h9v6h-9z'/%3E%3C/svg%3E");--ico-spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M36 0 10 36h14L20 64 54 24H38z'/%3E%3C/svg%3E");--ico-agent:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M28 0h8v10h-8zM4 12h56v40H4zM16 24h9v11h-9zM39 24h9v11h-9zM21 41h22v6H21zM10 56h16v8H10zM38 56h16v8H38z'/%3E%3C/svg%3E");--ico-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M4 32l8-8 12 12L52 8l8 8-36 36z'/%3E%3C/svg%3E");--ico-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M32 2 0 62h64zM28 24h8v20h-8zM28 48h8v8h-8z'/%3E%3C/svg%3E");--ico-publish:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M32 2 10 26h14v20h16V26h14zM4 52h56v10H4z'/%3E%3C/svg%3E");--ico-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M2 2h40v40H2zM14 14h16v16H14zM38 44l6-6 20 20-6 6z'/%3E%3C/svg%3E");--tex-app:url(/tex/dash-teal.jpg);color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--ink);color:var(--paper)}a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:2px}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}code,pre{font-family:var(--f-mono);font-size:12.5px}:focus{outline:none}:focus-visible{outline:var(--focus) solid var(--ink);outline-offset:2px}button:focus,input:focus,select:focus,textarea:focus{outline:var(--focus) solid var(--ink);outline-offset:1px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.app-shell{display:flex;flex-direction:column;height:100vh}.app-content{flex:1 1;min-height:0;overflow-y:auto}.topology-nav{flex:none;background:var(--paper);border-bottom:var(--hair) solid var(--rule-hard)}.topbar{display:flex;align-items:center;gap:var(--s4);padding:0 var(--s5);height:60px}.topbar .wordmark{margin-right:var(--s2)}.topbar .brand-sep{margin:0 var(--s2);height:22px;align-self:center}.wordmark{display:block;flex:none;line-height:0}.wordmark img{width:92px;height:auto;display:block}.brand-sep{width:var(--hair);align-self:stretch;background:var(--rule);flex:none}.brand-mark{width:22px;height:22px;flex:none;background-image:var(--tex-app);background-size:260% 260%;background-position:38% 58%;-webkit-mask-image:var(--ico-grid);mask-image:var(--ico-grid);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.brand{font-family:var(--f-display);font-weight:500;letter-spacing:-.01em;font-size:16px}.spacer{flex:1 1}.page{padding:var(--s6) var(--s6) var(--s8);max-width:1500px;margin:0 auto}.page-wide{max-width:none;padding:0}h1{font-weight:400;font-size:28px;line-height:1.15;letter-spacing:-.02em;margin:0 0 var(--s2)}h1,h2{font-family:var(--f-display)}h2{font-weight:500;font-size:17px;line-height:1.2;letter-spacing:-.015em;margin:0 0 var(--s3)}h3{font-family:var(--f-mono);font-weight:400;font-size:12px;line-height:1.4;letter-spacing:var(--lab-track);text-transform:lowercase;color:var(--ink-46);margin:0 0 var(--s2)}.lede{color:var(--ink-64);margin:0 0 var(--s6);max-width:76ch;font-size:15px;line-height:1.55}.kicker{font-size:11px;letter-spacing:var(--lab-track);text-transform:lowercase;color:var(--ink-46)}.kicker,.metric{font-family:var(--f-mono)}.metric{font-weight:500;font-size:30px;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tex-band{height:clamp(56px,9vh,112px);background:url(/tex/dash-teal.jpg) 50%/cover no-repeat;border-bottom:var(--hair) solid var(--rule-hard)}.card{background:var(--paper);border:var(--hair) solid var(--rule);border-radius:0;padding:var(--s5)}.card+.card{margin-top:var(--s4)}.grid{display:grid;grid-gap:var(--hair);gap:var(--hair);background:var(--rule);border:var(--hair) solid var(--rule)}.grid>*{background:var(--paper)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid>.card{border:none;margin-top:0}.btn,button{font:inherit;font-family:var(--f-mono);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:lowercase;padding:9px 16px;border-radius:0;border:var(--hair) solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);display:inline-flex;align-items:center;gap:6px;text-decoration:none}.btn:hover,button:hover:not(:disabled){background:var(--ink);color:var(--paper)}button:disabled{opacity:.4;cursor:not-allowed}.btn.primary,button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.primary:hover,button.primary:hover:not(:disabled){background:var(--paper);color:var(--ink)}.btn.ghost,button.ghost{background:transparent;border-color:transparent;color:var(--ink-64);padding-left:0;padding-right:0}.btn.ghost:hover,button.ghost:hover:not(:disabled){background:transparent;color:var(--ink);text-decoration:underline}.btn.small,button.small{padding:5px 10px;font-size:11px}input,select,textarea{font:inherit;font-family:var(--f-body);font-size:14px;padding:8px 10px;border-radius:0;border:var(--hair) solid var(--rule);background:var(--paper);color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--ink)}label{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:var(--lab-track);text-transform:lowercase;color:var(--ink-64);margin-bottom:6px}.field+.field{margin-top:var(--s3)}.row{display:flex;gap:var(--s3);align-items:flex-end;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:lowercase;background:var(--paper);color:var(--ink-64);border:var(--hair) solid var(--rule);border-radius:0}.pill.good{color:var(--ink);border-color:var(--rule)}.pill.warn{color:var(--ink);border:var(--hair) solid var(--ink);position:relative;padding-left:15px}.pill.warn:before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:6px;background-image:repeating-linear-gradient(45deg,var(--ink) 0 1px,transparent 1px 4px);opacity:.9}.pill.bad{color:var(--paper);background:var(--ink);font-weight:500}.pill.accent,.pill.bad{border-color:var(--ink)}.pill.accent{color:var(--ink)}.muted{color:var(--ink-64)}.dim{color:var(--ink-46)}.mono{font-family:var(--f-mono);font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.small{font-size:12px}.sev{display:flex;gap:var(--s4);padding:var(--s4) var(--s4) var(--s4) var(--s5);border:var(--hair) solid var(--rule);position:relative;background:var(--paper)}.sev:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ink)}.sev.sev-warn:before{width:6px;background-image:repeating-linear-gradient(45deg,var(--ink) 0 1px,transparent 1px 4px)}.sev.sev-info:before{width:var(--hair);background:var(--rule-hard)}.sev-title{font-weight:500;font-size:13.5px;margin-bottom:4px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-family:var(--f-mono);font-weight:400;color:var(--ink-46);border-bottom:var(--hair) solid var(--rule-hard);font-size:11px;text-transform:lowercase;letter-spacing:var(--lab-track)}td,th{padding:var(--s2) var(--s3)}td{border-bottom:var(--hair) solid var(--rule)}td.num,th.num{text-align:right;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}.table-scroll,pre.block{overflow-x:auto;border:var(--hair) solid var(--rule)}pre.block{background:var(--panel-2);border-radius:0;padding:var(--s3);margin:0;color:var(--ink-64);line-height:1.55}.empty{padding:var(--s8) var(--s5);text-align:center;color:var(--ink-46);border:var(--hair) solid var(--rule);border-radius:0;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em}.empty .gicon{margin:0 auto var(--s4);display:block}.empty-hero{--gicon-size:76px}.err{padding:var(--s3) var(--s4) var(--s3) var(--s5);border-radius:0;position:relative;background:var(--paper);border:var(--hair) solid var(--rule);color:var(--ink);font-size:12.5px;white-space:pre-wrap}.err:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ink)}.err+.err{margin-top:var(--s2)}.step{display:flex;gap:var(--s4);padding:var(--s4) 0;border-bottom:var(--hair) solid var(--rule)}.step:last-child{border-bottom:none}.step-num{flex:none;width:24px;height:24px;border-radius:0;display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;background:var(--paper);color:var(--ink-46);border:var(--hair) solid var(--rule)}.step.done .step-num{background:var(--paper);color:var(--ink);border-color:var(--ink)}.step.active .step-num{background:var(--ink);color:var(--paper);border-color:var(--ink)}.step-body{flex:1 1;min-width:0}.step-title{font-weight:500;font-size:13.5px;margin-bottom:2px}.build-page{display:flex;flex-direction:column;height:100%}.build-topbar{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s5);border-bottom:var(--hair) solid var(--rule-hard);background:var(--paper);flex:none}.mode-toggle{display:flex;border:var(--hair) solid var(--rule-hard);flex:none}.mode-toggle a,.mode-toggle span{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:lowercase;padding:6px 14px;color:var(--ink-46);cursor:pointer}.mode-toggle a+span,.mode-toggle span+a,.mode-toggle span+span{border-left:var(--hair) solid var(--rule-hard)}.mode-toggle .mt-active{background:var(--ink);color:var(--paper)}.contract-bar{display:flex;align-items:center;gap:var(--s4);padding:var(--s2) var(--s5);flex-wrap:wrap;border-top:var(--hair) solid var(--rule);background:var(--panel-2);font-family:var(--f-mono);font-size:11px;color:var(--ink-64)}.contract-bar .good{color:var(--ink);font-weight:500}.folders-col{width:200px;border-right:var(--hair) solid var(--rule);background:var(--paper);padding:var(--s5) var(--s3);display:flex;flex-direction:column;gap:var(--s1);flex:none;overflow-y:auto}.folders-heading{font:400 10px/1 var(--f-mono);letter-spacing:.1em;text-transform:lowercase;color:var(--ink-46);padding:0 var(--s2) var(--s2)}.folder-group-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-64);padding:var(--s2) var(--s2) 2px}.folder-dash-link{font-size:13px;padding:var(--s2) var(--s2) var(--s2) 18px;color:var(--ink-64);display:block;text-decoration:none}.folder-dash-link:hover{color:var(--ink);text-decoration:underline}.folder-dash-link.active{color:var(--ink);font-weight:500;border-left:2px solid var(--ink);margin-left:-2px;padding-left:16px}.build{display:grid;grid-template-columns:420px 1fr;flex:1 1;min-height:0}.build-chat{border-right:var(--hair) solid var(--rule);min-height:0}.build-canvas,.build-chat{display:flex;flex-direction:column;background:var(--paper);min-width:0}.chat-log{flex:1 1;min-height:0;overflow-y:auto;padding:var(--s4);display:flex;flex-direction:column;gap:var(--s4)}.chat-input{border-top:var(--hair) solid var(--rule);padding:var(--s3);display:flex;gap:var(--s2);flex:none}.chat-input textarea{resize:none;min-height:40px;max-height:140px}.msg{font-size:13.5px}.msg-role{font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--lab-track);text-transform:lowercase;color:var(--ink-46);margin-bottom:4px}.msg.user .msg-body{background:var(--paper);border:var(--hair) solid var(--rule);padding:9px 12px;color:var(--ink)}.msg.assistant .msg-body{line-height:1.6}.msg.user .msg-body{white-space:pre-wrap}.msg-body p,.msg-note p{margin:0 0 8px}.msg-body>:last-child,.msg-note>:last-child{margin-bottom:0}.msg-body ol,.msg-body ul,.msg-note ol,.msg-note ul{margin:0 0 8px;padding-left:20px}.msg-body li,.msg-note li{margin-bottom:2px}.msg-body li>p,.msg-note li>p{margin-bottom:4px}.msg-body h1,.msg-body h2,.msg-body h3,.msg-body h4,.msg-note h1,.msg-note h2,.msg-note h3,.msg-note h4{margin:14px 0 6px;font-family:var(--f-display);font-weight:500;line-height:1.3}.msg-body>h1:first-child,.msg-body>h2:first-child,.msg-body>h3:first-child,.msg-body>h4:first-child,.msg-note>h1:first-child,.msg-note>h2:first-child,.msg-note>h3:first-child,.msg-note>h4:first-child{margin-top:0}.msg-body h1,.msg-note h1{font-size:16px}.msg-body h2,.msg-note h2{font-size:14.5px}.msg-body h3,.msg-note h3{font-size:13.5px;color:var(--ink);text-transform:none;letter-spacing:normal}.msg-body h4,.msg-note h4{font-size:13px}.msg-body code,.msg-note code{font-size:.92em;padding:1px 5px}.msg-body code,.msg-body pre,.msg-note code,.msg-note pre{font-family:var(--f-mono);background:var(--panel-2);border:var(--hair) solid var(--rule);border-radius:0}.msg-body pre,.msg-note pre{font-size:12px;line-height:1.5;padding:10px 12px;overflow-x:auto;margin:0 0 8px}.msg-body pre code,.msg-note pre code{background:none;border:none;padding:0}.msg-body blockquote,.msg-note blockquote{margin:0 0 8px;padding-left:12px;border-left:2px solid var(--rule-hard);color:var(--ink-64)}.msg-body a,.msg-note a{color:var(--ink)}.msg-body strong,.msg-note strong{font-weight:650}.msg-body hr,.msg-note hr{border:none;border-top:var(--hair) solid var(--rule);margin:10px 0}.msg-body .md-table-scroll,.msg-note .md-table-scroll{overflow-x:auto;margin:0 0 8px}.msg-body table,.msg-note table{border-collapse:collapse;font-size:12.5px;white-space:nowrap}.msg-body td,.msg-body th,.msg-note td,.msg-note th{border:var(--hair) solid var(--rule);padding:5px 9px;text-align:left}.msg-body th,.msg-note th{background:var(--panel-2);font-weight:650;text-transform:none;letter-spacing:normal}.msg-trace-toggle{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:11px;color:var(--ink-46);background:none;border:none;padding:2px 0;margin-bottom:4px;cursor:pointer;min-height:0}.msg-trace-toggle:hover{color:var(--ink)}.msg-trace-toggle .chevron{display:inline-block;transition:transform var(--t-fast) var(--ease);font-size:9px}.msg-trace-toggle .chevron.open{transform:rotate(90deg)}.msg-trace{border-left:2px solid var(--rule);padding-left:10px;margin:2px 0 8px;display:flex;flex-direction:column;gap:4px}.msg-tool{font-family:var(--f-mono);font-size:11.5px;padding:6px 10px;border-radius:0;background:var(--panel-2);border:var(--hair) solid var(--rule);color:var(--ink-64);margin:0;display:flex;gap:7px;align-items:baseline}.msg-tool .name{color:var(--ink);font-weight:500}.msg-thinking{color:var(--ink-46);font-style:italic}.msg-note,.msg-thinking{font-size:12px;white-space:pre-wrap;margin:0}.msg-note{color:var(--ink-64)}.canvas-bar{display:flex;align-items:center;gap:var(--s3);padding:9px var(--s4);border-bottom:var(--hair) solid var(--rule);background:var(--paper);min-height:46px}.canvas-frame{flex:1 1;position:relative;overflow:hidden}.canvas-frame iframe{width:100%;height:100%;border:0;display:block;background:var(--paper)}.params{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:flex-end}.params .field{margin:0;min-width:150px}@media (max-width:1000px){.build-page{height:auto}.build{grid-template-columns:1fr}.build-chat{border-right:none;border-bottom:var(--hair) solid var(--rule);height:60vh}.canvas-frame{min-height:70vh}.folders-col{display:none}}.spine{display:flex;background:var(--paper);border-bottom:var(--hair) solid var(--rule-hard)}.spine-item{flex:1 1;padding:14px var(--s5);cursor:pointer;outline:none;display:flex;flex-direction:column;gap:4px;border-right:var(--hair) solid var(--rule)}.spine-item:last-child{border-right:none}.spine-item:focus-visible{outline:var(--focus) solid var(--ink);outline-offset:-2px}.spine-name{align-self:flex-start;font-family:var(--f-mono);font-size:var(--lab-size);font-weight:400;letter-spacing:var(--lab-track);text-transform:lowercase;box-shadow:inset 0 -1px 0 transparent;transition:box-shadow var(--t-fast) var(--ease)}.spine-item:hover .spine-name,.spine-item[aria-current=page] .spine-name{box-shadow:inset 0 -1px 0 var(--rule-hard)}.spine-stat{font-family:var(--f-mono);font-size:var(--lab-size);letter-spacing:var(--lab-track);text-transform:lowercase;color:var(--ink-46);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tip{display:flex;gap:var(--s3);padding:var(--s3) var(--s4);border:var(--hair) solid var(--rule);background:var(--panel-2);margin:0 0 var(--s5);max-width:76ch}.tip-kicker{flex:none;font-family:var(--f-mono);font-size:10px;letter-spacing:var(--lab-track);text-transform:lowercase;color:var(--ink-46);padding-top:2px}.tip-body{font-size:13px;line-height:1.55;color:var(--ink-64)}.tip-body p{margin:0}.tip-body p+p{margin-top:8px}.ds-card{border:var(--hair) solid var(--rule);border-radius:0;background:var(--paper);padding:var(--s4);display:flex;gap:var(--s3);align-items:flex-start;cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--ink);transition:border-color var(--t-fast) var(--ease)}.ds-card:hover:not(:disabled){border-color:var(--ink)}.ds-card.picked{border:2px solid var(--ink)}.ds-icon-wrap{width:34px;height:34px;border-radius:0;border:var(--hair) solid var(--rule);display:grid;place-items:center;flex:none;color:var(--ink);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.ds-card.picked .ds-icon-wrap,.ds-card:hover:not(:disabled) .ds-icon-wrap{background:var(--ink);border-color:var(--ink);color:var(--paper)}.agent-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--s6)}.agent-ring{position:relative;width:44px;height:44px;display:grid;place-items:center;margin-bottom:var(--s3);background:var(--ink);color:var(--paper)}.agent-ring .pulse,.agent-ring .pulse2{display:none}.agent-core{width:44px;height:44px;display:grid;place-items:center}.agent-status{color:var(--ink);font-size:12.5px;display:flex;align-items:center;gap:6px;font-family:var(--f-mono)}.agent-status .dot{width:5px;height:5px;background:var(--ink)}.progress-track{height:3px;background:var(--rule);overflow:hidden;margin:0 0 var(--s6);border-radius:0}.progress-fill{height:100%;background:var(--ink);transition:width var(--t-base) var(--ease)}.flist{display:flex;flex-direction:column}.fitem{display:flex;gap:var(--s3);padding:var(--s3) 0;border-bottom:var(--hair) solid var(--rule)}.fitem:last-child{border-bottom:none}.fmark{flex:none;width:20px;height:20px;display:grid;place-items:center;margin-top:1px;border:var(--hair) solid var(--rule)}.fmark.done{border-color:var(--ink);color:var(--ink)}.fmark.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.fmark.pending{border-color:var(--rule);color:var(--ink-46)}.fmark.active .spinner{width:6px;height:6px;background:var(--paper)}.ftitle{font-size:13.5px}.fitem.done .ftitle{color:var(--ink)}.fitem.active .ftitle{color:var(--ink);font-weight:500}.fitem.pending .ftitle,.fsub{color:var(--ink-46)}.fsub{font-size:11.5px;margin-top:2px}.fitem.active .fsub{color:var(--ink-64)}.pii-card{background:var(--paper);border:var(--hair) solid var(--rule);border-radius:0;padding:var(--s4) var(--s5);position:relative;padding-left:calc(var(--s5) + 6px)}.pii-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background-image:repeating-linear-gradient(45deg,var(--ink) 0 1px,transparent 1px 4px)}.pii-row{display:flex;align-items:center;gap:var(--s3);padding:7px 0;border-bottom:var(--hair) solid var(--rule);flex-wrap:wrap}.pii-row:last-of-type{border-bottom:none}.pii-col{font-family:var(--f-mono);font-size:12px;background:var(--panel-2);border:var(--hair) solid var(--rule);padding:2px 8px;border-radius:0}.success-badge{width:52px;height:52px;border:var(--hair) solid var(--ink);display:grid;place-items:center;margin:0 auto var(--s4);position:relative;color:var(--ink)}.success-badge:before{display:none}.gicon{display:inline-block;flex:none;width:var(--gicon-size,16px);height:var(--gicon-size,16px);background-color:currentColor;-webkit-mask-image:var(--ico);mask-image:var(--ico);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.gicon-xs{--gicon-size:11px}.gicon-sm{--gicon-size:13px}.gicon-lg{--gicon-size:22px}.gicon-xl{--gicon-size:32px}.gicon--tex{background-color:transparent;background-image:var(--tex-app);background-repeat:no-repeat;background-size:cover;background-position:var(--ticon-x,50%) center}.icon-frame{width:34px;height:34px;flex:none;border:var(--hair) solid var(--rule);display:grid;place-items:center;color:var(--ink);transition:border-color var(--t-fast) var(--ease)}.icon-frame.hard,.icon-frame.solid{border-color:var(--ink)}.icon-frame.solid{background:var(--ink);color:var(--paper)}.icon-frame.sm{width:26px;height:26px}.has-ticon{position:relative;overflow:hidden}.ticon{position:absolute;top:0;right:0;width:var(--ticon-size,84px);height:var(--ticon-size,84px);transform:translate(16%,-14%);background-image:var(--tex-app);background-repeat:no-repeat;background-size:cover;background-position:var(--ticon-x,50%) center;-webkit-mask-image:var(--ico);mask-image:var(--ico);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none}.has-ticon>:not(.ticon):nth-child(-n+3){padding-right:calc(var(--ticon-size, 84px) * .9)}.app-foot{flex:none;display:flex;align-items:center;gap:var(--s5);padding:var(--s5) var(--s6);border-top:var(--hair) solid var(--rule);background:var(--paper)}.app-foot .wordmark img{width:84px}.app-foot .foot-note{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--lab-track);text-transform:lowercase;color:var(--ink-46)}.brand-lockup{display:inline-flex;align-items:center;gap:var(--s2);color:var(--ink)}.brand-lockup,.brand-lockup:hover{text-decoration:none}.card.has-ticon{--ticon-size:104px}.has-ticon>strong:not(.ticon):nth-child(-n+3){display:block}@media (max-width:900px){.topbar{gap:var(--s3);padding:0 var(--s4)}.topbar .org-pill{display:none}.card.has-ticon{--ticon-size:84px}}@media (max-width:760px){.spine{display:grid;grid-template-columns:1fr 1fr}.spine-item{padding:12px var(--s4);border-right:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule)}.spine-item:nth-child(2n){border-right:none}.spine-item:nth-child(n+3){border-bottom:none}}@media (max-width:560px){.topbar{height:auto;flex-wrap:wrap;padding:var(--s3) var(--s4);row-gap:var(--s2)}.topbar .spacer{display:none}.wordmark img{width:78px}.page{padding:var(--s5) var(--s4) var(--s7)}.card{padding:var(--s4)}.card.has-ticon{--ticon-size:64px}.app-foot{padding:var(--s5) var(--s4);flex-wrap:wrap;gap:var(--s3)}}