:root{--bg:#f5f4f1;--panel:#ffffff;--ink:#1d1d1f;--muted:#6b6b70;--line:#e3e1dc;--accent:#b5410e;--sel:#2563eb}*{box-sizing:border-box}body{margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit}.top{display:flex;gap:12px;align-items:baseline;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-weight:700;text-decoration:none}.muted{color:var(--muted)}.error{color:#b91c1c}button,input[type=number],input[type=text],select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 10px;cursor:pointer}button:hover{border-color:#c9c6bf}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}.login{max-width:420px;margin:15vh auto;text-align:center;display:grid;grid-gap:16px;gap:16px}.runs{max-width:1200px;margin:24px auto;padding:0 16px;display:grid;grid-gap:18px;gap:18px}.run{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.run h2{margin:0 0 4px;font-size:16px}.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-top:10px}.opt{text-decoration:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fafafa}.opt img{width:100%;display:block}.opt span{display:block;padding:4px 8px;font-weight:600}.opt.picked{outline:3px solid var(--accent)}.editor{display:grid;grid-template-columns:240px minmax(0,1fr) 280px;height:calc(100vh - 43px)}.side{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;overflow-x:hidden;padding:10px;min-width:0}.side.right{border-right:0;border-left:1px solid var(--line)}.side h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px}.stage{overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px}.stage .canvas-wrap{box-shadow:0 4px 24px rgba(0,0,0,.18)}.toolbar{display:flex;flex-wrap:wrap;gap:6px}.layers{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.layers li{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;cursor:pointer}.layers li.sel{background:#e8efff}.layers li .nm{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layers li .tag{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 4px}.layers li button{padding:0 4px;border:0;background:none}.field{display:grid;grid-gap:4px;gap:4px;margin-bottom:8px}.field label{font-size:12px;color:var(--muted)}.row{display:flex;gap:6px;align-items:center}.lib{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.lib button{padding:4px;aspect-ratio:1;min-width:0;overflow:hidden;display:block;position:relative;background:#eceef2}.lib button:hover{border-color:var(--accent)}.lib img{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain}.side .toolbar button{flex:0 0 auto}.side input[type=number],.side select,.side textarea{max-width:100%}.status{font-size:12px;color:var(--muted)}