.djs-parent{--color-grey-225-10-15: hsl(225, 10%, 15%);--color-grey-225-10-35: hsl(225, 10%, 35%);--color-grey-225-10-55: hsl(225, 10%, 55%);--color-grey-225-10-75: hsl(225, 10%, 75%);--color-grey-225-10-80: hsl(225, 10%, 80%);--color-grey-225-10-85: hsl(225, 10%, 85%);--color-grey-225-10-90: hsl(225, 10%, 90%);--color-grey-225-10-95: hsl(225, 10%, 95%);--color-grey-225-10-97: hsl(225, 10%, 97%);--color-blue-205-100-45: hsl(205, 100%, 45%);--color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);--color-blue-205-100-50: hsl(205, 100%, 50%);--color-blue-205-100-50-opacity-15: hsla(205, 100%, 50%, 15%);--color-blue-205-100-70: hsl(205, 100%, 75%);--color-blue-205-100-95: hsl(205, 100%, 95%);--color-green-150-86-44: hsl(150, 86%, 44%);--color-red-360-100-40: hsl(360, 100%, 40%);--color-red-360-100-45: hsl(360, 100%, 45%);--color-red-360-100-92: hsl(360, 100%, 92%);--color-red-360-100-97: hsl(360, 100%, 97%);--color-white: hsl(0, 0%, 100%);--color-black: hsl(0, 0%, 0%);--color-black-opacity-10: hsla(0, 0%, 0%, 10%);--color-black-opacity-30: hsla(0, 0%, 0%, 30%);--canvas-fill-color: var(--color-white);--bendpoint-fill-color: var(--color-blue-205-100-45);--bendpoint-stroke-color: var(--canvas-fill-color);--context-pad-entry-background-color: var(--color-white);--context-pad-entry-hover-background-color: var(--color-grey-225-10-95);--element-dragger-color: var(--color-blue-205-100-50);--element-hover-outline-fill-color: var(--color-blue-205-100-45);--element-selected-outline-stroke-color: var(--color-blue-205-100-50);--element-selected-outline-secondary-stroke-color: var(--color-blue-205-100-70);--lasso-fill-color: var(--color-blue-205-100-50-opacity-15);--lasso-stroke-color: var(--element-selected-outline-stroke-color);--palette-entry-color: var(--color-grey-225-10-15);--palette-entry-hover-color: var(--color-blue-205-100-45);--palette-entry-selected-color: var(--color-blue-205-100-50);--palette-separator-color: var(--color-grey-225-10-75);--palette-toggle-hover-background-color: var(--color-grey-225-10-55);--palette-background-color: var(--color-grey-225-10-97);--palette-border-color: var(--color-grey-225-10-75);--popup-font-family: "IBM Plex Sans", sans-serif;--popup-font-size: 14px;--popup-header-entry-selected-color: var(--color-blue-205-100-50);--popup-header-font-weight: bolder;--popup-header-group-divider-color: var(--color-grey-225-10-75);--popup-background-color: var(--color-white);--popup-border-color: transparent;--popup-shadow-color: var(--color-black-opacity-30);--popup-disabled-color: var(--color-grey-225-10-35);--popup-description-color: var(--color-grey-225-10-35);--popup-no-results-color: var(--color-grey-225-10-55);--popup-entry-title-color: var(--color-grey-225-10-55);--popup-entry-hover-color: var(--color-grey-225-10-95);--popup-search-border-color: var(--color-grey-225-10-75);--popup-search-focus-border-color: var(--color-blue-205-100-50);--popup-search-focus-background-color: var(--color-blue-205-100-95);--resizer-fill-color: var(--color-blue-205-100-45);--resizer-stroke-color: var(--canvas-fill-color);--search-font-family: "IBM Plex Sans", sans-serif;--search-font-size: 14px;--search-container-background-color: var(--color-white);--search-shadow-color: var(--color-black-opacity-30);--search-input-border-color: var(--color-grey-225-10-75);--search-input-focus-border-color: var(--color-blue-205-100-50);--search-input-focus-background-color: var(--color-blue-205-100-95);--search-result-hover-background-color: var(--color-grey-225-10-95);--search-result-secondary-color: var(--color-grey-225-10-55);--search-preselected-background-color: var(--color-blue-205-100-50-opacity-15);--shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);--shape-connect-allowed-fill-color: var(--color-grey-225-10-97);--shape-drop-allowed-fill-color: var(--color-grey-225-10-97);--shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);--shape-resize-preview-stroke-color: var(--color-blue-205-100-50);--snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30);--space-tool-crosshair-stroke-color: var(--color-black);--tooltip-error-background-color: var(--color-red-360-100-97);--tooltip-error-border-color: var(--color-red-360-100-45);--tooltip-error-color: var(--color-red-360-100-45)}.djs-container svg.drop-not-ok{background:var(--shape-drop-not-allowed-fill-color)!important}.djs-container svg.new-parent{background:var(--shape-drop-allowed-fill-color)!important}.djs-container svg:focus{outline-offset:-1px}.djs-outline,.djs-selection-outline{fill:none;shape-rendering:geometricPrecision;stroke-width:2px}.djs-outline{visibility:hidden}.djs-selection-outline{stroke:var(--element-selected-outline-stroke-color)}.djs-element.selected .djs-outline{visibility:visible;stroke:var(--element-selected-outline-stroke-color)}.djs-connection.selected .djs-outline{display:none}.djs-multi-select .djs-element.selected .djs-outline,.djs-dragging-active-lasso .djs-element.selected .djs-outline{stroke:var(--element-selected-outline-secondary-stroke-color);display:block}.djs-shape.connect-ok .djs-visual>:nth-child(1){fill:var(--shape-connect-allowed-fill-color)!important}.djs-shape.connect-not-ok .djs-visual>:nth-child(1),.djs-shape.drop-not-ok .djs-visual>:nth-child(1){fill:var(--shape-drop-not-allowed-fill-color)!important}.djs-shape.new-parent .djs-visual>:nth-child(1){fill:var(--shape-drop-allowed-fill-color)!important}.drop-not-ok,.connect-not-ok,.drop-not-ok *,.connect-not-ok *{cursor:not-allowed!important}.drop-ok,.connect-ok,.drop-ok *,.connect-ok *{cursor:default!important}.djs-element.attach-ok .djs-visual>:nth-child(1){stroke-width:5px!important;stroke:var(--shape-attach-allowed-stroke-color)!important}.djs-frame.connect-not-ok .djs-visual>:nth-child(1),.djs-frame.drop-not-ok .djs-visual>:nth-child(1){stroke-width:3px!important;stroke:var(--shape-drop-not-allowed-fill-color)!important;fill:none!important}.djs-lasso-overlay{fill:var(--lasso-fill-color);stroke:var(--lasso-stroke-color);stroke-width:2px;shape-rendering:geometricPrecision;pointer-events:none}.djs-resize-overlay{fill:none;stroke-dasharray:5 1 3 1;stroke:var(--shape-resize-preview-stroke-color);pointer-events:none}.djs-resizer-hit{fill:none;pointer-events:all}.djs-resizer-visual{fill:var(--resizer-fill-color);stroke-width:1px;stroke:var(--resizer-stroke-color);shape-rendering:geometricPrecision}.djs-resizer:hover .djs-resizer-visual{stroke:var(--resizer-stroke-color);stroke-opacity:1}.djs-cursor-resize-ns,.djs-resizer-n,.djs-resizer-s{cursor:ns-resize}.djs-cursor-resize-ew,.djs-resizer-e,.djs-resizer-w{cursor:ew-resize}.djs-cursor-resize-nwse,.djs-resizer-nw,.djs-resizer-se{cursor:nwse-resize}.djs-cursor-resize-nesw,.djs-resizer-ne,.djs-resizer-sw{cursor:nesw-resize}.djs-shape.djs-resizing>.djs-outline{visibility:hidden!important}.djs-shape.djs-resizing>.djs-resizer{visibility:hidden}.djs-dragger>.djs-resizer{visibility:hidden}.djs-dragger *{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragger tspan,.djs-dragger text{fill:var(--element-dragger-color)!important;stroke:none!important}.djs-dragger marker circle,.djs-dragger marker path,.djs-dragger marker polygon,.djs-dragger marker polyline,.djs-dragger marker rect{fill:var(--element-dragger-color)!important;stroke:none!important}.djs-dragger marker text,.djs-dragger marker tspan{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragging,.djs-dragging>*{opacity:.3!important;pointer-events:none!important}.djs-visual,.djs-outline{pointer-events:none}.djs-element.attach-ok .djs-hit{stroke-width:60px!important}.djs-element>.djs-hit-all,.djs-element>.djs-hit-no-move{pointer-events:all}.djs-element>.djs-hit-stroke,.djs-element>.djs-hit-click-stroke{pointer-events:stroke}.djs-connection .djs-visual{stroke-width:2px;fill:none}.djs-cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.djs-cursor-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.djs-cursor-crosshair{cursor:crosshair}.djs-cursor-move{cursor:move}.djs-cursor-resize-ns{cursor:ns-resize}.djs-cursor-resize-ew{cursor:ew-resize}.djs-snap-line{stroke:var(--snap-line-stroke-color);stroke-linecap:round;stroke-width:2px;pointer-events:none}.djs-crosshair{stroke:var(--space-tool-crosshair-stroke-color);stroke-linecap:round;stroke-width:1px;pointer-events:none;shape-rendering:geometricPrecision;stroke-dasharray:5,5}.djs-palette{position:absolute;left:20px;top:20px;box-sizing:border-box;width:48px}.djs-palette .separator{margin:5px;padding-top:5px;border:none;border-bottom:solid 1px var(--palette-separator-color);clear:both}.djs-palette .entry:before{vertical-align:initial}.djs-palette .djs-palette-toggle{cursor:pointer}.djs-palette .entry,.djs-palette .djs-palette-toggle{color:var(--palette-entry-color);font-size:30px;text-align:center}.djs-palette .entry{float:left}.djs-palette .entry img{max-width:100%}.djs-palette .djs-palette-entries:after{content:"";display:table;clear:both}.djs-palette .djs-palette-toggle:hover{background:var(--palette-toggle-hover-background-color)}.djs-palette .entry:hover{color:var(--palette-entry-hover-color)}.djs-palette .highlighted-entry{color:var(--palette-entry-selected-color)!important}.djs-palette .entry,.djs-palette .djs-palette-toggle{width:46px;height:46px;line-height:46px;cursor:default}.djs-palette.two-column.open{width:94px}.djs-palette:not(.open) .djs-palette-entries{display:none}.djs-palette:not(.open){overflow:hidden}.djs-palette.open .djs-palette-toggle{display:none}.djs-context-pad{position:absolute;display:none;pointer-events:none;line-height:1;width:72px;z-index:100}.djs-context-pad .entry{width:22px;height:22px;text-align:center;display:inline-block;font-size:22px;margin:0 2px 2px 0;border-radius:3px;cursor:default;background-color:var(--context-pad-entry-background-color);box-shadow:0 0 2px 1px var(--context-pad-entry-background-color);pointer-events:all;vertical-align:middle}.djs-context-pad .entry:hover{background:var(--context-pad-entry-hover-background-color)}.djs-context-pad.open{display:block}.djs-popup{line-height:1;box-sizing:border-box;width:min-content;background:var(--popup-background-color);overflow:hidden;position:fixed;z-index:200;box-shadow:0 2px 6px var(--popup-shadow-color);border:solid 1px var(--popup-border-color);min-width:120px;outline:none;font-size:var(--popup-font-size);font-family:var(--popup-font-family)}.djs-popup-search input{width:100%;box-sizing:border-box;font-size:var(--popup-font-size);padding:3px 6px 3px 28px;border-radius:2px;border:solid 1px var(--popup-search-border-color);line-height:21px}.djs-popup-search input:focus{background-color:var(--popup-search-focus-background-color);border:solid 1px var(--popup-search-focus-border-color);outline:none}.djs-popup-header{display:flex;align-items:stretch;line-height:20px;margin:10px 12px}.djs-popup-header .entry{border-radius:2px}.djs-popup button.entry{padding:0;background:transparent;border:0}.djs-popup-header .entry.active{color:var(--popup-header-entry-selected-color)}.djs-popup-header .entry.disabled{color:inherit}.djs-popup-header-group{display:flex;flex-direction:row;align-items:center;list-style:none;margin:0;padding:0}.djs-popup-header-group .entry{display:flex;flex-direction:row;align-items:center}.djs-popup-header-group+.djs-popup-header-group:before{content:"";width:1px;height:20px;background:var(--popup-header-group-divider-color);margin:0 5px}.djs-popup-search{position:relative;width:auto;margin:10px 12px}.djs-popup-title{font-size:var(--popup-font-size);font-weight:var(--popup-header-font-weight);flex:1;margin:0}.djs-popup-breadcrumbs{display:flex;line-height:20px;margin:10px 12px}.djs-popup-breadcrumbs-item{display:inline-flex;min-width:0;padding:0;margin:0;background:transparent;border:0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--popup-description-color);font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.djs-popup-breadcrumbs-item--separator:before{display:inline-block;content:"/";color:var(--popup-description-color);margin:0 4px}.djs-popup-breadcrumbs-item:hover{color:inherit;text-decoration:underline}.djs-popup-breadcrumbs-item:focus-visible{outline:1px solid var(--popup-search-focus-border-color);outline-offset:2px}.djs-popup-breadcrumbs-item--back{align-items:center;justify-content:center;flex-shrink:0;padding:2px 3px;margin-right:6px;border:1px solid var(--popup-search-border-color);border-radius:4px}.djs-popup-breadcrumbs-item--back:hover{background:#f2f3f5}.djs-popup-breadcrumbs-item--current{font-weight:var(--popup-header-font-weight);color:inherit;cursor:default}.djs-popup-breadcrumbs-item--current:hover{text-decoration:none}.djs-popup-entry-chevron{display:flex;align-items:center;margin-left:6px;color:var(--popup-description-color)}.djs-popup-search-icon{position:absolute;left:8px;top:7px}.djs-popup-search-count{margin:0 12px;font-size:11px;color:var(--popup-description-color)}.djs-popup-results{margin:7px 3px 7px 12px;list-style:none;max-height:280px;overflow:auto;padding-right:9px}.djs-popup-group{margin:0;padding:0;width:100%}.djs-popup-body .entry,.djs-popup-body .entry-header{padding:5px 7px;cursor:default;border-radius:4px}.djs-popup-body .entry-header{font-weight:var(--popup-header-font-weight);color:var(--popup-entry-title-color);padding-left:0}.djs-popup [class*=icon] .djs-popup-label,.djs-popup-label:not(:first-child){margin-left:.5em}.djs-popup [class*=icon]:before,.djs-popup-entry-icon{width:1em;height:1em;display:inline-block;font-size:1.4em;vertical-align:middle}.djs-popup-body .entry-header:not(:first-child){margin-top:8px;margin-bottom:2px}.djs-popup-body .entry{display:flex;flex-direction:row;align-items:stretch;height:min-content}.djs-popup .entry.selected{background-color:var(--popup-entry-hover-color)}.djs-popup .entry.disabled{color:var(--popup-disabled-color);cursor:not-allowed}.djs-popup-body .entry:not(:first-child){margin-top:2px}.djs-popup-entry-content{display:flex;flex-direction:column;flex:1}.djs-popup-entry-description{font-size:.9em;margin-top:.25em;color:var(--popup-description-color)}.djs-popup-label,.djs-popup-entry-description{line-height:1.4em}.djs-popup .entry,.djs-popup .entry-header{margin:1px}.djs-popup-body{flex-direction:column;width:auto}.djs-popup *::-webkit-scrollbar{width:6px}.djs-popup *::-webkit-scrollbar-thumb{border-radius:3px;background-color:#0003}.djs-popup *::-webkit-scrollbar-track{box-shadow:none;background:transparent;margin:0;padding:5px}.djs-popup-no-results{padding:0 12px 12px;color:var(--popup-no-results-color)}.djs-popup-entry-docs{display:none;margin-left:3px;color:var(--popup-description-color)}.djs-popup-body .entry:focus-within .djs-popup-entry-docs,.djs-popup-body .entry:focus .djs-popup-entry-docs,.djs-popup-body .entry:hover .djs-popup-entry-docs{display:inline}.djs-popup-entry-docs svg{vertical-align:middle;margin:2px}.djs-palette{background:var(--palette-background-color);border:solid 1px var(--palette-border-color);border-radius:2px}.djs-segment-dragger,.djs-bendpoint{display:none}.djs-segment-dragger .djs-visual{display:none;fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px;stroke-opacity:1}.djs-segment-dragger:hover .djs-visual{display:block}.djs-bendpoint .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px}.djs-segment-dragger:hover,.djs-bendpoints.hover .djs-segment-dragger,.djs-bendpoints.selected .djs-segment-dragger,.djs-bendpoint:hover,.djs-bendpoints.hover .djs-bendpoint,.djs-bendpoints.selected .djs-bendpoint{display:block}.djs-drag-active .djs-bendpoints *{display:none}.djs-bendpoints:not(.hover) .floating{display:none}.djs-segment-dragger:hover .djs-visual,.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint:hover .djs-visual,.djs-bendpoint.floating .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-opacity:1}.djs-bendpoint.floating .djs-hit{pointer-events:none}.djs-segment-dragger .djs-hit,.djs-bendpoint .djs-hit{fill:none;pointer-events:all}.djs-segment-dragger.horizontal .djs-hit{cursor:ns-resize}.djs-segment-dragger.vertical .djs-hit{cursor:ew-resize}.djs-segment-dragger.djs-dragging .djs-hit{pointer-events:none}.djs-updating,.djs-updating>*{pointer-events:none!important}.djs-updating .djs-context-pad,.djs-updating .djs-outline,.djs-updating .djs-bendpoint,.djs-multi-select .djs-bendpoint,.djs-multi-select .djs-segment-dragger,.connect-ok .djs-bendpoint,.connect-not-ok .djs-bendpoint,.drop-ok .djs-bendpoint,.drop-not-ok .djs-bendpoint{display:none!important}.djs-segment-dragger.djs-dragging,.djs-bendpoint.djs-dragging{display:block;opacity:1}.djs-tooltip-error{width:160px;padding:6px;background:var(--tooltip-error-background-color);border:solid 1px var(--tooltip-error-border-color);border-radius:2px;color:var(--tooltip-error-color);font-size:12px;line-height:16px;opacity:.75}.djs-tooltip-error:hover{opacity:1}.djs-search-open .djs-context-pad{display:none}.djs-search-open .djs-connection.selected .djs-outline{display:block}.djs-search-container{position:absolute;top:20px;left:0;right:0;margin-left:auto;margin-right:auto;width:25%;min-width:300px;max-width:400px;z-index:10;font-family:var(--search-font-family);font-size:var(--search-font-size);border-radius:2px;box-shadow:0 2px 6px var(--search-shadow-color)}.djs-search-container:not(.open){display:none}.djs-search-input{position:relative}.djs-search-input svg{position:absolute;left:8px;top:7px}.djs-search-input input{font-size:var(--search-font-size);width:100%;padding:3px 6px 3px 28px;border:1px solid var(--search-input-border-color);border-radius:2px;box-sizing:border-box;line-height:21px}.djs-search-input input:focus{background-color:var(--search-input-focus-background-color);border:solid 1px var(--search-input-focus-border-color);outline:none}.djs-search-results{position:relative;overflow-y:auto;max-height:200px;background:var(--search-container-background-color)}.djs-search-result{padding:6px 8px}.djs-search-result-primary{margin:0 0 3px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.djs-search-result-secondary{font-family:monospace;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:var(--search-result-secondary-color)}.djs-search-result:hover,.djs-search-result-selected,.djs-search-result-selected:hover{background:var(--search-result-hover-background-color)}.djs-search-open .djs-element .djs-outline{fill:var(--search-preselected-background-color)!important}.djs-element-hidden,.djs-element-hidden .djs-hit,.djs-element-hidden .djs-outline,.djs-label-hidden .djs-label{display:none!important}.djs-element .djs-hit-stroke,.djs-element .djs-hit-click-stroke,.djs-element .djs-hit-all{cursor:move}:root{--bg: #f8f5ef;--surface: #ffffff;--border: rgba(0,0,0,.08);--text: #1a1a1a;--muted: #5a6070;--accent: #1a8a72;--accent-hover: #22b093;--ok: #065f46;--ok-bg: #d1fae5;--warn: #92400e;--warn-bg: #fef3c7;--err: #991b1b;--err-bg: #fee2e2;--radius: 8px;--navy: #0e1b2e;--teal-faint: #e1f5ee}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text)}.topbar{background:var(--navy);color:#fff;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.topbar-left{display:flex;align-items:center;gap:8px}.topbar h1{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.topbar p{margin:2px 0 0;font-size:.8rem;color:#94a3b8}.topbar-title{text-align:center;flex:1}.topbar-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.topbar-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.topbar-divider{width:1px;align-self:stretch;background:var(--border);margin:0 4px}.topbar-buttons button{display:flex;align-items:center;justify-content:center;padding:9px;background:var(--accent);color:#fff;border:1px solid transparent;border-radius:var(--radius);font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s}.topbar-buttons button:hover{background:var(--accent-hover)}#animate-btn{padding:9px 26px}.btn-icon{display:inline-flex;flex-shrink:0}.btn-icon svg{width:17px;height:17px;stroke:currentColor}#toggle-sidebar-btn .btn-icon svg,#back-btn .btn-icon svg{width:17px;height:17px}.btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar-buttons button:disabled{opacity:.35;cursor:default}#animate-btn.anim-not-ready{opacity:.35}#animate-btn.anim-invalid,#animate-btn.anim-invalid:hover{opacity:1;background:var(--err)}#animate-btn.anim-ready,#animate-btn.anim-ready:hover{opacity:1;background:var(--ok)}.topbar-buttons button.connect-active{background:var(--err)}.topbar-buttons button.connect-active:hover{background:#7f1d1d}:has(>.topbar):has(>.workspace){display:flex;flex-direction:column;height:100vh}:has(>.topbar):has(>.workspace)>.topbar{flex-shrink:0}.workspace{display:grid;grid-template-columns:var(--sidebar-width, 280px) 6px 1fr;flex:1;min-height:0;transition:grid-template-columns .2s ease}.workspace.sidebar-resizing{transition:none}.workspace.sidebar-collapsed{grid-template-columns:0px 0px 1fr}.sidebar{padding:20px;border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;overflow-x:hidden;transition:padding .2s ease,border .2s ease}.workspace.sidebar-resizing .sidebar{transition:none}.workspace.sidebar-collapsed .sidebar{padding:0;border-right:none;overflow:hidden}.sidebar-resizer{cursor:col-resize;background:transparent;position:relative}.sidebar-resizer:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:var(--border)}.sidebar-resizer:hover:after,.workspace.sidebar-resizing .sidebar-resizer:after{background:var(--accent)}.workspace.sidebar-collapsed .sidebar-resizer{display:none}.sidebar h2{margin:0 0 4px;font-size:.95rem;font-weight:600;color:var(--text)}.sidebar-tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:2px solid var(--border)}.sidebar-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 4px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:12px;font-family:inherit;font-weight:500;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.sidebar-tab .btn-icon svg{width:17px;height:17px;stroke:currentColor}.sidebar-tab:hover{color:var(--text)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.sidebar-tab-panel{display:none}.sidebar-tab-panel.active{display:block}.story-files-new-btn-item{padding:4px 10px 8px}.story-files-new-btn{display:block;width:100%;padding:8px 10px;font-size:12px;font-weight:600;color:var(--accent);background:#eafaf4;border:1px dashed var(--accent);border-radius:6px;cursor:pointer;transition:background .1s}.story-files-new-btn:hover{background:#d5f4e8}.story-files-divider{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 10px 4px;border-top:1px solid var(--border);margin-top:6px}.story-file-delete-btn{flex-shrink:0;width:20px;height:20px;border:none;background:transparent;color:var(--muted);font-size:15px;line-height:1;border-radius:4px;cursor:pointer}.story-file-delete-btn:hover{background:#fde2e2;color:#b91c1c}.story-file-rename-input{width:100%;font-size:12px;font-weight:600;color:var(--text);font-family:inherit;padding:1px 4px;border:1px solid var(--accent);border-radius:3px;outline:none}.story-files-empty{font-size:12px;color:var(--muted);text-align:center;padding:16px 8px}.story-files-list{list-style:none;padding:0;margin:0}.story-file-item{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;border-left:3px solid transparent;border-radius:0 6px 6px 0;transition:background .1s,border-color .1s}.story-file-item:hover{background:#f8f5ef}.story-file-item.active{background:#e1f5ee;border-left-color:var(--accent)}.story-file-icon{width:28px;height:28px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.story-file-icon.as-is{background:#dbeafe}.story-file-icon.to-be{background:#fef3c7}.story-file-info{overflow:hidden;flex:1}.story-file-title{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-file-meta{font-size:10px;color:var(--muted);margin-top:2px;display:flex;gap:5px;flex-wrap:wrap}.story-file-meta span{background:#f3f4f6;padding:1px 5px;border-radius:3px;white-space:nowrap}.story-file-item.active .story-file-meta span{background:#c6f0de}.story-file-badge{font-size:9px;font-weight:600;text-transform:uppercase;padding:1px 5px;border-radius:3px;letter-spacing:.04em}.story-file-badge.as-is{background:#dbeafe;color:#1e40af}.story-file-badge.to-be{background:#fef3c7;color:#92400e}.story-files-footer{font-size:10px;color:var(--muted);padding:6px 10px;margin-top:6px;border-top:1px solid var(--border)}#back-btn,#toggle-sidebar-btn{display:flex;align-items:center;justify-content:center;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.2);padding:9px;font-size:13px;line-height:1;cursor:pointer;border-radius:var(--radius)}#back-btn:hover,#toggle-sidebar-btn:hover{background:#fff3}#add-shape-panel{padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--border)}.toast{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:500;background:var(--err);color:#fef2f2;font-size:13px;font-weight:500;padding:10px 20px;border-radius:var(--radius);box-shadow:0 4px 16px #00000040;pointer-events:none;opacity:1;transition:opacity .4s ease;white-space:pre-line;text-align:left;max-width:min(480px,90vw)}.toast.toast-hiding{opacity:0}#validation-panel{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.validation-ok{margin:0;font-size:13px;font-weight:600;color:var(--ok)}.validation-heading{margin:0 0 6px;font-size:12px;font-weight:700;color:var(--err);text-transform:uppercase;letter-spacing:.04em}.validation-list{margin:0;padding:0 0 0 16px;list-style:disc}.validation-list li{font-size:12px;color:var(--err);margin-bottom:4px;line-height:1.4}.dks-animating .djs-palette,.dks-animating #note-btn,.dks-animating #share-html-btn,.dks-animating #export-pdf-btn,.dks-animating #draw-btn{opacity:.4;pointer-events:none}.djs-palette{width:130px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:0 2px 6px #0000000f}.djs-palette .entry,.djs-palette .djs-palette-toggle{width:100%;height:auto;line-height:1.4;font-size:13px;text-align:left}.dks-entry{display:block;padding:6px 10px;margin:3px 4px;border-radius:var(--radius);cursor:grab;font-family:inherit;font-size:12px}.animation-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);color:#f1f5f9;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 24px;box-shadow:0 -2px 10px #00000040}.animation-bar button{display:flex;align-items:center;justify-content:center;padding:8px;background:#334155;color:#f1f5f9;border:1px solid #475569;border-radius:var(--radius);font-size:13px;font-family:inherit;cursor:pointer}.animation-bar button .btn-icon svg{width:16px;height:16px;stroke:currentColor}.animation-bar button:hover{background:#475569}.animation-bar button:disabled{opacity:.35;cursor:default}#anim-step-label{font-size:14px;font-weight:600;min-width:100px;text-align:center;letter-spacing:.02em}#anim-play-btn{background:var(--accent);border-color:var(--accent)}#anim-play-btn:hover{background:var(--accent-hover)}.rules-help-panel{position:absolute;top:16px;right:16px;z-index:210;width:340px;max-width:calc(100% - 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;padding:14px 16px}.rules-help-heading{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.rules-help-list{list-style:disc;padding-left:18px;display:flex;flex-direction:column;gap:6px}.rules-help-list li{font-size:12.5px;line-height:1.4;color:var(--text)}.rules-help-footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.step-notes-panel{position:absolute;left:16px;bottom:64px;z-index:210;display:flex;flex-direction:column;width:600px;max-width:calc(100% - 32px);max-height:600px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;overflow:hidden}.step-notes-panel.collapsed{height:auto!important;max-height:none!important}.step-notes-resize-handle{flex-shrink:0;height:7px;cursor:ns-resize}.step-notes-resize-handle:after{content:"";display:block;width:32px;height:3px;margin:2px auto 0;border-radius:2px;background:var(--border)}.step-notes-resize-handle:hover:after{background:var(--accent)}.step-notes-panel.collapsed .step-notes-resize-handle{display:none}.step-notes-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.step-notes-panel.collapsed .step-notes-header{border-bottom:none}.step-notes-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.step-notes-toggle{background:none;border:none;color:var(--muted);font-size:12px;line-height:1;cursor:pointer;padding:2px 4px}.step-notes-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 10px 6px}.step-notes-panel.collapsed .step-notes-list{display:none}.step-notes-entry{display:flex;gap:6px;padding:6px 0;line-height:1.4;color:var(--text);cursor:pointer;border-radius:var(--radius)}.step-notes-entry:hover{background:var(--teal-faint)}.step-notes-entry+.step-notes-entry{border-top:1px solid var(--border)}.step-notes-num{flex-shrink:0;font-weight:600;color:var(--accent)}.djs-connection.dks-pulse .djs-visual path,.djs-connection.dks-pulse .djs-visual polyline{stroke:var(--accent)!important;stroke-width:3!important}.dks-ripple-dot{fill:var(--accent);filter:drop-shadow(0 0 3px rgba(26,138,114,.7))}.icon-context-menu{position:fixed;z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;padding:4px 0;min-width:140px}.icon-context-menu-header{padding:6px 12px 4px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.icon-context-menu-item{display:block;width:100%;padding:7px 12px;text-align:left;background:none;border:none;font-size:13px;font-family:inherit;color:var(--text);cursor:pointer}.icon-context-menu-item:hover{background:#f3f4f6}.icon-context-menu-item.active{font-weight:600;color:var(--accent)}.context-menu-separator{margin:4px 8px;border:none;border-top:1px solid var(--border)}.note-popup{position:fixed;z-index:890;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;width:240px;max-width:90vw;padding:10px 12px 12px;font-family:system-ui,sans-serif}.note-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.note-popup-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.note-popup-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:11px;font-family:inherit;line-height:1;padding:2px 4px;text-decoration:underline}.note-popup-close:hover{color:var(--text)}.note-popup-todos{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;margin-bottom:8px}.note-popup-todo-row{display:flex;align-items:center;gap:6px}.note-popup-todo-row input[type=checkbox]{flex-shrink:0;cursor:pointer}.note-popup-todo-text{flex:1;min-width:0;border:none;background:none;font-size:13px;font-family:inherit;color:var(--text);padding:3px 2px;outline:none;overflow-wrap:anywhere;cursor:text}.note-popup-todo-text:hover{background:#f3f4f6;border-radius:4px}.note-popup-todo-text:focus{background:#f3f4f6;border-radius:4px}.note-popup-todo-text.done{color:var(--muted);text-decoration:line-through}.note-popup-todo-text a{color:var(--accent);text-decoration:underline;cursor:pointer}.note-popup-todo-delete{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:2px 4px}.note-popup-todo-delete:hover{color:var(--err)}.note-popup-empty{font-size:12px;color:var(--muted);font-style:italic;margin-bottom:8px}.note-popup-add-row{display:flex;gap:6px;border-top:1px solid var(--border);padding-top:8px}.note-popup-add-input{flex:1;min-width:0;border:1px solid var(--border);border-radius:5px;font-size:13px;font-family:inherit;padding:5px 7px;outline:none}.note-popup-add-input:focus{border-color:var(--accent)}.note-popup-add-btn{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:500;padding:5px 10px;cursor:pointer}.note-popup-add-btn:hover{background:var(--accent-hover)}.note-popup-links-section{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.note-popup-section-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.note-popup-links{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.note-popup-link-row{display:flex;align-items:center;gap:6px}.note-popup-link-text{flex:1;min-width:0;font-size:13px;color:var(--accent);text-decoration:underline;cursor:pointer;overflow-wrap:anywhere}.note-popup-link-remove{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:2px 4px}.note-popup-link-remove:hover{color:var(--err)}.note-popup-link-picker-row{display:flex;gap:6px}.note-popup-link-select{flex:1;min-width:0;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;padding:5px 6px;outline:none;background:#fff}.note-popup-link-select:focus{border-color:var(--accent)}.note-popup-link-add-btn{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:500;padding:5px 10px;cursor:pointer}.note-popup-link-add-btn:hover{background:var(--accent-hover)}.note-popup-footer{border-top:1px solid var(--border);margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:6px}.note-popup-export{width:100%;background:#fff;border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;font-weight:500;font-family:inherit;padding:6px 0;cursor:pointer;text-align:center}.note-popup-export:hover{background:#f3f4f6}.note-popup-delete-note{width:100%;background:#fff;border:1px solid var(--err);border-radius:5px;color:var(--err);font-size:12px;font-weight:500;font-family:inherit;padding:6px 0;cursor:pointer;text-align:center}.note-popup-delete-note:hover{background:var(--err);color:#fff}.hover-tooltip{position:fixed;z-index:880;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;max-width:280px;padding:8px 10px;font-family:system-ui,sans-serif;line-height:1.4;color:var(--text);pointer-events:none}.djs-connection.djs-dragging path,.djs-connection.djs-dragging polyline{stroke:var(--err);stroke-width:2.5}.djs-connection.djs-dragging.connect-hover-ok path,.djs-connection.djs-dragging.connect-hover-ok polyline{stroke:var(--ok);stroke-width:2.5}.connect-handle{position:fixed;z-index:550;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 4px #0000004d;cursor:crosshair}.connect-handle:hover{background:var(--accent-hover)}.djs-dragger path{stroke:var(--err)!important;stroke-width:2.5!important;stroke-dasharray:4,3}.djs-dragger.connect-preview-ok path{stroke:var(--ok)!important}.djs-shape.connect-source-active .djs-outline{stroke:var(--accent)!important;stroke-width:3.5;stroke-dasharray:4,3}.djs-shape.connect-target-ok .djs-outline{stroke:var(--ok)!important;stroke-width:3.5;stroke-dasharray:none}.djs-shape.connect-target-blocked .djs-outline{stroke:var(--err)!important;stroke-width:3.5;stroke-dasharray:none}.djs-bendpoint circle{fill:var(--accent);stroke:#fff;stroke-width:2;opacity:.85}.djs-segment-dragger .djs-hit{x:-10px;width:20px}.canvas:focus,.canvas:focus-visible,.canvas .djs-container:focus,.canvas .djs-container:focus-visible,.canvas .djs-container svg:focus,.canvas .djs-container svg:focus-visible{outline:none}.canvas{position:relative;width:100%;height:100%;background:#fff;overflow:hidden;-webkit-user-select:none;user-select:none}.dragonly-badge{position:absolute;top:12px;right:12px;z-index:20;display:flex;align-items:center;gap:6px;background:#0e1b2ed9;color:#fff;font-size:12px;font-weight:500;padding:6px 12px;border-radius:var(--radius);pointer-events:none}.empty-state-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:#ffffffd9;color:#4b5563;font-size:15px;font-weight:500}.type-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#00000059;display:flex;align-items:center;justify-content:center}.type-picker-dialog{background:var(--surface);border-radius:12px;box-shadow:0 8px 40px #0003;width:540px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.type-picker-dialog-sm{width:320px}.type-picker-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.type-picker-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text)}.type-picker-close{margin-left:auto;background:none;border:none;font-size:20px;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:4px}.type-picker-close:hover{background:#f3f4f6;color:var(--text)}.type-picker-search-row{padding:10px 14px;border-bottom:1px solid var(--border)}.type-picker-search{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:inherit;color:var(--text);outline:none}.type-picker-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a8a721f}.type-picker-tabs{display:flex;gap:2px;padding:6px 10px;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.type-picker-tabs::-webkit-scrollbar{display:none}.type-picker-tab{flex-shrink:0;padding:4px 9px;border:1px solid transparent;border-radius:var(--radius);background:none;font-size:11px;font-family:inherit;color:var(--muted);cursor:pointer}.type-picker-tab:hover{background:#f3f4f6;color:var(--text)}.type-picker-tab-active{background:var(--accent);color:#fff;border-color:var(--accent)}.type-picker-tab-active:hover{background:var(--accent-hover);color:#fff}.type-picker-grid{flex:1;overflow-y:auto;padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:4px}.type-picker-empty{grid-column:1 / -1;text-align:center;color:var(--muted);font-size:13px;padding:28px 0}.type-picker-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid transparent;border-radius:var(--radius);background:none;cursor:pointer;font-family:inherit}.type-picker-item:hover{background:#f3f4f6;border-color:var(--border)}.type-picker-item-active{background:var(--teal-faint);border-color:var(--accent)}.type-picker-item-label{font-size:10px;color:var(--muted);text-align:center;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:68px;line-height:1.2}.narrative-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#0006;display:flex;align-items:center;justify-content:center}.narrative-summary-box{background:var(--surface);border-radius:12px;box-shadow:0 8px 40px #0003;width:640px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column;font-family:system-ui,sans-serif}.narrative-summary-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.narrative-summary-heading{margin:0;font-size:16px;font-weight:600;color:var(--text)}.narrative-summary-close{border:none;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}.narrative-summary-body{padding:20px 24px;overflow-y:auto}.narrative-summary-section{margin-bottom:20px}.narrative-summary-section-heading{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.03em}.narrative-summary-paragraph{margin:0;font-size:13px;color:var(--text);line-height:1.6;white-space:pre-wrap}.narrative-summary-glossary-list{display:flex;flex-direction:column;gap:12px}.narrative-summary-glossary-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.narrative-summary-glossary-term{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.narrative-summary-glossary-row{font-size:12px;color:var(--muted);line-height:1.5;margin-top:2px}.narrative-summary-glossary-label{color:var(--text)}.narrative-summary-handoff-list{display:flex;flex-direction:column;gap:6px}.narrative-summary-handoff-row{font-size:13px;color:var(--text);line-height:1.6}.narrative-summary-related-list{display:flex;flex-direction:column;gap:8px}.narrative-summary-related-row{font-size:13px;color:var(--text);line-height:1.6}#legend-panel{padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--border)}#legend-panel h2{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.legend-label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 4px}.legend-select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-family:inherit;color:var(--text);background:var(--surface);cursor:pointer}.legend-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1a8a721f}.legend-placeholder{font-size:12px;color:var(--muted);margin:8px 0 0}.djs-shape.hover{cursor:pointer}.djs-shape.hover .djs-outline{stroke:var(--accent)!important;stroke-width:3.5;stroke-dasharray:none;opacity:1}.djs-shape.hover .djs-visual{filter:brightness(1.1) drop-shadow(0 0 10px rgba(26,138,114,.45));transition:filter .12s ease}.djs-connection.hover{cursor:pointer}.djs-connection.hover .djs-visual path,.djs-connection.hover .djs-visual polyline{stroke:var(--accent)!important;stroke-width:3.5;filter:drop-shadow(0 0 6px rgba(26,138,114,.45));transition:all .12s ease}.djs-connection.hover .djs-visual rect{stroke:var(--accent);fill:var(--teal-faint)}.djs-connection.dks-current-step .djs-visual path,.djs-connection.dks-current-step .djs-visual polyline{stroke-width:4!important;transition:stroke-width .2s ease}.draw-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none}.draw-overlay.draw-overlay-active{pointer-events:auto}.draw-overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.draw-text-input{position:fixed;z-index:850;min-width:120px;padding:2px 6px;font-family:DM Sans,sans-serif;border:1px dashed;border-radius:4px;background:#ffffffe6;outline:none}.draw-toolbar-floating{position:fixed;z-index:400}.draw-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;padding:10px;width:240px}.draw-toolbar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.draw-toolbar-row:last-child{margin-bottom:0}.draw-toolbar-label{font-size:11px;color:var(--muted);font-weight:500}.draw-color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;flex-shrink:0}.draw-color-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.draw-size-slider{flex:1;cursor:pointer}.draw-tools-row{flex-wrap:wrap;gap:4px}.draw-tool-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px solid var(--border);border-radius:6px;font-size:15px;font-family:inherit;cursor:pointer;padding:0}.draw-tool-btn:hover{background:#e5e7eb}.draw-tool-btn.active{background:var(--teal-faint);border-color:var(--accent)}.draw-tool-btn:disabled{opacity:.35;cursor:default}.draw-actions-row{flex-wrap:wrap}.draw-exit-btn{width:auto;padding:0 10px;margin-left:auto;font-size:12px;font-weight:600;color:var(--err)}@keyframes dks-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.djs-shape.dks-loading .djs-visual{animation:dks-fade-in .4s ease-out forwards}.djs-connection.dks-loading .djs-visual{animation:dks-fade-in .5s ease-out forwards}@keyframes dks-revised-flash{0%{filter:drop-shadow(0 0 0 rgba(16,185,129,0))}25%{filter:drop-shadow(0 0 10px rgba(16,185,129,.9))}to{filter:drop-shadow(0 0 0 rgba(16,185,129,0))}}.djs-shape.dks-revised .djs-visual,.djs-connection.dks-revised .djs-visual{animation:dks-revised-flash 1.5s ease-out}.voice-processing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffb8;pointer-events:none}.voice-processing-overlay.visible{display:flex;pointer-events:auto}@keyframes voice-processing-spin{to{transform:rotate(360deg)}}.voice-processing-spinner{width:64px;height:64px;border:6px solid rgba(37,99,235,.2);border-top-color:var(--accent);border-radius:50%;animation:voice-processing-spin .8s linear infinite}.voice-processing-label{font-size:30px;font-weight:600;color:var(--text)}.inline-revision-fab{position:absolute;right:16px;bottom:16px;z-index:220;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 16px #00000038;transition:background .15s,transform .15s}.inline-revision-fab:hover{background:var(--accent-hover);transform:scale(1.06)}.inline-revision-fab:active{transform:scale(.97)}.inline-revision-fab svg{width:20px;height:20px;stroke:currentColor}.inline-revision-fab.inline-revision-fab-active{background:var(--navy)}.inline-revision-panel{position:absolute;right:16px;bottom:68px;z-index:219;width:min(480px,calc(100% - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;padding:10px 12px;display:flex;flex-direction:column;gap:6px;transition:opacity .15s,transform .15s}.inline-revision-panel.inline-revision-panel-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.inline-revision-header{display:flex;align-items:center;gap:8px}.inline-revision-title{flex:1;font-size:12.5px;font-weight:600;color:var(--text)}.inline-revision-close{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;color:#1a1a1a8c;cursor:pointer}.inline-revision-close:hover{background:#0000000f}.inline-revision-close svg{width:13px;height:13px;stroke:currentColor}.inline-revision-hint{font-size:11.5px;color:#1a1a1a8c;padding:0 2px}.inline-revision-row{display:flex;align-items:flex-end;gap:8px}.inline-revision-input{flex:1;resize:none;max-height:160px;font:inherit;font-size:13.5px;line-height:1.4;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}.inline-revision-input:disabled{opacity:.6}.inline-revision-mic,.inline-revision-submit{flex:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:var(--radius);cursor:pointer}.inline-revision-mic svg,.inline-revision-submit svg{width:16px;height:16px;stroke:currentColor}.inline-revision-mic{background:transparent;color:#1a1a1a99}.inline-revision-mic:hover{background:#0000000f}.inline-revision-mic.inline-revision-listening{color:#fff;background:#dc2626}.inline-revision-submit{background:var(--accent);color:#fff}.inline-revision-submit:hover{background:var(--accent-hover)}.inline-revision-mic:disabled,.inline-revision-submit:disabled{opacity:.4;cursor:default}.inline-revision-panel.inline-revision-busy .inline-revision-hint{opacity:.5}
