:root{--ink:#0f172a;--ink-soft:#475569;--surface:#fff;--canvas:#eef1f6;--line:#dbe1ea;--brand:#4f46e5;--brand-strong:#4338ca;--brand-soft:#eef2ff;--accent:#14b8a6;--danger:#dc2626;--radius:12px;--shadow:0 10px 30px -12px #0f172a59;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}body{background:var(--canvas);min-height:100vh;margin:0}[hidden]{display:none!important}svg{display:block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button,.tool,.upload-button,.link-button,.hint__cancel{font:inherit;cursor:pointer;border:0;transition:background .15s,transform .15s,box-shadow .15s,color .15s}.button{border-radius:999px;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600}.button--primary{background:var(--brand);color:#fff;box-shadow:0 6px 16px -6px #4f46e5b3}.button--primary:hover{background:var(--brand-strong)}.button--ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.button--ghost:hover{background:#f8fafc}.button:focus-visible,.tool:focus-visible,.upload-button:focus-within{outline-offset:2px;outline:3px solid #4f46e566}.alert{color:var(--danger);background:#fef2f2;border-radius:10px;margin:1rem 0 0;padding:.75rem 1rem;font-weight:500}.alert--inline{max-width:900px;margin:.75rem auto}.landing{color:#f8fafc;background-color:#0000;background-image:radial-gradient(1200px 600px at 85% -10%,#14b8a659,#0000 60%),radial-gradient(900px 600px at -10% 20%,#6366f18c,#0000 60%),radial-gradient(800px 500px at 50% 120%,#ec489940,#0000 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0v48' fill='none' stroke='%23ffffff' stroke-opacity='0.05'/%3E%3C/svg%3E"),linear-gradient(160deg,#0b1027 0%,#1e1b4b 55%,#0f172a 100%);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;min-height:100vh;padding:0 clamp(16px,4vw,48px) 64px}.landing__nav{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:24px 0;display:flex}.brand{align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;display:inline-flex}.brand__mark{background:linear-gradient(135deg,#6366f1,#14b8a6);border-radius:9px;place-items:center;width:2rem;height:2rem;display:grid}.landing__home{color:#cbd5e1;font-size:.95rem;text-decoration:none}.landing__home:hover{color:#fff}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;max-width:1120px;margin:0 auto;padding:clamp(24px,6vw,72px) 0 48px;display:grid}.eyebrow{color:#a5f3fc;letter-spacing:.02em;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;margin:0 0 1rem;padding:.35rem .8rem;font-size:.85rem;font-weight:600;display:inline-block}.hero h1{letter-spacing:-.02em;margin:0;font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.08}.lead{color:#cbd5e1;max-width:34rem;margin:1.25rem 0 2rem;font-size:1.125rem;line-height:1.6}.upload-button{color:#0b1027;background:linear-gradient(135deg,#fff,#e0e7ff);border-radius:999px;align-items:center;gap:.7rem;padding:1rem 1.8rem;font-size:1.1rem;font-weight:700;display:inline-flex;box-shadow:0 18px 40px -12px #6366f1cc,inset 0 -2px #0f172a14}.upload-button:hover{transform:translateY(-2px);box-shadow:0 22px 44px -12px #6366f1f2}.upload-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem}.privacy{color:#94a3b8;align-items:center;gap:.5rem;margin:1.25rem 0 0;font-size:.95rem;display:flex}.privacy svg{fill:none;stroke:#5eead4;stroke-width:2px;stroke-linejoin:round;flex:none;width:1.1rem;height:1.1rem}.hero__art svg{filter:drop-shadow(0 30px 40px #00000073);width:100%;max-width:380px;margin:0 auto}.sheet{fill:#fff}.sheet--back{fill:#ffffff2e}.line{fill:#e2e8f0}.field{fill:var(--brand-soft);stroke:var(--brand);stroke-dasharray:4 3}.field-text{fill:var(--ink);font:600 13px system-ui,sans-serif}.signline{stroke:#cbd5e1;stroke-width:2px}.signature{fill:none;stroke:var(--brand);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400px;animation:2.4s .4s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.steps{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1120px;margin:0 auto;padding:0;list-style:none;display:grid}.steps li{border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #ffffff1a;gap:.9rem;padding:1.25rem;display:flex}.steps span{background:#6366f159;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-weight:700;display:grid}.steps strong{margin-bottom:.25rem;display:block}.steps p{color:#94a3b8;margin:0;font-size:.95rem;line-height:1.5}.workspace{min-height:100vh;padding-bottom:64px}.toolbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.toolbar__file{text-overflow:ellipsis;white-space:nowrap;max-width:28ch;font-weight:700;overflow:hidden}.toolbar__note{color:var(--ink-soft);margin:0;font-size:.9rem}.toolbar__tools{gap:8px;display:flex}.toolbar__actions{gap:8px;margin-left:auto;display:flex}.tool{background:var(--brand-soft);color:var(--brand-strong);border-radius:10px;align-items:center;gap:.45rem;padding:.55rem .95rem;font-weight:600;display:inline-flex}.tool:hover{background:#e0e7ff}.tool svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.hint{z-index:15;background:var(--ink);color:#fff;width:max-content;max-width:calc(100% - 32px);box-shadow:var(--shadow);border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:.55rem .6rem .55rem 1rem;font-size:.95rem;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.hint__cancel{color:#fff;background:#ffffff26;border-radius:999px;padding:.3rem .8rem}.hint__cancel:hover{background:#ffffff40}.pages{flex-direction:column;align-items:center;gap:24px;padding:24px 16px;display:flex}.page{width:100%;max-width:900px;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;background:#fff;position:relative;container-type:inline-size}.page canvas{width:100%;height:100%;display:block}.page__overlay{position:absolute;inset:0}.pages.is-placing .page__overlay{cursor:crosshair}.pages.is-placing .page{outline-offset:4px;outline:2px dashed #4f46e573}.pages--preview .page{pointer-events:none}.item{touch-action:none;position:absolute}.item:after{content:"";pointer-events:none;border:1.5px dashed #0000;border-radius:4px;position:absolute;inset:-3px}.item:hover:after{border-color:#4f46e573}.item.is-selected:after{border-color:var(--brand);border-style:solid}.item__text{resize:none;color:#111;white-space:pre;width:100%;height:100%;font-family:Helvetica,Arial,sans-serif;font-size:calc(var(--font-ratio) * 100cqw);background:0 0;border:0;outline:none;margin:0;padding:0;line-height:1.2;display:block;overflow:hidden}.item--text:not(.is-selected) .item__text:placeholder-shown{background:#4f46e50f}.item--signature{cursor:move}.item__image{pointer-events:none;width:100%;height:100%;display:block}.item__grip,.item__delete,.item__resize{background:var(--brand);color:#fff;z-index:2;border-radius:50%;place-items:center;width:22px;height:22px;display:none;position:absolute;box-shadow:0 2px 6px #0f172a4d}.item.is-selected .item__grip,.item.is-selected .item__delete,.item.is-selected .item__resize,.item:hover .item__grip{display:grid}.item__grip{cursor:move;border-radius:6px;top:50%;left:-30px;transform:translateY(-50%)}.item__grip:before{content:"⠿";font-size:14px;line-height:1}.item__delete{background:var(--danger);cursor:pointer;border:0;padding:0;font:700 15px/1 system-ui,sans-serif;top:-14px;right:-14px}.item__resize{cursor:nwse-resize;border:2px solid var(--brand);background:#fff;bottom:-11px;right:-11px}.busy{z-index:50;color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;place-content:center;justify-items:center;gap:14px;font-weight:600;display:grid;position:fixed;inset:0}.spinner{border:4px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.done{background:linear-gradient(160deg,#eef2ff,#f0fdfa);place-items:center;min-height:100vh;padding:16px;display:grid}.done__card{width:min(480px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:20px;padding:40px 32px}.done__icon{background:#ccfbf1;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 16px;display:grid}.done__icon svg{fill:none;stroke:#0f766e;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}.done h2{margin:0 0 .5rem;font-size:1.4rem}.done p{color:var(--ink-soft);word-break:break-all;margin:0 0 1.5rem}.done__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.dialog{border:0;border-radius:18px;width:min(560px,100% - 32px);padding:24px;box-shadow:0 30px 60px -20px #0f172a80}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c}.dialog h2{margin:0 0 16px;font-size:1.25rem}.tabs{background:#f1f5f9;border-radius:10px;gap:4px;margin-bottom:14px;padding:4px;display:flex}.tabs button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:.5rem;font-weight:600}.tabs button[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0f172a26}.pad{touch-action:none;cursor:crosshair;background:linear-gradient(#0000 75%,#e2e8f0 75% calc(75% + 1px),#0000 calc(75% + 1px)),#fcfcfd;border:1.5px dashed #cbd5e1;border-radius:12px;width:100%;height:200px;display:block}.pad__footer{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:8px;font-size:.875rem;display:flex}.link-button{color:var(--brand);background:0 0;padding:0;font-weight:600}.dropzone{background:var(--brand-soft);text-align:center;cursor:pointer;border:1.5px dashed #a5b4fc;border-radius:12px;justify-items:center;gap:4px;padding:32px 16px;display:grid}.dropzone strong{color:var(--brand-strong)}.dropzone span{color:var(--ink-soft);font-size:.875rem}.upload-preview{background:repeating-conic-gradient(#f1f5f9 0 25%, #fff 0 50%) 0 0 / 16px 16px;border-radius:8px;max-width:100%;max-height:160px;margin:14px auto 0;display:block}.dialog__actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=860px){.hero{grid-template-columns:1fr}.hero__art{order:-1}.hero__art svg{max-width:240px}.steps{grid-template-columns:1fr}}@media (width<=640px){.toolbar__file{width:100%;max-width:none}.toolbar__actions{width:100%;margin-left:0}.toolbar__actions .button{flex:1}.item__grip{inset:auto -14px -30px auto;transform:none}}@media (prefers-reduced-motion:reduce){.signature{stroke-dashoffset:0;animation:none}}.feedback-button{z-index:30;background:var(--ink);color:#fff;font:inherit;cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.65rem 1.05rem;font-weight:600;display:inline-flex;position:fixed;bottom:20px;right:20px}.feedback-button:hover{background:#1e293b}.feedback-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:1.1rem;height:1.1rem}.dialog__intro{color:var(--ink-soft);margin:-6px 0 16px;font-size:.925rem;line-height:1.5}.feedback-form{gap:14px;display:grid}.choice{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;display:grid}.choice label{border:1.5px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.7rem .8rem;font-size:.925rem;font-weight:600;display:flex}.choice label:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong)}.choice input{accent-color:var(--brand)}.field{gap:6px;font-size:.925rem;font-weight:600;display:grid}.field em{color:var(--ink-soft);font-weight:400}.field textarea,.field input{border:1.5px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:10px;padding:.65rem .75rem;font-weight:400}.field textarea:focus,.field input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e526}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.feedback-done{text-align:center;padding:8px 0}.feedback-done p{color:var(--ink-soft)}.dialog__actions--center{justify-content:center}[data-feedback-submit]:disabled{opacity:.6;cursor:wait}@media (width<=640px){.choice{grid-template-columns:1fr}.feedback-button{bottom:12px;right:12px}}.landing__footer{color:#64748b;flex-wrap:wrap;justify-content:center;gap:8px 12px;max-width:1120px;margin:40px auto 0;font-size:.925rem;display:flex}.landing__footer a{color:#cbd5e1;text-decoration:none}.landing__footer a:hover{color:#fff;text-decoration:underline}
