:root{--bg: #fbfbfd;--surface: #ffffff;--fill: rgba(0, 0, 0, .05);--fill-hover: rgba(0, 0, 0, .08);--stage: #f0f0f3;--text: #1d1d1f;--text-2: #6e6e73;--text-3: #a1a1a6;--line: rgba(0, 0, 0, .08);--accent: #1d1d1f;--accent-hover: #000000;--accent-soft: rgba(0, 0, 0, .05);--on-accent: #ffffff;--danger: #ff3b30;--glass: rgba(255, 255, 255, .72);--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 12px 40px -12px rgba(0, 0, 0, .18);--grad: linear-gradient(90deg, #0a84ff, #7d5cff 50%, #ff4f8b);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #000000;--surface: #1c1c1e;--fill: rgba(255, 255, 255, .08);--fill-hover: rgba(255, 255, 255, .13);--stage: #0e0e10;--text: #f5f5f7;--text-2: #a1a1a6;--text-3: #6e6e73;--line: rgba(255, 255, 255, .1);--accent: #f5f5f7;--accent-hover: #ffffff;--accent-soft: rgba(255, 255, 255, .08);--on-accent: #000000;--glass: rgba(28, 28, 30, .72);--shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 12px 40px -12px rgba(0, 0, 0, .7);color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}button:disabled{cursor:default;opacity:.35}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:-.01em;transition:background .15s,transform .1s}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--fill)}.btn-ghost:hover:not(:disabled){background:var(--fill-hover)}.btn-quiet{color:var(--accent);padding:0 8px}.btn-lg{height:46px;padding:0 28px;font-size:16px}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--text-2);transition:background .15s,color .15s}.icon-btn:hover:not(:disabled){background:var(--fill);color:var(--text)}.icon-btn.danger:hover{color:var(--danger)}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:pre;font-size:12px;font-weight:500;padding:5px 9px;border-radius:7px;background:#1d1d1feb;color:#fff;pointer-events:none;z-index:50;animation:fade .15s .4s both}@keyframes fade{0%{opacity:0}}.home{min-height:100vh;display:flex;flex-direction:column}.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}.nav-inner{max-width:1080px;margin:0 auto;height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.brand-row{display:inline-flex;align-items:center;gap:9px;font-size:17px;letter-spacing:-.02em}.hero{position:relative;flex:1;text-align:center;padding:88px 20px 64px;overflow:hidden}.glow{display:none}.hero h1{margin:0;font-size:clamp(42px,7vw,76px);line-height:1.05;letter-spacing:-.035em;font-weight:700}.grad{color:var(--text-3)}.lead{margin:20px auto 0;font-size:clamp(17px,2vw,21px);color:var(--text-2);letter-spacing:-.01em}.drop{max-width:640px;margin:48px auto 0;padding:44px 24px;border-radius:28px;background:var(--surface);box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;outline:2px dashed transparent;outline-offset:-12px;transition:outline-color .2s,transform .2s}.drop:hover,.drop.over{outline-color:var(--accent)}.drop.over{transform:scale(1.01)}.drop strong{font-size:19px;letter-spacing:-.02em}.drop span{color:var(--text-3);font-size:14px}.dz-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:6px}.features{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:40px auto 0;max-width:720px}.feature{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 16px 0 6px;border-radius:999px;background:var(--surface);box-shadow:0 0 0 1px var(--line);font-size:14px;font-weight:500}.f-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--text);background:var(--fill)}.privacy{display:inline-flex;align-items:center;gap:6px;margin-top:36px;font-size:13px;color:var(--text-2)}.editor{height:100vh;display:grid;grid-template-rows:60px 1fr}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 14px;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);z-index:20}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.brand{display:grid;place-items:center}.doc-name{font-size:14px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:4px}.tools{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--fill)}.tool{min-width:58px;height:44px;padding:0 6px;border-radius:9px;color:var(--text-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:background .15s,color .15s}.tool-label{font-size:11px;font-weight:500;letter-spacing:0}.tool:hover:not(:disabled):not(.on){color:var(--text);background:var(--fill)}.tool.on{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0000001f}.zoom{display:flex;align-items:center;margin:0 6px}.zoom-pct{width:48px;height:28px;border-radius:7px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-2)}.zoom-pct:hover:not(:disabled){background:var(--fill);color:var(--text)}.workspace{display:flex;min-height:0}.sidebar{width:184px;flex:none;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--bg)}.thumbs{flex:1;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;align-items:center;gap:18px}.thumb{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.thumb-page{position:relative;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 0 0 1px var(--line),0 2px 8px #00000014;transition:box-shadow .15s}.thumb-page canvas{position:absolute;left:50%;top:50%}.thumb.active .thumb-page{box-shadow:0 0 0 2.5px var(--accent),0 2px 8px #00000014}.thumb-n{font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}.thumb.active .thumb-n{color:var(--accent);font-weight:600}.thumb-actions{position:absolute;top:6px;right:26px;display:flex;gap:4px;opacity:0;transition:opacity .15s}.thumb:hover .thumb-actions{opacity:1}.thumb-actions button{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--glass);backdrop-filter:blur(10px);box-shadow:0 1px 4px #00000026}.add-pdf{margin:12px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:500;color:var(--accent);background:var(--accent-soft)}.add-pdf:hover{filter:brightness(.97)}.main{position:relative;flex:1;min-width:0}.stage{position:absolute;inset:0;overflow:auto;background:var(--stage)}.pages{display:flex;flex-direction:column;align-items:center;gap:28px;padding:76px 40px 120px;width:max-content;min-width:100%}.inspector{animation:drop .22s cubic-bezier(.2,.9,.3,1.1) both;position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:8px;height:44px;padding:0 10px;border-radius:999px;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--shadow)}.divider{width:1px;height:20px;background:var(--line)}.swatches{display:flex;gap:6px}.swatch{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f;transition:transform .12s}.swatch:hover{transform:scale(1.1)}.swatch.on{box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.size{height:30px;border:0;border-radius:8px;padding:0 8px;font:inherit;font-size:13px;background:var(--fill);color:var(--text);cursor:pointer}.page-slot{position:relative;flex:none}.page{position:absolute;left:50%;top:50%;background:#fff;border-radius:2px;box-shadow:0 0 0 1px #0000000d,0 2px 6px #0000000a,0 16px 40px -12px #00000038}.page canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .35s ease}.page.ready canvas{opacity:1}.page:not(.ready){background:linear-gradient(100deg,#fff 30%,#f4f4f6,#fff 70%) 0 0 / 300% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-150% 0}}.overlay{position:absolute;left:0;top:0;transform-origin:0 0;touch-action:none}.overlay.tool-text{cursor:text}.overlay.tool-highlight,.overlay.tool-ink,.overlay.tool-rect,.overlay.tool-place{cursor:crosshair}.a{position:absolute}.overlay:not(.tool-select) .a:not(.editing),.overlay:not(.tool-select) .ink path{pointer-events:none}.tool-select .a{cursor:move}.a.selected,.sel-box{outline:1.5px solid var(--accent);outline-offset:2px}.sel-box{position:absolute;pointer-events:none;border-radius:3px}.a-highlight{mix-blend-mode:multiply;opacity:.45}.a-image img{width:100%;height:100%;display:block;pointer-events:none;user-select:none}.a-text{white-space:pre;line-height:1.2;min-width:2px;outline:none}.a-text.editing{cursor:text;outline:1.5px dashed var(--accent);outline-offset:3px}.a-text.editing:empty:before{content:"Type here";color:#a1a1a6}.handle{position:absolute;right:-6px;bottom:-6px;width:10px;height:10px;border-radius:50%;background:#fff;border:1.5px solid var(--accent);box-shadow:0 1px 3px #00000040;cursor:nwse-resize}.handle:before{content:"";position:absolute;inset:-8px}.ink{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.ink path{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.tool-select .ink path{cursor:move}.empty{height:100%;display:grid;place-items:center;padding:20px}.dropzone{width:min(520px,100%);padding:56px 24px;border-radius:28px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:6px;outline:2px dashed transparent;outline-offset:-12px;transition:outline-color .2s}.dropzone:hover:not(:disabled),.drop-over .dropzone{outline-color:var(--accent)}.dropzone strong{font-size:18px;letter-spacing:-.02em}.dropzone span{font-size:14px;color:var(--text-3)}.drop-over .stage{box-shadow:inset 0 0 0 3px var(--accent)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#00000052;backdrop-filter:blur(6px);animation:fade .18s both}.modal{width:min(620px,100%);background:var(--surface);border-radius:22px;padding:22px;box-shadow:0 30px 80px #00000059;animation:pop .22s cubic-bezier(.2,.9,.3,1.2) both}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h2{margin:0;font-size:19px;letter-spacing:-.02em}.sign-pad{position:relative;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #0000001a}.sign-pad canvas{display:block;width:100%;aspect-ratio:560 / 200;cursor:crosshair;touch-action:none}.sign-hint{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);color:#c7c7cc;font-size:22px;pointer-events:none}.sign-line{position:absolute;left:8%;right:8%;bottom:26%;border-bottom:1px solid #d2d2d7;pointer-events:none}.modal-foot{display:flex;align-items:center;gap:8px;margin-top:16px}.spacer{flex:1}.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:90;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500;color:#fff;background:#1d1d1fe6;backdrop-filter:blur(12px);box-shadow:0 8px 30px #00000040;animation:rise .25s cubic-bezier(.2,.9,.3,1.2) both}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}}@media (max-width: 760px){.topbar{grid-template-columns:auto 1fr auto}.doc-name,.zoom,.topbar-right .icon-btn{display:none}.tools{overflow-x:auto}.tool{min-width:40px;height:36px}.tool-label,.sidebar{display:none}.pages{padding:72px 16px 100px}}.run{position:absolute;cursor:text;border-radius:2px;transition:background .12s}.run:hover{background:#0000000d;box-shadow:0 0 0 1px #00000059}@keyframes drop{0%{opacity:0;transform:translate(-50%,-6px)}}.hero>*{animation:up .7s cubic-bezier(.2,.8,.2,1) both}.hero>:nth-child(3){animation-delay:.06s}.hero>.drop{animation-delay:.12s}.hero>.features{animation-delay:.18s}.hero>.privacy{animation-delay:.24s}@keyframes up{0%{opacity:0;transform:translateY(14px)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.a-text:focus-visible{outline:1.5px dashed var(--accent);outline-offset:3px;border-radius:0}::selection{background:#00000024}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.modal.save{width:min(420px,100%)}.modal.save h2{margin:0 0 14px;font-size:19px;letter-spacing:-.02em}.field{display:flex;align-items:center;height:44px;padding:0 14px;border-radius:12px;background:var(--fill);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .15s,background .15s}.field:focus-within{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent)}.field input{flex:1;min-width:0;border:0;outline:none;background:none;font:inherit;font-size:15px;color:var(--text)}.field span{color:var(--text-3);font-size:15px}.faq{width:min(720px,100%);margin:0 auto;padding:24px 20px 72px}.faq h2{font-size:32px;letter-spacing:-.03em;margin:0 0 20px;text-align:center}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:18px 4px;font-size:17px;font-weight:500;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:22px;font-weight:300;color:var(--text-3);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin:0 4px 18px;color:var(--text-2);font-size:15px;line-height:1.55}.footer{text-align:center;padding:24px 20px calc(32px + env(safe-area-inset-bottom,0px));font-size:12px;color:var(--text-3);border-top:1px solid var(--line)}
