:root{--bg: #16181d;--panel: #1e2128;--panel2: #262a33;--line: #333844;--text: #dfe3ea;--dim: #8b93a3;--accent: #2fbf9f;--accent-ink: #06261f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:13px;color:var(--text)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);overflow:hidden}button,input,select{font:inherit;color:inherit}button{background:var(--panel2);border:1px solid var(--line);border-radius:5px;padding:4px 10px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}input,select{background:#14161a;border:1px solid var(--line);border-radius:4px;padding:3px 6px;min-width:0}input:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}input[type=color]{padding:0;width:26px;height:22px;border-radius:4px;cursor:pointer}.app{display:flex;flex-direction:column;height:100%}.top{display:flex;align-items:center;gap:14px;padding:7px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-size:15px;letter-spacing:.3px;color:var(--dim)}.brand b{color:var(--accent)}.docname{width:150px;font-weight:600}.group{display:flex;align-items:center;gap:5px}.lbl{color:var(--dim);margin-right:2px}.spacer{flex:1}.main{flex:1;display:flex;min-height:0}.tools{width:62px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px;padding:6px 5px;overflow-y:auto}.tool{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 0 3px;border-color:transparent;background:transparent;color:var(--dim)}.tool span{font-size:9.5px}.tool:hover{color:var(--text)}.tool.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.stage{flex:1;display:flex;flex-direction:column;min-width:0}.canvas{flex:1;width:100%;min-height:0;display:block;background:#0f1114;touch-action:none;-webkit-user-select:none;user-select:none}.tabs{display:flex;flex-wrap:wrap;gap:3px 2px;padding:4px 8px 0;background:var(--panel);border-top:1px solid var(--line)}.tab{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:5px 5px 0 0;background:var(--panel2);color:var(--dim);cursor:pointer;white-space:nowrap;border:1px solid transparent;border-bottom:none;font-size:12px}.tab.active{background:var(--bg);color:var(--text);border-color:var(--line)}.tab.add{border:none}.tab .x{padding:0 4px;border:none;background:transparent;color:var(--dim)}.cmd{background:var(--bg);border-top:1px solid var(--line);padding:4px 10px 6px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.log{max-height:62px;overflow-y:auto;color:var(--dim);white-space:pre-wrap}.cmdrow{display:flex;align-items:center;gap:10px;margin-top:3px}.prompt{color:var(--accent);white-space:nowrap}.cmdrow input{flex:1;font-family:inherit}.side{width:268px;background:var(--panel);border-left:1px solid var(--line);overflow-y:auto}.side section{padding:10px 12px 12px;border-bottom:1px solid var(--line)}.side h3{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--dim);font-weight:600}.hint{color:var(--dim);line-height:1.4}.fields{display:grid;grid-template-columns:1fr 1fr;gap:7px 8px;align-items:end}.field{display:flex;flex-direction:column;gap:3px;min-width:0}.field.wide,.readout{grid-column:1 / -1}.field>span:first-child{font-size:11px;color:var(--dim)}.field input:not([type=color]),.field select{width:100%}.row{display:flex;align-items:center;gap:6px}.readout{color:var(--dim)}.readout.strong{color:var(--text);font-weight:600}.check{display:flex;align-items:center;gap:6px;color:var(--text)}.layers{display:flex;flex-direction:column;gap:4px}.layer{display:flex;align-items:center;gap:5px;padding:2px;border-radius:5px}.layer.current{background:var(--panel2)}.layer .name{flex:1;background:transparent;border-color:transparent}.mini{padding:1px 6px;font-size:11px}.mini.off{color:var(--dim);background:transparent}.mini.dot{border:none;background:transparent;color:var(--accent);padding:0 3px;font-size:13px}.mini.add{align-self:flex-start;margin-top:4px}.status{display:flex;align-items:center;gap:10px;padding:4px 12px;background:var(--panel);border-top:1px solid var(--line);color:var(--dim);font-size:12px}.coords{font-family:ui-monospace,Menlo,monospace;min-width:190px;white-space:pre;color:var(--text)}.toggle{padding:1px 8px;font-size:11px;color:var(--dim)}.toggle.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:600}.inline{display:flex;align-items:center;gap:5px}.inline select{padding:1px 4px}.cloud{font-size:12px;color:var(--dim);margin-right:2px}.cloud.saved{color:var(--accent)}.cloud.unsaved,.cloud.local,.cloud.saving{color:#e0b252}.cloud.error{color:#ff7b7b}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px 22px;width:340px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px #00000080}.dialog.wide{width:460px}.dialog h2{margin:0;font-size:16px}.dialog input{padding:7px 9px}.dialog .hint{margin:0}.error{color:#ff7b7b;margin:0}.row.end{justify-content:flex-end;margin-top:4px}.drawings{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.drawing{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;text-align:left}.drawing span{font-size:11px;color:var(--dim)}.drawing.current{border-color:var(--accent)}
