.signum-app{--sig-paper:#f4f2f6;--sig-paper-raised:#fff;--sig-paper-sunken:#eae5f0;--sig-ink:#2a2438;--sig-ink-soft:#685f75;--sig-ink-faint:#9891a1;--sig-accent:#6b3fa0;--sig-accent-hover:#7c4fb3;--sig-accent-soft:#ede3f5;--sig-accent-soft-line:#d5c1e7;--sig-brass:#3e7c59;--sig-brass-soft:#e2eee6;--sig-line:#ddd3e6;--sig-line-strong:#c4b3d4;--sig-danger:#a13d2e;--sig-danger-soft:#f5e3df;--sig-shadow:0 1px 2px #2a243812, 0 6px 20px #2a243817;--sig-radius-sm:3px;--sig-radius-md:5px;--sig-font-display:"Fraunces", Georgia, "Times New Roman", serif;--sig-font-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--sig-font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace}@media (prefers-color-scheme:dark){.signum-app{--sig-paper:#1a1622;--sig-paper-raised:#221c2c;--sig-paper-sunken:#140f1a;--sig-ink:#eae3f0;--sig-ink-soft:#a99db5;--sig-ink-faint:#766a82;--sig-accent:#b98ce0;--sig-accent-hover:#c9a2ea;--sig-accent-soft:#33253f;--sig-accent-soft-line:#4a3659;--sig-brass:#6fbf8f;--sig-brass-soft:#1e3327;--sig-line:#372b44;--sig-line-strong:#4a3b58;--sig-danger:#dd8171;--sig-danger-soft:#3a2420;--sig-shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}}.signum-app *{box-sizing:border-box}.signum-app{background:var(--sig-paper);color:var(--sig-ink);font-family:var(--sig-font-body);-webkit-font-smoothing:antialiased;font-size:14px}.signum-app ::selection{background:var(--sig-accent-soft-line)}.signum-app button,.signum-app input,.signum-app textarea,.signum-app select{font-family:inherit}.signum-app .app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.signum-app .topbar{border-bottom:1px solid var(--sig-line);background:var(--sig-paper-raised);flex:none;align-items:center;gap:14px;padding:10px 18px;display:flex}.signum-app .brand{border-right:1px solid var(--sig-line);color:inherit;align-items:center;gap:9px;padding-right:12px;text-decoration:none;display:flex}.signum-app .brand svg{flex:none;width:22px;height:22px}.signum-app .brand-name{font-family:var(--sig-font-display);letter-spacing:.01em;white-space:nowrap;font-size:17px;font-weight:600}.signum-app .doc-name{color:var(--sig-ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:13px;overflow:hidden}.signum-app .doc-name.placeholder{color:var(--sig-ink-faint);font-style:italic}.signum-app .topbar-spacer{flex:1}.signum-app .zoom-group{background:var(--sig-paper-sunken);border-radius:var(--sig-radius-md);align-items:center;gap:2px;padding:3px;display:flex}.signum-app .zoom-group button{border-radius:var(--sig-radius-sm);width:26px;height:26px;color:var(--sig-ink-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:15px;display:flex}.signum-app .zoom-group button:hover{background:var(--sig-paper-raised);color:var(--sig-ink)}.signum-app .zoom-label{font-family:var(--sig-font-mono);color:var(--sig-ink-soft);text-align:center;width:42px;font-size:11px}.signum-app .btn{border-radius:var(--sig-radius-md);border:1px solid var(--sig-line-strong);background:var(--sig-paper-raised);color:var(--sig-ink);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.signum-app .btn:hover{border-color:var(--sig-ink-faint)}.signum-app .btn:active{transform:translateY(1px)}.signum-app .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.signum-app .btn svg{flex:none;width:15px;height:15px}.signum-app .btn-primary{background:var(--sig-accent);border-color:var(--sig-accent);color:#fdfbf7}.signum-app .btn-primary:hover{background:var(--sig-accent-hover);border-color:var(--sig-accent-hover)}.signum-app .btn-ghost{background:0 0;border-color:#0000}.signum-app .btn-ghost:hover{background:var(--sig-paper-sunken);border-color:#0000}.signum-app .btn-sm{padding:5px 10px;font-size:12px}.signum-app .body{flex:1;min-height:0;display:flex}.signum-app .sidebar{background:var(--sig-paper-raised);border-right:1px solid var(--sig-line);flex-direction:column;flex:none;gap:20px;width:292px;padding:16px 14px 40px;display:flex;overflow-y:auto}.signum-app .side-section-title{font-family:var(--sig-font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--sig-ink-faint);margin:0 0 9px 2px;font-size:10.5px}.signum-app .upload-zone{border:1.5px dashed var(--sig-line-strong);border-radius:var(--sig-radius-md);text-align:center;cursor:pointer;background:var(--sig-paper-sunken);padding:22px 14px;transition:border-color .15s,background .15s}.signum-app .upload-zone:hover,.signum-app .upload-zone.drag-over{border-color:var(--sig-accent);background:var(--sig-accent-soft)}.signum-app .upload-zone svg{width:26px;height:26px;color:var(--sig-ink-faint);margin-bottom:8px}.signum-app .upload-zone .u-title{font-size:13px;font-weight:500}.signum-app .upload-zone .u-sub{color:var(--sig-ink-soft);margin-top:3px;font-size:11.5px}.signum-app .field-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.signum-app .field-tool{border-radius:var(--sig-radius-md);border:1px solid var(--sig-line);background:var(--sig-paper);cursor:grab;text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:11px 10px;display:flex}.signum-app .field-tool:hover{border-color:var(--sig-accent);background:var(--sig-accent-soft)}.signum-app .field-tool.armed{border-color:var(--sig-accent);background:var(--sig-accent-soft);box-shadow:inset 0 0 0 1px var(--sig-accent)}.signum-app .field-tool.dragging{opacity:.5}.signum-app .field-tool svg{width:16px;height:16px;color:var(--sig-accent)}.signum-app .field-tool span{font-size:12.5px;font-weight:500}.signum-app .field-tool.wide{flex-direction:row;grid-column:1/-1;align-items:center}.signum-app .tool-hint{color:var(--sig-ink-faint);margin:7px 2px 0;font-size:11px;line-height:1.5}.signum-app .page.dnd-over{outline:2px dashed var(--sig-accent);outline-offset:3px}.signum-app .armed-hint{color:var(--sig-accent);background:var(--sig-accent-soft);border:1px solid var(--sig-accent-soft-line);border-radius:var(--sig-radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:11.5px;display:flex}.signum-app .armed-hint button{color:var(--sig-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.signum-app .field-list{flex-direction:column;gap:7px;display:flex}.signum-app .field-item{border:1px solid var(--sig-line);border-radius:var(--sig-radius-md);background:var(--sig-paper);overflow:hidden}.signum-app .field-item.selected{border-color:var(--sig-accent);box-shadow:0 0 0 1px var(--sig-accent)}.signum-app .field-item-head{cursor:pointer;align-items:center;gap:8px;padding:8px 9px;display:flex}.signum-app .field-item-icon{width:14px;height:14px;color:var(--sig-ink-soft);flex:none}.signum-app .field-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:500;overflow:hidden}.signum-app .field-item-page{font-family:var(--sig-font-mono);color:var(--sig-ink-faint);flex:none;font-size:10px}.signum-app .field-item-del{color:var(--sig-ink-faint);cursor:pointer;border-radius:var(--sig-radius-sm);background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.signum-app .field-item-del:hover{color:var(--sig-danger);background:var(--sig-danger-soft)}.signum-app .field-item-del svg{width:13px;height:13px}.signum-app .field-empty{color:var(--sig-ink-faint);padding:10px 4px;font-size:12px;line-height:1.5}.signum-app .inspector{border-top:1px solid var(--sig-line);background:var(--sig-paper-sunken);flex-direction:column;gap:10px;padding:10px 10px 12px;display:flex}.signum-app .insp-row{flex-direction:column;gap:5px;display:flex}.signum-app .insp-row.split{flex-direction:row;gap:8px}.signum-app .insp-row.split>*{flex:1}.signum-app .insp-label{font-family:var(--sig-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sig-ink-faint);font-size:10px}.signum-app .insp-text{border:1px solid var(--sig-line-strong);border-radius:var(--sig-radius-sm);background:var(--sig-paper-raised);width:100%;color:var(--sig-ink);resize:vertical;min-height:32px;padding:7px 8px;font-size:12.5px}.signum-app .insp-text:focus,.signum-app .swatch input:focus-visible,.signum-app select.insp-text:focus{outline:2px solid var(--sig-accent);outline-offset:1px}.signum-app select.insp-text{min-height:unset}.signum-app .cursive-picker{grid-template-columns:1fr 1fr;gap:6px;display:grid}.signum-app .cursive-opt{border:1px solid var(--sig-line-strong);border-radius:var(--sig-radius-sm);background:var(--sig-paper-raised);text-align:center;color:var(--sig-ink);cursor:pointer;padding:8px 4px;font-size:19px;line-height:1}.signum-app .cursive-opt:hover{border-color:var(--sig-accent)}.signum-app .cursive-opt.active{border-color:var(--sig-accent);background:var(--sig-accent-soft);box-shadow:inset 0 0 0 1px var(--sig-accent)}.signum-app .swatch-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.signum-app .swatch{border:1px solid var(--sig-line-strong);cursor:pointer;border-radius:50%;flex:none;width:22px;height:22px;position:relative}.signum-app .swatch.active:after{content:"";border:1.5px solid var(--sig-accent);border-radius:50%;position:absolute;inset:-4px}.signum-app .swatch.custom{justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.signum-app .swatch.custom input[type=color]{cursor:pointer;background:0 0;border:none;width:30px;height:30px;margin:-4px;padding:0}.signum-app .range-row{align-items:center;gap:8px;display:flex}.signum-app .range-row input[type=range]{accent-color:var(--sig-accent);flex:1}.signum-app .range-val{font-family:var(--sig-font-mono);color:var(--sig-ink-soft);text-align:right;width:30px;font-size:11px}.signum-app .logo-thumb{border:1px solid var(--sig-line-strong);border-radius:var(--sig-radius-sm);background:var(--sig-paper-raised) repeating-conic-gradient(#0000 0 25%, #00000008 0 50%) 0 0/14px 14px;justify-content:center;align-items:center;width:100%;height:60px;display:flex;overflow:hidden}.signum-app .logo-thumb img{object-fit:contain;max-width:100%;max-height:100%}.signum-app .canvas-scroll{background:var(--sig-paper-sunken);flex:1;padding:30px 0 90px;overflow:auto}.signum-app .canvas-scroll.placing{cursor:crosshair}.signum-app .empty-state{height:100%;color:var(--sig-ink-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:40px;display:flex}.signum-app .empty-state svg{opacity:.5;width:64px;height:64px}.signum-app .empty-state h2{font-family:var(--sig-font-display);color:var(--sig-ink-soft);margin:0;font-size:22px;font-weight:600}.signum-app .empty-state p{max-width:360px;margin:0;font-size:13px;line-height:1.6}.signum-app .pages{flex-direction:column;align-items:center;gap:26px;display:flex}.signum-app .page-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.signum-app .page-num{font-family:var(--sig-font-mono);color:var(--sig-ink-faint);letter-spacing:.04em;font-size:10.5px}.signum-app .page{box-shadow:var(--sig-shadow);background:#fff;line-height:0;position:relative}.signum-app .page canvas{display:block}.signum-app .field{cursor:grab;box-sizing:border-box;touch-action:none;border:1.5px solid #0000;border-radius:2px;align-items:center;display:flex;position:absolute}.signum-app .field:hover{border-color:var(--sig-accent-soft-line)}.signum-app .field.selected{border-color:var(--sig-accent);box-shadow:0 0 0 3px var(--sig-accent-soft);cursor:default}.signum-app .field.dragging{cursor:grabbing;opacity:.85}.signum-app .field-text{white-space:pre-wrap;word-break:break-word;outline:none;width:100%;height:100%;padding:2px 4px;line-height:1.15;overflow:hidden}.signum-app .field-text.empty-placeholder{color:#b3a998}.signum-app .field-signature{white-space:nowrap;pointer-events:none;justify-content:flex-start;align-items:center;width:100%;height:100%;padding:0 4px;display:flex;overflow:hidden}.signum-app .field-signature.empty-placeholder{color:#b3a998;font-style:italic;font-family:var(--sig-font-body)!important;font-size:11px!important}.signum-app .field-logo{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.signum-app .field-logo img{object-fit:contain;max-width:100%;max-height:100%}.signum-app .field-logo.empty-placeholder{border:1.5px dashed var(--sig-line-strong);color:var(--sig-ink-faint);text-align:center;background:#00000005;font-size:10.5px}.signum-app .field-del{background:var(--sig-danger);color:#fff;border:1.5px solid var(--sig-paper-raised);cursor:pointer;z-index:3;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:none;position:absolute;top:-9px;right:-9px}.signum-app .field.selected .field-del{display:flex}.signum-app .field-del svg{width:9px;height:9px}.signum-app .field-resize{background:var(--sig-accent);border:1.5px solid var(--sig-paper-raised);cursor:nwse-resize;z-index:3;border-radius:50%;width:12px;height:12px;display:none;position:absolute;bottom:-4px;right:-4px}.signum-app .field.selected .field-resize{display:block}.signum-app .toast{background:var(--sig-ink);color:var(--sig-paper);border-radius:var(--sig-radius-md);box-shadow:var(--sig-shadow);opacity:0;pointer-events:none;z-index:50;text-align:center;max-width:420px;padding:10px 16px;font-size:12.5px;transition:opacity .18s,transform .18s;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(8px)}.signum-app .toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.signum-app .toast.error{background:var(--sig-danger)}.signum-app .rendering-note{background:var(--sig-paper-raised);border:1px solid var(--sig-line);box-shadow:var(--sig-shadow);color:var(--sig-ink-soft);z-index:40;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12px;display:none;position:fixed;top:54px;left:50%;transform:translate(-50%)}.signum-app .rendering-note.show{display:flex}.signum-app .spinner{border:2px solid var(--sig-line-strong);border-top-color:var(--sig-accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite signum-spin}@keyframes signum-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.signum-app .spinner{animation:none}.signum-app .toast{transition:none}}.signum-app .sidebar::-webkit-scrollbar{width:10px}.signum-app .canvas-scroll::-webkit-scrollbar{width:10px}.signum-app .sidebar::-webkit-scrollbar-thumb{background:var(--sig-line-strong);border:2px solid var(--sig-paper);border-radius:6px}.signum-app .canvas-scroll::-webkit-scrollbar-thumb{background:var(--sig-line-strong);border:2px solid var(--sig-paper);border-radius:6px}.signum-app .hidden{display:none!important}.signum-app .visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
