@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:300 800;src:url(./open-sans-latin-wght-normal-CWNzRldh.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:300 800;src:url(./open-sans-latin-ext-wght-normal-DPNHYqvY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#f7fafc;--surface:#fff;--icon-fill:#cde8f4;--sunk:#f4f8fb;--text:#1d2a3b;--muted:#536274;--line:#e2e9f0;--field:#cbd7e2;--accent:#106797;--accent-hover:#0c557d;--accent-ink:#fff;--accent-soft:#eaf5fb;--sky:#31b7e9;--pale:#a3d5e9;--pale-2:#e3f3fa;--leaf:#6cdd6c;--leaf-2:#50aa50;--leaf-3:#8ab436;--ok:#2f7d32;--err:#b42318;--radius:10px;--shadow:-5px -4px 47px 3px #c6c6c64d;--shadow-sm:0 2px 10px #1d2a3b14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;font-family:Open Sans,system-ui,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0e1620;--surface:#15202c;--icon-fill:#1d4a66;--sunk:#111a24;--text:#e4ecf4;--muted:#9db0c4;--line:#243446;--field:#33475d;--accent:#5cc0ea;--accent-hover:#86d2f1;--accent-ink:#072030;--accent-soft:#12314a;--sky:#31b7e9;--pale:#1d4a66;--pale-2:#142c3f;--ok:#6fcf73;--err:#ff8a7a;--shadow:0 12px 48px #00000059;--shadow-sm:0 2px 10px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scrollbar-color:var(--pale) transparent}body{background:var(--bg);color:var(--text);margin:0;font-size:1rem;line-height:1.55}::selection{background:var(--pale);color:var(--text)}input,textarea{caret-color:var(--accent)}a{color:var(--accent);text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}h1,h2{text-wrap:balance}main{max-width:1104px;margin:0 auto;padding:0 16px 24px}.ic,.mark{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic .f,.mark .f{fill:var(--icon-fill)}.ic .s,.mark .s{stroke:var(--sky)}.mark.busy .mk-platen{animation:.8s cubic-bezier(.45,0,.55,1) infinite alternate bob}@keyframes bob{to{transform:translateY(3px)}}.top{justify-content:space-between;align-items:center;gap:12px;max-width:1104px;margin:0 auto;padding:18px 16px 0;display:flex}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.brand b{color:var(--accent);font-weight:700}.top{flex-wrap:wrap;row-gap:8px}.top-end{align-items:center;gap:20px;display:flex}.lang{color:var(--accent);align-items:center;gap:4px;display:inline-flex}.lang select{color:var(--accent);cursor:pointer;box-shadow:none;background:0 0;border:0;padding:4px 2px;font-size:.85rem;font-weight:600}.lang select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge{color:var(--accent);white-space:nowrap;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.sheet{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin:40px auto 0;padding:clamp(24px,5vw,56px)}.sheet.home{max-width:1072px}.sheet.tool{max-width:820px}.hero{text-align:center}.hero h1{letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:700;line-height:1.15}.hero p{color:var(--muted);max-width:56ch;margin:0 auto;font-weight:600}.scene{width:min(520px,100%);height:auto;margin:28px auto 32px;display:block}.scene .ln{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.scene .thin{stroke-width:1.4px}.scene .sky{stroke:var(--sky)}.scene .dash{stroke-dasharray:3 6}.scene .fill{fill:var(--pale-2)}.scene .sky-fill{fill:var(--pale)}.scene .paper{fill:var(--surface)}.scene .dot{fill:var(--accent)}.scene .leaf{fill:var(--leaf);stroke:var(--leaf-2);stroke-width:1.6px;stroke-linejoin:round}.scene .leaf.dark{fill:var(--leaf-3)}.scene .platen{animation:1.5s cubic-bezier(.16,1,.3,1) .35s both press-down}.scene .stack{transform-origin:230px 200px;animation:1.5s cubic-bezier(.16,1,.3,1) .35s both squeeze}@keyframes press-down{to{transform:translateY(53px)}}@keyframes squeeze{to{transform:scaleY(.82)}}.search{border:1px solid var(--field);border-radius:var(--radius);background:var(--surface);align-items:center;gap:10px;width:min(600px,100%);margin:0 auto;padding:0 18px;transition:border-color .15s,box-shadow .15s;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{min-width:0;color:var(--text);box-shadow:none;background:0 0;border:0;flex:1;padding:15px 0;font-size:1.05rem}.search input:focus{box-shadow:none;outline:none}.search input::placeholder{color:var(--muted);opacity:1}.directory{columns:3 280px;border-top:1px solid var(--line);column-gap:48px;margin-top:48px;padding-top:40px}.cat{break-inside:avoid;margin-bottom:32px}.cat h2{letter-spacing:-.01em;border-bottom:1px solid var(--line);margin:0 0 10px;padding:0 10px 8px;font-size:1.2rem;font-weight:700}.cat ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.tool-link{color:var(--text);border-radius:8px;grid-template-columns:28px 1fr;align-items:start;gap:12px;padding:9px 10px;text-decoration:none;transition:background-color .15s;display:grid}.tool-link:hover{background:var(--accent-soft)}.tool-link:hover strong{color:var(--accent)}.tool-link strong{font-size:.94rem;font-weight:600;line-height:1.3;display:block}.tool-link small{color:var(--muted);margin-top:2px;font-size:.84rem;line-height:1.4;display:block}.empty{text-align:center;color:var(--muted);margin:32px 0 0}.back{align-items:center;gap:6px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back:hover{text-decoration:underline}.tool h1{letter-spacing:-.01em;align-items:center;gap:14px;margin:20px 0 6px;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;line-height:1.2;display:flex}.lead{color:var(--muted);max-width:62ch;margin:0}.drop{border:2px dashed var(--pale);border-radius:var(--radius);background:var(--sunk);text-align:center;cursor:pointer;justify-items:center;gap:4px;margin:28px 0 20px;padding:36px 16px;transition:border-color .15s,background-color .15s;display:grid}.drop .ic{margin-bottom:6px}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop strong{color:var(--accent);font-size:1.1rem;font-weight:700}.drop span{color:var(--muted);font-size:.9rem}.files,.results ul{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.files li,.results li{background:var(--sunk);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex}.files .total{color:var(--muted);background:0 0;border:none;font-size:.85rem}.fname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}li small{color:var(--muted);font-variant-numeric:tabular-nums}button{font:inherit;cursor:pointer;border:1px solid var(--field);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 12px;transition:border-color .15s,background-color .15s,color .15s}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.ib{place-items:center;width:32px;height:32px;padding:0;display:inline-grid}button.ib .ic{stroke:currentColor}button.secondary{border-color:var(--accent);color:var(--accent);font-weight:600}button.secondary:hover:not(:disabled){background:var(--accent-soft)}.primary{background:var(--accent);width:100%;color:var(--accent-ink);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:14px;font-size:1.05rem;font-weight:700;display:flex}.primary:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-ink)}.primary .mark,.primary .mark .s{stroke:currentColor}.primary .mark .f{fill:#0000}.opts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:8px;padding:24px 0 0;display:grid}.opts label{gap:6px;font-size:.9rem;font-weight:600;display:grid}.opts label.check{grid-column:1/-1;align-items:center;gap:8px;font-weight:400;display:flex}.opts label:has(textarea){grid-column:1/-1}.opts small{color:var(--muted);font-size:.8rem;font-weight:400}input,select,textarea{font:inherit;border:1px solid var(--field);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}textarea{font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.error{color:var(--err);font-weight:600}.results{margin-top:32px}.results h2{color:var(--ok);align-items:center;gap:8px;margin:0 0 12px;font-size:1.3rem;display:flex}.results h2 .ic{stroke:var(--ok)}.results a{font-size:.9rem;font-weight:600}.organizer{margin-bottom:16px}.org-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.org-actions span{color:var(--muted);margin-left:auto;font-size:.9rem}.thumbs{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.thumbs figure{background:var(--sunk);border:1px solid var(--line);cursor:grab;border-radius:8px;gap:6px;margin:0;padding:8px;display:grid;overflow:hidden}.thumbs img,.thumbs .ph{aspect-ratio:1/1.414;object-fit:contain;width:100%;box-shadow:var(--shadow-sm);background:#fff;transition:transform .2s}.thumbs .ph{background:var(--line);animation:1s infinite alternate pulse}.thumbs figcaption{color:var(--muted);align-items:center;gap:4px;font-size:.8rem;display:flex}.thumbs figcaption button:first-of-type{margin-left:auto}.thumbs figcaption button{padding:0 6px}@keyframes pulse{to{opacity:.5}}footer{max-width:1104px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:0 auto;padding:20px 16px 40px;font-size:.85rem;display:flex}@media (max-width:560px){.sheet{margin-top:20px}.scene{margin:20px auto 24px}.directory{margin-top:32px;padding-top:28px}}@media (prefers-reduced-motion:reduce){.scene .platen{animation:none;transform:translateY(53px)}.scene .stack{animation:none;transform:scaleY(.82)}.mark.busy .mk-platen{animation:none}*{transition:none!important}}.signer{gap:12px;margin-bottom:16px;display:grid}.sig-tabs{gap:4px;display:flex}.sig-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.sig-type{gap:8px;display:flex}.sig-type input{flex:1}.sig-pad{aspect-ratio:600/180;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);touch-action:none;width:100%}.sig-pad.draw{cursor:crosshair;background-image:linear-gradient(transparent calc(75% - 1px), var(--line) 75%, transparent calc(75% + 1px))}.sig-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sig-row small,.sig-row span{color:var(--muted);font-size:.9rem}.sig-row button:last-child{margin-left:auto}.sig-size{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:.9rem;display:flex}.sig-page{cursor:copy;width:100%;max-width:640px;margin:0 auto;position:relative;box-shadow:0 2px 12px #0000001f}.sig-page>img:first-child{width:100%;height:100%;display:block}.sig-placed{cursor:not-allowed;outline:1px dashed var(--accent);position:absolute}.sig-placed:hover{opacity:.7;outline-width:2px}.hint{color:var(--muted);margin:0;font-size:.9rem}.hint.span{grid-column:1/-1}.form-fields{margin-bottom:16px}.editor{gap:10px;margin-bottom:16px;display:grid}.ed-toolbar{z-index:3;background:var(--surface);flex-wrap:wrap;gap:6px;padding:6px 0;display:flex;position:sticky;top:0}.ed-toolbar button{align-items:center;gap:6px;font-size:.88rem;display:flex}.ed-toolbar button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.ed-hint{margin-left:auto}.ed-toolbar button[aria-pressed=true] .ic,.ed-toolbar button[aria-pressed=true] .ic .s{stroke:currentColor}.ed-toolbar button[aria-pressed=true] .ic .f{fill:#0000}.ed-actions button,.org-actions button{font-size:.9rem}.ed-surface{-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;width:100%;scroll-margin-top:170px;position:relative;box-shadow:0 2px 12px #0000001f}.ed-surface.placing{cursor:crosshair}.ed-surface>img{pointer-events:none;width:100%;height:100%;display:block}.ed-el{box-sizing:border-box;cursor:move;position:absolute}.ed-el.sel{outline:2px solid var(--accent);outline-offset:1px}.ed-text{white-space:pre-wrap;font-family:Helvetica,Arial,sans-serif;line-height:1.2;display:block}.ed-whiteout{background:#fff;outline:1px dashed #bbb}.ed-rect{border:1.5px solid}.ed-highlight{opacity:.4;mix-blend-mode:multiply}.ed-image img{object-fit:fill;pointer-events:none;width:100%;height:100%}.ed-el[class*=ed-field-]{background:#2563eb14;border:1.5px dashed #2563eb}.ed-fieldname{color:#1d4ed8;white-space:nowrap;font:600 10px/1 system-ui,sans-serif;position:absolute;top:-13px;left:0}.ed-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ed-line line{pointer-events:stroke;cursor:move;stroke-linecap:round}.ed-line.sel line{filter:drop-shadow(0 0 2px var(--accent))}.ed-handle{background:var(--accent);cursor:nwse-resize;border:2px solid #fff;border-radius:3px;width:12px;height:12px;position:absolute;bottom:-6px;right:-6px}.ed-ghost{border:1.5px dashed var(--accent);background:var(--accent-soft);pointer-events:none;position:absolute}.ed-props .span,.opts .span{grid-column:1/-1}.ed-actions{justify-content:flex-end;gap:8px;display:flex}button.danger{color:var(--err);border-color:currentColor}.server-note{background:var(--accent-soft);border:1px solid var(--pale);border-radius:var(--radius);align-items:flex-start;gap:10px;margin:20px 0 0;padding:12px 14px;font-size:.9rem;display:flex}.server-note.off{color:var(--muted);background:0 0;border-style:dashed}.server-note.off .ic{stroke:var(--err)}
