:root{--bg:#e8e4d6;--panel:#f3f0e4;--panel-2:#e4e0d0;--line:#c9c2a8;--ink:#2f2b24;--muted:#6b6454;--accent:#1f9cf0;--warn:#b45309;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1216;--panel:#171a1f;--panel-2:#1f242b;--line:#2d343d;--ink:#dbe1e8;--muted:#8b94a0;--accent:#3fa9f5;--warn:#f59e0b}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--bg);font:13px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;overflow:hidden}.app{grid-template-rows:auto 1fr auto;height:100%;display:grid}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:stretch;gap:14px;padding:6px 10px;display:flex}.group{border-right:1px solid var(--line);align-items:center;gap:6px;padding-right:14px;display:flex}.group:last-child{border-right:0}.group>label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:2px;font-size:11px;font-weight:600}button,select,input[type=text],input[type=number]{font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:4px 8px}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.tool{place-items:center;gap:1px;width:46px;height:42px;padding:2px;line-height:1;display:grid}.tool span{color:var(--muted);font-size:9px}.tool.on{outline:2px solid var(--accent);outline-offset:-2px;background:var(--panel)}.tool.on span{color:var(--accent)}.body{grid-template-columns:240px 1fr 260px;min-height:0;display:grid}.side{background:var(--panel);border-right:1px solid var(--line);padding:10px;overflow-y:auto}.side.right{border-right:0;border-left:1px solid var(--line)}.side h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:11px}.canvas-wrap{min-width:0;position:relative}canvas{cursor:grab;width:100%;height:100%;display:block}canvas.panning{cursor:grabbing}.obj{cursor:pointer;border:1px solid #0000;border-radius:5px;align-items:center;gap:7px;padding:5px 6px;display:flex}.obj:hover{background:var(--panel-2)}.obj.sel{background:var(--panel-2);border-color:var(--accent)}.obj .sw{border:1px solid #0000004d;border-radius:3px;flex:none;width:15px;height:15px}.obj .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.obj .ty{color:var(--muted);text-transform:uppercase;font-size:10px}.obj .eye{opacity:.55;background:0 0;border:0;padding:0 2px}.obj .eye:hover{opacity:1}.row{grid-template-columns:1fr 86px;align-items:center;gap:6px;margin-bottom:6px;display:grid}.row>label{color:var(--muted);font-size:12px}.row input,.row select{width:100%}.row.wide{grid-template-columns:1fr}fieldset{border:1px solid var(--line);border-radius:6px;margin:0 0 10px;padding:8px}legend{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px;font-size:11px}.status{background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;max-height:32vh;padding:5px 12px;font-size:12px;display:flex;overflow-y:auto}.status>span{white-space:nowrap}.status .warn,.status .note{white-space:normal;flex-basis:100%}.status b{font-weight:600}.status .warn{color:var(--warn)}.status .sim{flex-basis:100%;align-items:center;gap:8px;display:flex}.status .sim input{flex:1}.empty{color:var(--muted);padding:6px 2px;font-size:12px}.status .busy{color:var(--accent);font-weight:600}.status .dim{color:var(--muted)}.status .note{color:var(--accent)}.obj .seq{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;min-width:14px;font-size:10px}
