:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}button,input,select,textarea{font:inherit}button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{grid-template-rows:58px 1fr;min-width:980px;height:100%;display:grid}.topbar{background:#f8fafc;border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;gap:16px;padding:0 14px 0 18px;display:flex}.topbar h1{margin:0;font-size:18px;line-height:1.1}.topbar span{color:#64748b;margin-top:3px;font-size:12px;display:block}.toolbar{align-items:center;gap:6px;display:flex}.toolbar button,.panel header button{border-radius:6px;place-items:center;min-width:32px;height:32px;display:inline-grid}.toolbar button.active,.toolbar button:hover,.panel header button:hover{background:#e0f2fe;border-color:#38bdf8}.workspace{grid-template-columns:280px minmax(460px,1fr) minmax(360px,31vw);min-height:0;display:grid}.left-column,.stage-column{min-height:0}.left-column{background:#f8fafc;border-right:1px solid #cbd5e1;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.stage-column{background:#f8fafc;padding:0;display:grid;overflow:hidden}.panel{background:#f8fafc;border-bottom:1px solid #cbd5e1;min-height:0}.panel header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 12px;display:flex}.panel h2,.binding-editor h3{margin:0;font-size:13px;line-height:1.2}.variables-panel{max-height:180px;overflow:auto}.variable-control{border-bottom:1px solid #e2e8f0;grid-template-columns:1fr;gap:5px;padding:7px 10px;display:grid}.variable-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.variable-control small,.muted{color:#64748b;font-size:12px}.variable-control output{color:#0f172a;font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font-size:12px}.inline-id-input{color:#0f172a;background:0 0;border:1px solid #0000;border-radius:5px;width:100%;min-width:0;padding:3px 5px;font-weight:700}.inline-id-input:hover,.inline-id-input:focus{background:#fff;border-color:#bfdbfe;outline:none}.inspector-panel{overflow:auto}.panel-note{margin:0;padding:10px 12px}.inspector-compact{border-bottom:1px solid #e2e8f0;gap:8px;padding:10px;display:grid}.element-id-input{font-size:15px}.compact-field,.degree-control{gap:5px;display:grid}.compact-field span,.degree-control span{color:#475569;font-size:12px;font-weight:600}.compact-field select,.degree-number{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;padding:5px 7px}.group-membership{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;gap:8px;padding:8px 0;display:grid}.group-membership button{border-radius:6px;min-height:30px}.element-action-rail{gap:6px;display:flex}.element-action-rail button{border-radius:6px;place-items:center;width:30px;height:28px;display:inline-grid}.element-action-rail button.active{color:#0369a1;background:#e0f2fe;border-color:#0284c7}.style-modal-backdrop{z-index:20;background:#0f172a52;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.style-modal{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(620px,100%);max-height:min(760px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 20px 48px #0f172a3d}.style-modal>header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:9px 12px;display:flex}.style-modal h3{margin:0;font-size:14px}.style-modal>header button{border-radius:6px;place-items:center;width:30px;height:30px;display:inline-grid}.style-modal-body{gap:14px;min-height:0;padding:12px;display:grid;overflow:auto}.style-modal .style-picker:first-child{border-top:0;padding-top:0}.style-picker{border-top:1px solid #e2e8f0;gap:8px;padding:8px 0;display:grid}.style-picker header{border:0;min-height:0;padding:0}.style-picker header strong{font-size:12px}.style-picker header button,.style-selected-row button{border-radius:6px;place-items:center;width:28px;height:28px;display:inline-grid}.style-selected-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.style-grid label{gap:4px;min-width:0;display:grid}.style-grid span{color:#475569;font-size:11px;font-weight:600}.style-grid input,.style-grid select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;padding:5px 6px;font-size:12px}.toggle-row{color:#475569;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.member-list{color:#475569;gap:4px;font-size:12px;display:grid}.member-list strong{color:#0f172a}.degree-control{grid-template-columns:48px minmax(0,1fr) 66px;align-items:center}.field,.field-grid,.binding-editor{border-bottom:1px solid #e2e8f0;padding:10px 12px}.field{gap:5px;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.field-grid label{gap:4px;min-width:0;display:grid}.field label,.field-grid span{color:#475569;font-size:12px}.field input,.field textarea,.field-grid input,.binding-create select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;padding:6px 7px}.field textarea{resize:vertical}.binding-editor{gap:8px;display:grid}.binding-row,.binding-create{grid-template-columns:1fr 1fr auto;align-items:center;gap:6px;display:grid}.binding-row{color:#334155;font-size:12px}.binding-row button,.binding-create button{border-radius:6px;min-height:30px;padding:0 9px}.canvas-shell{width:100%;min-width:0;height:100%;min-height:0;display:grid}.display-canvas{touch-action:none;background:#f8fafc;border:0;width:100%;height:100%}.display-element{cursor:grab}.display-element:active{cursor:grabbing}.display-element.selected-element>:first-child{filter:drop-shadow(0 0 4px #0ea5e9b8)}.display-group-outline{cursor:grab}.display-group-outline:active{cursor:grabbing}.display-group-outline .group-hit-target{fill:#0000;stroke:#0000;stroke-width:16px;pointer-events:stroke}.display-group-outline .group-frame{fill:#0000;stroke:#6366f1;stroke-width:1.5px;stroke-dasharray:7 5;opacity:.45;pointer-events:none;vector-effect:non-scaling-stroke}.display-group-outline.selected-group .group-frame{opacity:.95;stroke-width:2px}.display-group-outline text{fill:#4338ca;pointer-events:none;font-size:12px;font-weight:700}.selection-anchor{fill:#0ea5e9;stroke:#fff;stroke-width:2px;cursor:crosshair;pointer-events:all}.transform-gizmo{fill:none;pointer-events:none}.gizmo-handle{cursor:grab;pointer-events:all}.gizmo-handle:active{cursor:grabbing}.gizmo-handle line,.gizmo-handle path{fill:none;stroke:#0ea5e9;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.gizmo-handle polygon{fill:#0ea5e9;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.gizmo-rotate path,.gizmo-rotate polygon{stroke:#f97316}.gizmo-rotate polygon{fill:#f97316}.source-panel{border-bottom:0;border-left:1px solid #cbd5e1;grid-template-rows:auto 1fr;min-width:0;min-height:0;display:grid}.source-panel pre{color:#dbeafe;white-space:pre;background:#0f172a;margin:0;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;overflow:auto}.status{text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.status.ok{color:#065f46;background:#d1fae5}.status.error{color:#991b1b;background:#fee2e2}.error-message,.compile-error{color:#991b1b}.compile-error{background:#fef2f2;border:1px solid #fecaca;place-content:center;gap:6px;min-height:220px;display:grid}@media (width<=1180px){.workspace{grid-template-columns:280px minmax(420px,1fr)}.source-panel{display:none}}
