*{box-sizing:border-box}body{margin:0;font-family:Instrument Sans,system-ui,sans-serif;background:#eef2ff;color:#14182f}h1,h2{font-family:Bricolage Grotesque,sans-serif}button{font:inherit;cursor:pointer;border:1px solid rgba(80,90,160,.25);background:#fff;border-radius:10px;padding:8px 12px}button.primary,button.active{background:#4f46e5;color:#fff;border-color:#4f46e5}input,select,textarea{font:inherit;padding:8px;border:1px solid rgba(80,90,160,.25);border-radius:10px;width:100%}.topbar{display:flex;gap:10px;align-items:center;padding:12px 16px;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(80,90,160,.18);flex-wrap:wrap}.topbar h1{font-size:1.2rem;margin:0}.layout{display:grid;grid-template-columns:180px 1fr 260px;gap:12px;padding:12px;align-items:start}@media (max-width:900px){.layout{grid-template-columns:1fr}.thumbs,.props{display:none}}.panel{background:#ffffffbf;border:1px solid rgba(80,90,160,.18);border-radius:16px;padding:12px}.thumb{border:2px solid transparent;border-radius:10px;padding:4px;margin-bottom:10px;cursor:pointer}.thumb.sel{border-color:#4f46e5}.thumb canvas{width:100%;height:auto;display:block;border-radius:6px}.canvas-wrap{position:relative;background:#fff;border-radius:16px;border:1px solid rgba(80,90,160,.18);padding:16px;overflow:auto}.canvas-box{position:relative;margin:0 auto}.canvas-box canvas{display:block}.overlay{position:absolute;top:0;right:0;bottom:0;left:0}.el{position:absolute;border:2px solid #4F46E5;background:transparent;cursor:move;-webkit-user-select:none;user-select:none}.el.sel{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b66}.el .handle{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;background:#f59e0b;border-radius:50%;cursor:nwse-resize}.textlayer span{position:absolute;color:transparent;cursor:text;white-space:pre}.textlayer span:hover{background:#4f46e526}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal-box{background:#fff;border-radius:16px;padding:20px;max-width:520px;width:100%}.sig-canvas{border:2px dashed #999;border-radius:12px;width:100%;height:160px;touch-action:none;background:#fff}.note{color:#5b6285;font-size:.9rem}
