@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/tools/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/tools/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/tools/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_7bf3c5{font-family:Geist,Geist Fallback;font-style:normal}.__variable_7bf3c5{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/tools/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/tools/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/tools/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c610b1{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c610b1{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}.diagram-builder-layout{--bg-main:#f4f8ff;--ink-strong:#14213d;--ink-soft:#4f5d75;--surface:#fff;--surface-muted:#eff4ff;--border:#cfd9ec;--accent:#146ef5;--accent-strong:#0c55c2;--diagram-link-active:#1f6fe5;--success:#1e8b52;--danger:#b42318;--shadow:0 20px 50px rgba(20,33,61,.12);margin:0;width:100%;min-height:100%;color:var(--ink-strong);background:radial-gradient(1600px 680px at 0 -10%,#d9ecff 0,transparent 60%),radial-gradient(1200px 540px at 100% -5%,#e7fff4 0,transparent 58%),var(--bg-main);font-family:var(--font-geist-sans),"Segoe UI","Helvetica Neue",sans-serif}.diagram-builder-layout,.diagram-builder-layout *,.diagram-builder-layout :after,.diagram-builder-layout :before{box-sizing:border-box}.diagram-app{width:100%;max-width:none;margin:0;padding:.4rem .5rem .7rem;display:grid;gap:.65rem}.app-header{background:linear-gradient(135deg,#fff,#ebf4ff);border:1px solid var(--border);border-radius:1.2rem;padding:1.2rem 1.3rem;box-shadow:var(--shadow)}.eyebrow{margin:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);font-weight:700}.app-header h1{margin:.35rem 0 0;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.2}.app-header p{margin:.55rem 0 0;color:var(--ink-soft);max-width:72ch}.workspace{display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr);align-items:stretch}.workspace-panel{min-width:0;min-height:0}.panel.workspace-panel-hidden,.workspace-panel-hidden{display:none}.workspace-divider{position:relative;align-self:center;justify-self:center;display:flex;gap:.14rem;padding:.12rem;border-radius:10px;border:1px solid #c7d6ef;background:linear-gradient(180deg,#fafdff,#edf4ff);box-shadow:0 6px 16px rgba(20,33,61,.1),inset 0 1px 0 hsla(0,0%,100%,.8);transition:border-color .18s ease,box-shadow .18s ease}.workspace-divider.workspace-divider-resize-hover,.workspace-divider.workspace-divider-resizing{border-color:#8fb3eb;box-shadow:0 6px 18px rgba(20,33,61,.12),inset 0 1px 0 hsla(0,0%,100%,.85)}.workspace-divider.workspace-divider-resize-hover:before,.workspace-divider.workspace-divider-resizing:before{content:"";position:absolute;left:50%;top:.5rem;bottom:.5rem;width:2px;border-radius:999px;transform:translateX(-50%);background:rgba(29,115,240,.35);pointer-events:none}.workspace-divider.workspace-divider-resize-hover,.workspace-divider.workspace-divider-resizing{cursor:col-resize}.workspace-divider .workspace-toggle-btn{cursor:pointer}.workspace-toggle-btn{border:1px solid transparent;background:linear-gradient(180deg,#fff,#f4f8ff);color:#4a5f83;border-radius:10px;width:1.9rem;height:1.9rem;padding:0;display:grid;place-items:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.workspace-toggle-btn:hover{color:#17396e;border-color:#b7ccef;background:linear-gradient(180deg,#fff,#edf3ff)}.workspace-toggle-btn-active{color:#fff;border-color:#0f57c7;background:linear-gradient(135deg,#1d73f0,#0d56c4);box-shadow:0 4px 10px rgba(13,86,196,.35),inset 0 1px 0 hsla(0,0%,100%,.22)}.workspace-toggle-btn:focus-visible{outline:none;border-color:#6aa2f8;box-shadow:0 0 0 2px rgba(20,110,245,.2)}.workspace-toggle-icon{display:inline-grid;place-items:center;width:.95rem;height:.95rem}.workspace-toggle-icon svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.editor-panel.workspace-panel-resize-highlight{box-shadow:var(--shadow),inset -2px 0 0 rgba(29,115,240,.75)}.diagram-panel.workspace-panel-resize-highlight{box-shadow:var(--shadow),inset 2px 0 0 rgba(29,115,240,.75)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:1.2rem;box-shadow:var(--shadow);overflow:hidden;min-height:0;display:flex;flex-direction:column}.panel-head{border-bottom:1px solid var(--border);background:linear-gradient(180deg,#f8fbff,#f2f7ff);padding:.95rem 1rem}.panel-head h2{margin:0;font-size:1.1rem}.panel-head p{margin:.35rem 0 0;color:var(--ink-soft);font-size:.9rem}.panel-head-diagram{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.diagram-toolbar{flex-wrap:wrap}.diagram-tool-group,.diagram-toolbar{display:flex;align-items:center;gap:.35rem}.diagram-tool-separator{width:1px;align-self:stretch;background:#cdd9ee;margin:0 .12rem}.zoom-chip{border-radius:999px;border:1px solid #bfd5fb;background:#edf4ff;color:#1b4f9c;font-size:.76rem;font-weight:700;min-width:3.4rem;text-align:center;padding:.32rem .5rem}.diagram-tool-btn{border:1px solid var(--border);background:#fff;color:var(--ink-strong);border-radius:.6rem;min-width:2.05rem;padding:.36rem .6rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .18s ease}.diagram-tool-btn:hover:not(:disabled){border-color:#9cbef3;background:#f2f7ff}.diagram-tool-btn:disabled{opacity:.55;cursor:not-allowed}.diagram-download-btn{min-width:2.5rem}.panel-body{padding:1rem;min-height:0}.editor-panel-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.field-label{display:inline-block;margin-bottom:.45rem;font-size:.86rem;font-weight:600}.prompt-input{width:100%;resize:vertical;border-radius:.9rem;border:1px solid var(--border);padding:.8rem .9rem;font-size:.95rem;line-height:1.4;color:var(--ink-strong);background:#fff;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.prompt-input:focus{border-color:#86b8ff;box-shadow:0 0 0 3px rgba(20,110,245,.16)}.action-row{margin-top:.7rem;display:flex;gap:.6rem;flex-wrap:wrap}.btn{border:none;border-radius:.75rem;padding:.57rem 1rem;font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .18s ease,filter .18s ease}.btn:disabled{opacity:.65;cursor:wait}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%)}.btn-stop{color:#fff;background:linear-gradient(135deg,#ef4444,#c51f3a);box-shadow:0 8px 16px rgba(197,31,58,.25)}.btn-secondary{color:var(--ink-strong);background:var(--surface-muted);border:1px solid var(--border)}.status-chip{margin:.75rem 0 0;border-radius:999px;padding:.38rem .75rem;font-size:.82rem;width:-moz-fit-content;width:fit-content;border:1px solid transparent}.status-idle{color:#2e4a6b;background:#eaf2ff;border-color:#c9ddff}.status-loading{color:#7f4c00;background:#fff4df;border-color:#ffdf9d}.status-success{color:#145a32;background:#e3f6eb;border-color:#9fddb8}.status-error{color:#7a1124;background:#fce9ed;border-color:#f6b4c2}.editor-shell{margin-top:.75rem;border:1px solid var(--border);border-radius:.95rem;overflow:hidden;background:#fff;height:clamp(320px,52vh,640px);flex:0 0 auto;min-height:320px;display:flex}.editor-shell>*{flex:1 1 auto;min-height:100%}.editor-loading{min-height:0;height:100%;display:grid;place-items:center;color:var(--ink-soft);font-size:.92rem}.diagram-area{min-height:0;height:auto;flex:1 1 auto;background:radial-gradient(1200px 380px at 20% -15%,#fff 0,transparent 62%),linear-gradient(180deg,#fdfefe,#f2f8ff);overflow:auto;overscroll-behavior:contain;cursor:grab;touch-action:none}.diagram-area-panning{cursor:grabbing}.diagram-pan-layer{transform-origin:0 0;will-change:transform}.diagram-canvas,.diagram-pan-layer{min-height:620px;min-width:100%;width:-moz-max-content;width:max-content}.diagram-canvas{padding:1rem;overflow:visible}.diagram-canvas svg{display:block;width:auto;max-width:none;height:auto;overflow:visible}.diagram-canvas svg .diagram-edge-interactive{cursor:pointer;transition:stroke .18s ease,stroke-width .18s ease,filter .18s ease}.diagram-canvas svg .diagram-edge-interactive:is(:hover,.diagram-edge-hovered,.diagram-edge-active){stroke:var(--diagram-link-active)!important;stroke-width:3px!important}.diagram-canvas svg .diagram-edge-hitbox{cursor:pointer}.diagram-canvas svg g.diagram-node-interactive,.diagram-canvas svg g.diagram-node-interactive *{cursor:grab}.diagram-canvas svg g.diagram-node-dragging,.diagram-canvas svg g.diagram-node-dragging *{cursor:grabbing}.diagram-canvas svg g.diagram-node-highlighted{filter:drop-shadow(0 0 6px rgba(31,111,229,.28))}.diagram-canvas svg g.diagram-node-highlighted :is(rect,circle,ellipse,polygon,path,line,polyline){stroke:var(--diagram-link-active)!important;stroke-width:2.4px!important}.diagram-canvas svg g.diagram-node-highlighted text{fill:#0e4ea9!important}.mermaid-editor-flash-line{background:rgba(31,111,229,.13)}.mermaid-editor-flash-inline{background:rgba(31,111,229,.28);border-radius:3px}.render-error{margin:1rem;border-radius:.95rem;border:1px solid #efb6c1;background:#fff4f6;padding:.9rem;color:#7a1124}.render-error h3{margin:0;font-size:1rem}.render-error p{margin:.35rem 0 0;line-height:1.45}.diagram-placeholder{margin:1rem;border:1px dashed #b5c8e6;border-radius:.9rem;padding:1rem;color:var(--ink-soft);background:hsla(0,0%,100%,.7)}@media (max-width:680px){.diagram-app{padding:.3rem .35rem .6rem}.panel-body,.panel-head{padding-left:.75rem;padding-right:.75rem}.diagram-area{min-height:460px}.diagram-canvas,.diagram-pan-layer{min-height:440px}.diagram-canvas{padding:.75rem}.panel-head-diagram{flex-wrap:wrap}.workspace-divider{width:-moz-fit-content;width:fit-content}.diagram-tool-separator{display:none}}@media (min-width:1180px){.diagram-app{min-height:100vh;min-height:100dvh}.workspace{grid-template-columns:minmax(360px,var(--workspace-left-panel-width,1.1fr)) auto minmax(360px,1fr);align-items:stretch;min-height:0}.workspace[data-view-mode=editor]{grid-template-columns:minmax(0,1fr) auto}.workspace[data-view-mode=diagram]{grid-template-columns:auto minmax(0,1fr)}.workspace-divider{flex-direction:column;align-self:stretch;justify-content:center;width:2.22rem;min-height:100%;padding:.1rem}.workspace[data-view-mode=diagram] .diagram-panel,.workspace[data-view-mode=editor] .editor-panel,.workspace[data-view-mode=split] .diagram-panel,.workspace[data-view-mode=split] .editor-panel{height:calc(100dvh - 1.1rem);max-height:calc(100dvh - 1.1rem)}.workspace[data-view-mode=editor] .editor-panel,.workspace[data-view-mode=split] .editor-panel{position:sticky;top:.4rem;align-self:start}.workspace[data-view-mode=editor] .editor-panel-body,.workspace[data-view-mode=split] .editor-panel-body{flex:1 1 auto}.workspace[data-view-mode=editor] .editor-shell,.workspace[data-view-mode=split] .editor-shell{height:auto;min-height:0;flex:1 1 auto}}