@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root,:root[data-theme=dark],[data-theme=dark]{--bg:oklch(16% .012 288);--bg-elevated:oklch(20% .014 288);--bg-panel:oklch(18.5% .013 288);--bg-input:oklch(13% .01 288);--border:oklch(30% .02 288);--border-soft:oklch(24% .014 288);--text:oklch(93% .008 288);--text-muted:oklch(68% .02 288);--text-faint:oklch(48% .016 288);--accent:oklch(72% .14 288);--accent-soft:oklch(72% .14 288/.18);--accent-contrast:oklch(16% .012 288);--danger:oklch(68% .14 25);--warn:oklch(78% .12 85);--ok:oklch(68% .12 155);--focus:oklch(72% .14 288/.55);--shadow:0 12px 40px oklch(0% 0 0/.45);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light],[data-theme=light]{--bg:oklch(97.5% .008 288);--bg-elevated:oklch(100% .004 288);--bg-panel:oklch(95.5% .012 288);--bg-input:oklch(100% .004 288);--border:oklch(82% .02 288);--border-soft:oklch(88% .014 288);--text:oklch(22% .03 288);--text-muted:oklch(42% .025 288);--text-faint:oklch(58% .02 288);--accent:oklch(48% .21 288);--accent-soft:oklch(48% .21 288/.12);--accent-contrast:oklch(98% .01 288);--danger:oklch(52% .16 25);--warn:oklch(58% .14 75);--ok:oklch(48% .12 155);--focus:oklch(48% .21 288/.45);--shadow:0 12px 40px oklch(30% .04 288/.12);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--accent-strong:oklch(52% .24 288);--accent-strong-hover:oklch(45% .22 288);--on-accent-strong:oklch(98% .01 288);--radius:0;--font-ui:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", "Fira Code", ui-monospace, monospace;--toolbar-h:52px;--drawer-w:300px;--content-max:72rem}*{box-sizing:border-box}button,select,textarea,input{color:inherit;font:inherit}button{cursor:pointer}:focus{outline:none}:focus-visible{outline:1px solid color-mix(in oklch, var(--accent) 55%, var(--border));outline-offset:0}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 55%, var(--border));outline:none}html,body,#app{height:100%;margin:0;overflow:hidden}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app-shell{flex-direction:column;height:100%;min-height:0;display:flex}.toolbar{height:var(--toolbar-h);border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--bg-elevated) 0%, var(--bg) 100%);flex-shrink:0;align-items:center;gap:16px;padding:0 14px;display:flex}.brand{align-items:center;gap:8px;min-width:140px;display:flex}.brand-mark{color:var(--accent);flex-shrink:0}.brand h1{letter-spacing:-.03em;margin:0;font-size:1.05rem;font-weight:600}.tag{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);border:1px solid var(--border);border-radius:0;padding:2px 8px;font-size:.65rem}.icon-btn,.ghost{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-transform:none;letter-spacing:0;padding:6px 10px;font-size:.85rem;font-weight:500}.toolbar-spacer{flex:1;min-width:8px}.connection-status{color:var(--text-faint);white-space:nowrap;font-size:11px}.connection-status[data-connected=true]{color:var(--ok)}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:oklch(0% none none/.68);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.share-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);width:min(760px,100%);max-height:min(760px,100vh - 48px);box-shadow:var(--shadow);overflow:auto}.share-header{z-index:1;border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:flex-start;gap:24px;padding:18px;display:flex;position:sticky;top:0}.share-header h2,.share-option h3{margin:0}.share-header h2{font-size:1rem}.share-header p,.share-option p{color:var(--text-muted);margin:5px 0 0;font-size:.78rem;line-height:1.45}.share-options{background:var(--border-soft);gap:1px;display:grid}.share-option{background:var(--bg-panel);grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px 18px;display:grid}.share-option>svg{color:var(--accent);margin-top:1px}.share-option h3{font-size:.85rem}.share-option textarea{resize:vertical;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-input);width:100%;color:var(--text-muted);font-family:var(--font-mono);margin-top:10px;padding:8px;font-size:.68rem;line-height:1.4}.share-error{border-top:1px solid var(--border);color:var(--danger);margin:0;padding:10px 18px;font-size:.78rem}.embed-shell{background:var(--bg);width:100%;height:100%;min-height:0}.embed-shell>flowmark-diagram,.embed-shell>.fm-live{width:100%;height:100%;display:block}.icon-btn{align-items:center;gap:6px;line-height:1;display:inline-flex}.icon-btn-only{justify-content:center;width:32px;height:32px;padding:0}.icon-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.ghost{background:0 0}.ghost.tiny{height:auto;padding:4px 8px;font-size:.75rem}.workspace-row{flex:1;min-height:0;display:flex;position:relative}.split-pane{flex:1;min-width:0;min-height:0;display:grid}.split-pane-left,.split-pane-right{flex-direction:column;min-width:0;min-height:0;display:flex}.split-handle{background:var(--border-soft);cursor:col-resize;position:relative}.split-handle:after{content:"";position:absolute;inset:0 -3px}.split-handle:hover,.split-handle:focus-visible{background:var(--accent)}.editor-pane,.preview-pane{background:var(--bg-panel);flex-direction:column;height:100%;min-height:0;display:flex}.pane-header{border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.pane-header-sub{border-top:1px solid var(--border-soft)}.pane-header h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:.72rem;font-weight:600;display:inline-flex}.preview-hint{color:var(--text-faint);font-size:.7rem}.editor-filebar{background:var(--bg-elevated);border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:stretch;min-height:34px;display:flex}.editor-filebar-icon{color:var(--text-faint);flex-shrink:0;align-self:center;margin-left:10px}.editor-filebar-select-wrap{flex:1;align-items:stretch;min-width:0;display:flex;position:relative}.editor-filebar-select{min-width:0;color:var(--text);appearance:none;cursor:pointer;background:0 0;border:0;border-radius:0;flex:1;padding:7px 28px 7px 8px;font-size:.82rem;font-weight:500}.editor-filebar-caret{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.editor-filebar-select-wrap:has(.editor-filebar-select:disabled) .editor-filebar-caret{opacity:.45}.editor-filebar-select:hover{background-color:#ffffff08}.editor-filebar-select:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 50%, var(--border));background-color:#ffffff08;outline:none}.editor-filebar-select:disabled{opacity:.5;cursor:not-allowed}.editor-dirty-dot{background:var(--accent);flex-shrink:0;align-self:center;width:7px;height:7px;margin-right:4px}.editor-filebar .icon-btn{border:0;border-left:1px solid var(--border-soft);background:0 0;border-radius:0;align-self:stretch;min-width:34px}.editor-filebar .icon-btn:disabled{opacity:.35}.editor-filebar .icon-btn.active{color:var(--ok);border-color:var(--border-soft);background:0 0}.stats{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.75rem}.output-status{border-top:1px solid var(--border-soft);background:var(--bg);color:var(--text-faint);font-variant-numeric:tabular-nums;letter-spacing:.02em;opacity:.75;flex-shrink:0;align-items:center;gap:10px;padding:3px 10px;font-size:.65rem;display:flex}.output-status span+span:before{content:"";opacity:.35;vertical-align:-.1em;background:currentColor;width:1px;height:.85em;margin-right:10px;display:inline-block}.source-editor{resize:none;background:var(--bg-input);width:100%;min-height:0;color:var(--text);font-family:var(--font-mono);tab-size:2;border:0;flex:1;padding:12px 14px;font-size:.82rem;line-height:1.5}.diagnostics{background:var(--bg-elevated);flex-shrink:0;max-height:140px;padding:8px 12px;overflow:auto}.diag-action{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;display:block}.diag-action:hover,.diag-action:focus-visible{background:var(--accent-soft);outline:none}.diag{margin-bottom:6px;font-size:.78rem;line-height:1.4}.diag code{font-family:var(--font-mono);font-size:.75rem}.diag-ok{color:var(--ok)}.diag-error{color:var(--danger)}.diag-warning{color:var(--warn)}.diag-info{color:var(--text-muted)}.hint{color:var(--text-faint)}.preview-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.preview{background-color:var(--bg);-webkit-user-select:none;user-select:none;width:100%;height:100%}.preview--live,.preview-stage flowmark-diagram,.preview-stage .fm-live{width:100%;height:100%;min-height:0;color:inherit;font:inherit;background:0 0;border:0;flex:1 1 0;display:flex}.preview[data-theme=light]{background-color:var(--bg)}.zoom-overlay{background:color-mix(in oklch, var(--bg-elevated) 92%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0;gap:0;padding:0;display:flex;position:absolute;bottom:12px;right:12px}.zoom-overlay .icon-btn{min-width:34px;height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:0}.zoom-overlay .icon-btn+.icon-btn{border-left:1px solid var(--border-soft)}.zoom-overlay .icon-btn:hover{color:var(--text);background:color-mix(in oklch, var(--text) 6%, transparent)}.zoom-overlay .icon-btn:focus-visible{color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 55%, var(--border))}.preview-pane:fullscreen{background:var(--bg)}.preview-pane:fullscreen .preview-stage{height:100%}.drawer{width:var(--drawer-w);border-left:1px solid var(--border);background:var(--bg-elevated);min-height:0;box-shadow:var(--shadow);z-index:2;flex-direction:column;flex-shrink:0;display:flex}.sidebar{width:320px}.sidebar-header{border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;padding:10px 12px;display:flex}.sidebar-header h2{align-items:center;gap:8px;margin:0;font-size:.9rem;font-weight:600;display:inline-flex}.sidebar-body{flex:1;min-height:0;overflow:auto}.sidebar-panel{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-accordion{padding:0 0 12px}.accordion-item{border-bottom:1px solid var(--border-soft)}.accordion-heading{margin:0}.accordion-trigger{width:100%;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.7rem;font-weight:700;display:flex}.accordion-trigger:hover{color:var(--text);background:#ffffff08}.accordion-item[data-state=open] .accordion-trigger{color:var(--text);background:var(--bg-elevated);border-bottom:1px solid var(--border-soft)}.accordion-title{align-items:center;gap:8px;display:inline-flex}.accordion-chevron{color:var(--text-faint);flex-shrink:0;transition:transform .15s}.accordion-item[data-state=open] .accordion-chevron{color:var(--text-muted);transform:rotate(180deg)}.accordion-panel{background:#0000002e;padding:12px}.accordion-panel[hidden]{display:none}.section-actions{justify-content:flex-end;padding-top:4px;display:flex}.output-pane{flex-direction:column;min-height:0;display:flex}.source-editor-host{background:var(--bg-input);flex:1 1 0;width:100%;min-height:0;position:relative;overflow:hidden}.source-editor-host>section,.source-editor-host .monaco-editor{max-height:100%;position:absolute;inset:0;height:100%!important}.source-editor-host .monaco-editor,.source-editor-host .monaco-editor-background,.source-editor-host .monaco-editor .margin,.source-editor-host .monaco-editor .monaco-editor-background{background-color:#0000!important}.source-editor-host .monaco-editor .current-line,.source-editor-host .monaco-editor .view-overlays .current-line{background-color:var(--bg-elevated)!important;border:none!important}.source-editor-loading{color:var(--text-faint);place-items:center;font-size:.85rem;display:grid;position:absolute;inset:0}@media (width<=900px){.toolbar{flex-wrap:wrap;height:auto;padding:10px 12px}.workspace-row{flex-direction:column}.drawer,.sidebar{border-left:0;border-top:1px solid var(--border);width:100%;max-height:45vh}.split-pane{grid-template-rows:minmax(180px,40%) 6px minmax(0,1fr);grid-template-columns:1fr!important}.split-handle{cursor:row-resize}.modal-backdrop{padding:0}.share-dialog{border-width:0;width:100%;height:100%;max-height:100vh}.share-option{grid-template-columns:20px minmax(0,1fr) auto;padding:14px 12px}}.field-stack{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:600;display:flex}.field-help{color:var(--text-faint);margin:0;font-size:.7rem;line-height:1.45}.theme-panel{flex-direction:column;gap:12px;display:flex}.theme-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.theme-preset{appearance:none;border:1px solid var(--border);background:var(--bg-input);min-width:0;color:var(--text-faint);font:inherit;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;flex-direction:column;align-items:center;gap:4px;margin:0;padding:5px 3px;font-size:.58rem;display:flex}.theme-preset:hover{color:var(--text);background:color-mix(in oklch, var(--text) 6%, var(--bg-input))}.theme-preset[data-active=true]{color:var(--text);border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 45%, transparent)}.theme-preset__swatch{border:1px solid var(--border-soft);width:100%;height:16px}.color-row{align-items:center;gap:8px;display:flex}.color-row input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:0;width:36px;height:32px;padding:0}.color-hex{border:1px solid var(--border);background:var(--bg-input);min-width:0;color:var(--text);font-family:var(--font-mono);border-radius:0;flex:1;padding:7px 8px;font-size:.75rem}.field select,.field input[type=range]{width:100%}.field select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:7px 8px;font-size:.85rem}.field.is-auto select,.field.is-auto output,.field.is-auto .segment:not(.is-selected){color:var(--text-faint)}.field.is-auto .segment.is-selected{font-style:italic}.field:not(.is-auto) select{color:var(--text)}.field output{font-variant-numeric:tabular-nums;color:var(--text-faint);font-weight:500}.segmented{background:var(--bg-input);border:1px solid var(--border);flex-wrap:wrap;gap:1px;padding:2px;display:flex}.segment{min-width:2.4rem;color:var(--text-muted);letter-spacing:.01em;white-space:nowrap;background:0 0;border:0;flex:auto;margin:0;padding:6px 8px;font-size:.75rem;font-weight:600;line-height:1.2}.segment:hover{color:var(--text);background:color-mix(in oklch, var(--text) 6%, transparent)}.segment.is-selected{color:var(--text);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 45%, transparent)}.segment:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 60%, var(--border));z-index:1;outline:none}.range-row{align-items:center;gap:8px;display:flex}.range-row input[type=range]{accent-color:var(--accent);flex:1}.field-toggle{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.field-toggle .field-label{margin:0}.toggle{border:1px solid var(--border);background:var(--bg-input);cursor:pointer;flex-shrink:0;width:34px;height:20px;padding:0;position:relative}.toggle-thumb{background:var(--text-muted);width:14px;height:14px;transition:transform .12s,background-color .12s;position:absolute;top:2px;left:2px}.toggle.is-on{background:var(--accent-soft);border-color:color-mix(in oklch, var(--accent) 50%, var(--border))}.toggle.is-on .toggle-thumb{background:var(--accent);transform:translate(14px)}.toggle:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 60%, var(--border));outline:none}
