@font-face{font-family:Inter;src:url(/fonts/inter-normal-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-normal-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-normal-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{--paper:#f6f0e4;--paper-deep:#eee6d5;--ink:#263e4a;--field:#526244;--rust:#9b5034;--rule:#b7ac98;--muted:#626963;--line:#d8d0bf;--ui:Inter,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%;overflow:hidden}body{font-family:var(--ui);color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit;color:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button{border:0;background:transparent}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rust);outline-offset:3px}button{transition:background .12s,color .12s}button:hover:not(:disabled){background:#e8dfce}button svg{flex-shrink:0}input,select,textarea{min-width:0}.editor{height:100dvh;display:flex;flex-direction:column}.topbar{min-height:89px;padding:17px 26px;gap:25px;border-bottom:1px solid var(--rule);background:#f5efe3;z-index:10}.brand,.topbar{display:flex;align-items:center}.brand{gap:9px;text-decoration:none;flex-shrink:0;padding-right:27px;border-right:1px solid var(--line)}.brand-lockup{display:block;width:238px;height:auto}.document-heading{display:flex;flex-direction:column;min-width:120px;max-width:420px;flex:1 1;gap:5px}.eyebrow{font-family:monospace;font-size:9px;letter-spacing:1.6px;font-weight:400;line-height:1.6}.drawing-number{color:#646557}.drawing-title{width:100%;font-size:15px;font-weight:600;border:0;background:transparent;padding:2px 0;border-radius:0}.save-status{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:10px;color:var(--field);white-space:nowrap}.save-status.error{color:#9c3e2d}.header-actions{display:flex;gap:16px;align-items:center;flex-shrink:0}.history-buttons{display:flex;gap:4px;border-right:1px solid var(--line);padding-right:16px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.tidy-button{display:flex;gap:7px;align-items:center;font-size:11px;height:35px;padding:0 3px}.export-container{position:relative}.export-button{display:flex;gap:9px;background:var(--ink);color:var(--paper);height:36px;padding:0 13px;border-radius:4px;font-size:11px}.export-button:hover:not(:disabled){background:#354f59}.export-button{align-items:center}.menu-dismiss{position:fixed;inset:0;z-index:20;cursor:default}.menu-dismiss:hover:not(:disabled){background:transparent}.export-menu{position:absolute;right:0;top:44px;width:258px;background:#faf6ed;border:1px solid var(--rule);box-shadow:0 8px 25px #263e4a16;border-radius:6px;padding:14px 9px 8px;z-index:21}.export-menu>.eyebrow{display:block;margin:0 9px 10px;font-size:8px}.export-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 9px;border-radius:3px;font-size:12px;text-align:left}.export-menu button span{margin-left:auto;color:var(--muted);font:10px monospace}.export-menu hr{border:0;border-top:1px solid var(--line);margin:6px 9px}.export-menu p{font-size:10px;line-height:1.6;color:var(--muted);padding:8px 9px 0}.workspace{min-height:0;display:flex}.canvas,.workspace{flex:1 1;position:relative}.canvas{min-width:0}.canvas .react-flow{height:100%;width:100%}.tool-decision .react-flow__pane,.tool-process .react-flow__pane,.tool-system .react-flow__pane,.tool-terminal .react-flow__pane{cursor:crosshair}.tool-pan .react-flow__pane{cursor:grab}.toolbar{position:absolute;z-index:5;left:23px;top:26px;flex-direction:column;padding:7px;background:#f8f3e9;border:1px solid var(--rule);border-radius:6px;box-shadow:0 3px 8px #263e4a06;gap:4px}.tool-button,.toolbar{display:flex;align-items:center}.tool-button{width:37px;height:39px;justify-content:center;border-radius:3px;position:relative}.tool-button.active{background:var(--ink);color:var(--paper)}.tool-button.active:hover{background:#354f59}.tool-divider{border-top:1px solid var(--line);padding-top:7px;margin-top:3px}.tool-tooltip{display:none;position:absolute;left:49px;white-space:nowrap;background:var(--ink);color:var(--paper);padding:9px 11px;border-radius:4px;font-size:10px;gap:18px;align-items:center;box-shadow:0 2px 6px #0001}.tool-tooltip kbd{color:#c4c8bf;font:9px monospace}.tool-button:focus-visible .tool-tooltip,.tool-button:hover .tool-tooltip{display:flex}.toolbar-caption{font:7px monospace;letter-spacing:1px;color:#646557;margin:9px 0 3px}.empty-state{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;width:450px;max-width:calc(100% - 160px)}.empty-state>*{pointer-events:auto}.empty-state>.eyebrow{font-size:8px;color:#626858;letter-spacing:2px}.empty-drawing{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:32px;color:#7c877c}.empty-drawing>span{border:1px solid #879284;width:37px;height:26px;border-radius:3px;background:#efeadc}.empty-drawing .diamond{width:26px;height:26px;transform:rotate(45deg);border-radius:0;background:#eee5d4;margin:0 4px}.empty-drawing .round{border-radius:16px}.empty-drawing svg{width:22px;stroke-width:1}.empty-state h1{font-family:Georgia,serif;font-size:52px;font-weight:400;line-height:1.08;letter-spacing:-1.8px;margin:18px 0}.empty-state h1 em{font-weight:400}.empty-state p{font-size:12px;line-height:1.85;color:#5e675f;margin:18px 0 26px}.empty-state>button{display:inline-flex;gap:8px;align-items:center;background:var(--ink);color:var(--paper);font-size:11px;border-radius:4px;padding:12px 17px}.empty-state>button:hover{background:#354f59}.empty-state small{display:block;font-size:9px;color:#646557;margin-top:14px}.zoom-controls{position:absolute;bottom:22px;right:24px;display:flex;align-items:center;background:#f8f3e9;border:1px solid var(--rule);border-radius:4px;padding:3px;box-shadow:0 2px 6px #263e4a04}.zoom-controls button{display:flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:2px}.zoom-controls>span{font:10px monospace;min-width:43px;text-align:center}.zoom-controls>.zoom-divider{min-width:1px;height:17px;background:var(--line);margin:0 3px}.statusbar{justify-content:space-between;gap:15px;min-height:37px;padding:0 25px;border-top:1px solid var(--rule);font-size:9px;background:#f1eadc;z-index:6}.statusbar,.statusbar>div{display:flex;align-items:center}.statusbar>div{gap:8px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--field)}.footer-separator{margin:0 8px;color:#a7a48f}.local-note{font:7px monospace;letter-spacing:.7px;color:#62685b;margin-left:15px}.help-button{margin-left:auto;font-size:9px;padding:6px;color:#626f67}.help-button,.statusbar>a{display:flex;align-items:center;gap:6px}.statusbar>a{font:7px monospace;letter-spacing:1px;text-decoration:none}.diagram-shape{width:184px;height:92px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.shape-surface{position:absolute;inset:10px 0;background:#fcf8ef;border:1.6px solid var(--ink);border-radius:5px;z-index:-1;box-shadow:0 2px 0 #263e4a08}.shape-content{display:flex;align-items:center;justify-content:center;text-align:center;position:relative;min-width:0;width:100%;padding:14px 17px;font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.diagram-shape.decision .shape-surface{width:128px;height:128px;inset:auto;left:28px;top:-18px;transform:rotate(45deg) scale(.69);border-radius:2px;background:#eee2ca;border-width:2.3px}.diagram-shape.decision .shape-content{padding:8px 30px;font-size:12px}.diagram-shape.system .shape-surface{background:#e8ede3;border-radius:5px;border-top:4px double var(--ink);border-bottom:4px double var(--ink)}.diagram-shape.terminal .shape-surface{border-radius:50px;background:#e9edeb}.diagram-shape.is-selected .shape-surface{outline:2px solid var(--rust);outline-offset:4px}.placeholder{color:#647066;font-weight:400}.grow-button{position:absolute;right:-33px;top:34px;width:25px;height:25px;border-radius:50%;background:var(--paper);border:1px solid var(--rust);color:var(--rust);align-items:center;justify-content:center;display:flex;opacity:0}.diagram-shape.is-selected .grow-button,.diagram-shape:hover .grow-button,.grow-button:focus-visible{opacity:1}.grow-button:hover:not(:disabled){background:var(--rust);color:var(--paper)}.react-flow__handle{width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;border:1px solid var(--ink)!important;background:var(--paper)!important;opacity:.6}.diagram-shape.is-selected .react-flow__handle,.diagram-shape:hover .react-flow__handle{opacity:1;background:var(--ink)!important}.react-flow__node:focus-visible{outline:2px solid var(--rust);outline-offset:7px;border-radius:5px}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--rust)!important;stroke-width:2.4!important}.react-flow__edge:focus-visible{outline:2px solid var(--rust)}.node-label-input{width:100%;font-size:12px;text-align:center;background:#fffaf0;border:0;border-bottom:1px solid var(--rust);outline:0;padding:3px 0}.node-label-input:focus-visible{outline:0}.detail-mark{position:absolute;right:8px;bottom:5px;color:#687359}.details-panel{width:288px;flex-shrink:0;background:#f8f3e9;border-left:1px solid var(--rule);padding:16px 21px;overflow-y:auto;z-index:7}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading .eyebrow{font-size:8px;color:#626858}.details-panel h2{font:23px Georgia,serif;letter-spacing:-.5px;margin:15px 0 9px}.panel-hint{font-size:10px;line-height:1.7;color:#626963;margin:0 0 24px}.details-panel label{display:block;font-size:10px;font-weight:600;margin:17px 0}.details-panel input,.details-panel select,.details-panel textarea{display:block;width:100%;border:1px solid #c7c0af;background:#fcf8f0;padding:9px;border-radius:3px;margin-top:8px;font-size:12px;line-height:1.5}.details-panel textarea{resize:vertical}.details-panel input::placeholder,.details-panel textarea::placeholder{color:#6a6e62;font-size:11px}.optional{font-weight:400;font-size:9px;color:var(--muted);margin-left:5px}.reference-link{font-size:10px;display:flex;align-items:center;gap:5px}.field-error{font-size:10px;color:#963d2b;line-height:1.5}.panel-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.panel-bottom>span{font-size:9px;color:var(--muted)}.delete-button{gap:6px;color:#993e2a;font-size:10px;padding:9px 0;margin-top:12px}.delete-button,.message-banner{display:flex;align-items:center}.message-banner{gap:10px;padding:12px 25px;font-size:12px;line-height:1.5;background:#f3dfc3;border-bottom:1px solid #c59f70}.message-banner>svg{flex-shrink:0}.message-banner>button{margin-left:auto;display:flex;padding:5px}.modal-backdrop{position:fixed;inset:0;background:#263e4a66;display:flex;align-items:center;justify-content:center;z-index:40;padding:20px}.modal{position:relative;background:#f8f3e9;border:1px solid var(--rule);border-radius:6px;padding:36px;max-width:480px;max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #263e4a25}.modal>.eyebrow{display:block;margin:16px 0;color:var(--field);font-size:8px}.modal h2{font:30px Georgia,serif;letter-spacing:-.8px;margin:15px 0}.modal p{font-size:12px;line-height:1.85}.modal>small{font:10px Georgia,serif;font-style:italic}.modal-close{position:absolute;right:12px;top:12px}.shortcuts{display:grid;grid-template-columns:1fr auto;gap:11px;font-size:10px;margin:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.shortcuts kbd{font:9px monospace}.modal .privacy-note{font-size:10px;color:#687168}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.modal-actions button{padding:9px 12px;border:1px solid var(--rule);border-radius:3px;font-size:11px}.modal-actions .primary{background:var(--ink);color:var(--paper)}.is-exporting .shape-surface{outline:none!important}.is-exporting .react-flow__handle,.is-exporting [data-editor-only]{visibility:hidden!important}@media (min-width:1600px){.topbar{padding-left:30px;padding-right:30px}.document-heading{max-width:none}.empty-state h1{font-size:58px}}@media (max-width:1100px){.topbar{gap:15px;padding:15px 18px;min-height:80px}.brand{padding-right:15px}.brand-lockup{width:205px}.save-status{font-size:9px}.header-actions{gap:10px}.history-buttons{padding-right:9px}.local-note{display:none}.details-panel{width:260px}.help-button{font-size:8px}.toolbar{left:18px}}@media (max-width:800px){.topbar{flex-wrap:wrap;padding:11px 14px;gap:10px 14px}.brand{border:0;padding:0}.brand-lockup{width:172px}.document-heading{max-width:none;min-width:120px;gap:1px}.drawing-number{font-size:7px}.drawing-title{font-size:12px}.save-status{display:none}.header-actions{width:100%;justify-content:flex-end;border-top:1px solid var(--line);padding-top:8px;gap:14px}.history-buttons{margin-right:auto;border:0;padding:0}.tidy-button{height:30px}.export-button{height:31px}.details-panel{position:absolute;right:0;top:0;bottom:0;width:min(280px,70%);box-shadow:-5px 0 25px #263e4a08}.empty-state{max-width:calc(100% - 100px);left:56%;top:43%}.empty-state h1{font-size:36px;letter-spacing:-1px}.empty-drawing{gap:8px;margin-bottom:20px}.empty-drawing>span{width:29px;height:22px}.empty-drawing .diamond{width:22px;height:22px}.empty-drawing svg{width:18px}.empty-state>.eyebrow{font-size:6px;letter-spacing:1.1px}.empty-state p{font-size:10px}.empty-state small{font-size:8px;line-height:1.7}.toolbar{left:10px;top:15px;padding:4px}.tool-button{width:31px;height:33px}.toolbar-caption{font-size:6px}.tool-button svg{width:17px}.zoom-controls{bottom:15px;right:14px}.statusbar{padding:0 13px;min-height:31px;font-size:8px}.statusbar>a{font-size:6px;letter-spacing:.6px}.help-button{font-size:0;gap:0}.help-button svg{width:15px;height:15px}.modal{padding:27px}.message-banner{font-size:10px;padding:10px 14px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.brand{text-align:left}.brand,.brand:hover:not(:disabled){background:transparent}.diagram-shape.decision .shape-surface{width:130px;height:130px;left:27px;top:-19px;transform:scaleY(.5) rotate(45deg)}.is-exporting .react-flow__edge.selected .react-flow__edge-path{stroke:var(--ink)!important;stroke-width:1.7!important}@media (max-width:800px){.topbar{position:relative}.save-status{display:flex;position:absolute;left:96px;bottom:22px;font-size:7px;gap:3px}.save-status svg{width:10px;height:10px}}.dialog-shell{border:0;background:transparent;color:var(--ink);padding:20px;max-width:100vw;max-height:100dvh}.dialog-shell::backdrop{background:#263e4a66}.tool-decision .react-flow__node,.tool-process .react-flow__node,.tool-system .react-flow__node,.tool-terminal .react-flow__node{pointer-events:none!important}.react-flow__handle{z-index:3}