.sign-view{display:grid;gap:var(--s-5);margin-top:var(--s-5)}.sign-view[hidden]{display:none}@media(min-width:64rem){.sign-view{grid-template-columns:minmax(0,1fr) 23rem;align-items:start}}.sign-stage-wrap{display:grid;gap:var(--s-3);justify-items:center;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sunken)}.sign-stage{position:relative;width:100%;max-width:34rem;aspect-ratio:.707;border-radius:var(--r-sm);box-shadow:var(--shadow-2);touch-action:none}.sign-page,.sign-page canvas{display:block;width:100%;height:100%}.sign-page canvas{object-fit:contain;background:#fff;border-radius:var(--r-sm)}.sign-blank{display:grid;place-items:center;height:100%;padding:var(--s-4);background:var(--raised);color:var(--muted);font-size:var(--fs-14);text-align:center}.sign-box{position:absolute;min-width:1.5rem;min-height:1rem;border:1px dashed var(--accent);border-radius:2px;background:color-mix(in srgb,var(--accent) 6%,transparent);cursor:move}.sign-box[hidden]{display:none}.sign-box:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sign-mark{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.sign-mark img{width:100%;height:100%;object-fit:fill}.sign-mark-svg{width:100%;height:100%}.sign-face-serif{font-family:Times New Roman,Times,serif;font-style:italic}.sign-face-sans{font-family:Helvetica,Arial,sans-serif;font-style:oblique 12deg}.sign-face-mono{font-family:var(--mono);font-style:oblique 10deg}.sign-nav{display:flex;align-items:center;gap:var(--s-2)}.sign-page-label{color:var(--muted);font-size:var(--fs-12)}.sign-panel{display:grid;gap:var(--s-5);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.sign-section{display:grid;gap:var(--s-3)}.sign-heading{margin:0;font-size:var(--fs-14);font-weight:600;letter-spacing:.01em}.sign-tabs{display:flex;gap:var(--s-1);padding:3px;border-radius:var(--r-md);background:var(--sunken)}.sign-tab{flex:1;min-height:var(--target);padding:var(--s-2) var(--s-2);border:0;border-radius:calc(var(--r-md) - 3px);background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-14);font-weight:500;cursor:pointer}.sign-tab[aria-selected=true]{background:var(--raised);color:var(--text);box-shadow:var(--shadow-1)}.sign-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sign-tabpanel{display:grid;gap:var(--s-3)}.sign-tabpanel[hidden]{display:none}.sign-pad{display:block;width:100%;height:11rem;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--raised);touch-action:none;cursor:crosshair}.sign-pad-bar{display:flex;justify-content:flex-end}.sign-typed{font-size:var(--fs-16)}.sign-faces{display:flex;flex-wrap:wrap;gap:var(--s-2)}.sign-face{flex:1 1 6rem;min-height:var(--target);font-size:var(--fs-14)}.sign-face[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.sign-file{padding:var(--s-2);font-size:var(--fs-14)}.sign-upload-preview img{max-width:100%;max-height:7rem;padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--raised)}.sign-ink-row{display:flex;align-items:center;gap:var(--s-3)}.sign-inks{display:flex;gap:var(--s-2)}.sign-ink{width:var(--target);height:var(--target);padding:0;border:1px solid var(--border);border-radius:var(--r-full);background:#fff;cursor:pointer;display:grid;place-items:center}.sign-ink:after{content:"";width:1.25rem;height:1.25rem;border-radius:var(--r-full);background:var(--ink)}.sign-ink[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.sign-ink:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sign-check{display:flex;align-items:flex-start;gap:var(--s-2);min-height:var(--target);color:var(--muted);font-size:var(--fs-14);cursor:pointer}.sign-check input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--accent)}.sign-remember{display:grid;gap:var(--s-1)}.sign-remember .btn{justify-self:start}.sign-size{width:100%;min-height:var(--target);accent-color:var(--accent)}.sign-scope{display:grid;gap:var(--s-1)}.sign-panel .field-hint.is-bad{color:var(--danger)}@media(prefers-reduced-motion:reduce){.sign-box,.sign-tab{transition:none}}
