:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas-bg:#f7f6f2;--canvas-grid:#4755690d;--surface-default:#fffefb;--surface-elevated:#fff;--surface-hover:#f0efe9;--surface-active:#e8eef9;--text-strong:#1e293b;--text-default:#334155;--text-muted:#64748b;--text-inverse:#fff;--border-subtle:#d9d8d2;--border-strong:#9ca3af;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#edf4ff;--danger:#c92a2a;--danger-soft:#fff1f0;--focus-ring:#1d4ed8;--scrim:#0f172a85;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius-control:8px;--radius-panel:10px;--node-shadow-sm:0 2px 2.5px #0f172a29;--node-shadow-md:0 5px 6px #0f172a33;--node-shadow-lg:0 9px 11px #0f172a3d;--motion-fast:.16s;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,PingFang SC,Microsoft YaHei UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas-bg:#111827;--canvas-grid:#94a3b817;--surface-default:#182234;--surface-elevated:#202b3d;--surface-hover:#29364a;--surface-active:#253b62;--text-strong:#f1f5f9;--text-default:#d7e0eb;--text-muted:#9eacbd;--text-inverse:#fff;--border-subtle:#3a475a;--border-strong:#64748b;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-soft:#1d3557;--danger:#ff8787;--danger-soft:#4a252a;--focus-ring:#93c5fd;--scrim:#020617b3;--node-shadow-sm:0 2px 2.5px #0000004d;--node-shadow-md:0 5px 6px #00000061;--node-shadow-lg:0 9px 11px #00000075}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body{color:var(--text-default);background:var(--canvas-bg)}button,input,output,select,textarea{font:inherit}button,a{color:inherit}:where(button,a,input,select,textarea,.plait-board-container):focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 78%, transparent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-rows:56px minmax(0,1fr);min-height:100dvh;display:grid;overflow:hidden}.app-header{z-index:60;align-items:center;gap:var(--space-4);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-default);grid-template-columns:minmax(220px,1fr) minmax(180px,auto) minmax(220px,1fr);display:grid;position:relative}.header-start,.brand-group,.header-actions{align-items:center;min-width:0;display:flex}.header-start{gap:var(--space-2)}.brand-group{gap:var(--space-3)}.header-actions{justify-content:flex-end;gap:var(--space-1)}.brand-mark{color:var(--text-strong);letter-spacing:-.04em;white-space:nowrap;font-size:18px;font-weight:750}.brand-mark span{color:var(--accent)}.version-badge{border:1px solid var(--border-subtle);color:var(--text-muted);background:var(--surface-elevated);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:650;overflow:hidden}.document-title{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;display:flex}.document-title>span{max-width:38vw;color:var(--text-strong);letter-spacing:-.018em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:720;overflow:hidden}.document-status-row{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;display:flex}.local-save-status{min-width:0;color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:10px;font-weight:620;line-height:1;display:inline-flex}.local-save-status svg{stroke-width:2px;flex:none;width:11px;height:11px}.local-save-status>span{text-overflow:ellipsis;max-width:min(32vw,360px);overflow:hidden}.local-save-status[data-state=saved]{color:#0f766e}.local-save-status[data-state=error]{color:var(--danger)}:root[data-theme=dark] .local-save-status[data-state=saved]{color:#5eead4}.mapping-report__trigger{border:1px solid color-mix(in srgb, var(--danger) 36%, var(--border-subtle));min-height:22px;color:var(--danger);background:var(--danger-soft);cursor:pointer;font:inherit;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.mapping-report__trigger svg{flex:none;width:12px;height:12px}.mapping-report__count{font-variant-numeric:tabular-nums;text-align:center;min-width:14px}.mapping-report__backdrop{z-index:180;padding:var(--space-4);background:var(--scrim);place-items:center;display:grid;position:fixed;inset:0}.mapping-report__dialog{border:1px solid var(--border-strong);border-radius:var(--radius-panel);width:min(620px,100%);max-height:calc(100dvh - 32px);color:var(--text-default);background:var(--surface-elevated);box-shadow:var(--node-shadow-lg);grid-template-rows:auto auto auto minmax(0,1fr) auto;display:grid;overflow:hidden}.mapping-report__header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:56px;padding:6px 6px 6px var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.mapping-report__header h2{color:var(--text-strong);letter-spacing:-.015em;margin:0;font-size:18px}.mapping-report__close{border-radius:var(--radius-control);width:44px;height:44px;color:var(--text-default);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.mapping-report__close:hover{background:var(--surface-hover)}.mapping-report__close svg{width:19px;height:19px}.mapping-report__source,.mapping-report__notice{padding-right:var(--space-4);padding-left:var(--space-4);margin:0}.mapping-report__source{padding-top:var(--space-4);color:var(--text-strong);font-size:13px;font-weight:700}.mapping-report__notice{padding-top:var(--space-2);padding-bottom:var(--space-3);color:var(--text-muted);font-size:13px;line-height:1.5}.mapping-report__diagnostics{gap:var(--space-2);min-height:0;padding:0 var(--space-4) var(--space-4);margin:0;list-style:none;display:grid;overflow-y:auto}.mapping-report__diagnostic{padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-default)}.mapping-report__diagnostic-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--text-strong);font-size:13px;display:flex}.mapping-report__diagnostic-heading span{color:var(--text-muted);flex:none;font-size:12px;font-weight:650}.mapping-report__diagnostic p{color:var(--text-default);margin:6px 0 0;font-size:13px;line-height:1.5}.mapping-report__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);justify-content:flex-end;display:flex}.mapping-report__footer button{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border-subtle));border-radius:var(--radius-control);color:var(--accent-hover);background:var(--accent-soft);cursor:pointer;font:inherit;font-size:13px;font-weight:700;display:inline-flex}.mapping-report__footer svg{width:17px;height:17px}.recovery-dialog__backdrop{z-index:180;padding:var(--space-4);background:var(--scrim);place-items:center;display:grid;position:fixed;inset:0}.recovery-dialog{border:1px solid var(--border-strong);border-radius:var(--radius-panel);width:min(680px,100%);max-height:calc(100dvh - 32px);color:var(--text-default);background:var(--surface-elevated);box-shadow:var(--node-shadow-lg);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.recovery-dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);min-height:76px;padding:var(--space-3) 6px var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.recovery-dialog__heading{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.recovery-dialog__heading>svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:2px}.recovery-dialog__heading h2,.recovery-dialog__heading p{margin:0}.recovery-dialog__heading h2{color:var(--text-strong);letter-spacing:-.015em;font-size:18px}.recovery-dialog__heading p{max-width:60ch;color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.45}.recovery-dialog__close{border-radius:var(--radius-control);width:44px;height:44px;color:var(--text-default);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.recovery-dialog__close:hover{background:var(--surface-hover)}.recovery-dialog__close svg{width:19px;height:19px}.recovery-dialog__versions{gap:var(--space-2);min-height:0;padding:var(--space-4);margin:0;list-style:none;display:grid;overflow-y:auto}.recovery-dialog__version{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-default);display:flex}.recovery-dialog__version-copy{min-width:0}.recovery-dialog__version-copy>strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.recovery-dialog__version-meta{gap:var(--space-2) var(--space-3);color:var(--text-muted);flex-wrap:wrap;margin-top:6px;font-size:12px;display:flex}.recovery-dialog__version-meta span{align-items:center;gap:4px;display:inline-flex}.recovery-dialog__version-meta svg{width:13px;height:13px}.recovery-dialog__restore{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border-subtle));border-radius:var(--radius-control);color:var(--accent-hover);background:var(--accent-soft);cursor:pointer;font:inherit;flex:none;font-size:13px;font-weight:700;display:inline-flex}.recovery-dialog__restore svg{width:16px;height:16px}.recovery-dialog__empty{align-content:center;place-items:center;gap:var(--space-2);min-height:180px;padding:var(--space-5);color:var(--text-muted);text-align:center;display:grid}.recovery-dialog__empty svg{width:28px;height:28px}.recovery-dialog__empty p{margin:0;font-size:14px}.header-icon-button{border-radius:var(--radius-control);min-width:44px;height:44px;color:var(--text-default);cursor:pointer;transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease, background-color var(--motion-fast) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 10px;text-decoration:none;display:inline-flex}.header-icon-button:hover,.header-icon-button[aria-expanded=true]{border-color:var(--border-subtle);color:var(--text-strong);background:var(--surface-hover)}.header-icon-button svg{stroke-width:1.8px;flex:none;width:19px;height:19px}.header-menu{flex:none;position:relative}.header-menu__panel{z-index:100;border:1px solid var(--border-subtle);background:var(--surface-elevated);border-radius:10px;min-width:184px;padding:6px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.project-menu__panel{overscroll-behavior:contain;width:250px;max-height:calc(100dvh - 72px);left:0;right:auto;overflow-y:auto}.header-menu__panel button{width:100%;min-height:44px;color:var(--text-default);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:0 10px;font-size:13px;font-weight:620;display:flex}.header-menu__panel button:hover:not(:disabled),.header-menu__panel button:focus-visible,.header-menu__panel button[aria-checked=true]{color:var(--text-strong);background:var(--surface-hover)}.header-menu__panel button:disabled{cursor:wait;opacity:.48}.header-menu__panel button[data-unavailable=true]{cursor:not-allowed}.header-menu__panel button>span{flex:auto}.header-menu__panel svg{stroke-width:1.8px;flex:none;width:18px;height:18px}.project-menu__panel button{justify-content:flex-start}.header-menu__section{border-top:1px solid var(--border-subtle);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:5px 4px 3px;padding:8px 6px 4px;font-size:10px;font-weight:750}.language-menu__trigger{border-color:var(--border-subtle);background:var(--surface-elevated);justify-content:flex-start;min-width:136px}.language-menu__trigger>span{text-align:left;white-space:nowrap;flex:auto;font-size:13px;font-weight:650}.language-menu__trigger .header-menu__chevron{width:15px;height:15px;transition:transform var(--motion-fast) ease}.language-menu__trigger[aria-expanded=true] .header-menu__chevron{transform:rotate(180deg)}.canvas-stage{background-color:var(--nodemd-canvas-background,var(--canvas-bg));background-image:linear-gradient(var(--nodemd-canvas-grid,var(--canvas-grid)) 1px, transparent 1px), linear-gradient(90deg, var(--nodemd-canvas-grid,var(--canvas-grid)) 1px, transparent 1px);background-size:32px 32px;min-height:0;position:relative;overflow:hidden}.canvas-stage:fullscreen{width:100vw;height:100vh;min-height:100vh}.canvas-stage.is-exporting{cursor:wait}.canvas-file-drop-overlay{z-index:120;border:2px dashed var(--accent);border-radius:var(--radius-panel);color:var(--text-default);background:color-mix(in srgb, var(--surface-elevated) 92%, var(--accent-soft) 8%);box-shadow:var(--shadow-md);pointer-events:none;text-align:center;align-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:16px 16px 96px}.canvas-file-drop-overlay svg{width:44px;height:44px;color:var(--accent);stroke-width:1.6px}.canvas-file-drop-overlay strong{color:var(--text-strong);font-size:16px}.canvas-file-drop-overlay span{max-width:440px;color:var(--text-muted);font-size:12px;line-height:1.5}.canvas-stage.is-exporting :is(.node-style-rail,.selection-context,.node-action-dock,.canvas-help,.canvas-toolbar){pointer-events:none;opacity:.56}.plait-board-container{touch-action:none;position:absolute;inset:0;overflow:hidden}.flow-board-container{bottom:80px}.plait-board-container[data-interaction-disabled=true]{cursor:wait}.plait-board-container:focus-visible{outline:0}.plait-viewport-container{scrollbar-width:none;position:absolute;inset:0;overflow:auto}.plait-viewport-container::-webkit-scrollbar{display:none}.node-action-bar::-webkit-scrollbar{display:none}.board-host-svg,.board-active-svg{display:block;position:absolute;inset:0;overflow:visible}.board-active-svg{pointer-events:none}.canvas-stage:not(.is-flowchart) .active-host-g .selection-rectangle:not(.selection-rectangle-bounding){display:none}.plait-board-container.pointer-hand .board-host-svg,.plait-board-container.viewport-moving .board-host-svg{cursor:grabbing}.plait-board-container[data-node-resize-hover-node-id] .board-host-svg,.plait-board-container[data-node-resize-hover-node-id] .board-host-svg *,.plait-board-container[data-node-resize-active=true] .board-host-svg,.plait-board-container[data-node-resize-active=true] .board-host-svg *{cursor:ew-resize!important}.plait-board-container[data-connection-cutting=true],.plait-board-container[data-connection-cutting=true] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M5 27 18 14l4 4L9 31z' fill='%23ef4444' stroke='%23fff' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='m18 14 8-10 3 3-7 11z' fill='%23fff' stroke='%23334155' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 27 5,crosshair!important}.nodemd-plait-text-stack{flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-width:0;height:100%;display:flex}.nodemd-plait-text{color:#334155;text-align:center;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:color var(--motion-fast) ease;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:520;line-height:1.42;display:flex}.nodemd-plait-text-stack>.nodemd-plait-text{flex:none;height:auto;min-height:20px}.nodemd-node-subtitle{box-sizing:border-box;text-align:center;flex-shrink:0;gap:2px;width:100%;max-width:calc(100% - 4px);padding:1px 2px;font-size:10px;font-weight:650;line-height:1.3;display:grid;overflow:hidden}.nodemd-node-subtitle[data-node-description-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.nodemd-node-subtitle[data-node-description-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.nodemd-node-description{box-sizing:border-box;width:100%;min-width:0;min-height:17px;color:color-mix(in srgb, var(--nodemd-subtitle-accent,#475569) 75%, #000 25%);background:color-mix(in srgb, var(--nodemd-subtitle-accent,#475569) 12%, #fff);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:2px 5px;display:block;overflow:hidden}.nodemd-node-description[contenteditable=true]{color:#1e293b;cursor:text;text-overflow:clip;-webkit-user-select:text;user-select:text;background:#fff;outline:none;box-shadow:0 0 0 2px #2563eb33,inset 0 0 0 1px #2563eb}.nodemd-plait-text:focus{outline:none}.nodemd-plait-text[contenteditable=true]{color:#1e293b;cursor:text;-webkit-user-select:text;user-select:text;background:#fff;border-radius:6px;box-shadow:0 0 0 3px #2563eb33,inset 0 0 0 2px #2563eb}.nodemd-plait-paragraph{overflow-wrap:anywhere;white-space:pre-wrap;width:100%;margin:0}.nodemd-node-frame{--node-frame-shadow: ;filter:var(--node-frame-shadow)}.nodemd-node-frame[data-node-shadow=sm]{--node-frame-shadow:drop-shadow(var(--node-shadow-sm))}.nodemd-node-frame[data-node-shadow=md]{--node-frame-shadow:drop-shadow(var(--node-shadow-md))}.nodemd-node-frame[data-node-shadow=lg]{--node-frame-shadow:drop-shadow(var(--node-shadow-lg))}.nodemd-node-frame[data-connection-drop-target=true]{filter:var(--node-frame-shadow) drop-shadow(0 0 1px var(--accent)) drop-shadow(0 0 3px var(--accent))}.nodemd-manual-connection__selection{stroke:var(--accent);opacity:.3}.nodemd-manual-connection__hit{cursor:pointer}.nodemd-manual-connection__line[data-connection-cut-target=true],[data-hierarchy-connection-child-id][data-connection-cut-target=true]{stroke:var(--danger);opacity:1}.nodemd-connection-handle{cursor:crosshair}.nodemd-connection-handle__hit,.nodemd-connection-handle__center-hit{fill:#0000;pointer-events:all}.nodemd-connection-handle__dot{fill:var(--surface-elevated);stroke:var(--accent);opacity:.82;pointer-events:none;transition:fill var(--motion-fast) ease, opacity var(--motion-fast) ease}.nodemd-connection-handle:hover .nodemd-connection-handle__dot,.nodemd-connection-handle[data-connection-handle-selected=true] .nodemd-connection-handle__dot{fill:var(--accent-soft);opacity:1}.nodemd-connection-preview{pointer-events:none}.nodemd-connection-preview__path{stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.nodemd-connection-cut-preview{pointer-events:none}.nodemd-connection-cut-preview__path{stroke:var(--danger);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.nodemd-plait-text[data-node-depth="0"]{color:var(--text-inverse);letter-spacing:-.02em;font-size:18px;font-weight:680}.nodemd-plait-text[data-node-depth="1"]{color:#1e293b;font-size:15px;font-weight:650}.nodemd-plait-text[data-node-depth="0"],.nodemd-plait-text[data-node-depth="1"]{line-height:1.5}.nodemd-plait-text[contenteditable=true]{color:#1e293b}[data-node-id] path,[data-node-id] rect{transition:stroke var(--motion-fast) ease, fill var(--motion-fast) ease, opacity var(--motion-fast) ease}.add-button,.collapse-button,.expanded-button{display:none}.node-style-rail{top:50%;left:var(--space-4);z-index:45;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);gap:2px;width:54px;padding:4px;display:grid;position:absolute;transform:translateY(-50%)}.node-style-tool-wrap{position:static}.node-style-tool{width:44px;height:44px;color:var(--text-default);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.node-style-tool:hover,.node-style-tool[aria-expanded=true],.node-style-tool[aria-pressed=true]{border-color:var(--border-subtle);color:var(--accent-hover);background:var(--surface-hover)}.node-style-tool svg{stroke-width:1.8px;width:19px;height:19px}.node-style-panel{z-index:70;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);width:min(292px,100vw - 96px);max-height:min(680px,100dvh - 88px);color:var(--text-default);background:var(--surface-elevated);display:grid;position:absolute;top:50%;left:calc(100% + 10px);overflow-y:auto;transform:translateY(-50%)}.node-style-panel--end{top:50%;bottom:auto}.node-style-panel__header{z-index:1;border-bottom:1px solid var(--border-subtle);background:var(--surface-elevated);align-items:center;gap:9px;min-height:44px;padding:0 12px;display:flex;position:sticky;top:0}.node-style-panel__header svg{width:17px;height:17px;color:var(--text-muted);stroke-width:1.8px}.node-style-panel__header strong{color:var(--text-strong);font-size:13px;font-weight:700}.node-style-panel__body{gap:0;padding:4px 12px 12px;display:grid}.style-field{border-bottom:1px solid var(--border-subtle);gap:8px;padding:11px 0 12px;display:grid}.style-field:last-child{border-bottom:0;padding-bottom:0}.style-field__label-row{min-height:20px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:1.25;display:flex}.style-field__label-row label,.style-field__label-row>span:first-child{color:var(--text-default);font-weight:650}.style-field__label-row>span:last-child:not(:first-child){font-variant-numeric:tabular-nums;font-weight:600}.style-field__label-row svg{stroke-width:1.8px;width:16px;height:16px}.color-field__controls{grid-template-columns:44px minmax(0,1fr);gap:8px;display:grid}.color-field__well{border:1px solid var(--border-subtle);background:conic-gradient(#e5e7eb 25%, #fff 0 50%, #e5e7eb 0 75%, #fff 0) 0 0 / 10px 10px;cursor:pointer;border-radius:7px;width:44px;height:40px;display:block;position:relative;overflow:hidden}.color-field__well>span{background:var(--field-color);pointer-events:none;border-radius:4px;position:absolute;inset:4px;box-shadow:inset 0 0 0 1px #0f172a1f}.color-field__well input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.color-field__hex-wrap,.number-field__input-wrap{border:1px solid var(--border-subtle);background:var(--surface-default);min-width:0;height:40px;transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:7px;align-items:center;display:flex}.color-field__hex-wrap:focus-within,.number-field__input-wrap:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus-ring) 18%, transparent)}.color-field__hex-wrap>span,.number-field__input-wrap>span{color:var(--text-muted);flex:none;padding-left:10px;font-size:12px;font-weight:650}.text-field__input{box-sizing:border-box;resize:vertical;border:1px solid var(--border-subtle);width:100%;min-height:96px;color:var(--text-strong);background:var(--surface-default);transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:7px;outline:0;padding:9px 10px;font-family:inherit;font-size:12px;line-height:1.45}.text-field__input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus-ring) 18%, transparent)}.text-field__input::placeholder{color:var(--text-muted)}.text-field__description{color:var(--text-muted);font-size:11px;line-height:1.45}.color-field__hex,.number-field__input-wrap input{width:100%;min-width:0;height:100%;color:var(--text-strong);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0 9px;font-size:12px}.color-field__hex{text-transform:uppercase;padding-left:3px}.color-field__swatches{grid-template-columns:repeat(5,44px);gap:5px;display:grid}.color-field__swatch{border:1px solid color-mix(in srgb, var(--swatch-color) 50%, var(--border-strong));background:var(--swatch-color);cursor:pointer;border-radius:6px;width:44px;height:44px;padding:0;position:relative}.color-field__swatch:hover{transform:translateY(-1px)}.color-field__swatch[aria-pressed=true]:after{content:"";border:2px solid #fff;border-radius:3px;position:absolute;inset:3px;box-shadow:0 0 0 1px #0f172ab3}.number-field__controls{grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:10px;display:grid}.number-field__controls input[type=range]{width:100%;height:20px;accent-color:var(--accent);cursor:pointer;margin:0}.number-field__input-wrap input{text-align:right;padding-right:2px}.number-field__input-wrap>span{min-width:28px;padding:0 8px 0 4px}.node-width-field__controls{grid-template-columns:minmax(0,96px) minmax(0,1fr);gap:8px;display:grid}.node-width-fit{border:1px solid var(--border-subtle);min-height:44px;color:var(--text-default);background:var(--surface-default);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.node-width-fit:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover);background:var(--accent-soft)}.node-width-fit:disabled{cursor:default;opacity:.58}.node-width-fit svg{width:15px;height:15px}.font-weight-preview{color:var(--text-strong);font-size:15px}.font-family-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.font-family-options button{border:1px solid var(--border-subtle);min-height:44px;color:var(--text-default);background:var(--surface-default);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:7px;padding:6px 8px;font-size:11px;font-weight:650;overflow:hidden}.font-family-options button:hover,.font-family-options button[aria-checked=true]{border-color:var(--accent);color:var(--accent-hover);background:var(--accent-soft)}.font-source-note{color:var(--text-muted);font-size:10px;line-height:1.45}.connection-width-preview{width:52px;height:var(--preview-width);background:var(--preview-color);border-radius:999px;max-height:12px;display:inline-block}.shadow-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.shadow-options button{border:1px solid var(--border-subtle);min-height:52px;color:var(--text-default);background:var(--surface-default);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:6px 8px;font-size:11px;font-weight:650;display:flex}.shadow-options button:hover,.shadow-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-hover);background:var(--accent-soft)}.shadow-options__sample{border:1px solid var(--border-subtle);background:var(--surface-elevated);border-radius:5px;flex:none;width:30px;height:24px;display:block}.shadow-options__sample[data-shadow=sm]{box-shadow:var(--node-shadow-sm)}.shadow-options__sample[data-shadow=md]{box-shadow:var(--node-shadow-md)}.shadow-options__sample[data-shadow=lg]{box-shadow:var(--node-shadow-lg)}.diagram-theme-description{color:var(--text-muted);margin:6px 0 10px;font-size:12px;line-height:1.5}.diagram-theme-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.diagram-theme-actions>button{border:1px solid var(--border-subtle);min-height:44px;color:var(--text-default);background:var(--surface-elevated);cursor:pointer;font:inherit;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:650;display:inline-flex}.diagram-theme-actions>button:hover,.diagram-theme-actions>button:focus-visible{border-color:var(--accent);background:var(--surface-hover)}.diagram-theme-actions svg{stroke-width:1.8px;width:16px;height:16px}.canvas-background-reset{border:1px solid var(--border-subtle);min-height:44px;color:var(--text-default);background:var(--surface-default);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.canvas-preference-switch{border:1px solid var(--border-subtle);min-height:44px;color:var(--text-default);background:var(--surface-default);cursor:pointer;border-radius:7px;align-items:center;gap:10px;margin-top:12px;padding:0 10px;font-size:12px;font-weight:650;display:flex}.canvas-preference-switch:has(input:focus-visible){border-color:var(--accent);outline:3px solid color-mix(in srgb, var(--accent) 24%, transparent);outline-offset:2px}.canvas-preference-switch input{width:36px;height:20px;accent-color:var(--accent);margin:0}.canvas-background-reset:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover);background:var(--accent-soft)}.canvas-background-reset:disabled{cursor:default;opacity:.62}.canvas-background-reset svg{stroke-width:1.8px;width:16px;height:16px}.diagram-theme-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.diagram-theme-options--custom{margin-bottom:8px}.diagram-theme-options>button{border:1px solid var(--border-subtle);min-height:92px;color:var(--text-default);background:var(--surface-elevated);cursor:pointer;text-align:left;border-radius:8px;align-content:space-between;gap:8px;padding:9px;display:grid}.diagram-theme-options>button:hover,.diagram-theme-options>button:focus-visible,.diagram-theme-options>button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-hover)}.diagram-theme-option__copy{gap:2px;display:grid}.diagram-theme-option__copy strong{color:var(--text-strong);font-size:13px}.diagram-theme-option__copy small{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.diagram-theme-option__palette{border:1px solid var(--border-subtle);border-radius:4px;height:12px;display:flex;overflow:hidden}.diagram-theme-option__palette>span{flex:1 1 0;min-width:0}.node-action-dock{z-index:45;pointer-events:none;width:max-content;max-width:calc(100% - 250px);position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.node-action-dock[data-inspector-mode=node]{right:calc(var(--space-4) + 322px);left:calc(var(--space-4) + 110px);justify-content:center;width:auto;max-width:none;display:flex;transform:none}.selection-context{z-index:45;border:1px solid var(--border-subtle);width:max-content;max-width:min(420px,100% - 96px);min-height:32px;color:var(--text-muted);background:var(--surface-elevated);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.selection-context__mode{color:var(--text-muted)}.selection-context__mode--editing{display:none}.selection-context strong{max-width:220px;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.node-action-bar{border:1px solid var(--border-subtle);background:var(--surface-elevated);pointer-events:auto;scrollbar-width:none;border-radius:10px;align-items:center;gap:2px;width:max-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.canvas-stage.is-exporting .node-action-bar{pointer-events:none}.node-action-bar button{min-width:44px;min-height:44px;color:var(--text-default);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.node-action-bar button:hover:not(:disabled),.node-action-bar button[aria-pressed=true]{border-color:var(--border-subtle);color:var(--accent-hover);background:var(--accent-soft)}.node-action-bar button:disabled{cursor:not-allowed;opacity:.4}.node-action-bar button svg{stroke-width:1.8px;flex:none;width:18px;height:18px}.node-action-bar .node-action-bar__delete{color:var(--danger)}.node-action-bar .node-action-bar__delete:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger) 45%, var(--border-subtle));color:var(--danger);background:var(--danger-soft)}.canvas-stage:has(.nodemd-plait-text[contenteditable=true]) .node-action-bar{visibility:hidden;pointer-events:none}.canvas-stage:has(.nodemd-plait-text[contenteditable=true]) .selection-context__mode--selected{display:none}.canvas-stage:has(.nodemd-plait-text[contenteditable=true]) .selection-context__mode--editing{display:inline}.canvas-toolbar{top:auto;right:var(--space-4);bottom:var(--space-4);z-index:40;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);align-items:center;gap:2px;padding:4px;display:flex;position:absolute}.canvas-toolbar button{width:44px;height:44px;color:var(--text-default);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.canvas-toolbar button:hover,.canvas-toolbar button[aria-pressed=true],.canvas-toolbar button[aria-expanded=true]{color:var(--accent-hover);background:var(--accent-soft)}.canvas-toolbar svg{stroke-width:1.75px;width:18px;height:18px}.canvas-toolbar output{min-width:56px;color:var(--text-default);font-variant-numeric:tabular-nums;text-align:center;font-size:12px;font-weight:650}.canvas-toolbar__divider{background:var(--border-subtle);width:1px;height:24px;margin:0 2px}.mind-map-navigator__backdrop{z-index:180;box-sizing:border-box;min-width:0;min-height:0;padding:clamp(16px, 10dvh, 96px) var(--space-4) var(--space-4);background:var(--scrim);place-items:start center;display:grid;position:fixed;inset:0}.mind-map-navigator{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);width:min(420px,100%);max-height:min(560px,100%);color:var(--text-default);background:var(--surface-elevated);grid-template-rows:auto auto auto auto minmax(0,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #0f172a24}.mind-map-navigator__header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-subtle);min-height:48px;padding-left:14px;display:flex}.mind-map-navigator__header h2{color:var(--text-strong);margin:0;font-size:13px;font-weight:700}.mind-map-navigator__header button{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.mind-map-navigator__header button:hover{color:var(--text-default);background:var(--surface-hover)}.mind-map-navigator__header svg,.mind-map-navigator__search-field svg{stroke-width:1.8px;width:18px;height:18px}.mind-map-navigator__search,.mind-map-navigator__depth{color:var(--text-muted);gap:6px;padding:12px 14px 0;font-size:11px;font-weight:650;display:grid}.mind-map-navigator__search-field{border:1px solid var(--border-subtle);min-height:44px;color:var(--text-muted);background:var(--surface-default);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 11px;display:grid}.mind-map-navigator__search-field:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring)}.mind-map-navigator__search-field input{width:100%;min-width:0;height:42px;color:var(--text-strong);background:0 0;border:0;outline:0;padding:0;font-size:16px}.mind-map-navigator__depth select{border:1px solid var(--border-subtle);width:100%;min-height:44px;color:var(--text-default);background:var(--surface-default);cursor:pointer;border-radius:7px;padding:0 10px;font-size:14px}.mind-map-navigator__status,.mind-map-navigator__empty{color:var(--text-muted);margin:0;padding:10px 14px 6px;font-size:11px}.mind-map-navigator__empty{color:var(--text-default);padding-bottom:14px}.mind-map-navigator__results{overscroll-behavior:contain;gap:2px;min-height:0;margin:0;padding:0 8px 8px;list-style:none;display:grid;overflow-y:auto}.mind-map-navigator__results button{width:100%;min-height:44px;color:var(--text-default);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-content:center;gap:2px;padding:7px 8px;display:grid}.mind-map-navigator__results button:hover,.mind-map-navigator__results button[aria-current=true]{color:var(--text-strong);background:var(--surface-active)}.mind-map-navigator__results span,.mind-map-navigator__results small{overflow-wrap:anywhere}.mind-map-navigator__results span{font-size:13px;font-weight:650}.mind-map-navigator__results small{color:var(--text-muted);font-size:11px}.canvas-help{bottom:var(--space-4);left:var(--space-4);z-index:55;position:absolute}.canvas-help__trigger{border:1px solid var(--border-subtle);min-width:44px;min-height:44px;color:var(--text-default);background:var(--surface-elevated);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:650;display:inline-flex}.canvas-help__trigger:hover,.canvas-help__trigger[aria-expanded=true]{color:var(--accent-hover);background:var(--accent-soft)}.canvas-help__trigger svg,.canvas-help__header svg{stroke-width:1.8px;width:18px;height:18px}.canvas-help__panel{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);width:min(340px,100vw - 32px);max-height:min(640px,100dvh - 142px);color:var(--text-default);background:var(--surface-elevated);display:grid;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden}.canvas-help__header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 4px 0 14px;display:flex}.canvas-help__header strong{color:var(--text-strong);font-size:13px}.canvas-help__header button{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.canvas-help__header button:hover{color:var(--text-default);background:var(--surface-hover)}.canvas-help__groups{gap:14px;padding:12px 14px 14px;display:grid;overflow-y:auto}.canvas-help__group h3{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:750}.canvas-help__group ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.canvas-help__group li{grid-template-columns:minmax(94px,auto) minmax(0,1fr);align-items:center;gap:12px;min-height:30px;display:grid}.canvas-help__group kbd{border:1px solid var(--border-subtle);width:fit-content;max-width:132px;color:var(--text-strong);background:var(--surface-hover);white-space:nowrap;border-radius:5px;padding:3px 6px;font-family:inherit;font-size:10px;font-weight:700}.canvas-help__group li>span{color:var(--text-default);font-size:11px;line-height:1.35}.app-notification{z-index:140;align-items:center;gap:var(--space-3);border:1px solid var(--border-strong);background:var(--surface-elevated);border-radius:10px;width:max-content;max-width:min(600px,100% - 32px);min-height:48px;padding:7px 7px 7px 14px;display:flex;position:fixed;top:68px;left:50%;transform:translate(-50%)}.app-notification span{color:var(--text-default);font-size:13px;line-height:1.4}.app-notification button{min-height:36px;color:var(--accent-hover);background:var(--accent-soft);cursor:pointer;border:0;border-radius:7px;padding:0 12px;font-weight:700}@media (width<=1320px){.node-action-bar button span{display:none}.node-action-bar button{padding:0}}@media (width>=1321px) and (width<=1520px){.node-action-bar[data-inspector-mode=node] button span{display:none}.node-action-bar[data-inspector-mode=node] button{padding:0}}@media (width<=1600px){.canvas-toolbar output,.canvas-toolbar__divider{display:none}}@media (width<=980px){.app-header{gap:var(--space-2);padding:0 var(--space-3);grid-template-columns:auto minmax(120px,1fr) auto}.version-badge{display:none}.document-title>span{max-width:38vw}.node-action-dock{max-width:calc(100% - 96px)}.node-action-dock[data-inspector-mode=node]{right:calc(var(--space-4) + 300px);left:calc(var(--space-4) + 94px)}}@media (width>=721px) and (width<=923px){.canvas-toolbar{bottom:80px}}@media (width<=720px){.flow-board-container{bottom:calc(max(8px, env(safe-area-inset-bottom)) + 128px)}.node-action-dock{bottom:max(8px, env(safe-area-inset-bottom));max-width:calc(100% - 16px)}.node-action-dock[data-inspector-mode=node]{width:max-content;max-width:calc(100% - 16px);display:block;left:50%;right:auto;transform:translate(-50%)}.selection-context{max-width:min(300px,100vw - 32px);top:8px}.canvas-help{bottom:calc(max(8px, env(safe-area-inset-bottom)) + 60px);left:8px}.canvas-help__trigger{width:44px;padding:0}.canvas-help__trigger span{display:none}.canvas-help__panel{width:min(340px,100vw - 16px);max-height:calc(100dvh - max(228px, calc(env(safe-area-inset-bottom) + 220px)))}.canvas-toolbar{top:auto;right:8px;bottom:calc(max(8px, env(safe-area-inset-bottom)) + 62px)}.mind-map-navigator__backdrop{padding:clamp(8px,8dvh,56px) 8px 8px}.header-utility-link{display:none}.language-menu__trigger{min-width:44px;padding:0}.language-menu__trigger>span,.language-menu__trigger .header-menu__chevron{display:none}}@media (width<=520px){.canvas-toolbar{gap:0;padding:2px}}@media (width<=373px){.canvas-toolbar .canvas-toolbar__connection-points{display:none}}@media (height<=520px) and (width>=560px){.mind-map-navigator{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(520px,100%);max-height:100%}.mind-map-navigator__header,.mind-map-navigator__status,.mind-map-navigator__empty,.mind-map-navigator__results{grid-column:1/-1}.mind-map-navigator__search{padding-right:7px}.mind-map-navigator__depth{padding-left:7px}}@media (width<=520px){.app-shell{grid-template-rows:52px minmax(0,1fr)}.app-header{gap:var(--space-1);padding:0 var(--space-2)}.brand-group{display:none}.document-title{align-items:flex-start}.document-title>span{max-width:42vw;font-size:12px}.local-save-status>span{display:none}.local-save-status svg{width:13px;height:13px}.header-actions{gap:0}.header-menu__panel{position:fixed;top:58px;left:auto;right:8px}.project-menu__panel{left:8px;right:auto}.node-style-rail{max-height:calc(100% - 110px);left:8px}.canvas-help{bottom:calc(max(8px, env(safe-area-inset-bottom)) + 120px)}.app-notification{top:60px}.mermaid-mode-note{padding:6px 9px}.mermaid-mode-note>svg,.mermaid-mode-note strong{display:none}.mermaid-mode-note small{line-height:1.25}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.flow-style-color{position:relative}.flow-style-color input{opacity:0;cursor:pointer;width:100%;height:100%;padding:0;position:absolute;inset:0}.flow-style-color:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.flow-style-color__swatch{border:1px solid var(--surface-elevated);width:10px;height:10px;box-shadow:0 0 0 1px var(--border-strong);pointer-events:none;border-radius:50%;position:absolute;bottom:5px;right:5px}
