:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.app-shell{color:#172033;background:#eef2f7;grid-template-columns:320px 1fr;min-height:100vh;display:grid}.sidebar{background:#fbfcfe;border-right:1px solid #d9e0ea;flex-direction:column;gap:16px;min-height:100vh;padding:18px;display:flex}.brand{border-bottom:1px solid #e4e9f1;align-items:center;gap:12px;padding:10px 4px 16px;display:flex}.brand svg{color:#0f766e;width:34px;height:34px}.brand strong,.topbar strong{font-size:18px;line-height:1.2;display:block}.brand span,.topbar span,.properties p{color:#64748b;font-size:13px}.upload-box,.image-picker{color:#26364d;cursor:pointer;background:#fff;border:1px dashed #9aa9bd;align-items:center;gap:12px;min-height:74px;padding:14px;display:flex}.image-picker{border-style:solid;justify-content:center;min-height:44px}.upload-box input,.image-picker input{display:none}.upload-box svg,.image-picker svg{color:#0f766e;flex:none;width:22px;height:22px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}button{appearance:none;color:#233149;cursor:pointer;min-height:40px;font:inherit;background:#fff;border:1px solid #d4dce8;justify-content:center;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}button:hover:not(:disabled){border-color:#0f766e}button:disabled{opacity:.45;cursor:not-allowed}button svg{width:18px;height:18px}.tool-grid button{justify-content:flex-start;font-size:13px}.tool-grid button.active,.download{color:#fff;background:#0f766e;border-color:#0f766e}.properties{background:#fff;border:1px solid #dfe5ee;flex-direction:column;gap:12px;padding:14px;display:flex}.properties h2{margin:0;font-size:15px;line-height:1.2}.properties label{color:#475569;flex-direction:column;gap:6px;font-size:13px;display:flex}.properties textarea,.properties input{box-sizing:border-box;color:#172033;width:100%;font:inherit;background:#fff;border:1px solid #cfd8e5;padding:9px 10px}.properties textarea{resize:vertical;min-height:72px}.inline-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.danger{color:#b91c1c;background:snow;border-color:#f0c3c3}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{background:#fffffff0;border-bottom:1px solid #d9e0ea;justify-content:space-between;align-items:center;gap:18px;height:68px;padding:0 20px;display:flex}.page-controls{align-items:center;gap:8px;display:flex}.page-controls span{text-align:center;color:#334155;min-width:72px}.stage-wrap{flex:1;justify-content:center;align-items:flex-start;padding:28px;display:flex;overflow:auto}.stage{background:#fff;flex:none;position:relative;box-shadow:0 22px 55px #0f172a2e}.stage canvas{display:block}.empty-state{color:#64748b;place-items:center;font-size:20px;display:grid;position:absolute;inset:0}.overlay-item{box-sizing:border-box;cursor:move;-webkit-user-select:none;user-select:none;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;align-items:center;padding:3px 6px;display:flex;position:absolute;overflow:hidden}.overlay-item.selected{border-color:#2563eb;outline:2px solid #2563eb33}.overlay-item.erase{background:#fff;border-color:#94a3b8bf}.overlay-item.rect{border:2px solid}.overlay-item.ellipse{border:2px solid;border-radius:999px}.overlay-item.line{background:currentColor;padding:0;height:3px!important}.overlay-item.stamp{text-transform:uppercase;border:3px solid;justify-content:center;font-weight:800;transform:rotate(-4deg)}.overlay-item.link{text-decoration:underline}.overlay-item.image{background:#0f172a0a;padding:0}.overlay-item.image img{object-fit:contain;pointer-events:none;width:100%;height:100%}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #d9e0ea;border-right:0;min-height:auto}.topbar{flex-direction:column;align-items:stretch;height:auto;min-height:68px;padding:14px}.page-controls{flex-wrap:wrap}}
