/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-1{grid-column:span 1/span 1}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-\[calc\(100vh-10rem\)\]{height:calc(100vh - 10rem)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(90vh-120px\)\]{max-height:calc(90vh - 120px)}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-full{max-width:100%}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-grab{cursor:grab}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-t-transparent{border-top-color:#0000}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-center{text-align:center}.text-left{text-align:left}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:opacity-50:disabled{opacity:.5}:root{--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-bg-canvas:#fff;--color-bg-editor:#fff;--color-text-primary:#1e293b;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-inverse:#fff;--color-border-primary:#e2e8f0;--color-border-secondary:#cbd5e1;--color-border-focus:#3b82f6;--color-border-error:#ef4444;--color-interactive-primary:#3b82f6;--color-interactive-primary-hover:#2563eb;--color-interactive-secondary:#6b7280;--color-interactive-secondary-hover:#4b5563;--color-interactive-danger:#ef4444;--color-interactive-danger-hover:#dc2626;--color-interactive-success:#10b981;--color-interactive-warning:#f59e0b;--color-status-error:#ef4444;--color-status-warning:#f59e0b;--color-status-success:#10b981;--color-status-info:#3b82f6;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition-fast:all .15s ease-in-out;--transition-normal:all .3s ease-in-out;--transition-slow:all .5s ease-in-out}[data-theme=dark]{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-canvas:#1e293b;--color-bg-editor:#0f172a;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-text-inverse:#1e293b;--color-border-primary:#334155;--color-border-secondary:#475569;--color-border-focus:#60a5fa;--color-border-error:#f87171;--color-interactive-primary:#60a5fa;--color-interactive-primary-hover:#3b82f6;--color-interactive-secondary:#94a3b8;--color-interactive-secondary-hover:#cbd5e1;--color-interactive-danger:#f87171;--color-interactive-danger-hover:#ef4444;--color-interactive-success:#34d399;--color-interactive-warning:#fbbf24;--color-status-error:#f87171;--color-status-warning:#fbbf24;--color-status-success:#34d399;--color-status-info:#60a5fa;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;--shadow-xl:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.bg-theme-primary{background-color:var(--color-bg-primary)}.bg-theme-secondary{background-color:var(--color-bg-secondary)}.bg-theme-tertiary{background-color:var(--color-bg-tertiary)}.bg-theme-canvas{background-color:var(--color-bg-canvas)}.bg-theme-editor{background-color:var(--color-bg-editor)}.text-theme-primary{color:var(--color-text-primary)}.text-theme-secondary{color:var(--color-text-secondary)}.text-theme-muted{color:var(--color-text-muted)}.text-theme-inverse{color:var(--color-text-inverse)}.border-theme-primary{border-color:var(--color-border-primary)}.border-theme-secondary{border-color:var(--color-border-secondary)}.border-theme-focus{border-color:var(--color-border-focus)}.border-theme-error{border-color:var(--color-border-error)}.shadow-theme-sm{box-shadow:var(--shadow-sm)}.shadow-theme-md{box-shadow:var(--shadow-md)}.shadow-theme-lg{box-shadow:var(--shadow-lg)}.shadow-theme-xl{box-shadow:var(--shadow-xl)}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.diagram-canvas svg{display:block;overflow:visible;max-width:100%!important;max-height:100%!important}.diagram-canvas{contain:layout style paint;overflow:hidden}.monaco-editor,.monaco-editor .overflow-guard{height:100%!important;max-height:100%!important}.diagram-canvas *{box-sizing:border-box}.editor-container{flex-direction:column;height:100%;max-height:100%;display:flex;overflow:hidden}[data-ses-error]{display:none!important}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0}.layout-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.editor-transition{transition:transform .3s ease-in-out,opacity .3s ease-in-out}.canvas-transition{transition:width .3s ease-in-out,margin .3s ease-in-out}.hover-scale{transition:transform .2s ease-in-out}.hover-scale:hover{transform:scale(1.05)}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse-soft{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-soft}.nested-diagram-marker{cursor:pointer;transition:fill .2s ease-in-out}.nested-diagram-marker:hover{font-weight:700;fill:#2563eb!important}.error-slide-in{animation:.3s ease-out slideInFromTop}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.diagram-canvas{-webkit-user-select:none;-moz-user-select:none;user-select:none}.diagram-canvas .cursor-grab{cursor:grab}.diagram-canvas .cursor-grab:active{cursor:grabbing}.canvas-content{transition:transform .2s ease-out}.canvas-content.no-transition{transition:none}.canvas-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffffe6}.canvas-controls button{touch-action:manipulation;min-width:32px;min-height:32px}@media (max-width:768px){.mobile-stack{flex-direction:column;gap:1rem;display:flex}.mobile-stack>*{order:unset!important;width:100%!important}.canvas-controls{z-index:50;position:fixed;bottom:1rem;right:1rem}.canvas-controls button{min-width:44px;min-height:44px;font-size:16px}header .flex{flex-wrap:wrap;gap:.5rem}header h1{font-size:1.5rem}.mobile-button{min-width:44px;min-height:44px;padding:.5rem}.mobile-button span:not(.sr-only){display:none}.mobile-modal{max-height:calc(100vh - 1rem);margin:.5rem}}@media (max-width:480px){.diagram-canvas{touch-action:pan-x pan-y pinch-zoom}.canvas-controls{bottom:.5rem;right:.5rem}header{padding:.75rem}header .flex{justify-content:space-between}.hide-on-mobile{display:none!important}button,a,input,select,textarea{min-width:44px;min-height:44px}}@media (min-resolution:192dpi){.diagram-canvas svg{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}.focus-visible{outline:2px solid var(--color-border-focus)!important;outline-offset:2px!important}.focus-visible:not(:focus-visible){outline:none!important}.skip-link{background:var(--color-bg-primary);color:var(--color-text-primary);border:2px solid var(--color-border-focus);z-index:1000;border-radius:4px;padding:8px;text-decoration:none;transition:top .3s;position:absolute;top:-40px;left:6px}.skip-link:focus{top:6px}.keyboard-navigation button:focus,.keyboard-navigation a:focus,.keyboard-navigation input:focus,.keyboard-navigation select:focus,.keyboard-navigation textarea:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}@media (prefers-contrast:high){:root{--color-border-primary:#000;--color-border-secondary:#000;--color-text-primary:#000;--color-text-secondary:#000}[data-theme=dark]{--color-border-primary:#fff;--color-border-secondary:#fff;--color-text-primary:#fff;--color-text-secondary:#fff}button,.button{border:2px solid!important}}@media (prefers-reduced-motion:reduce){.canvas-content,.layout-transition,.editor-transition,.canvas-transition,*{transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:4px}@media (pointer:coarse){button,a,input,select,textarea,[role=button]{min-width:44px;min-height:44px}}[data-theme=dark] .canvas-controls{background-color:#1f2937e6;border-color:#4b556380}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.editor-container{height:100%;display:flex;flex-direction:column}.editor-container .monaco-editor{flex:1;min-height:0;height:100%}.monaco-editor .monaco-editor-background,.monaco-editor .lines-content,.monaco-editor .view-lines{max-height:none!important;min-height:auto!important}
