:root{--paper: #f6f2ea;--paper-deep: #eae4d6;--card: #fbf8f2;--white: #ffffff;--ink: #211e19;--ink-2: #6e675b;--ink-3: #9b9385;--line: rgba(33, 30, 25, .13);--line-strong: rgba(33, 30, 25, .22);--red: #a32035;--red-deep: #7e1827;--red-soft: rgba(163, 32, 53, .07);--yellow: #ffe45e;--serif: "Young Serif", Georgia, serif;--sans: "Instrument Sans", -apple-system, sans-serif;--mono: "Spline Sans Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:var(--sans);cursor:pointer}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.start{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.start .dropcard{width:min(600px,calc(100vw - 48px));border:1.5px dashed rgba(33,30,25,.3);border-radius:20px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 44px 56px;position:relative;background:#ffffff59;transition:border-color .25s,background .25s,transform .25s}.start .dropcard.over{border-color:var(--red);background:var(--red-soft);transform:scale(1.015)}.start .watermark{position:absolute;right:-70px;bottom:-90px;width:420px;opacity:.045;pointer-events:none}.start .logo-row{display:flex;align-items:center;gap:10px;margin-bottom:34px}.start .logo-row svg{width:28px;height:28px}.wordmark{font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:-.01em;color:var(--ink)}.wordmark em{font-style:normal;color:var(--red)}.start h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5.6vw,50px);letter-spacing:-.01em;line-height:1.08}.start .tagline{margin-top:14px;font-family:var(--sans);font-weight:500;font-size:16.5px;color:var(--red)}.start .error{margin-top:16px;color:var(--red);font-weight:500;font-size:14px}.cta-row{margin-top:36px;display:flex;align-items:center;gap:16px}.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;border:none;border-radius:99px;font-weight:500;font-size:15.5px;padding:14px 30px;box-shadow:0 8px 20px -8px #a3203580;transition:background .2s,transform .2s}.btn-primary:hover{background:var(--red-deep);transform:translateY(-1px)}.or-drop{font-size:13.5px;color:var(--ink-3)}.start .foot{position:absolute;left:46px;right:46px;bottom:42px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-2)}.start .foot .lock{display:inline-flex;align-items:center;gap:7px}.start .foot .lock svg{width:13px;height:13px}.gh-link{text-decoration:none}.gh-link:hover{color:var(--ink)}.resume-card{margin-top:18px;display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line-strong);border-radius:14px;padding:10px 12px 10px 16px;box-shadow:0 14px 34px -18px #211e194d;animation:toastIn .5s cubic-bezier(.2,.9,.3,1.2)}.resume-main{border:none;background:none;text-align:left;padding:4px 6px;border-radius:8px}.resume-main:hover b{text-decoration:underline;text-underline-offset:3px}.resume-main b{display:block;font-size:13.5px;font-weight:600;color:var(--ink);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-main span{font-size:12px;color:var(--ink-2)}.resume-x{border:none;background:none;color:var(--ink-3);padding:6px;border-radius:8px}.resume-x:hover{color:var(--ink);background:var(--paper)}.resume-x svg{width:13px;height:13px}.loading{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center}.loading .scribble{width:280px;height:110px;overflow:visible}.loading .scribble path{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:760;stroke-dashoffset:760;animation:draw 2.8s cubic-bezier(.4,.1,.3,1) infinite}@keyframes draw{0%{stroke-dashoffset:760;opacity:1}62%{stroke-dashoffset:0;opacity:1}82%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.loading .quip{margin-top:34px;font-family:var(--serif);font-size:21px;min-height:34px;transition:opacity .4s}.loading .meta{margin-top:14px}.loading .bar{width:180px;height:2px;background:var(--line);margin-top:18px;border-radius:2px;overflow:hidden}.loading .bar i{display:block;height:100%;background:var(--ink);border-radius:2px;animation:grow 3s ease-out infinite}@keyframes grow{0%{width:8%}70%{width:78%}to{width:96%}}.editor{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--paper-deep)}.topbar{height:54px;flex:none;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 16px;gap:14px;z-index:40}.topbar .brand{display:flex;align-items:center;gap:9px;border:none;background:none;padding:4px}.topbar .brand svg{width:22px;height:22px}.topbar .fname{font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.topbar .fname .ext{color:var(--ink-3);font-weight:400}.topbar .spacer{flex:1}.ghost-btn{width:34px;height:34px;border-radius:9px;border:none;background:none;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.ghost-btn:hover:not(:disabled){background:var(--paper-deep)}.ghost-btn:disabled{opacity:.35;cursor:default}.ghost-btn svg{width:16px;height:16px}.btn-dl{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border:none;border-radius:99px;font-weight:500;font-size:13.5px;padding:9px 20px;margin-left:4px;transition:background .2s;position:relative}.btn-dl:hover{background:var(--red-deep)}.btn-dl svg{width:14px;height:14px}.btn-dl:disabled{opacity:.6;cursor:wait}.dl-pop{position:absolute;top:52px;right:12px;z-index:60;width:280px;background:var(--white);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 18px 44px -16px #211e1959;padding:8px}.dl-pop button{display:block;width:100%;text-align:left;border:none;background:none;border-radius:9px;padding:10px 12px;transition:background .15s}.dl-pop button:hover{background:var(--paper)}.dl-pop b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}.dl-pop span{font-size:12px;color:var(--ink-2)}.toolbar{position:absolute;top:70px;left:50%;transform:translate(-50%);z-index:45;background:var(--white);border:1px solid var(--line-strong);border-radius:99px;box-shadow:0 12px 32px -12px #211e194d;display:flex;align-items:center;padding:5px;gap:2px}.tool{width:40px;height:40px;border-radius:99px;border:none;background:none;color:var(--ink-2);display:flex;align-items:center;justify-content:center;position:relative;transition:background .15s,color .15s}.tool:hover{background:var(--paper);color:var(--ink)}.tool.active{background:var(--red);color:#fff}.tool svg{width:18px;height:18px}.toolbar .sep{width:1px;height:22px;background:var(--line);margin:0 4px}.tip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:70}.tool:hover .tip,.pop-item:hover .tip{opacity:1}.more-pop{position:absolute;top:calc(100% + 10px);right:-6px;background:var(--white);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 18px 44px -16px #211e1959;padding:7px;display:flex;flex-direction:column;gap:2px;width:max-content;min-width:180px}.pop-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;font-size:13px;font-weight:500;color:var(--ink);border:none;background:none;transition:background .15s;white-space:nowrap}.pop-item:hover{background:var(--paper)}.pop-item svg{width:16px;height:16px;color:var(--ink-2);flex:none}.pop-item.active{background:var(--red-soft);color:var(--red)}.pop-item.active svg{color:var(--red)}.rail-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:44;background:var(--white);border:1px solid var(--line-strong);border-left:none;border-radius:0 11px 11px 0;padding:15px 7px;border-width:1px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:4px 8px 24px -12px #211e1940}.rail-tab span{writing-mode:vertical-rl;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.rail-tab svg{width:12px;height:12px;color:var(--ink-3)}.rail{position:absolute;left:0;top:54px;bottom:0;width:168px;z-index:44;background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;box-shadow:12px 0 32px -20px #211e1933}.rail .rail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 12px}.rail-head-acts{display:flex;align-items:center;gap:2px}.rail-select-btn{background:none;border:none;font-size:11.5px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;padding:2px 4px}.rail-select-btn:hover{color:var(--ink)}.rail-scroll{flex:1;overflow-y:auto;padding:0 12px 20px}.thumb .sel-check{position:absolute;top:5px;left:5px;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-strong);background:#fffffff2;display:flex;align-items:center;justify-content:center;color:#fff}.thumb .sel-check svg{width:13px;height:13px}.thumb.selected{border-color:var(--red)}.thumb.selected .sel-check{background:var(--red);border-color:var(--red)}.extract-bar{padding:10px 12px 14px;border-top:1px solid var(--line);background:var(--card)}.extract-dl{width:100%;padding:9px 0;border:none;border-radius:99px;background:var(--red);color:#fff;font-size:13px;font-weight:500}.extract-dl:hover:not(:disabled){background:var(--red-deep)}.extract-dl:disabled{opacity:.5}.thumb{position:relative;border-radius:8px;border:1.5px solid var(--line);background:#fff;margin-bottom:10px;overflow:hidden;cursor:grab;transition:border-color .15s,opacity .2s}.thumb.dragging{opacity:.4}.thumb.dropTarget{border-color:var(--red)}.thumb canvas{display:block;width:100%}.thumb .num{position:absolute;left:6px;bottom:6px;font-family:var(--mono);font-size:10px;background:#ffffffe6;border:1px solid var(--line);border-radius:5px;padding:1px 6px}.thumb .acts{position:absolute;top:5px;right:5px;display:flex;gap:3px;opacity:0;transition:opacity .15s}.thumb:hover .acts{opacity:1}.thumb .acts button{width:25px;height:25px;border-radius:6px;border:1px solid var(--line-strong);background:#fffffff2;color:var(--ink-2);display:flex;align-items:center;justify-content:center}.thumb .acts button:hover{color:var(--red);border-color:var(--red)}.thumb .acts svg{width:13px;height:13px}.add-pdf{width:100%;padding:10px 0;border:1.5px dashed var(--line-strong);border-radius:8px;background:none;color:var(--ink-2);font-size:12.5px;font-weight:500;transition:border-color .15s,color .15s}.add-pdf:hover:not(:disabled){border-color:var(--red);color:var(--red)}.add-pdf:disabled{opacity:.6}.merge-err{margin-top:8px;font-size:11.5px;line-height:1.4;color:var(--red-deep)}.doc-scroll{flex:1;overflow:auto;padding:92px 40px 80px}.doc-col{display:flex;flex-direction:column;align-items:center;gap:28px;min-width:min-content}.page-wrap{position:relative;background:#fff;box-shadow:0 2px 6px #211e1914,0 24px 54px -28px #211e1966;border-radius:2px;flex:none}.page-wrap canvas.pdf{display:block;border-radius:2px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0}.overlay.tool-text,.overlay.tool-check,.overlay.tool-cross,.overlay.tool-date,.overlay.tool-sign,.overlay.tool-image,.overlay.tool-highlight,.overlay.tool-whiteout,.overlay.tool-draw{cursor:crosshair}.text-run{position:absolute;z-index:2;cursor:text;border-radius:2px;outline:1.5px dashed transparent;transition:outline-color .12s,background .12s}.text-run:hover{outline-color:#a32035a6;background:#a320350d}.ann{position:absolute}.ann .body{position:absolute;top:0;right:0;bottom:0;left:0}.ann.selectable .body{cursor:move}.ann-highlight{background:#ffe45e73;mix-blend-mode:multiply;border-radius:1px}.ann-whiteout{background:#fff}.ann-whiteout.sel-ring,.ann:hover .ann-whiteout{outline:1px dashed var(--line-strong)}.ann textarea{position:absolute;top:0;right:0;bottom:0;left:0;resize:none;border:none;background:transparent;outline:none;font-family:Helvetica,Arial,sans-serif;color:inherit;overflow:hidden;padding:4px;line-height:1.25;cursor:text}.ann svg.ink{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.ann img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.sel-box{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1.5px dashed var(--red);border-radius:2px;pointer-events:none}.handle{position:absolute;width:10px;height:10px;background:#fff;border:1.5px solid var(--red);border-radius:3px;z-index:5}.handle.tl{top:-10px;left:-10px;cursor:nwse-resize}.handle.tr{top:-10px;right:-10px;cursor:nesw-resize}.handle.bl{bottom:-10px;left:-10px;cursor:nesw-resize}.handle.br{bottom:-10px;right:-10px;cursor:nwse-resize}.ctx-bar{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:var(--ink);border-radius:10px;display:flex;align-items:center;padding:4px;gap:3px;box-shadow:0 10px 24px -8px #211e1980;z-index:30;white-space:nowrap}.ctx-bar button{min-width:28px;height:28px;border:none;background:none;color:#cfc9bd;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s;font-size:13px}.ctx-bar button:hover{background:#ffffff1f;color:#fff}.ctx-bar button svg{width:14px;height:14px}.ctx-bar .vr{width:1px;height:18px;background:#ffffff2e;margin:0 3px}.ctx-bar .size{font-family:var(--mono);font-size:11px;color:#fff;min-width:22px;text-align:center}.ctx-bar .dotc{width:15px;min-width:15px;height:15px;flex:none;border-radius:50%;border:2px solid transparent;padding:0}.ctx-bar .dotc.on{border-color:#fff}.ffield{position:absolute;z-index:3}.ffield input[type=text],.ffield textarea{width:100%;height:100%;border:none;background:transparent;outline:none;font-family:Helvetica,Arial,sans-serif;color:#1a1712;padding:0 2px;resize:none;border-radius:2px;transition:box-shadow .15s,background .15s}.ffield input:hover,.ffield textarea:hover{background:#a320350d;box-shadow:0 0 0 1.5px #a3203559}.ffield input:focus,.ffield textarea:focus{background:#a320350d;box-shadow:0 0 0 1.5px var(--red)}.ffield.check{display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:2px;transition:box-shadow .15s}.ffield.check:hover{box-shadow:0 0 0 1.5px #a3203559}.ffield.check svg{width:88%;height:88%;color:#1a1712}.toast{position:absolute;top:70px;right:20px;z-index:45;background:var(--white);border:1px solid var(--line-strong);border-radius:13px;padding:12px 14px;display:flex;align-items:center;gap:11px;max-width:300px;box-shadow:0 14px 34px -14px #211e1959;animation:toastIn .5s cubic-bezier(.2,.9,.3,1.2)}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}}.toast .ic{width:30px;height:30px;flex:none;border-radius:8px;background:var(--red-soft);display:flex;align-items:center;justify-content:center}.toast .ic svg{width:15px;height:15px;color:var(--red)}.toast p{font-size:12.5px;line-height:1.35;color:var(--ink-2)}.toast p b{color:var(--ink);font-weight:500;display:block}.toast .x{border:none;background:none;color:var(--ink-3);padding:4px;border-radius:6px}.toast .x:hover{color:var(--ink);background:var(--paper)}.toast .x svg{width:13px;height:13px}.zoom{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:45;background:var(--white);border:1px solid var(--line-strong);border-radius:99px;display:flex;align-items:center;padding:4px;box-shadow:0 10px 26px -12px #211e194d}.zoom button{width:30px;height:30px;border:none;background:none;border-radius:99px;color:var(--ink-2);font-size:16px}.zoom button:hover{background:var(--paper)}.zoom .pct{font-family:var(--mono);font-size:11px;padding:0 8px;color:var(--ink);min-width:46px;text-align:center}.pager{position:absolute;bottom:20px;right:20px;z-index:45;font-family:var(--mono);font-size:11px;color:var(--ink-2);background:var(--white);border:1px solid var(--line);border-radius:99px;padding:8px 14px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#211e1959;z-index:100;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sig-modal{width:440px;max-width:calc(100vw - 40px);background:var(--white);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 30px 70px -20px #211e1980;padding:22px;animation:toastIn .35s cubic-bezier(.2,.9,.3,1.2)}.sig-modal h4{font-family:var(--serif);font-weight:400;font-size:18px;margin-bottom:14px}.sig-tabs{display:flex;gap:3px;margin-bottom:14px;width:max-content;background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:3px}.sig-tabs button{border:none;background:none;font-size:13px;padding:5px 16px;border-radius:99px;color:var(--ink-2);transition:background .15s,color .15s}.sig-tabs button.on{background:var(--white);color:var(--ink);box-shadow:0 1px 4px #211e1924}.sig-name{width:100%;border:none;border-bottom:1.5px dashed var(--line-strong);background:none;font-size:15px;padding:6px 2px 8px;margin-bottom:12px;outline:none}.sig-name:focus{border-bottom-color:var(--ink)}.font-opts{display:flex;flex-direction:column;gap:8px}.font-opt{border:1px solid var(--line);border-radius:10px;background:#fdfcf9;padding:4px 16px;min-height:52px;text-align:left;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:border-color .15s,background .15s}.font-opt.on{border-color:var(--ink);background:var(--paper)}.sig-upload{border:1.5px dashed var(--line-strong);border-radius:12px;height:160px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px;background:repeating-conic-gradient(#f1ede4,#f1ede4 25%,#fdfcf9 0%,#fdfcf9 50%) 0 0 / 18px 18px}.sig-upload:hover{border-color:var(--ink-2)}.sig-upload span{font-size:13.5px;color:var(--ink-2);background:var(--white);padding:6px 12px;border-radius:8px}.sig-upload img{max-width:100%;max-height:100%;object-fit:contain}.sig-pad{border:1.5px dashed var(--line-strong);border-radius:12px;height:160px;position:relative;background:#fdfcf9;touch-action:none;cursor:crosshair;overflow:hidden}.sig-pad svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sig-pad .base{position:absolute;left:16px;right:16px;bottom:34px;border-bottom:1px solid var(--line-strong);pointer-events:none}.sig-pad .x-mark{position:absolute;left:16px;bottom:38px;font-family:var(--mono);font-size:11px;color:var(--ink-3);pointer-events:none}.sig-opts{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.opt-group{display:flex;align-items:center;gap:8px}.ink-dot{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:0;box-shadow:inset 0 0 0 2px var(--white),0 0 0 1px var(--line);transition:box-shadow .15s}.ink-dot.on{box-shadow:inset 0 0 0 2px var(--white),0 0 0 2px var(--ink)}.width-btn{width:42px;height:28px;border-radius:8px;border:1px solid var(--line);background:none;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.width-btn span{display:block;width:24px;border-radius:2px}.width-btn.on{border-color:var(--ink);background:var(--paper)}.sig-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.sig-actions .clear{background:none;border:none;font-size:13.5px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.sig-actions .clear:hover{color:var(--ink)}.sig-actions .use{background:var(--red);color:#fff;border:none;border-radius:99px;font-weight:500;font-size:14px;padding:10px 24px}.sig-actions .use:hover{background:var(--red-deep)}.sig-actions .use:disabled{opacity:.4;cursor:default}.sig-remember{margin-top:14px;font-size:12px;color:var(--ink-3);display:flex;gap:7px;align-items:center}.sig-remember input{accent-color:var(--red)}.drag-rect{position:absolute;border:1px solid var(--red);background:var(--red-soft);pointer-events:none}.drag-rect.hl{border-color:#d4b830;background:#ffe45e59}.drag-rect.wo{border-color:var(--line-strong);background:#fffc}::selection{background:#a320352e}
