@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Instrument+Sans:wght@500;600;700&display=swap";:root{color-scheme:light;--bg: #f7f6fb;--paper: #ffffff;--sidebar: #edeaf8;--ink: #15131f;--secondary: #4a4658;--line: #dad6e8;--fill: #ffffff;--fill-strong: #e4dff6;--accent: #4b3bc4;--accent-pressed: #3e2fa8;--accent-ink: #ffffff;--link: #4b3bc4;--focus: #4b3bc4;--select-fill: rgba(75, 59, 196, .12);--wire: #15131f;--grid: rgba(21, 19, 31, .05);--hover: rgba(75, 59, 196, .28);--danger: #a83a28;--shadow: 0 12px 32px color-mix(in srgb, #2b2b2d 22%, transparent);--font: "IBM Plex Sans", system-ui, sans-serif;--display: "Instrument Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--code-keyword: #4b3bc4;--code-string: #a83a28;--code-comment: #4a4658;--code-number: #0f6e5c;font-family:var(--font);font-size:13px;line-height:1.4;color:var(--ink);background:var(--bg)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #15131f;--paper: #221e33;--sidebar: #1b1828;--ink: #efeef6;--secondary: #a8a4bc;--line: rgba(239, 238, 246, .12);--fill: rgba(122, 99, 255, .16);--fill-strong: #2a2640;--accent: #7a63ff;--accent-pressed: #6a52f0;--accent-ink: #ffffff;--link: #afa2ff;--focus: #afa2ff;--select-fill: rgba(122, 99, 255, .22);--wire: #efeef6;--grid: rgba(239, 238, 246, .05);--hover: rgba(175, 162, 255, .55);--danger: #e5705a;--shadow: 0 12px 32px color-mix(in srgb, #15131f 55%, transparent);--code-keyword: #afa2ff;--code-string: #e5705a;--code-comment: #a8a4bc;--code-number: #5fc7b0}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,select{font:inherit;color:inherit}button{min-height:28px;min-width:28px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.app{height:100%;display:flex;flex-direction:column;background:var(--bg)}.auth-gate{min-height:100dvh;display:grid;align-content:center;justify-items:start;gap:12px;max-width:420px;margin:0 auto;padding:32px 20px}.auth-gate h1{margin:0;font-family:var(--display);font-size:1.75rem;font-weight:700;letter-spacing:-.035em}.auth-gate p{margin:0;color:var(--secondary)}.toolbar{position:relative;z-index:5;display:flex;align-items:center;gap:8px;min-height:48px;padding:8px;border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap}.brand-mark{width:18px;height:18px;color:var(--ink);display:grid;flex:none}.brand-mark svg{width:18px;height:18px}.toolbar-group{display:flex;align-items:center;gap:4px;min-width:0;flex:none;flex-wrap:wrap}.toolbar-group:first-child{flex:1 1 auto}.toolbar-group.center{background:transparent;border:1px solid var(--line);padding:0}.toolbar-group.center button{border:0;border-radius:0;background:transparent;padding:0 12px}.toolbar-group.center button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}button,.example-picker select{border:1px solid var(--line);background:var(--paper);border-radius:0;padding:0 10px;cursor:pointer}button:hover,.example-picker select:hover{background:var(--fill-strong)}.row,.disclosure,.icon-button,.text-button,.links button,.context-menu button,.add-menu .menu button,.source-toggle button,.toolbar-group.center button{border-color:transparent;background:transparent}.primary{border-color:transparent}.toolbar-group.center button[aria-pressed=true],.source-toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.icon-button{width:32px;min-width:32px;height:32px;padding:0;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper)}.icon-button svg{width:16px;height:16px}.icon-button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:transparent}.icon-button:disabled{color:var(--secondary)}.icon-button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.icon-button.primary:hover{background:var(--accent-pressed)}.primary{background:var(--accent);color:var(--accent-ink);font-weight:590}.primary:hover{background:var(--accent-pressed)}.primary.large{min-height:36px;padding:0 16px}.doc-title{min-width:0;margin-left:6px}.doc-title h1{margin:0;min-width:0;display:flex;align-items:center;gap:6px;font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dirty-dot{width:8px;height:8px;flex:none;border-radius:0;background:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 20%,transparent)}.doc-title p{margin:0;color:var(--secondary);font-size:12px}.example-picker select{max-width:160px;height:28px}.workspace{flex:1;min-height:0;display:flex;position:relative}.sidebar,.inspector{position:relative;width:var(--side);min-width:0;background:var(--sidebar);display:flex;flex-direction:column}.inspector{width:var(--inspector)}.splitter.edge{position:absolute;top:0;bottom:0;right:-1px;width:1px;z-index:2}.splitter.edge.start{right:auto;left:-1px}.pane-head{display:flex;flex-direction:column;gap:8px;padding:14px 14px 6px}.pane-head .source-toggle{margin:0}.pane-label,.inspector h2,.sidebar h2{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}.pane-scroll{overflow:auto;padding:6px}.inspector h2{margin:16px 8px 6px}.row{width:100%;display:flex;justify-content:space-between;gap:8px;text-align:left;background:transparent;border-radius:0;padding:6px 8px}.row small{color:var(--secondary);font-size:12px}.row.child{padding-left:22px}.row.selected{background:var(--accent);color:var(--accent-ink)}.row.selected small{color:var(--accent-ink)}.row.selected .dirty-dot{background:var(--accent-ink)}.tree-item{display:flex;align-items:center;min-width:0}.tree-item .row{flex:1;min-width:0;padding-left:2px}.tree-item .row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-label{display:inline-flex;align-items:center;gap:6px}.disclosure{width:16px;height:28px;flex:none;display:grid;place-items:center;padding:0;color:var(--secondary);background:transparent}.disclosure svg{width:8px;height:8px}.tree-item[aria-expanded=true]>.disclosure svg{transform:rotate(90deg)}.disclosure:disabled{visibility:hidden}.kind-icon{width:14px;height:14px;flex:none}.splitter{width:1px;flex:0 0 1px;background:var(--line);cursor:col-resize;position:relative}.splitter:before{content:"";position:absolute;inset:0 -4px}.canvas{flex:1;min-width:0;position:relative;background:var(--paper)}.diagram{width:100%;height:100%;display:block;touch-action:none;cursor:grab;background:var(--paper);color:var(--ink)}.diagram:active{cursor:grabbing}.diagram-page{fill:var(--paper)}.model-search{display:flex;align-items:center;gap:6px;min-height:28px;padding:0 8px;border-radius:0;background:var(--fill)}.model-search:focus-within{box-shadow:inset 0 0 0 1px var(--accent)}.model-search svg{width:12px;height:12px;flex:none;color:var(--secondary)}.model-search input{flex:1;min-width:0;border:0;background:transparent;color:inherit;font:inherit;min-height:26px;padding:0}.model-search input:focus{outline:none}.model-search input::-webkit-search-decoration,.model-search input::-webkit-search-cancel-button{display:none}.model-search input::placeholder{color:var(--secondary)}.model-search button{min-width:16px;min-height:16px;padding:0;background:transparent;color:var(--secondary);font-size:14px;line-height:1}.wire{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;opacity:.9;pointer-events:none}.wire.active{stroke-width:2.4}.wire.targeted{stroke:var(--accent);stroke-width:2.4}.wire-hit{fill:none;stroke:transparent;stroke-width:14;stroke-linecap:round;pointer-events:stroke}.wire.draft{stroke:var(--accent);stroke-dasharray:4 3;pointer-events:none}.port{fill:var(--paper);stroke:var(--accent);stroke-width:1.75;cursor:crosshair}.port-hit{fill:transparent;cursor:crosshair}.empty-actions{display:flex;gap:8px;margin-top:8px}.file-label{margin:12px 8px 4px;color:var(--secondary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage{position:relative;height:100%}.stage-hint{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);margin:0;color:var(--secondary);pointer-events:none}.add-menu{position:relative}.add-menu>button[aria-expanded=true]{background:var(--fill-strong)}.add-menu .menu.end{left:auto;right:0}.history-menu{width:240px}.history-menu button{justify-content:space-between}.history-menu button[aria-current=true]{background:var(--select-fill)}.history-menu small{color:var(--secondary)}.add-menu .menu{position:absolute;z-index:6;top:calc(100% + 6px);left:0;width:280px;max-height:min(420px,70vh);overflow:auto;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:var(--shadow)}.add-menu .menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;text-align:left;background:transparent}.add-menu .menu button svg{width:22px;height:22px;flex:none;color:var(--ink)}.source-toggle{display:flex;gap:2px;margin-bottom:4px;padding:2px;border-radius:0;background:var(--fill)}.source-toggle button{flex:1;min-width:0;min-height:24px;border-radius:0;background:transparent;color:var(--secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.menu-search{display:block;padding:2px 2px 6px}.menu-search input{width:100%}.part-copy{display:flex;flex-direction:column;min-width:0}.part-copy small{color:var(--secondary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-menu .menu form{display:flex;gap:4px;margin-top:4px}.add-menu .menu input{min-width:0;flex:1;min-height:28px;border:0;border-radius:0;background:var(--fill);padding:0 8px}.add-menu .menu form button{width:auto;flex:none;background:var(--fill)}.context-menu{position:fixed;z-index:30;min-width:196px;padding:4px;border:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:var(--shadow)}.context-group+.context-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}.context-menu button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:28px;padding:0 8px;border-radius:0;background:transparent;text-align:left}.context-menu button:hover:not(:disabled),.context-menu button:focus-visible{background:var(--fill)}.context-menu button:disabled{color:var(--secondary)}.context-menu button.danger{color:var(--danger)}.context-menu kbd{color:var(--secondary);font:inherit}.text-button.danger{color:var(--danger)}.node{cursor:grab;color:var(--ink)}.node.dragging{cursor:grabbing}.node-ring{fill:transparent;stroke:transparent;stroke-width:1.75}.node[aria-pressed=true] .node-ring{stroke:var(--accent);fill:var(--select-fill)}.node:hover .node-ring{stroke:var(--hover)}.node:focus-visible{outline:none}.node:focus-visible .node-ring{stroke:var(--accent)}.node-label{font-size:4.2px;font-weight:650;fill:var(--ink)}.empty{height:100%;display:grid;align-content:center;justify-items:center;text-align:center;gap:8px;padding:32px}.empty h1,.empty h2{margin:0;font-size:22px;font-weight:650;letter-spacing:-.02em}.empty p{margin:0 0 8px;max-width:38ch;color:var(--secondary)}.empty-copy{color:var(--secondary);margin:8px}.lede{margin:4px 8px 12px}dl{margin:0 8px;display:grid;grid-template-columns:88px 1fr;gap:6px 8px}dt{color:var(--secondary)}dd{margin:0;overflow-wrap:anywhere}.facts,.links{list-style:none;margin:0;padding:0 8px}.facts li,.links li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.facts span,.links span{color:var(--secondary)}.links button{background:transparent;padding:0;min-height:24px;text-align:left}.links li{align-items:center}.props{list-style:none;margin:0;padding:0 8px 8px;display:flex;flex-direction:column;gap:14px}.props li{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.prop-name{margin:0;font-weight:650}.prop{display:grid;gap:4px}.prop span{color:var(--secondary);font-size:12px}.prop input,.add-prop input{width:100%;min-height:28px;border:0;border-radius:0;background:var(--paper);color:inherit;padding:4px 8px;font:inherit;box-shadow:inset 0 0 0 1px var(--line)}.add-prop{display:grid;gap:8px;margin:8px}.add-prop label{display:grid;gap:4px;color:var(--secondary);font-size:12px}.text-button{align-self:start;background:transparent;color:var(--link);padding:0;min-height:28px}.field-error{margin:8px;color:var(--danger)}.export-note{margin:0;padding:8px 14px;border-top:1px solid var(--line);background:var(--sidebar);color:var(--secondary)}.editor{height:100%;display:grid;grid-template-columns:auto minmax(0,1fr);background:var(--paper)}.editor-gutter{overflow:hidden;padding:16px 0 48px;background:var(--sidebar);border-right:1px solid var(--line);-webkit-user-select:none;user-select:none}.editor-gutter span{display:block;min-width:3ch;padding:0 12px 0 16px;text-align:right;font-family:var(--mono);font-size:12px;line-height:20px;color:var(--secondary)}.editor-gutter span[data-current=true]{color:var(--ink)}.editor-code{position:relative;min-width:0;overflow:hidden}.editor-highlight,.editor-input{margin:0;padding:16px 24px 48px;border:0;font-family:var(--mono);font-size:12px;line-height:20px;tab-size:2;white-space:pre}.editor-highlight{position:absolute;top:0;left:0;min-width:100%;pointer-events:none}.editor-current{position:absolute;left:0;right:0;height:20px;background:var(--fill)}.editor-input{position:relative;z-index:1;display:block;width:100%;height:100%;resize:none;overflow:auto;color:transparent;caret-color:var(--ink);background:transparent}.editor-input::selection{background:var(--select-fill);color:transparent}.tok-keyword{color:var(--code-keyword)}.tok-string{color:var(--code-string)}.tok-comment{color:var(--code-comment)}.tok-number{color:var(--code-number)}.drop-veil{position:absolute;inset:12px;display:grid;place-items:center;border:1.5px dashed var(--accent);border-radius:0;background:color-mix(in srgb,var(--paper) 88%,var(--accent));font-weight:600}.app:not(.show-side) .sidebar{display:none}@media(max-width:1100px){.doc-title p{display:none}.sidebar,.inspector{position:absolute;top:0;bottom:0;z-index:4;width:min(var(--side),82vw);box-shadow:var(--shadow)}.inspector{width:min(var(--inspector),86vw);right:0}.example-picker select{max-width:112px}dl{grid-template-columns:72px minmax(0,1fr)}}@media(max-width:720px){.doc-title h1{font-size:14px}.pane-head{padding:10px 10px 4px}.empty{padding:20px}.empty h1,.empty h2{font-size:18px}.sidebar,.inspector{width:100%}.inspector{z-index:5}.toolbar-group:first-child{flex-basis:100%}.doc-title{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
