:root{--bg:#131312;--surface:#1a1917;--surface-2:#211f1c;--bar:#131312eb;--ink:#f1eee8;--ink-soft:#c9c4b9;--muted:#9b958a;--line:#322f2b;--line-strong:#46423b;--accent:#8fb3ff;--accent-soft:#8fb3ff24;--accent-deep:#5d8bff;--halo:#8fb3ff66;--grid:#f1eee80a;--paper-grid:#0d0d0d0d;--scan:#8fb3ff29;--ok:#5fc98f;--warn:#e2a75c;--danger:#ff8f8f;--paper:#fff;--paper-ink:#0d0d0d;--paper-muted:#6e6b64;--paper-line:#dcd7cc;--paper-focus:#1b4fd8;--paper-field:#1b4fd812;--paper-field-edge:#1b4fd833;--paper-field-mark:#1b4fd84d;--focus:var(--paper-focus);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@font-face{font-family:Hereby Noto Sans;src:url(/api/fonts/noto-sans)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:"Hereby Source Sans 3";src:url(/api/fonts/source-sans)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Caveat;src:url(/api/fonts/caveat)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:"Hereby Source Sans 3",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}button{font:inherit;color:inherit;cursor:pointer}.brand{color:inherit;align-items:center;gap:.45em;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:auto;height:1.05em}.brand-link{color:var(--muted);font-size:.95rem;text-decoration:none;display:inline-flex}.brand-link:hover{color:var(--ink)}.brand-link .brand-mark{height:1.35em}.brand-h1{display:flex}.muted{color:var(--muted);margin:.1rem 0 0;font-size:.85rem}.bar{z-index:10;background:var(--bar);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.9rem 1.25rem;display:flex;position:sticky;top:0}.bar h1{margin:0;font-size:1rem}.primary{background:var(--ink);color:var(--bg);border:0;border-radius:6px;padding:.55rem .9rem}.primary:disabled{opacity:.5;cursor:default}.banner{border:1px solid var(--warn);color:var(--ink);background:#e2a75c1a;border-radius:6px;margin:.75rem 1.25rem 0;padding:.6rem .8rem;font-size:.9rem}.banner.hint{background:var(--accent-soft);color:#c6d7ff;border:1px solid #8fb3ff59;border-radius:6px;margin:.5rem 0;padding:.5rem .65rem}.banner.error{border-color:var(--danger);background:#ff8f8f1a}.pages{justify-items:safe center;gap:1.5rem;padding:0 1.25rem 10rem;display:grid;overflow-x:auto}.shelf{top:calc(var(--bar-height,0px) + 10px);border:1px solid var(--line);background:var(--surface);z-index:20;border-radius:12px;flex-direction:column;gap:.75rem;width:min(280px,100vw - 20px);padding:.9rem;display:flex;position:fixed;bottom:10px;left:10px;overflow-y:auto;box-shadow:0 12px 32px #00000059}.shelf-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.shelf-head h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem}.shelf-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.shelf-list a{border-radius:6px;gap:.1rem;padding:.5rem .6rem;text-decoration:none;display:grid}.shelf-list a:hover,.shelf-list a:focus-visible{background:var(--surface-2)}.shelf-list a[aria-current=page]{background:var(--accent-soft)}.shelf-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.shelf-actions{gap:.5rem;margin-top:auto;display:grid}.shelf-actions .ghost{justify-self:start}@media (max-width:1023px){.shelf{border-radius:0 12px 12px 0;width:min(320px,86vw);top:0;bottom:0;left:0}}@media (min-width:1024px){.pages{padding-right:6.5rem}}.map{z-index:9;width:3.9rem;max-height:calc(100vh - var(--bar-height,0px) - 2rem);border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;padding:.35rem;display:flex;position:fixed;right:.9rem;box-shadow:0 8px 24px #00000059}@media (max-width:1023px){.map{display:none}}.map-strip{scrollbar-width:none;flex-direction:column;flex:0 auto;gap:.5rem;min-height:0;display:flex;position:relative;overflow:hidden auto}.map-strip::-webkit-scrollbar{display:none}.map-page{border:1px solid var(--line-strong);background:var(--paper);border-radius:2px;flex:none;width:3.1rem;padding:0;line-height:0;position:relative;overflow:hidden}.map-page img{width:100%;height:auto;display:block}.map-page:hover{border-color:var(--accent)}.map-page.is-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.map-page:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.map-number{color:var(--ink);background:#131312bf;border-radius:2px;padding:0 3px;font-size:9px;line-height:1.4;position:absolute;bottom:2px;left:2px}.map-count{background:var(--accent);min-width:12px;color:var(--bg);text-align:center;border-radius:6px;padding:0 2px;font-size:9px;font-weight:600;line-height:1.4;position:absolute;top:2px;right:2px}.map-view{pointer-events:none;background:#8fb3ff29;border:1px solid #8fb3ff80;border-radius:2px;position:absolute;left:0;right:0}.field-progress{z-index:20;border:1px solid var(--line-strong);background:var(--bar);color:var(--ink-soft);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;position:fixed;bottom:1.1rem;left:50%;transform:translate(-50%)}.zoom{align-items:center;gap:.25rem;display:flex}.zoom .ghost{min-width:2.2rem;padding:.35rem .5rem}.zoom .zoom-level{font-variant-numeric:tabular-nums;min-width:3.4rem}.page{--ink:var(--paper-ink);--muted:var(--paper-muted);--line:var(--paper-line);--focus:var(--paper-focus);width:var(--page-width,min(820px, 100%));scroll-margin-top:calc(var(--bar-height,0px) + 14px);background:var(--paper);position:relative;box-shadow:0 1px 2px #0000008c,0 18px 48px #00000073;container-type:inline-size}.page img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.fields{position:absolute;inset:0}.field{cursor:text;touch-action:manipulation;border:1px solid #0000;border-radius:2px;position:absolute;overflow:visible}@media (pointer:coarse){.field:before{content:"";position:absolute;inset:-5px}}.field.is-empty{border-color:var(--paper-field-edge);background:var(--paper-field)}.field.is-empty.is-tick{background:#1b4fd80a}.field.is-empty.is-thin:not(.is-tick){box-shadow:inset 0 -2px 0 var(--paper-field-mark)}.field:hover{background:#1b4fd81a;border-color:#1b4fd873}.field.is-focused{z-index:5;border-color:var(--focus);outline:2px solid var(--focus);outline-offset:1px;background:var(--paper-field)}.field.is-arriving{animation:.62s cubic-bezier(.22,.7,.24,1) field-arrive}@keyframes field-arrive{0%{box-shadow:0 0 #1b4fd880}60%{box-shadow:0 0 0 5px #1b4fd833}to{box-shadow:0 0 0 9px #1b4fd800}}@media (prefers-reduced-motion:reduce){.field.is-arriving{outline:2px solid var(--focus);outline-offset:1px;animation:none}}.hides-empty .field.is-empty:not(.is-focused):not(.is-selected){box-shadow:none;background:0 0;border-color:#0000}.hides-empty .field.is-empty:not(.is-focused):not(.is-selected):hover{background:#1b4fd81a;border-color:#1b4fd873}.field.is-selected{z-index:4;background:#1b4fd81a;border-color:#1b4fd88c}.field.is-selected,.field.is-dragging{touch-action:none}.field.is-dragging{cursor:grabbing}.field.is-overflowing.is-filled .field-text{text-underline-offset:2px;-webkit-text-decoration:underline wavy #a3242b;text-decoration:underline wavy #a3242b}.field-text{z-index:3;height:1.2em;color:var(--paper-ink);white-space:pre;background:0 0;border:0;outline:none;margin:0;padding:0;font-family:inherit;font-weight:400;line-height:1.2;position:absolute;overflow:visible}input.field-text{width:auto}input.field-text:focus{outline:none}.field-text.is-stamp{pointer-events:none;opacity:.55;font-style:italic}.field-cells{z-index:3;pointer-events:none;position:absolute;inset:0}.field-cell{color:var(--paper-ink);white-space:pre;line-height:1.2;position:absolute}.field-caret{background:var(--paper-ink);width:1.5px;animation:1.06s step-end infinite caret-blink;position:absolute}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.field-caret{animation:none}}.field-move{cursor:grab;touch-action:none;z-index:1;position:absolute}.field-move.is-n{height:10px;top:-10px;left:-10px;right:-10px}.field-move.is-s{height:10px;bottom:-10px;left:-10px;right:-10px}.field-move.is-w{width:10px;top:0;bottom:0;left:-10px}.field-move.is-e{width:10px;top:0;bottom:0;right:-10px}.field-move:active{cursor:grabbing}.handle{background:var(--paper);border:1.5px solid var(--focus);touch-action:none;z-index:2;border-radius:2px;width:9px;height:9px;position:absolute}.handle:before{content:"";position:absolute;inset:-10px}@media (pointer:coarse){.handle:before{inset:-19px}}.field-tools{border:1px solid var(--line);background:var(--paper);white-space:nowrap;touch-action:none;z-index:3;border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 1px 3px #00000029}.field-tools.is-below{top:calc(100% + 10px);bottom:auto}.field-size{width:22px;height:20px;color:var(--muted);background:0 0;border:0;border-radius:3px;padding:0;font-size:11px;line-height:1;position:relative}.field-size:hover{color:var(--focus);background:#1b4fd814}.field-size:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field-size:before{content:"";position:absolute;inset:-9px -4px}@media (pointer:coarse){.field-size{width:30px;height:26px;font-size:13px}.field-size:before{inset:-9px -2px}}.field-size-value{min-width:24px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;padding:0 2px;font-size:10px}.field-grip{border:1px solid var(--line);background:var(--paper);cursor:grab;touch-action:none;border-radius:4px;place-items:center;width:22px;height:20px;padding:0;display:grid;position:relative}.field-grip span{background-image:radial-gradient(circle, var(--muted) 1px, transparent 1.1px);background-size:4px 3px;width:12px;height:6px}.field-grip:active{cursor:grabbing}.field-grip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field-grip:before{content:"";position:absolute;inset:-7px -4px}@media (pointer:coarse){.field-grip{width:30px;height:26px}.field-grip:before{inset:-9px -2px}}.guide{background:var(--focus);opacity:.55;pointer-events:none;z-index:1;position:absolute}.guide.is-h{height:1px}.guide.is-v{width:1px}.handle.is-nw{cursor:nwse-resize;top:-5px;left:-5px}.handle.is-n{cursor:ns-resize;top:-5px;left:calc(50% - 4px)}.handle.is-ne{cursor:nesw-resize;top:-5px;right:-5px}.handle.is-e{cursor:ew-resize;top:calc(50% - 4px);right:-5px}.handle.is-se{cursor:nwse-resize;bottom:-5px;right:-5px}.handle.is-s{cursor:ns-resize;bottom:-5px;left:calc(50% - 4px)}.handle.is-sw{cursor:nesw-resize;bottom:-5px;left:-5px}.handle.is-w{cursor:ew-resize;top:calc(50% - 4px);left:-5px}.field.is-tick{cursor:pointer}.field-tick{z-index:3;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.field-tick svg{fill:none;width:100%;height:100%;stroke:var(--paper-ink);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.fields.is-placing{cursor:crosshair}.ghost.is-armed{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.fact-picker{border:1px solid var(--line);background:var(--paper);z-index:6;border-radius:8px;min-width:180px;max-width:340px;padding:3px;display:grid;position:absolute;top:calc(100% + 3px);left:0;box-shadow:0 6px 18px #0000002e}.fact-choice{color:var(--ink);font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;border-radius:5px;gap:1px;padding:4px 7px;font-size:.75rem;line-height:1.35;display:grid;overflow:hidden}.fact-choice:hover,.fact-choice:focus-visible{background:var(--paper-field);outline:none}.fact-choice-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.fact-choice-value{text-overflow:ellipsis;font-weight:600;overflow:hidden}.field-remove{border:1px solid var(--line);background:var(--paper);width:18px;height:18px;color:var(--muted);z-index:1;border-radius:50%;place-items:center;padding:0;font-size:12px;line-height:1;display:grid;position:absolute;top:-26px;right:-26px}.field-remove:before{content:"";position:absolute;inset:-6px}@media (pointer:coarse){.field-remove:before{inset:-14px}}.field-remove:hover{color:#a3242b;border-color:#a3242b}.home{max-width:640px;margin:0 auto;padding:4rem 1.25rem}.home h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:2.4rem}.recent{gap:.6rem;margin-top:2rem;display:grid}.recent h2{color:var(--muted);margin:0}.recent-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.recent-head p{margin:0}.recent-list{border:1px solid var(--line);background:var(--line);border-radius:10px;gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.recent-item{background:var(--surface);gap:.15rem;padding:.7rem .9rem;text-decoration:none;transition:background .12s;display:grid}.recent-item:hover,.recent-item:focus-visible{background:var(--surface-2)}.recent-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.recent-meta{color:var(--muted);font-size:.8rem}@media (prefers-reduced-motion:reduce){.recent-item{transition:none}}.lede{color:var(--ink-soft);margin:0 0 1.75rem;font-size:1.05rem}.dropzone{border:1px dashed var(--line-strong);background:var(--surface);text-align:center;border-radius:12px;justify-items:center;gap:.75rem;padding:2.25rem 1.5rem;display:grid}.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone.is-busy{opacity:.7}.dropzone-title{margin:0;font-size:1.05rem}.tiny{font-size:.75rem}.linkish{font:inherit;color:var(--muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.linkish:hover,.linkish:focus-visible{color:var(--ink)}.retention{margin-top:.25rem}.signin-buttons{gap:.6rem;max-width:22rem;margin-bottom:1.5rem;display:grid}.signin-buttons .primary{text-align:center}.dev-login{border-top:1px dashed var(--line);gap:.5rem;max-width:22rem;margin-top:2rem;padding-top:1.5rem;display:grid}.dev-login label{gap:.25rem;display:grid}.account{margin-bottom:1.5rem}a.primary{text-decoration:none;display:inline-block}.bar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.bar-divider{background:var(--line);align-self:stretch;width:1px;min-height:1.4rem}.bar-group{flex-wrap:nowrap;gap:.35rem;display:flex}@media (max-width:640px){.bar-divider{display:none}}.ghost{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:.35rem .5rem;font-size:.85rem;text-decoration:none}.ghost:hover{color:var(--ink);background:#ffffff0d}.ghost:disabled{opacity:.4;cursor:default}.ghost:disabled:hover{color:var(--muted)}.ghost.is-icon,.primary.is-icon{justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-flex}@media (pointer:coarse){.ghost.is-icon,.primary.is-icon{width:2.75rem;height:2.75rem}}.ghost.is-icon svg,.primary.is-icon svg{flex:none}.primary.is-busy svg{animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.primary.is-busy svg{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.profile{gap:1rem;display:grid}.fact-form{grid-template-columns:220px 1fr auto;gap:.5rem;display:grid}.fact-form select,.fact-form input{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:.55rem .65rem}.facts{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.facts li{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:.35rem;padding:.6rem .75rem;display:grid}.fact-value{font-size:.95rem;display:block}.fact-meta{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.fact-meta button{color:var(--muted);background:0 0;border:0;padding:0;font-size:.8rem;text-decoration:underline}@media (max-width:560px){.fact-form{grid-template-columns:1fr}}.add-document{gap:1rem;margin-top:2rem;display:grid}.doc-upload{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.doc-upload label{gap:.25rem;display:grid}.doc-upload select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:.55rem .65rem}.consent{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:.5rem;padding:.85rem 1rem;display:grid}.consent label{align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.consent input{flex:none;margin-top:.2rem}.drafts{gap:.75rem;display:grid}.waiting{justify-items:center;gap:1rem;width:100%;display:grid}.waiting-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--ink);margin:0;display:block;overflow:hidden}.wait-card{justify-items:center;gap:.85rem;width:100%;display:grid}.wait-paper{background:var(--paper);border-radius:5px;gap:11px;width:132px;padding:16px 14px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80,0 10px 24px #00000073}.wait-paper:before{content:"";background-image:repeating-linear-gradient(0deg, var(--paper-grid) 0 1px, transparent 1px 11px), repeating-linear-gradient(90deg, var(--paper-grid) 0 1px, transparent 1px 11px);pointer-events:none;position:absolute;inset:0}.wait-scan{--scan-travel:620%;background:linear-gradient(180deg, transparent, var(--scan) 62%, #8fb3ffe6 71%, transparent);height:22px;animation:2.4s cubic-bezier(.45,0,.55,1) infinite wait-scan;position:absolute;top:0;left:-8%;right:-8%}.wait-line{background:var(--paper-line);border-radius:2px;height:3px;position:relative}.wait-line.is-short{width:58%}.wait-line:after{content:"";border-radius:inherit;background:var(--paper-ink);transform-origin:0;animation:2.4s cubic-bezier(.45,0,.25,1) infinite wait-write;position:absolute;inset:0}.wait-line:nth-child(3):after{animation-delay:.3s}.wait-line:nth-child(4):after{animation-delay:.6s}.wait-line:nth-child(5):after{animation-delay:.9s}.wait-line:nth-child(6):after{animation-delay:1.2s}@keyframes wait-scan{0%{opacity:0;transform:translateY(-90%)}12%{opacity:1}88%{opacity:1}to{transform:translateY(var(--scan-travel,620%));opacity:0}}@keyframes scan-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes wait-write{0%{transform:scaleX(0)}55%{transform:scaleX(1)}78%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.wait-bar{background:var(--surface-2);width:min(280px,100%);height:4px;box-shadow:0 0 0 1px var(--line);border-radius:999px;position:relative;overflow:hidden}.wait-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-deep), var(--accent));height:100%;box-shadow:0 0 12px var(--halo);transition:width .45s cubic-bezier(.4,0,.2,1);display:block}.wait-bar.is-indeterminate .wait-fill{width:38%;animation:1.5s ease-in-out infinite wait-sweep}@keyframes wait-sweep{0%{transform:translate(-120%)}to{transform:translate(300%)}}.wait-status{font-variant-numeric:tabular-nums;color:var(--ink-soft)}@media (prefers-reduced-motion:reduce){.wait-scan{animation:1.6s ease-in-out infinite scan-pulse;top:55%;transform:none}.wait-line:after{opacity:.85;animation:none;transform:scaleX(1)}.wait-bar.is-indeterminate .wait-fill{opacity:.35;width:100%;animation:none}.wait-fill{transition:none}}.signature-pad{gap:.5rem;display:grid}.signature-modes{background:var(--surface-2);border-radius:7px;gap:2px;width:max-content;padding:2px;display:flex}.signature-modes button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:.25rem .7rem;font-size:.85rem}.signature-modes button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000004d}.signature-pad-canvas{border:1px solid var(--paper-line);background:var(--paper);cursor:crosshair;touch-action:none;border-radius:8px;width:100%;height:170px;display:block}.signature-pad-tools{justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.signature-pad-buttons{gap:.25rem;display:flex}.signature-pad-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.signature-typed{gap:.5rem;display:grid}.signature-typed input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:.55rem .65rem}.signature-typed-preview{border:1px solid var(--paper-line);background:var(--paper);min-height:76px;color:var(--paper-ink);border-radius:8px;place-items:center;margin:0;padding:.25rem .5rem;font-family:Caveat,cursive;font-size:2.6rem;line-height:1;display:grid}.signatures{border-top:1px solid var(--line);gap:.75rem;padding-top:1.25rem;display:grid}.signatures-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.signatures-head h2{margin:0 0 .2rem;font-size:1.1rem}.signatures-head p{max-width:48ch;margin:0}.signature-cards{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.signature-cards li{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:.4rem;width:250px;padding:.6rem;display:grid}.signature-preview{background:var(--paper);border-radius:6px;place-items:center;height:72px;padding:.25rem .5rem;display:grid}.signature-preview img{object-fit:contain;max-width:100%;max-height:100%}.signature-card-meta{justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.85rem;display:flex}.signature-card-confirm{align-items:center;gap:.5rem;font-size:.8rem;display:flex}.signature-card-confirm button:not(.ghost){color:var(--danger);background:0 0;border:0;padding:0;text-decoration:underline}.signature-drawer{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.75rem}.field.is-shelf-open{z-index:30}.field-signature{z-index:3;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-end;padding:0;display:flex;position:absolute;inset:0}.field-signature img{object-fit:contain;object-position:center bottom;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%}.field-signature-hint{color:var(--paper-muted);letter-spacing:.02em;opacity:.8;font-size:.72rem}.signature-shelf-anchor{z-index:40;width:min(330px,76vw);position:absolute;top:calc(100% + 8px);left:0}.signature-shelf-anchor.is-above{top:auto;bottom:calc(100% + 8px)}.signature-shelf-anchor.is-right{left:auto;right:0}.signature-shelf{border:1px solid var(--paper-line);background:var(--paper);color:var(--paper-ink);border-radius:10px;gap:.55rem;padding:.6rem;display:grid;box-shadow:0 18px 40px #00000059}.signature-shelf .muted{color:var(--paper-muted)}.signature-shelf-head{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.signature-shelf-head .ghost{color:var(--paper-muted);padding:0 .3rem;font-size:1.1rem;line-height:1}.signature-shelf-head .ghost:hover{color:var(--paper-ink);background:#0000000f}.signature-shelf .ghost:hover{background:#0000000f}.signature-shelf-empty{margin:0;font-size:.8rem}.signature-shelf-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.signature-choice{border:1px solid var(--paper-line);background:var(--paper);cursor:pointer;border-radius:6px;width:100%;height:54px;padding:2px 4px;display:block}.signature-choice:hover,.signature-choice:focus-visible{border-color:var(--paper-focus);outline:none}.signature-choice img{object-fit:contain;max-width:100%;max-height:100%}.signature-shelf-actions{justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.signature-shelf .linkish{color:var(--paper-muted)}.signature-shelf .linkish:hover,.signature-shelf .linkish:focus-visible{color:var(--paper-ink)}.signature-shelf .signature-modes{background:#00000012}.signature-shelf .signature-modes button.is-on{background:var(--paper);color:var(--paper-ink)}.signature-shelf .signature-typed input{border-color:var(--paper-line);background:var(--paper);color:var(--paper-ink)}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 90% 55% at 50% -10%, var(--accent-soft), transparent 70%), repeating-linear-gradient(0deg, var(--grid) 0 1px, transparent 1px 34px), repeating-linear-gradient(90deg, var(--grid) 0 1px, transparent 1px 34px);background-size:auto,34px 34px,34px 34px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 20%,#000 45%,#0000 100%);mask-image:radial-gradient(80% 60% at 50% 20%,#000 45%,#0000 100%)}.micro{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,SF Mono,monospace;font-size:.67rem;font-weight:500}.eyebrow{align-items:center;gap:.55rem;margin-bottom:.9rem;display:flex}.eyebrow:before{content:"";background:var(--line-strong);width:1.6rem;height:1px}.home{padding-top:3.5rem}.home h1{font-size:clamp(2rem,5vw,2.6rem);line-height:1.1}.dropzone{background-image:radial-gradient(ellipse 120% 80% at 50% 0%, var(--accent-soft), transparent 65%);transition:border-color .18s,box-shadow .18s,background-color .18s;position:relative}.dropzone:before{content:"";pointer-events:none;opacity:.55;background:linear-gradient(var(--accent), var(--accent)) left top / 14px 1px no-repeat, linear-gradient(var(--accent), var(--accent)) left top / 1px 14px no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 14px 1px no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 1px 14px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 14px 1px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 1px 14px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 14px 1px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 1px 14px no-repeat;position:absolute;inset:7px}.dropzone:hover{border-color:var(--line-strong);box-shadow:0 0 0 1px var(--line), 0 18px 40px #00000059}.dropzone.is-dragging{box-shadow:0 0 0 1px var(--accent), 0 0 42px var(--halo)}.dropzone.is-busy{opacity:1;padding:1.9rem 1.5rem}.primary{transition:background-color .15s,box-shadow .15s,transform 60ms}.primary:hover:not(:disabled){box-shadow:0 0 0 1px var(--ink), 0 0 24px var(--halo)}.primary:active:not(:disabled){transform:translateY(1px)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bar:after{content:"";background:linear-gradient(90deg, transparent, var(--halo), transparent);opacity:.5;pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.bar{position:sticky}@media (prefers-reduced-motion:reduce){.dropzone,.primary{transition:none}}.note{left:50%;bottom:calc(1.1rem + env(safe-area-inset-bottom,0px));z-index:12;border:1px solid var(--line-strong);background:var(--bar);color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;margin:0;padding:.35rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,SF Mono,monospace;font-size:.67rem;font-weight:500;transition:opacity .18s,transform .18s;position:fixed;transform:translate(-50%,.5rem)}.note.is-on{opacity:1;transform:translate(-50%)}.pages.is-zooming{transform:scale(var(--zoom-from,1));transform-origin:50% var(--zoom-origin,0px);pointer-events:none;transition:transform .2s cubic-bezier(.22,.7,.24,1)}@media (prefers-reduced-motion:reduce){.note,.pages.is-zooming{transition:none}.pages.is-zooming{transform:none}}.opening{align-content:center;justify-items:center;gap:1.25rem;min-height:100vh;padding:3rem 1.25rem;display:grid}.opening-page{aspect-ratio:210/297;background:var(--paper);border-radius:4px;width:min(320px,72vw);padding:1.5rem 1.25rem;position:relative;overflow:hidden;box-shadow:0 18px 48px #00000080}.opening-page:before{content:"";background-image:repeating-linear-gradient(0deg, var(--paper-grid) 0 1px, transparent 1px 22px), repeating-linear-gradient(90deg, var(--paper-grid) 0 1px, transparent 1px 22px);pointer-events:none;position:absolute;inset:0}.opening-line{background:var(--paper-line);border-radius:2px;height:4px;margin-bottom:14px;position:relative}.opening-line.is-short{width:58%}.opening-scan{--scan-travel:1950%;background:linear-gradient(180deg, transparent, var(--scan) 62%, #8fb3ffe6 71%, transparent);height:26px;animation:2.4s cubic-bezier(.45,0,.55,1) infinite wait-scan;position:absolute;top:0;left:-8%;right:-8%}@media (prefers-reduced-motion:reduce){.opening-scan{animation:1.6s ease-in-out infinite scan-pulse;top:55%;transform:none}}
