/* Circuit Studio — an open canvas, a short conversation, a collection of parts. */
.builder-section{position:relative;background:transparent;border:0;overflow:clip}
.builder-shell{max-width:1440px;margin-inline:auto;padding-inline:64px}
.builder-section .section-heading{align-items:flex-end;margin-bottom:42px}
.builder-section .section-heading h2{font-size:clamp(40px,4.3vw,64px);line-height:1.1;letter-spacing:-2.6px}
.builder-section .section-heading>p{max-width:390px;font-size:14px;line-height:1.8}
.builder-section .eyebrow{font-size:10px;letter-spacing:.08em}
.builder-section button,.builder-section input,.builder-section textarea{font-family:var(--display)}
.builder-section input,.builder-section textarea{min-width:0;color:#e4edf8;outline:none}
.builder-section input:focus-visible,.builder-section textarea:focus-visible,.builder-section select:focus-visible{outline:2px solid #83bfff;outline-offset:3px}
.builder-section textarea{resize:vertical}
.builder-section .mono{font-family:var(--mono);font-size:10px}
.builder-section button:focus-visible{outline-offset:4px}
.component-svg{display:block;width:19px;height:19px;flex-shrink:0}
.builder-text-button{display:inline-flex;align-items:center;gap:10px;padding:6px 0;background:transparent;color:#b3cce5;font-size:12px;line-height:1.5}
.builder-text-button:hover{color:white}
.builder-text-button>span{font-size:17px}
.template-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:19px}
.template-heading .mono{color:#788a9f;font-size:9px;letter-spacing:.08em}
.template-heading h3{font-size:20px;letter-spacing:-.5px;margin-top:5px}
.circuit-templates{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#334354 transparent;padding:0 0 15px;margin-bottom:36px}
.template-card{--template-color:var(--template-accent,#96c6fa);display:flex;align-items:flex-start;flex-direction:column;position:relative;min-width:0;min-height:149px;padding:15px 0 13px;border:0;border-top:1px solid #34404e;border-bottom:1px solid #232d38;background:transparent;text-align:left;scroll-snap-align:start;transition:border-color .2s}
.template-card:hover{border-top-color:#9abddd;border-bottom-color:#53687e}
.template-card.selected,.template-card[aria-pressed="true"]{border-top-color:#a8d0f7}
.template-card-top{display:flex;align-items:center;gap:9px;width:100%;margin-bottom:13px;min-width:0}
.template-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--template-color);flex-shrink:0}
.template-icon .component-svg{width:21px;height:21px}
.template-domain{color:#8293a7;font-family:var(--mono);font-size:9px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.template-card-top>span:last-child{margin-left:auto;font-size:15px;color:#7891aa;flex-shrink:0}
.template-card h4{font-size:17px;letter-spacing:-.4px;line-height:1.35;font-weight:500;margin:0 0 6px;color:#e0e9f3}
.template-card>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.65;color:#91a0b2;margin-bottom:13px;min-height:36px}
.template-mini{display:flex;align-items:center;gap:6px;font-size:9px;color:#4c6074;margin-top:auto}
.template-mini span{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;color:#92a9bf}
.template-mini .component-svg{width:14px;height:14px}
.template-mini i{font-style:normal;color:#546a80}
.template-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:11px;font-family:var(--mono);font-size:9px;line-height:1.5;color:#74879c}
.template-meta>span:last-child{color:#a0bbd4}
.circuit-templates.is-expanded{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:25px 24px}
.circuit-studio{--studio-line:#293440;--studio-muted:#90a1b5;position:relative;background:transparent;border:0;border-radius:0;box-shadow:none}
.studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:65px;padding:15px 0;border-bottom:1px solid #2b3541;background:transparent}
.studio-identity{display:flex;align-items:center;gap:12px;min-width:0}
.studio-mark{font-family:var(--mono);font-size:20px;color:#91bce5;letter-spacing:-2px;flex-shrink:0}
.studio-identity>div{display:flex;flex-direction:column;min-width:0}
.studio-identity input{width:min(350px,100%);font-size:17px;line-height:1.5;font-weight:400;padding:0;border:0;border-radius:2px;background:transparent}
.studio-identity input:hover{background:#ffffff04}
.studio-identity .mono{font-size:9px;line-height:1.5;letter-spacing:.04em;color:#708398;margin-top:2px}
.studio-tools{display:flex;align-items:center;gap:5px;flex-shrink:0}
.studio-tool{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;padding:0;background:transparent;color:#8c9fb5;font-size:20px;line-height:1;border:1px solid transparent;border-radius:4px}
.studio-tool:not(:disabled):hover{color:#e0efff;border-color:#465a6e}
.studio-tool:disabled{opacity:.3}
.studio-demo-badge{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:#677c92;margin-left:12px}
.studio-workspace{display:flex;flex-direction:column;position:relative;min-width:0}
.canvas-column{order:0;min-width:0;width:100%;padding-top:23px;background:transparent;overflow:hidden}
.canvas-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1050px;margin:auto;padding:0 2px}
.canvas-heading .mono{font-size:9px;letter-spacing:.04em;color:#73869b}
.canvas-heading>.mono:first-child{display:flex;align-items:center;gap:7px;color:#9baec3}
.canvas-heading .status-dot{width:4px;height:4px;background:#9dbfdf;box-shadow:none}
.circuit-canvas{position:relative;min-height:209px;padding:22px 0 10px;background:transparent;overflow:auto;isolation:isolate;scrollbar-width:thin;scrollbar-color:#34495e transparent}
.circuit-lanes{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px;max-width:1000px;margin:auto;padding:0 24px;z-index:1;align-items:start}
.circuit-lane{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;border:1px solid transparent;border-radius:5px;transition:border-color .2s}
.circuit-lane h4{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 16px;font-size:11px;font-weight:400;line-height:1.4;color:#9cacc0;white-space:nowrap}
.circuit-lane h4>span{font-family:var(--mono);font-size:9px;color:#586e85}
.circuit-lane.drag-over{border-color:#779cbe;background:#83bfff04}
.lane-nodes{display:flex;flex-direction:column;gap:16px;position:relative;width:100%;max-width:220px}
.lane-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;max-width:220px;min-height:87px;padding:8px;background:transparent;color:#8ca4bd;border:0;border-radius:5px;font-size:11px;line-height:1.4}
.lane-placeholder:hover{color:#c8e4ff}
.lane-placeholder>span{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid #44576b;border-radius:50%;background:transparent;color:#90b6dc;font-size:19px;line-height:1;transition:border-color .2s}
.lane-placeholder:hover>span{border-color:#b1d7fa}
.lane-placeholder small{display:none}
.lane-nodes:not(:empty)+.lane-placeholder{min-height:25px;padding:2px;margin-top:9px;flex-direction:row;gap:5px;font-size:9px;color:#7088a1;opacity:.75}
.lane-nodes:not(:empty)+.lane-placeholder>span{width:auto;height:auto;border:0;font-size:15px}
.circuit-node{--component-color:#91c5f8;display:flex;flex-direction:column;position:relative;z-index:2;width:100%;min-height:80px;max-width:220px;padding:13px 12px 12px;border:1px solid #394756;border-radius:6px;background:#0d1219;color:#dce7f3;text-align:left;cursor:grab;box-shadow:none;transition:border-color .2s,background .2s}
.circuit-node:hover{border-color:#6c8eaf;background:#101821}
.circuit-node.selected{border-color:#94bce3;background:#111c28;box-shadow:0 0 0 1px #94bce314}
.circuit-node.dragging{opacity:.35;cursor:grabbing}
.node-top{position:absolute;left:12px;right:12px;top:12px;display:flex;align-items:center;gap:7px;min-width:0;height:23px;pointer-events:none}
.node-icon{display:flex;align-items:center;justify-content:center;width:23px;height:23px;flex-shrink:0;color:var(--component-color);font-family:var(--mono);font-size:16px;line-height:1}
.node-icon .component-svg{width:19px;height:19px}
.node-category{display:none}
.node-status{display:flex;align-items:center;margin-left:auto}
.node-status::before{content:'';display:block;width:3px;height:3px;border-radius:50%;background:#69839b}
.node-name{display:block;width:100%;padding-left:32px;padding-right:6px;margin:1px 0 9px;font-size:12px;line-height:1.6;font-weight:500;letter-spacing:-.15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.node-description{display:block;max-width:100%;font-size:10px;line-height:1.6;color:#8197af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.node-edit{display:none}
.node-port{position:absolute;top:50%;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:#9cc6ef;border:1px solid #0a0d12;box-shadow:0 0 0 1px #425f7b}
.node-port:first-of-type,.node-port.in,.node-port.input,.node-port-in{left:-3px}
.node-port:last-of-type,.node-port.out,.node-port.output,.node-port-out{right:-3px;left:auto}
.circuit-node.sample-active{border-color:#a6d5bd;background:#10231f}
.circuit-node.sample-active .node-status::before{background:#a6dfc2;box-shadow:0 0 9px #99d8be50}
.circuit-wires{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible;width:100%;height:100%}
.circuit-wires .wire{fill:none;stroke:#405a74;stroke-width:1.1;opacity:.8}
.circuit-wires .wire.active{stroke:#a8d9c3;stroke-width:1.5;opacity:1;stroke-dasharray:7 5;animation:circuit-flow 1s linear infinite}
.canvas-empty-note{display:flex;align-items:center;justify-content:center;gap:16px;position:relative;margin:17px auto 0;padding:0 16px;max-width:100%;text-align:center}
.canvas-empty-note>span,.canvas-empty-note>strong{display:none}
.canvas-empty-note p{font-size:11px;line-height:1.7;color:#74899e}
.canvas-empty-note p br{display:none}
.canvas-empty-note .builder-text-button{font-size:11px;flex-shrink:0}
.circuit-foundation{display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:1000px;margin:9px auto 0;padding:13px 0;border-top:1px solid #26313d;border-bottom:1px solid #26313d;background:transparent}
.circuit-foundation.drag-over{border-color:#98bee1}
.foundation-label{display:flex;align-items:center;gap:9px;flex-shrink:0}
.foundation-label .studio-mark{font-size:16px;letter-spacing:-1.8px}
.foundation-label>div{display:flex;align-items:center;gap:9px}
.foundation-label strong{font-size:11px;font-weight:400;color:#b5c8dc;line-height:1.5}
.foundation-label>div>span{display:none}
.foundation-label .studio-tool{width:23px;height:23px;font-size:16px;color:#7394b5}
.foundation-nodes{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.foundation-nodes>p{font-size:10px;line-height:1.6;color:#687f98}
.foundation-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;background:transparent;border:1px solid #34485d;border-radius:4px;font-size:10px;line-height:1.4;color:#a4c0db}
.foundation-chip:hover{border-color:#789cbd;color:#d1e7fa}
.foundation-chip.selected{border-color:#a3c6e6;color:#e3f2ff}
.foundation-chip>span:first-child{font-size:13px;color:#97bada;line-height:1}
.foundation-chip .component-svg{width:13px;height:13px}
.foundation-chip>span:last-child{color:#6985a1;font-size:11px}
.seams-details{max-width:1000px;margin:auto;padding:0;background:transparent}
.seams-details summary{display:flex;align-items:center;gap:12px;min-height:38px;list-style:none;cursor:pointer;font-size:10px;line-height:1.5;color:#8298af}
.seams-details summary::-webkit-details-marker{display:none}
.seams-details summary>.mono{font-size:9px;color:#627b94;margin-left:auto}
.seams-details summary>span:last-child{font-size:15px;transition:transform .2s}
.seams-details[open] summary>span:last-child{transform:rotate(180deg)}
.seams-details[open] summary{color:#bdd3e9}
.circuit-seams{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:7px;padding:6px 0}
.seam-button{display:flex;align-items:center;flex-direction:column;gap:6px;min-width:0;padding:8px 2px;background:transparent;border:1px solid #283642;border-radius:4px;color:#556c82}
.seam-button:hover{border-color:#83a8c7;color:#a6c3dd}
.seam-button.active{border-color:#456758;color:#93c7b2}
.seam-button.selected{border-color:#a6d7f4;color:#d4edff}
.seam-number{font-family:var(--mono);font-size:10px;line-height:1.4}
.seam-name{font-size:9px;line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.seams-details>p{font-size:11px;line-height:1.7;color:#8299b0;margin:8px 0 16px}
.circuit-sidebar{order:1;width:100%;max-width:760px;min-width:0;margin:25px auto 39px;background:transparent;border:0}
.sidebar-tabs,.copilot-intro{display:none}
.copilot-panel{display:flex;flex-direction:column;padding:0;min-width:0}
.copilot-suggestions{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;order:2;margin-top:12px}
.copilot-suggestions button{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:1px solid #2d3a48;border-radius:30px;font-size:10px;line-height:1.5;color:#8ea8c2}
.copilot-suggestions button:hover{border-color:#7293b3;color:#cce2f6}
.copilot-suggestions button>span{font-size:12px;color:#7393b2}
.circuit-chat{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow:auto;scrollbar-width:thin;scrollbar-color:#38526a transparent;margin-bottom:17px;padding:2px}
.circuit-chat:empty{display:none}
.chat-message{max-width:93%;font-size:12px;line-height:1.8;padding:11px 13px;border:1px solid #2d4153;border-radius:7px;background:#0f1822;color:#a7bdd3;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-message.user{align-self:flex-end;border-color:#3f5c78;background:#122132;color:#c8dff4;border-bottom-right-radius:2px}
.chat-message.assistant{align-self:flex-start;background:transparent;border-color:#273746;border-bottom-left-radius:2px}
.chat-message.error{background:#241921;border-color:#66404b;color:#d6a5b2}
.chat-message strong{color:#d6eafb;font-weight:500}
.chat-thinking{padding:7px 2px;font-size:11px;color:#a1c5e6;animation:copilot-breathe 1.5s ease-in-out infinite}
#circuit-chat-form{display:flex;align-items:center;gap:14px;min-height:65px;border:1px solid #44586c;border-radius:8px;background:transparent;padding:12px 14px;order:1;transition:border-color .2s}
#circuit-chat-form:focus-within{border-color:#93bbdf}
#circuit-prompt{display:block;width:100%;min-height:37px;height:37px;max-height:180px;resize:vertical;padding:7px 1px;border:0;background:transparent;font-size:14px;line-height:1.6;outline:none!important}
#circuit-prompt::placeholder{color:#90a7be}
#circuit-chat-form>div{display:flex;align-items:center;gap:12px;flex-shrink:0}
#copilot-hint{font-size:9px;line-height:1.6;color:#627c95;max-width:130px;text-align:right}
#circuit-send{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#a7cef3;color:#102131;font-size:22px;line-height:1;padding:0}
#circuit-send:hover{background:#d2e9ff}
#circuit-send:disabled{opacity:.4}
.circuit-sidebar.showing-details{position:absolute;z-index:12;top:25px;right:0;width:330px;max-width:calc(100% - 10px);max-height:580px;margin:0;border:1px solid #4a5f73;border-radius:8px;overflow:auto;background:#111823;box-shadow:0 16px 65px #0008;scrollbar-width:thin;scrollbar-color:#3f5871 transparent}
.details-panel{padding:23px 20px;min-width:0}
.inspector-close,#close-inspector,#inspector-close{position:absolute;right:12px;top:12px;display:flex;align-items:center;justify-content:center;width:27px;height:27px;z-index:2;background:transparent;border:1px solid #344454;border-radius:4px;font-size:20px;line-height:1;color:#9bb5cd}
.inspector-close:hover,#close-inspector:hover,#inspector-close:hover{color:white;border-color:#a0c8e9}
.inspector-empty{padding:25px 0;text-align:center}
.inspector-empty>span{font-size:27px;color:#789ec0}
.inspector-empty h3{font-size:18px;line-height:1.4;letter-spacing:-.5px;margin-top:14px}
.inspector-empty p{font-size:12px;line-height:1.8;color:#839bb4;margin-top:9px}
.inspector-head{position:relative;padding-left:38px;min-height:35px;margin-bottom:22px;padding-right:15px}
.inspector-head .component-icon{position:absolute;top:3px;left:0;width:27px;height:27px;color:var(--component-color,#99c6ed)}
.inspector-head .mono{font-size:9px;color:#7998b5;line-height:1.4}
.inspector-head h3{font-size:17px;line-height:1.4;letter-spacing:-.4px;margin-top:3px;overflow-wrap:anywhere}
#component-edit-form{min-width:0}
.inspector-field{margin-bottom:16px}
.inspector-field label{display:block;color:#afc5dc;font-size:11px;line-height:1.5;margin-bottom:6px}
.inspector-field input,.inspector-field textarea{display:block;width:100%;padding:9px 10px;border:1px solid #3b4d5f;border-radius:4px;background:#0c121b;font-size:14px;line-height:1.65}
.inspector-field textarea{min-height:104px}
.inspector-note{font-size:11px;line-height:1.8;color:#829eb8;border-left:2px solid #435f78;padding:8px 10px;margin:16px 0}
.inspector-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:18px}
.small-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:7px 10px;border:1px solid #445b70;border-radius:4px;background:transparent;color:#acc8e1;font-size:11px;line-height:1.5}
.small-button:hover{border-color:#9dc4e6;color:#e3f3ff}
.small-button:disabled{opacity:.4}
.small-button.danger,.small-button[data-action="remove"]{border-color:#684852;color:#d4a0ad}
.generate-logic{width:100%;margin-top:12px;border-color:#537b9d;color:#b6d7f4}
.logic-editor{margin-top:20px;padding-top:11px;border-top:1px solid #2b3a49}
.logic-editor summary{cursor:pointer;font-size:11px;line-height:1.7;color:#a3c4e2;padding:4px 0}
.logic-editor summary>span{float:right;color:#6c8faf;font-family:var(--mono)}
.logic-editor textarea{display:block;width:100%;min-height:170px;margin-top:10px;padding:10px;border:1px solid #334b61;border-radius:4px;background:#0a1018;color:#a7c6e2;font-family:var(--mono);font-size:10px;line-height:1.8;white-space:pre;tab-size:2;overflow:auto}
.logic-editor .small-button{margin-top:8px}
.logic-editor p{font-size:10px;line-height:1.7;color:#7a95ae;margin-top:9px}
.inspector-seams{margin-top:18px;font-size:10px;line-height:1.8;color:#7f9ebc}
.inspector-seams>.mono{font-size:9px;color:#7794ad}
.inspector-seams>p{font-size:10px;color:#a2bed6;margin-top:4px;line-height:1.8}
.component-library{order:2;display:grid;grid-template-columns:1fr 260px;gap:20px 25px;min-width:0;padding:24px 0 28px;background:transparent;border:0;border-top:1px solid #2a3542}
.library-title{display:flex;align-items:center;gap:13px;margin:0;min-width:0}
.library-title h3{font-size:19px;letter-spacing:-.5px;line-height:1.4}
.library-title .mono{font-size:9px;color:#667f98;white-space:nowrap}
.component-search{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 0;border:0;border-bottom:1px solid #3a4b5c;background:transparent}
.component-search:focus-within{border-color:#9cc6e9}
.component-search .icon{width:15px;height:15px;color:#6f8eaa}
.component-search input{width:100%;padding:0;border:0;background:transparent;font-size:14px;line-height:1.5;outline:none!important}
.component-search input::placeholder{font-size:12px;color:#7c95ae}
.component-categories{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.category-button{display:flex;align-items:center;gap:7px;min-height:33px;width:auto;padding:7px 10px;border:1px solid transparent;border-radius:30px;background:transparent;color:#8ca1b8;font-size:11px;line-height:1.4;white-space:nowrap}
.category-button:hover{color:#d2e6f9;border-color:#374d63}
.category-button[aria-pressed="true"]{color:#c8e0f8;border-color:#607c98}
.category-icon{display:flex;align-items:center;justify-content:center;width:16px;font-size:15px;line-height:1;color:#7d9fbf}
.category-icon .component-svg{width:14px;height:14px}
.category-count{font-family:var(--mono);font-size:9px;color:#5f7c97;margin-left:1px}
.category-button[aria-pressed="true"] .category-count{color:#8db0cf}
.library-hint{display:none}
.component-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;min-width:0}
.library-card{--component-color:#8ec1ef;display:flex;align-items:center;gap:10px;position:relative;min-height:63px;padding:12px 11px;border:1px solid #283643;border-radius:5px;background:transparent;cursor:grab;transition:border-color .2s,background .2s;min-width:0}
.library-card:hover{border-color:#637e98;background:#ffffff02}
.library-card:active{cursor:grabbing}
.component-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;color:var(--component-color,#91c4f1);font-family:var(--mono);font-size:16px;line-height:1}
.library-card-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.library-card-copy strong{font-size:12px;line-height:1.5;font-weight:400;color:#bdcfe2;overflow:hidden;text-overflow:ellipsis}
.library-card-copy small{display:none}
.add-component{display:flex;align-items:center;justify-content:center;width:24px;height:30px;flex-shrink:0;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:#6b8fae;font-size:19px;line-height:1}
.add-component:hover{color:#d3eaff;border-color:#5b7a95}
.component-list>p{grid-column:1/-1;color:#8a9fb6;font-size:12px;line-height:1.7;padding:14px 0}
.sample-result{max-width:1000px;margin:14px auto 0;padding:18px 0;border-top:1px solid #3d5c4f;background:transparent}
.sample-heading{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5;color:#a9cebd;margin-bottom:14px}
.sample-heading strong{font-weight:400}
.sample-heading .mono{margin-left:auto;font-size:9px;color:#668b7a}
.sample-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sample-columns>div{min-width:0;border-left:1px solid #2d493b;padding:0 13px}
.sample-columns small{font-family:var(--mono);font-size:9px;line-height:1.6;color:#81a894}
.sample-columns pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);font-size:10px;line-height:1.8;color:#b2cfc0;margin:9px 0 0}
.sample-event{font-size:11px;line-height:1.8;color:#92b5a3;margin-top:7px}
.sample-event>span{color:#b3d8c3;margin-right:6px}
.sample-note{font-size:10px;line-height:1.8;color:#719b84;margin-top:13px}
.studio-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:71px;padding:21px 0 0;border-top:1px solid #2b3643;background:transparent}
.studio-footer>div:first-child{min-width:0}
.readiness{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.6;color:#91a6bd}
.readiness>i{display:block;width:4px;height:4px;border-radius:50%;flex-shrink:0;background:#6c88a2}
.readiness.ready,.readiness:has(>i.ready){color:#a9c8b9}
.readiness.ready>i,.readiness>i.ready{background:#a9d3bd}
.studio-feedback{display:block;font-size:10px;line-height:1.7;color:#7294b3;max-width:620px;margin-top:3px}
.studio-feedback:empty{display:none}
.studio-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.studio-actions .button{font-size:11px;min-height:39px;gap:8px;padding:10px 14px;border-radius:4px}
.studio-actions .button .icon{width:14px;height:14px}
.studio-actions .button.secondary{border-color:#3f5366;background:transparent;color:#a9c0d6}
.studio-actions .button.secondary:hover{border-color:#b7d4ee;color:white}
.studio-actions .button.primary{background:#a8ccef;color:#122334}
.studio-actions .button.primary:hover{background:#d0e7ff;transform:none}
.studio-actions .button:disabled{opacity:.28}
.builder-disclaimer{font-size:10px;line-height:1.8;color:#627b94;text-align:center;margin-top:25px}
.circuit-studio.is-focused{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;padding:0 max(28px,calc((100vw - 1320px)/2));background:#0a0d12;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.circuit-studio.is-focused .studio-toolbar{flex-shrink:0;min-height:77px}
.circuit-studio.is-focused .studio-workspace{flex:1;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#334c63 transparent;padding-inline:2px}
.circuit-studio.is-focused .studio-footer{flex-shrink:0;padding-block:17px;min-height:74px}
.circuit-studio.is-focused .circuit-sidebar.showing-details{top:25px;max-height:min(580px,calc(100dvh - 190px))}
.circuit-dialog{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 64px);position:fixed;padding:34px 32px 29px;border:1px solid #4b647a;border-radius:9px;color:#e1edf8;background:#101823;box-shadow:0 30px 100px #0009;overflow:auto}
.circuit-dialog::backdrop{background:#040a12bd;backdrop-filter:blur(6px)}
.dialog-close{position:absolute;right:14px;top:13px;width:29px;height:29px;background:transparent;border:1px solid #3b4e61;border-radius:4px;font-size:23px;line-height:1;color:#9fb8cf}
.dialog-close:hover{color:white;border-color:#a6c8e6}
.dialog-eyebrow{font-family:var(--mono);font-size:9px!important;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:#7ea5c7!important;padding-right:24px;margin-bottom:13px}
.circuit-dialog h2{font-size:28px;line-height:1.25;letter-spacing:-.9px;margin:0 10px 12px 0}
.circuit-dialog p{font-size:13px;line-height:1.8;color:#91abc3}
.package-files{display:flex;flex-direction:column;margin:23px 0;border-top:1px solid #34495c;border-bottom:1px solid #34495c;max-height:320px;overflow:auto}
.package-file{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #283a4b;font-family:var(--mono);font-size:11px;line-height:1.6;color:#a7c4dc;overflow-wrap:anywhere}
.package-file:last-child{border-bottom:0}
.package-file>span:first-child{width:24px;flex-shrink:0;color:#94b9da;font-size:16px}
.package-file>div{flex:1;min-width:0}
.package-file strong{font-size:12px;font-weight:400;color:#bfd5e8}
.package-file small{display:block;font-family:var(--display);font-size:10px;line-height:1.7;color:#728fa9;margin-top:3px}
.package-file>span:last-child{margin-left:auto;font-size:11px;color:#a4cdb7;flex-shrink:0}
.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}
.dialog-actions>.mono{font-size:9px;line-height:1.6;color:#6c8ca9;margin-right:auto}
.dialog-actions .button{font-size:12px;min-height:41px;padding:11px 17px}
.circuit-dialog .inspector-field{margin-top:18px}
.circuit-dialog select{display:block;width:100%;padding:10px;border:1px solid #3b5369;border-radius:4px;background:#0b131d;color:#d3e3f1;font-family:var(--display);font-size:14px;line-height:1.6}
.circuit-dialog .deploy-note{font-size:11px;margin-top:17px;color:#7292ad}
.deploy-progress{display:flex;flex-direction:column;gap:14px;padding:24px 0 5px;margin:0;list-style:none}
.deploy-step{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.6;color:#5e7a94;transition:color .3s}
.deploy-step::before{content:'';display:block;width:16px;height:16px;flex-shrink:0;border:1px solid #3d596f;border-radius:50%;background:transparent}
.deploy-step>span{font-family:var(--mono);font-size:10px;color:#7391ad}
.deploy-step>b{margin-left:auto;font-size:11px;font-weight:400}
.deploy-step.active{color:#b4d7f4}
.deploy-step.active::before{border-color:#b3d7f7;border-right-color:transparent;border-top-color:transparent;animation:deploy-spin 1s linear infinite}
.deploy-step.done{color:#a3cdb7}
.deploy-step.done::before{content:'✓';display:flex;align-items:center;justify-content:center;border-color:#719a83;color:#afd6be;font-size:10px;line-height:1}
.deploy-success{padding:18px 0;margin-top:21px;border-top:1px solid #436b56;border-bottom:1px solid #436b56;color:#afd6c1;font-size:14px;line-height:1.7}
.deploy-success p{color:#86af99;font-size:12px;margin-top:7px}
.deploy-url{display:block;overflow-wrap:anywhere;padding:11px 12px;margin-top:14px;border:1px solid #344e61;border-radius:4px;background:#0c141c;color:#97bcdb;font-family:var(--mono);font-size:11px;line-height:1.7}
[data-color="connectors"]{--component-color:#8ec1ef}
[data-color="processing"]{--component-color:#b5b1e3}
[data-color="business"]{--component-color:#d6bc96}
[data-color="custom"]{--component-color:#c5a1cd}
[data-color="exporters"]{--component-color:#9ec9b8}
[data-color="replication"]{--component-color:#d2b698}
[data-color="domains"]{--component-color:#d6c295}
@keyframes circuit-flow{to{stroke-dashoffset:-24}}
@keyframes copilot-breathe{50%{opacity:.45}}
@keyframes deploy-spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.component-list{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1200px){.circuit-lanes{gap:45px;padding-inline:20px}.component-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.circuit-templates{grid-auto-columns:calc((100% - 54px)/4);gap:18px}.template-card h4{font-size:16px}.template-domain{font-size:9px}.template-mini{gap:4px}.template-meta{font-size:9px;gap:6px}}
@media(max-width:1000px){.circuit-templates{grid-auto-columns:calc((100% - 40px)/3);gap:20px}.circuit-templates.is-expanded{grid-template-columns:repeat(3,minmax(0,1fr))}.circuit-lanes{gap:30px;padding-inline:0}.circuit-sidebar{max-width:720px}.component-library{gap:17px 20px}.component-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.component-categories{gap:5px}.category-button{padding-inline:9px}.circuit-seams{grid-template-columns:repeat(6,minmax(0,1fr))}.studio-footer{gap:17px}.studio-actions{gap:7px}.studio-actions .button{padding-inline:12px}.readiness{font-size:10px}}
@media(max-width:760px){.builder-section{padding-block:72px}.builder-shell{padding-inline:24px}.builder-section .section-heading{display:block;margin-bottom:34px}.builder-section .section-heading h2{font-size:clamp(36px,7.5vw,48px);letter-spacing:-1.7px}.builder-section .section-heading>p{font-size:13px;line-height:1.8;max-width:500px;margin-top:20px}.builder-section .section-heading>p br{display:none}.builder-section .eyebrow{font-size:9px;letter-spacing:.04em;gap:7px}.template-heading{gap:14px;margin-bottom:15px}.template-heading h3{font-size:19px}.template-heading .mono{font-size:9px;letter-spacing:.04em}.template-heading .builder-text-button{font-size:11px;max-width:115px;gap:6px;text-align:left}.circuit-templates{grid-auto-columns:235px;gap:21px;margin-right:-24px;padding-right:24px;margin-bottom:25px}.template-card{min-height:150px}.template-card h4{font-size:16px}.template-card>p{font-size:11px}.template-card-top{margin-bottom:11px}.circuit-templates.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-right:0;padding-right:0}.circuit-templates.is-expanded .template-card{min-height:160px}.circuit-templates.is-expanded .template-domain{font-size:9px}.circuit-templates.is-expanded .template-card h4{font-size:15px}.circuit-templates.is-expanded .template-meta{font-size:9px;flex-wrap:wrap;gap:3px}.studio-toolbar{padding-block:13px;min-height:69px;gap:9px}.studio-identity{gap:9px}.studio-identity>.studio-mark{font-size:17px}.studio-identity input{font-size:15px;max-width:220px}.studio-identity .mono{font-size:9px;letter-spacing:0}.studio-tools{gap:2px}.studio-tool{width:29px;height:31px;font-size:18px}.studio-demo-badge{display:none}.canvas-column{padding-top:21px}.canvas-heading{padding-inline:0}.canvas-heading .mono{font-size:9px}.circuit-canvas{min-height:205px;margin-inline:-1px;overflow-x:auto;overscroll-behavior-x:contain;padding-top:23px}.circuit-lanes{min-width:560px;gap:24px;padding:0 12px}.circuit-lane h4{font-size:10px;gap:6px;margin-bottom:14px}.lane-nodes{max-width:176px}.circuit-node{min-height:80px;padding:12px 10px}.node-top{left:10px;right:10px;top:11px}.node-name{font-size:11px;padding-left:29px;margin-bottom:9px}.node-description{font-size:10px}.node-icon .component-svg{width:18px;height:18px}.lane-placeholder{font-size:11px;min-height:82px}.canvas-empty-note{position:sticky;left:0;display:block;margin-top:15px;width:calc(100vw - 48px);max-width:100%;padding-inline:2px}.canvas-empty-note p{font-size:10px;max-width:370px;margin:auto}.canvas-empty-note .builder-text-button{font-size:10px;margin-top:3px}.circuit-foundation{padding:12px 0;margin-top:5px;gap:9px 14px}.foundation-label strong{font-size:11px}.foundation-nodes>p{font-size:10px}.foundation-chip{font-size:10px;padding:5px 7px}.seams-details summary{font-size:10px;gap:8px}.seams-details summary>.mono{font-size:9px}.circuit-seams{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.seam-button{padding:9px 2px}.seam-name{font-size:9px}.seams-details>p{font-size:11px}.circuit-sidebar{margin-top:23px;margin-bottom:28px;max-width:100%}#circuit-chat-form{min-height:62px;padding:10px 11px;gap:8px;border-radius:7px}#circuit-prompt{font-size:16px;min-height:38px;height:38px;padding-block:6px}#circuit-chat-form>div{gap:0}#copilot-hint{display:none}#circuit-send{width:30px;height:30px;font-size:21px}.copilot-suggestions{justify-content:flex-start;gap:6px;margin-top:10px;flex-wrap:nowrap;overflow:auto;scrollbar-width:none;padding-bottom:3px}.copilot-suggestions button{font-size:10px;padding:6px 9px;white-space:nowrap;flex-shrink:0}.circuit-chat{max-height:260px;margin-bottom:14px}.chat-message{font-size:12px;line-height:1.8;padding:11px;max-width:95%}.component-library{grid-template-columns:1fr 1fr;gap:16px;padding:23px 0}.library-title{gap:9px}.library-title h3{font-size:17px}.library-title .mono{font-size:9px}.component-search{padding-block:6px;gap:7px}.component-search input{font-size:16px}.component-search input::placeholder{font-size:11px}.component-search .icon{width:13px;height:13px}.component-categories{flex-wrap:nowrap;overflow:auto;gap:4px;margin-inline:-24px;padding:0 24px 4px;scrollbar-width:none}.category-button{font-size:11px;flex-shrink:0;padding:6px 9px;min-height:32px;gap:6px}.category-icon{width:15px;font-size:14px}.category-count{font-size:9px}.component-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.library-card{min-height:61px;padding:10px 8px;gap:7px}.component-icon{width:21px;height:21px}.component-icon .component-svg{width:18px;height:18px}.library-card-copy strong{font-size:11px;line-height:1.45}.add-component{width:20px;height:29px;font-size:17px}.studio-footer{flex-direction:column;align-items:stretch;gap:13px;padding-top:18px}.readiness{font-size:11px}.studio-feedback{font-size:10px}.studio-actions{display:flex;justify-content:flex-end;gap:7px}.studio-actions .button{min-height:39px;padding:10px 12px;font-size:11px;gap:7px}.studio-actions .button .icon{width:13px;height:13px}.builder-disclaimer{font-size:10px;margin-top:21px;max-width:440px;margin-inline:auto}.circuit-sidebar.showing-details{position:fixed;inset:auto 12px 12px;width:auto;max-width:none;max-height:min(610px,80dvh);z-index:151;margin:0;border-radius:9px;box-shadow:0 -8px 70px #000a}.details-panel{padding:23px 20px}.inspector-head{padding-right:25px}.inspector-head h3{font-size:18px}.inspector-field input,.inspector-field textarea{font-size:16px}.inspector-field label{font-size:12px}.small-button{font-size:12px;min-height:36px}.logic-editor textarea{font-size:11px;min-height:185px}.logic-editor summary{font-size:12px}.inspector-note{font-size:12px}.sample-result{padding-block:16px}.sample-heading{font-size:11px;flex-wrap:wrap;gap:7px}.sample-heading .mono{font-size:9px}.sample-columns{gap:13px;grid-template-columns:1fr}.sample-columns>div{padding-inline:10px}.sample-columns pre{font-size:10px}.sample-event{font-size:11px}.sample-note{font-size:10px}.circuit-studio.is-focused{padding-inline:18px}.circuit-studio.is-focused .studio-toolbar{min-height:69px}.circuit-studio.is-focused .studio-workspace{padding-inline:0}.circuit-studio.is-focused .studio-footer{padding-block:13px;gap:9px}.circuit-studio.is-focused .readiness{font-size:10px}.circuit-studio.is-focused .studio-actions{justify-content:stretch}.circuit-studio.is-focused .studio-actions .button{flex:1;font-size:10px}.circuit-studio.is-focused .canvas-empty-note{width:calc(100vw - 36px)}.circuit-studio.is-focused .circuit-sidebar.showing-details{top:auto;max-height:80dvh}.circuit-dialog{padding:30px 21px 24px;width:calc(100% - 24px);max-height:calc(100dvh - 30px)}.circuit-dialog h2{font-size:25px}.circuit-dialog p{font-size:12px}.package-file{gap:10px;padding-block:12px}.package-file strong{font-size:11px}.package-file small{font-size:10px}.dialog-actions .button{font-size:11px;padding-inline:13px}.dialog-actions>.mono{font-size:9px;max-width:150px}}
@media(max-width:540px){.component-list{grid-template-columns:repeat(2,minmax(0,1fr))}.component-library{grid-template-columns:1fr 155px;gap:16px 10px}.library-title{display:block}.library-title h3{font-size:17px}.library-title .mono{display:block;margin-top:3px;font-size:9px}.component-search{align-self:center}.circuit-templates.is-expanded .template-card-top{gap:6px}.circuit-templates.is-expanded .template-domain{font-size:9px}.circuit-templates.is-expanded .template-card-top>span:last-child{display:none}.studio-actions .button{flex:1;padding-inline:8px;font-size:10px}.studio-actions .button .icon{width:12px;height:12px}.foundation-nodes{max-width:100%}.circuit-seams{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:390px){.builder-section .eyebrow{font-size:9px;max-width:285px}.builder-section .section-heading h2{font-size:35px}.template-heading h3{font-size:18px}.template-heading .builder-text-button{font-size:10px;max-width:100px}.circuit-templates{margin-right:-20px;padding-right:20px}.circuit-templates.is-expanded{gap:18px 14px}.circuit-templates.is-expanded .template-card h4{font-size:14px}.studio-identity input{max-width:165px;font-size:14px}.studio-identity .mono{font-size:9px}.studio-tool{width:27px}.studio-tools{gap:0}.canvas-empty-note{width:calc(100vw - 40px)}.component-categories{margin-inline:-20px;padding-inline:20px}.component-library{grid-template-columns:1fr 140px}.component-search input::placeholder{font-size:10px}.component-list{gap:8px}.library-card{padding:10px 7px;gap:6px}.library-card-copy strong{font-size:11px}.studio-actions .button{font-size:9px;gap:5px;padding-inline:5px}.seams-details summary{gap:6px}}
@media(prefers-reduced-motion:reduce){.template-card,.circuit-node,.circuit-lane,.deploy-step,#circuit-chat-form{transition:none}.circuit-wires .wire.active,.chat-thinking,.deploy-step.active::before{animation:none}}

/* Match the site navigation shell at every width; focus mode keeps its own viewport padding. */
@media(max-width:1199px){.builder-shell{padding-inline:40px}}
@media(min-width:761px) and (max-width:960px){.builder-shell{padding-inline:30px}}
@media(max-width:760px){.builder-shell{padding-inline:24px}}
@media(max-width:389px){.builder-shell{padding-inline:20px}}
