:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}#root{min-height:100svh}body{margin:0}.designer-workspace{flex-direction:column;display:flex;overflow:hidden}.designer{flex-direction:column;flex:1;min-height:0;display:flex}.designer-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.designer-body{flex:1;min-height:0}.designer-editor{box-sizing:border-box;flex-direction:column;gap:8px;height:100%;padding:12px;display:flex}.spec-editor{flex:1;min-height:200px}.spec-editor,.spec-editor textarea{font-family:var(--mono);resize:none;font-size:13px;line-height:1.5;height:100%!important}.spec-issues{border:1px solid var(--border);border-radius:6px;flex:none;max-height:30%;padding:4px 8px;overflow:auto}.spec-issue{align-items:baseline;gap:6px;padding:3px 0;font-size:13px;display:flex}.designer-preview{box-sizing:border-box;height:100%;padding:12px 20px 32px;overflow:auto}.preview-canvas{border:1px dashed var(--border);border-radius:8px;padding:20px}.state-view{font-family:var(--mono);white-space:pre-wrap;margin:0;font-size:12px}.ux-page{max-width:1100px}.app-shell{text-align:left;letter-spacing:normal;flex-direction:column;min-height:100svh;font-size:14px;line-height:1.5715;display:flex}.app-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:16px;height:52px;padding:0 16px;display:flex}.app-logo{width:auto;height:28px;display:block}.app-main{flex-direction:column;flex:1;min-height:0;display:flex}.model-editor{flex-direction:column;height:calc(100svh - 52px);min-height:0;display:flex}.toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.doc-title{font-size:16px}.workspace{flex:1;min-height:0}.pane{box-sizing:border-box;height:100%;padding:12px;overflow:auto}.pane-main{padding:16px 20px 48px}.tree-row{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.tree-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expr-input,.expr-input textarea{font-family:var(--mono);font-size:13px}.field-details{padding:4px 8px 0}.issue-list{margin:4px 0 0;padding-inline-start:18px}.ref-line{padding:2px 0;line-height:1.6}.usage-popover{max-width:460px;max-height:320px;overflow:auto}.dangling{color:#ff4d4f}.stat{font-size:24px;font-weight:600}.matrix-head{white-space:nowrap;height:auto;padding:0}@media (width<=720px){.pane-main{padding:12px}.toolbar{padding:8px 12px}}.issue-rows{flex-direction:column;display:flex}.issue-row{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:10px;padding:8px 4px;display:flex}.issue-row:hover{background:var(--accent-bg)}.issue-icon{padding-top:3px}.nav .ant-tree-treenode{width:100%}.nav .ant-tree-node-content-wrapper{flex:1;min-width:0}.nav .ant-tree-title{min-width:0;display:block}.nav .tree-label{flex:1;min-width:0}.graph-stage{align-items:stretch;gap:12px;display:flex}.graph-canvas{border:1px solid;border-radius:8px;flex:1;min-width:0;height:max(460px,100svh - 330px);position:relative;overflow:hidden}.graph-canvas svg{cursor:grab;display:block}.graph-canvas svg:active{cursor:grabbing}.graph-empty{position:absolute;inset:40% 0 auto}.graph-legend{border:1px solid;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 12px;max-width:calc(100% - 16px);padding:4px 10px;font-size:12px;display:flex;position:absolute;bottom:8px;left:8px}.graph-legend-item{align-items:center;gap:4px;display:inline-flex}.graph-detail{flex:none;width:300px;max-height:max(460px,100svh - 330px);overflow:auto}.graph-detail-row{flex-wrap:wrap;align-items:center;gap:6px;padding:1px 0;display:flex}.graph-dot{border-radius:50%;width:10px;height:10px;display:inline-block}@media (width<=1100px){.graph-stage{flex-direction:column}.graph-detail{width:100%;max-height:none}}.app-subtitle{color:var(--text);border-left:1px solid var(--border);padding-left:16px}.portal-workspace{flex-direction:column;display:flex;overflow:hidden}.portal{flex-direction:column;flex:1;min-height:0;display:flex}.portal-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.portal-intro{margin:12px 16px 0}.portal-body{flex:1;min-height:0;display:flex}.portal-nav{border-right:1px solid var(--border);flex:none;width:260px;overflow:auto}.portal-nav .ant-menu{border-inline-end:none!important}.portal-main{flex:1;min-width:0;padding:16px 20px 40px;overflow:auto}.portal-log{border-bottom:1px solid var(--border);padding:8px 0}.portal-log-child{border-left:2px solid var(--border);margin-left:24px;padding-left:10px}.portal-change{padding-left:22px;font-size:13px}.portal-payload{font-family:var(--mono);word-break:break-all;padding-left:22px;font-size:12px;display:block}.portal-mail{border-bottom:1px solid var(--border);padding:8px 0}.portal-result{max-height:260px;font-size:13px;overflow:auto}@media (width<=720px){.portal-nav{width:160px}}.app-user{margin-left:auto}.auth-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:320px;display:flex}.user-switcher{background:var(--bg);border:1px solid var(--border);width:320px;box-shadow:var(--shadow);border-radius:8px;padding:12px}.legacy-banner{margin:8px 16px 0}.home{width:100%;max-width:1120px;margin:0 auto;padding:24px 16px 48px}.home .legacy-banner{margin:0 0 24px}.home-section+.home-section{margin-top:40px}.home-heading{margin-bottom:16px!important}.home-loading{justify-content:center;padding:48px 0;display:flex}.home-samples{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.home-sample{flex-direction:column;display:flex}.home-sample .ant-card-body{flex:1}.share-list{margin:0;padding:0;list-style:none}.share-list>li{border-bottom:1px solid var(--border);padding:10px 0}.share-list>li:last-child{border-bottom:none}.sf-swatch{vertical-align:middle;border:1.5px solid;border-radius:4px;width:18px;height:12px;display:inline-block}.editor-body{flex:1;min-height:0;display:flex}.editor-body>.workspace{flex:1;min-width:0}.assistant-panel{border-left:1px solid var(--border);flex-direction:column;flex:none;width:380px;height:100%;min-height:0;display:flex}.assistant-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.assistant-body{flex:1;min-height:0;padding:12px;overflow-y:auto}.assistant-center{justify-content:center;padding:32px 0;display:flex}.assistant-suggestion{white-space:normal!important;text-align:left!important;height:auto!important;padding:6px 12px!important}.assistant-log{flex-direction:column;gap:10px;display:flex}.assistant-msg{align-items:flex-start;gap:8px;display:flex}.assistant-msg-user .assistant-prose{background:var(--accent-bg);border-radius:8px;padding:6px 10px}.assistant-avatar{opacity:.7;margin-top:4px}.assistant-prose{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.assistant-prose code{font-family:var(--mono);background:var(--code-bg);border-radius:4px;padding:0 4px;font-size:12px}.assistant-tool{align-items:center;gap:8px;padding-left:22px;font-size:12px;display:flex}.assistant-change{margin-left:22px}.assistant-input{border-top:1px solid var(--border);padding:8px 12px 10px}.assistant-input-bar{justify-content:space-between;align-items:center;margin-top:6px;display:flex}
