@font-face{font-family:Sarabun;src:url('../fonts/Sarabun-Regular.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#192b3d;--muted:#667483;--blue:#1686ce;--blue-light:#eaf6ff;--line:#e5eaf0;--surface:#f5f7f9;--radius:12px;font-family:Sarabun,system-ui,sans-serif;color:var(--ink);font-synthesis:weight}*{box-sizing:border-box}body{margin:0;background:#fff}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #69bcf0;outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit}svg{flex-shrink:0}button{display:inline-flex;align-items:center;justify-content:center;gap:9px}button:focus-visible,a:focus-visible{outline:3px solid #69bcf0;outline-offset:3px}[hidden]{display:none!important}.button{border:1px solid transparent;border-radius:9px;padding:12px 20px;min-height:44px;font-size:14px;font-weight:600;transition:background .15s}.button-dark{background:#1a2d3e;color:white}.button-dark:hover{background:#30485e}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:#086cab}.button-soft{background:var(--blue-light);color:#0868a5}.button-quiet{background:white;border-color:var(--line)}.button-quiet:hover{background:#f0f5f9}.small{padding:9px 15px}.full{width:100%}.brand{display:inline-flex;align-items:center;font-size:22px;font-weight:bold;letter-spacing:-.7px;white-space:nowrap}.brand-light{font-weight:400}.brand-mark{background:#269ee9;color:white;border-radius:9px;width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;margin-right:10px}.brand-mark svg{width:23px;height:23px}.site-header{height:90px;max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:34px;font-size:14px;color:#586978}.hero{padding:58px 24px 32px;text-align:center;background:linear-gradient(180deg,#fff 50%,#f8fbfd)}.eyebrow{font-size:13px;color:#526d82;letter-spacing:.2px;display:inline-flex;align-items:center;gap:8px}.status-dot{display:inline-block;width:6px;height:6px;background:#20a788;border-radius:50%;margin-right:4px}.hero h1{font-size:clamp(36px,4.2vw,60px);line-height:1.3;font-weight:600;letter-spacing:-2px;margin:21px 0 17px}.hero h1 span{color:#1789d3}.hero-copy{font-size:17px;line-height:1.8;color:var(--muted);margin:0}.upload-folder{position:relative;max-width:610px;margin:36px auto 0;padding:44px 18px 72px;border-radius:22px;background:#64bdf2;isolation:isolate}.folder-tab{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:12px 22px;color:#fff;font-size:13px;letter-spacing:.3px}.folder-tab span{font-size:10px;border:1px solid #ffffff70;padding:1px 7px;border-radius:4px}.upload-card{position:relative;background:#fff;border:1px solid #ebf0f6;outline:1px dashed #bdcfdf;outline-offset:-9px;border-radius:14px;padding:27px 16px 36px;box-shadow:0 5px 16px #14508412}.upload-icon{display:inline-flex;align-items:center;justify-content:center;background:#edf7ff;color:#268ed0;padding:13px;border-radius:13px}.upload-icon svg{width:25px;height:25px}.upload-card h2{font-size:20px;margin:14px 0 6px;font-weight:500}.upload-card p{font-size:12px;color:var(--muted);margin:0 0 21px}.folder-front{position:absolute;inset:auto 0 0;height:66px;border-radius:0 0 22px 22px;background:#a6dcfc;display:flex;align-items:center;justify-content:center;gap:9px;color:#235c82;font-size:12px;border-top:4px solid #c5eaff}.folder-front svg{width:15px;height:15px}.drag-over .upload-card{background:#eaf7ff;outline:2px dashed var(--blue)}.session-note{font-size:12px;color:#788592;margin:18px 0 0}.how-section{max-width:1128px;margin:65px auto;padding:0 24px}.section-heading h2{font-size:29px;margin:10px 0 30px;font-weight:500;letter-spacing:-.6px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps article{border-top:1px solid var(--line);padding-top:24px}.step-number{color:#1686ce;font-size:13px;letter-spacing:2px}.steps h3{font-size:18px;font-weight:500;margin:15px 0 8px}.steps p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.privacy-section{max-width:1080px;margin:0 auto 65px;border:1px solid #deedf7;border-radius:12px;background:#f5faff;padding:28px;display:flex;align-items:center;gap:22px}.privacy-icon{padding:17px;background:white;border-radius:14px;color:var(--blue)}.privacy-icon svg{width:28px;height:28px}.privacy-section h2{font-size:20px;font-weight:500;margin:0 0 8px}.privacy-section p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.privacy-label{margin-left:auto;font-size:9px;letter-spacing:1.5px;color:#507695}footer{border-top:1px solid var(--line);max-width:1128px;margin:auto;padding:25px 24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}footer .brand{font-size:18px;color:var(--ink)}.editor-app{height:100dvh;display:flex;flex-direction:column;min-width:900px}.editor-header{height:74px;border-bottom:1px solid var(--line);padding:0 25px;display:flex;align-items:center;gap:22px;flex-shrink:0}.brand-button{background:none;border:0;padding:0;gap:0}.header-divider{height:28px;width:1px;background:var(--line)}.filename{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.filename strong{font-size:14px;font-weight:500;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filename>span{font-size:11px;color:var(--muted)}.editor-toolbar{height:58px;display:flex;gap:16px;padding:8px 24px;border-bottom:1px solid var(--line);align-items:center;flex-shrink:0}.tool-group{display:flex;align-items:center;gap:5px;border-right:1px solid var(--line);padding-right:16px}.tool{border:0;background:transparent;padding:9px 11px;border-radius:6px;font-size:13px;min-height:38px}.tool:hover{background:#f1f5f8}.tool.active{background:#eaf5fe;color:#0d78bf}.icon-only{padding:8px}.toolbar-hint{font-size:11px;color:#75818c;flex:1}.zoom-label{font-size:12px;display:flex;gap:12px;align-items:center}.zoom-label select{border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#fff}.editor-body{display:grid;grid-template-columns:174px minmax(0,1fr) 272px;flex:1;min-height:0}.pages-panel{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:#fafbfc}.panel-title{font-size:13px;padding:21px 18px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);min-height:62px}.panel-title span{margin-left:auto;font-size:11px;color:var(--muted);border-radius:4px;background:#edf0f4;padding:2px 7px}#thumbnails{overflow:auto;padding:20px 13px}.thumbnail{width:100%;padding:9px 8px 5px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px;background:transparent;border:1px solid transparent;border-radius:8px}.thumbnail canvas{max-width:112px;background:#fff;box-shadow:0 1px 5px #192b3d18;border:1px solid #e1e5e9}.thumbnail span{font-size:11px;color:var(--muted)}.thumbnail.selected{background:#eaf5ff;border-color:#5dade0}.thumbnail.selected span{color:#0878bd}.workspace{overflow:auto;background:#edf0f4;padding:22px 35px 35px;min-width:0;position:relative}.workspace-caption{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;margin:0 auto 15px;max-width:800px}.workspace-caption span{font-size:9px;border:1px solid #d2d9e1;padding:1px 5px;border-radius:3px}#page-surface{position:relative;margin:0 auto;background:white;box-shadow:0 2px 12px #23384c12}#page-canvas{display:block}#text-layer{position:absolute;inset:0}.workspace-tip{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#758492;margin-top:24px}.workspace-tip svg{width:13px;height:13px}.properties-panel{display:flex;flex-direction:column;border-left:1px solid var(--line);background:white;overflow:auto}.properties-content{padding:20px 18px}.properties-content label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-bottom:18px;color:#526375}.properties-content textarea,.properties-content select,.properties-content input{width:100%;border:1px solid #dce3ea;border-radius:7px;background:#fff;padding:9px 10px;color:var(--ink);font-size:13px}.properties-content textarea{resize:vertical;line-height:1.6}.properties-content input[type=color]{height:39px;padding:5px}.property-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-help{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 16px}.delete-button{color:#b74747;background:white;border-color:#f0dddd;width:100%;font-size:12px}.properties-empty{text-align:center;padding:38px 12px}.empty-icon{background:#f3f6f9;border-radius:50%;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;color:#8093a4}.properties-empty h3{font-size:14px;font-weight:500;margin:18px 0 8px}.properties-empty p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 18px}.properties-empty .button{font-size:12px}.export-panel{margin-top:auto;border-top:1px solid var(--line);padding:20px 18px}.export-label{display:block;font-size:12px;margin-bottom:13px}.export-panel .button{margin-bottom:9px;font-size:13px}.export-panel p{text-align:center;font-size:10px;line-height:1.8;color:var(--muted);margin:6px 0 0}.editor-status{height:31px;border-top:1px solid var(--line);padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);flex-shrink:0}.text-object{position:absolute;border:1px solid transparent}.text-object textarea{display:block;width:100%;height:100%;padding:0;border:0;margin:0;resize:none;background:transparent;outline:none;font-family:Sarabun;overflow:hidden;white-space:pre}.text-object.selected{outline:1.5px solid #209bec}.text-object:not(.selected) textarea{cursor:pointer}.move-handle{position:absolute;top:-22px;left:-1px;border:0;border-radius:4px 4px 0 0;background:#188fde;color:white;height:22px;padding:0 12px;cursor:move;display:none;touch-action:none}.resize-handle{position:absolute;right:-5px;bottom:-5px;width:10px;height:10px;padding:0;border:1px solid #1686ce;background:white;cursor:nwse-resize;display:none;touch-action:none}.selected .move-handle,.selected .resize-handle{display:block}.error-toast{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);z-index:20;background:#fff5f3;border:1px solid #e8bbb5;border-radius:10px;color:#9c3226;padding:15px 18px;display:flex;gap:20px;font-size:13px;box-shadow:0 5px 25px #0001;max-width:650px}.error-toast button{border:0;background:transparent;color:inherit}dialog{width:min(900px,94vw);padding:0;border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 70px #0002;max-height:94vh}dialog::backdrop{background:#14253680}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}.preview-header h2{font-size:18px;font-weight:500;margin:0 0 5px}.preview-header p{font-size:12px;color:var(--muted);margin:0}.preview-toolbar{display:flex;justify-content:center;align-items:center;gap:20px;padding:8px;font-size:12px}.preview-body{max-height:60vh;overflow:auto;background:#edf0f4;padding:25px;text-align:center}.preview-body canvas{max-width:100%;height:auto;box-shadow:0 1px 10px #0001}.preview-footer{padding:15px 24px;display:flex;justify-content:space-between}.boot{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);font-size:14px}#blazor-error-ui{display:none;position:fixed;bottom:0;width:100%;background:#fff1cf;padding:15px;z-index:100}@media(max-width:1050px){.toolbar-hint{display:none}.zoom-label{margin-left:auto}.editor-body{grid-template-columns:140px minmax(0,1fr) 250px}.workspace{padding:20px}.privacy-section{margin-left:24px;margin-right:24px}.privacy-label{display:none}}@media(max-width:650px){.site-header{padding:0 20px;height:74px}.site-header nav{display:none}.hero{padding-top:40px}.hero-copy{font-size:15px}.hero h1{letter-spacing:-1px}.upload-folder{padding-left:12px;padding-right:12px}.steps{grid-template-columns:1fr;gap:24px}.how-section{margin:42px auto}.section-heading h2{font-size:24px}.privacy-section{padding:20px;align-items:flex-start}.privacy-icon{display:none}footer{gap:15px}.session-note{font-size:10px}.folder-front{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.text-object textarea{font-kerning:none;font-variant-ligatures:none}
/* Handwritten signatures */
.signature-dialog{width:min(690px,calc(100vw - 32px));border:1px solid var(--line,#e1e6eb);border-radius:20px;padding:28px;color:#172433;box-shadow:0 24px 100px #17243326}.signature-dialog::backdrop{background:#14283c66;backdrop-filter:blur(3px)}.signature-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.signature-heading h2{font-size:24px;margin:8px 0 0}.signature-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signature-choice{display:block;font:inherit;text-align:left;border:1px solid #dae4ed;background:#f6faff;border-radius:14px;padding:28px 22px;cursor:pointer}.signature-choice:hover{border-color:#459fdf;background:#edf7ff}.signature-choice strong{display:block;font-size:20px;margin-bottom:12px}.signature-choice span{color:#617080;line-height:1.8}.signature-pad{position:relative;background:#fbfcfe;border:1px dashed #bacbda;border-radius:12px;overflow:hidden}.signature-pad canvas{display:block;width:100%;aspect-ratio:8/3;touch-action:none;cursor:crosshair}.signature-pad>span{position:absolute;bottom:16px;left:24px;color:#99a7b4;pointer-events:none;font-size:12px}.signature-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.signature-actions .button-blue{margin-left:auto}.signature-dialog .field-help{line-height:1.8}.phone-pair-dialog{text-align:center;max-width:510px}.phone-pair-dialog .signature-heading{text-align:left}#signature-qr{max-width:100%;height:auto}#pair-link{display:block;color:#167bbd;margin:12px 0}#pair-link[hidden]{display:none}.signature-library-panel{padding:16px 20px;border-top:1px solid #e6ebf0}.signature-library-panel .panel-title{padding:0 0 12px;border:0}.signature-card{display:flex;align-items:center;gap:4px;margin-bottom:8px}.signature-thumbnail{flex:1;min-width:0;height:75px;border:1px solid #dce7f0;border-radius:8px;background:white;cursor:grab;padding:8px}.signature-thumbnail:hover{border-color:#409ddd}.signature-thumbnail img{width:100%;height:100%;object-fit:contain;pointer-events:none}.signature-object img{display:block;width:100%;height:100%;cursor:pointer;user-select:none}.mobile-sign{max-width:700px;margin:0 auto;padding:32px 22px}.mobile-sign>.brand{display:block;margin-bottom:40px}.mobile-sign h1{font-size:32px;line-height:1.5;letter-spacing:-.8px;margin:12px 0}.mobile-sign>p{color:#617080;line-height:1.8}.mobile-sign .signature-pad{margin-top:24px}.mobile-sign .field-help{font-size:12px}.mobile-sign #mobile-status{min-height:48px;color:#334e66}.properties-panel{overflow-y:auto}.signature-dialog [role=alert]{color:#b33030}.signature-library-panel .field-help{font-size:11px}@media(max-width:540px){.signature-dialog{padding:20px}.signature-choices{grid-template-columns:1fr}.signature-choice{padding:20px}.signature-actions .button{font-size:12px;padding:10px 12px}.mobile-sign h1{font-size:27px}.mobile-sign>.brand{margin-bottom:28px}}
/* Document tool directory */
.tools-header{max-width:1200px}.tools-home{max-width:1128px;margin:auto;padding:0 24px}.tools-hero{text-align:center;padding:66px 0 54px}.tools-hero h1{font-size:clamp(36px,4.4vw,58px);font-weight:600;letter-spacing:-1.7px;line-height:1.35;margin:17px 0}.tools-hero h1 span{color:var(--blue)}.tools-hero>p{color:var(--muted);font-size:16px;line-height:1.85;margin:0 0 22px}.tools-release-note{font-size:12px;color:#526b7a;display:inline-block;background:#f4f8fb;border:1px solid #e5edf3;border-radius:6px;padding:8px 13px}.tool-directory{scroll-margin-top:24px}.directory-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.directory-heading h2{font-size:25px;font-weight:500;letter-spacing:-.5px;margin:0 0 7px}.directory-heading p{color:var(--muted);font-size:13px;margin:0}.directory-count{color:var(--muted);font-size:12px;white-space:nowrap}.category-menu{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.category-button{padding:10px 17px;min-height:44px;font-size:13px;border:1px solid transparent;border-radius:8px;background:transparent;color:#586b7b}.category-button:hover{background:#f4f7fa}.category-button.selected{color:#096aa6;background:var(--blue-light);border-color:#cce5f5;font-weight:600}.tool-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.document-tool{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.document-tool.available{border-color:#bedff3;background:#fbfdff}.tool-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tool-card-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:#eff5f9;border-radius:10px;color:#58768b}.available .tool-card-icon{color:var(--blue);background:#e7f4fd}.tool-card-icon svg{width:23px;height:23px}.tool-availability{font-size:11px;color:#6f7c88;background:#f4f6f8;padding:4px 9px;border-radius:5px}.available .tool-availability{color:#26725f;background:#edf7f2}.document-tool h3{font-size:19px;font-weight:500;margin:18px 0 8px}.document-tool>p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 23px;max-width:380px}.tool-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f5;padding-top:14px;min-height:48px}.tool-card-footer>span:first-child{font-size:10px;color:#748392;letter-spacing:.3px}.tool-launch{background:transparent;border:0;color:#0878bc;font-size:13px;font-weight:600;min-height:36px;padding:4px 0 4px 10px}.tool-pending{font-size:11px;color:#7b8792}.quick-start{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin:52px 0 32px;background:#f5faff;border:1px solid #e0edf6;border-radius:14px;padding:32px}.quick-start-copy h2{font-size:24px;line-height:1.6;font-weight:500;margin:9px 0 12px;letter-spacing:-.4px}.quick-start-copy p{font-size:14px;color:var(--muted);line-height:1.85}.quick-privacy{display:flex;align-items:center;gap:7px;font-size:11px;color:#557084;margin-top:21px}.quick-privacy svg{width:14px;height:14px}.quick-upload{border:1px dashed #b3cddd;border-radius:12px;background:#fff;text-align:center;padding:27px 18px}.quick-upload>svg{color:var(--blue);width:27px;height:27px}.quick-upload h3{font-size:15px;font-weight:500;margin:15px 0 7px}.quick-upload>p{font-size:12px;color:var(--muted);margin:0 0 19px}.quick-upload.drag-over{background:#e8f5ff;border-color:var(--blue)}.tools-privacy{background:#fff;margin:0 0 44px;padding:24px 0;border:0;gap:18px}.tools-privacy .privacy-icon{background:#f3f7fa;padding:13px}.tools-privacy h2{font-size:17px}.tools-privacy p{font-size:12px;line-height:1.9}@media(max-width:650px){.tools-home{padding:0 20px}.tools-hero{padding:40px 0 35px}.tools-hero h1{letter-spacing:-1px}.tools-hero>p{font-size:14px}.desktop-break{display:none}.tools-release-note{font-size:10px;padding:8px;line-height:1.8}.directory-heading h2{font-size:21px}.category-menu{gap:5px;margin:20px 0 17px}.category-button{padding:9px 12px;font-size:12px}.tool-cards{grid-template-columns:1fr;gap:14px}.document-tool{padding:21px}.quick-start{grid-template-columns:1fr;gap:22px;margin-top:32px;padding:22px}.quick-start-copy h2{font-size:20px}.quick-privacy{margin-top:14px}.tools-privacy{margin:0 0 25px}.tools-header>.button{font-size:12px;padding:9px 12px}}
/* Semantic category colors and document illustrations */
.category-edit{--category-color:#9460ab;--category-text:#77458c;--category-tint:#efe2f5;--category-wash:#fcf9fe}.category-organize{--category-color:#e16b43;--category-text:#aa4425;--category-tint:#fbe4d9;--category-wash:#fffaf7}.category-optimize{--category-color:#6b9d3d;--category-text:#486c26;--category-tint:#e5f0d6;--category-wash:#fafdf7}.category-convert{--category-color:#4c7ac3;--category-text:#365d99;--category-tint:#e0eafb;--category-wash:#f8fbff}.category-dot{display:inline-block;width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--category-color)}.category-button.selected[class*="category-"]{border-color:var(--category-tint,#cce5f5);background:var(--category-wash,var(--blue-light));color:var(--category-text,#096aa6)}.tool-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.tool-category{min-width:0}.tool-category-heading{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);margin:0 0 12px}.tool-category .tool-cards{grid-template-columns:1fr}.tool-category .document-tool{height:100%;padding:26px}.tool-category .document-tool.available{background:white;border-color:var(--category-tint)}.tool-category .tool-card-top{align-items:flex-start;min-height:82px}.tool-category .tool-card-icon{width:80px;height:80px;background:transparent;border-radius:0;color:var(--category-color)}.tool-category .tool-card-icon svg{width:80px;height:80px}.tool-category .document-tool h4{font-size:21px;font-weight:600;margin:21px 0 10px}.tool-category .document-tool>p{font-size:14px;max-width:410px;min-height:50px}.tool-category .tool-availability{margin-top:4px}.tool-category .tool-launch{color:var(--category-text)}.tool-category .document-tool.available:hover{border-color:var(--category-color)}@media(max-width:650px){.tool-groups{grid-template-columns:1fr;gap:25px}.tool-category .document-tool{padding:23px}.tool-category .tool-card-icon,.tool-category .tool-card-icon svg{width:72px;height:72px}.tool-category .tool-card-top{min-height:74px}.tool-category .document-tool h4{font-size:20px}.category-button{gap:7px}}
/* Whole-card activation retains a native keyboard-accessible button. */
.document-tool{position:relative}.document-tool .tool-launch::after{content:"";position:absolute;inset:0;z-index:1;border-radius:12px;cursor:pointer}.document-tool .tool-launch:disabled::after{cursor:wait}.document-tool .tool-launch:focus-visible{outline:none}.document-tool .tool-launch:focus-visible::after{outline:3px solid var(--category-color);outline-offset:4px}.document-tool .tool-card-icon{transform-origin:center;transition:transform 180ms cubic-bezier(.2,.7,.3,1)}@media(hover:hover){.document-tool:hover .tool-card-icon{transform:scale(1.15)}}.document-tool:focus-within .tool-card-icon{transform:scale(1.15)}@media(prefers-reduced-motion:reduce){.document-tool .tool-card-icon{transition:none;transform:none!important}}
/* Dedicated tool entry pages */
a.tool-launch{display:inline-flex;align-items:center;gap:8px}.tool-launch.tool-pending{font-weight:400;color:var(--muted)}a.button{display:inline-flex;align-items:center;justify-content:center;gap:9px}.tool-start{max-width:1050px;margin:auto;padding:24px 28px 60px}.tool-breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:32px}.tool-breadcrumb a:hover{color:var(--blue)}.tool-start-intro{text-align:center;max-width:750px;margin:auto}.tool-start-intro>.tool-card-icon{width:80px;height:80px;color:var(--category-color);background:none;margin:0 auto 14px}.tool-start h1{font-size:38px;line-height:1.4;margin:12px 0}.tool-start-intro>p{font-size:15px;color:var(--muted);line-height:1.9}.tool-file-drop{margin:30px 0 15px;padding:36px 24px;background:var(--category-wash);border:1.5px dashed var(--category-color);border-radius:16px}.tool-file-drop>svg{color:var(--category-color);width:30px;height:30px}.tool-file-drop h2{font-size:21px;font-weight:500;margin:16px 0 8px}.tool-file-drop>p{color:var(--muted);font-size:13px;margin:0 0 22px}.file-limits{display:block;margin-top:16px;font-size:11px;color:var(--muted)}.tool-file-drop.drag-over{background:var(--category-tint);border-style:solid}.tool-local-note{display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px!important}.tool-local-note svg{width:14px;height:14px;flex-shrink:0}.tool-instructions{margin-top:52px}.tool-instructions>h2{font-size:23px;font-weight:500;margin-bottom:27px}.tool-coming-soon{margin-top:30px;border:1px solid var(--line);border-radius:14px;padding:35px 24px;background:#f8fafc}.tool-coming-soon h2{font-size:23px;font-weight:500}.tool-coming-soon p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:24px}.quick-upload>.tool-artwork{--category-color:#9460ab;--category-tint:#efe2f5;color:var(--category-color);width:64px;height:64px}@media(max-width:650px){.tool-start{padding:20px 20px 40px}.tool-start h1{font-size:29px}.tool-file-drop{padding:28px 16px}.tool-file-drop h2{font-size:18px}.tool-local-note{align-items:flex-start;font-size:10px!important}.tool-start-intro>p{font-size:14px}.tool-instructions>h2{font-size:20px}}
.tool-start-intro>.tool-card-icon svg{width:80px;height:80px}
.tool-information{margin-top:46px;border-top:1px solid var(--line);padding-top:30px}.tool-information>h2{font-size:23px;font-weight:500;margin:0 0 20px}.tool-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.tool-information-grid h3{font-size:17px;margin:0 0 8px}.tool-information-grid p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}@media(max-width:650px){.tool-information-grid{grid-template-columns:1fr;gap:24px}.tool-information>h2{font-size:20px}}
/* Shared tool navigation: direct links, conversion disclosure and mega menu. */
.site-navigation{position:sticky;top:0;z-index:40;background:white;border-bottom:1px solid var(--line)}.site-navigation-inner{max-width:1380px;margin:auto;padding:0 28px;min-height:82px;display:flex;align-items:center;gap:48px;position:relative}.primary-tool-nav{display:flex;align-items:center;gap:28px}.primary-nav-link,.nav-disclosure>summary{display:flex;align-items:center;gap:9px;min-height:82px;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.primary-nav-link:hover,.nav-disclosure>summary:hover,.nav-disclosure[open]>summary{color:var(--blue)}.nav-disclosure>summary{list-style:none}.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-disclosure>summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.nav-disclosure[open]>summary svg{transform:rotate(180deg)}.nav-disclosure>summary:focus-visible{outline:3px solid #69bcf0;outline-offset:-6px;border-radius:8px}.nav-dropdown{position:absolute;top:100%;left:24px;right:24px;background:white;border:1px solid #e8edf3;box-shadow:0 18px 45px #1724331c;border-radius:0 0 16px 16px;padding:30px;display:grid;gap:20px;max-height:calc(100dvh - 100px);overflow-y:auto}.nav-convert{position:relative}.convert-dropdown{left:50%;right:auto;transform:translateX(-50%);width:640px;max-width:calc(100vw - 48px);grid-template-columns:repeat(2,minmax(0,1fr))}.all-tools-dropdown{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-tool-group{min-width:0}.nav-tool-group h2{font-size:13px;font-weight:600;color:#6c7683;margin:0 0 16px}.nav-tool-link{display:flex;align-items:center;gap:11px;border-radius:8px;padding:10px 7px;margin:0 -7px 6px;font-size:13px;font-weight:500;line-height:1.6}.nav-tool-link:hover{background:var(--category-wash);color:var(--category-text)}.nav-tool-link>.tool-artwork{width:32px;height:32px;flex-shrink:0;color:var(--category-color)}.nav-tool-link small{display:block;font-size:10px;font-weight:400;color:#7a8490;margin-top:1px}.nav-mobile-toggle{display:none;border:1px solid var(--line);background:white;border-radius:8px;padding:10px 13px;min-height:44px;font-size:13px}@media(max-width:1000px){.site-navigation-inner{min-height:72px;padding:0 20px;justify-content:space-between;gap:15px}.nav-mobile-toggle{display:inline-flex}.primary-tool-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #17243312;padding:8px 20px 20px;max-height:calc(100dvh - 73px);overflow-y:auto}.nav-expanded .primary-tool-nav{display:block}.primary-nav-link,.nav-disclosure>summary{min-height:50px;padding:9px 10px;justify-content:space-between;border-bottom:1px solid #f0f3f6}.nav-dropdown{position:static;width:auto;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:0;border-radius:10px;padding:22px 16px;margin:8px 0 15px;background:#f7f9fc;gap:24px}.all-tools-dropdown{grid-template-columns:repeat(2,minmax(0,1fr))}.convert-dropdown{transform:none;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-tool-link{font-size:12px;gap:8px}.nav-tool-group h2{font-size:12px}.nav-tool-link>.tool-artwork{width:28px;height:28px}}@media(max-width:360px){.all-tools-dropdown,.convert-dropdown{grid-template-columns:1fr}}
/* Local PDF merge workspace */
.merge-workspace{max-width:800px;margin:32px auto 64px}.merge-list{list-style:none;padding:0;display:grid;gap:12px}.merge-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:12px;padding:18px;background:white}.merge-list li>div:first-child{min-width:0}.merge-list strong{display:block;overflow-wrap:anywhere}.merge-list span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.merge-row-actions{display:flex;gap:6px;flex-shrink:0}.merge-row-actions button{padding:9px;border:1px solid var(--line);border-radius:8px;background:white;font-size:12px;min-height:44px}.merge-row-actions button:hover:not(:disabled){background:#eef6fd}.merge-actions{display:flex;justify-content:space-between;gap:16px;margin-top:24px}.merge-note{font-size:13px;color:#63758a;line-height:1.8;margin-top:20px}.merge-error{color:#ab2626;background:#fff2f2;padding:14px;border-radius:8px;white-space:pre-line;overflow-wrap:anywhere}.tool-file-drop.dragging{outline:3px solid var(--blue);background:#eef7ff}@media(max-width:600px){.merge-list li{align-items:stretch;flex-direction:column;gap:12px}.merge-row-actions{justify-content:flex-end}.merge-actions{flex-wrap:wrap}.merge-actions button{flex:1;white-space:nowrap}}
.split-filename{font-weight:600;overflow-wrap:anywhere}.split-workspace label{display:block;font-weight:600;margin:24px 0 8px}.split-workspace input[type=text]{width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:white}.split-workspace input[aria-invalid=true]{border-color:#ab2626}.split-clear{margin-top:20px}.split-workspace .merge-actions{flex-wrap:wrap}
.split-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:16px;margin:20px 0}.split-page-card{min-width:0}.split-page-toggle{width:100%;border:2px solid var(--line);border-radius:10px;padding:10px;background:#f5f7fa;display:flex;flex-direction:column;align-items:center;gap:10px}.split-page-toggle[aria-pressed=true]{border-color:var(--blue);background:#eaf6ff;color:#086ca4}.split-page-toggle[aria-pressed=true] span:after{content:" ✓"}.split-page-toggle canvas{max-width:100%;height:180px;object-fit:contain}.split-page-toggle:focus-visible,.split-page-zoom:focus-visible{outline:3px solid #69bcf0;outline-offset:3px}.split-page-zoom{width:100%;min-height:44px;border:0;background:transparent;color:#0878b9}.split-preview-dialog{width:min(900px,94vw);max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:20px}.split-preview-dialog::backdrop{background:#13243499}.split-preview-dialog>canvas{display:block;max-width:100%;height:auto;margin:auto}.split-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.split-preview-heading h2{font-size:18px;margin:0}@media(max-width:400px){.split-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.split-page-toggle canvas{height:150px}}
/* Split document workspace: preview and persistent action sidebar. */
.split-editor[hidden]{display:none}.split-editor{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:calc(100dvh - 83px);background:#f4f5f9}.split-stage{padding:28px 36px;min-width:0}.split-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.split-stage-toolbar>div{min-width:0}.split-stage-toolbar strong{display:block;overflow-wrap:anywhere;font-size:14px}.split-stage-toolbar [data-preview-status]{display:block;font-size:12px;color:#718096;margin-top:6px}.split-stage-toolbar>button{flex-shrink:0}.split-sidebar{background:white;border-left:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:83px;height:calc(100dvh - 83px);overflow-y:auto}.split-sidebar>h1{font-size:28px;text-align:center;padding:26px 16px;margin:0}.split-mode-tabs{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.split-mode-tabs button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;background:white;border:0;border-bottom:3px solid transparent;color:#718096}.split-mode-tabs button+button{border-left:1px solid var(--line)}.split-mode-tabs .tool-artwork{width:38px;height:38px}.split-mode-tabs button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue);background:#f5fbff}.split-options{padding:24px;flex:1}.split-options h2{font-size:15px;margin:0 0 14px}.split-range-modes{display:flex;gap:10px;margin-bottom:24px}.split-range-modes button{flex:1;padding:14px 8px;border:1px solid var(--line);border-radius:9px;background:#f6f7fa;font-size:13px}.split-range-modes button[aria-pressed=true]{border:2px solid var(--blue);color:var(--blue);background:#f1f9ff}.split-range-list{display:grid;gap:18px}.split-range-list fieldset{margin:0;padding:10px 0 0;border:0;display:flex;align-items:end;gap:8px;min-width:0}.split-range-list legend{font-size:14px;font-weight:600}.split-range-list label{font-size:12px;flex:1;min-width:0;color:#64748b}.split-options input[type=number],.split-options input[type=text]{width:100%;border:1px solid #cbd3df;border-radius:6px;padding:11px 9px;background:white;font:inherit;min-height:44px;margin-top:6px}.split-options input[aria-invalid=true]{border-color:#b83232}.split-range-list button{min-height:44px;padding:8px;border:0;background:transparent;color:#a73e3e;font-size:12px}.split-add{margin:22px 0 4px;width:100%;border:1px solid var(--blue);color:var(--blue);background:white}.split-combine{display:flex;align-items:center;gap:10px;font-size:14px;margin-top:26px}.split-combine input{width:20px;height:20px;accent-color:var(--blue);flex-shrink:0}.split-hint,.split-output-note{font-size:12px;line-height:1.8;color:#718096}.split-output-note summary{cursor:pointer}.split-reset{background:none;border:0;padding:12px 0;color:#66778a;font-size:12px;text-decoration:underline}.split-download{padding:18px 24px 24px;border-top:1px solid var(--line);background:white;position:sticky;bottom:0}.split-download>button{width:100%;min-height:62px;font-size:20px;justify-content:center}.split-download [data-status]{font-size:12px;color:#64748b;margin:0 0 12px}.split-open-error{max-width:640px;margin:20px auto}.split-stage .split-previews{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:24px}.split-previews.show-ranges{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:32px}.split-preview-group{max-width:100%;text-align:center}.split-preview-group h2{font-size:16px;font-weight:500;color:#64748b;margin:4px 0 18px}.split-range-preview{display:flex;align-items:center;gap:18px;padding:20px;border:1px dashed #aeb7c5;border-radius:4px;max-width:100%}.split-range-page{display:flex;flex-direction:column;align-items:center;gap:14px;width:200px;max-width:100%;padding:20px 16px 12px;background:white;box-shadow:0 3px 14px #2639540b;border:1px solid #edf0f5;border-radius:12px;color:#64748b;min-width:0}.split-range-page canvas{width:100%;height:250px;object-fit:contain;filter:drop-shadow(0 1px 3px #0002)}.split-preview-group>p{font-size:12px;color:#8490a1;margin-top:12px}.split-range-dots{font-size:26px;color:#64748b}.split-empty-preview{margin-top:70px;color:#718096}.split-stage .split-page-toggle canvas{height:220px}.split-stage .split-page-toggle{background:white}.split-stage .split-page-toggle[aria-pressed=true]{background:#eaf6ff}.split-stage .split-page-toggle:disabled{opacity:1}.split-sidebar [data-page-settings]>button{width:100%;margin-top:12px}@media(max-width:1100px){.split-editor{grid-template-columns:minmax(0,1fr) 340px}.split-stage{padding:22px}.split-range-page{width:150px;padding:12px}.split-range-page canvas{height:210px}.split-range-preview{gap:10px;padding:12px}.split-options{padding:20px}}@media(max-width:1000px){.split-sidebar{top:73px;height:calc(100dvh - 73px)}}@media(max-width:760px){.split-editor{display:flex;flex-direction:column}.split-stage{padding:20px 14px}.split-stage-toolbar{align-items:flex-start;margin-bottom:20px}.split-stage-toolbar>button{font-size:12px;padding:10px}.split-sidebar{position:static;height:auto;border-left:0;border-top:1px solid var(--line)}.split-sidebar>h1{font-size:24px;padding:20px}.split-stage .split-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.split-stage .split-page-toggle canvas{height:180px}.split-range-page{width:140px;padding:10px}.split-range-page canvas{height:190px}.split-range-preview{gap:8px;padding:10px}.split-range-dots{font-size:18px}.split-options{padding:22px}.split-download{position:static;padding:20px 22px}.split-open-error{margin:20px}.split-stage-toolbar strong{font-size:13px}}
/* Merge documents as reorderable preview cards. */
.merge-stage-toolbar{margin-bottom:30px}.merge-stage .split-stage-toolbar span{display:block;font-size:12px;color:#718096;margin-top:6px}.merge-stage-tools{display:flex;gap:10px;flex-shrink:0}.merge-stage .merge-document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:22px;list-style:none;padding:0;margin:0}.merge-document-grid li{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;padding:15px;border:2px solid transparent;box-shadow:0 2px 12px #2439540a;cursor:grab;min-width:0}.merge-document-grid li:active{cursor:grabbing}.merge-cover{display:flex;align-items:center;justify-content:center;height:260px;background:#f8f9fb;padding:12px;border-radius:5px;font-size:12px;color:#718096}.merge-cover canvas{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #0002)}.merge-document-grid strong{font-size:13px;line-height:1.5}.merge-document-grid .merge-row-actions{justify-content:space-between;margin-top:auto;gap:4px}.merge-document-grid .merge-row-actions button{padding:6px;font-size:11px}.merge-document-grid .is-dragging{opacity:.45}.merge-document-grid .drag-target{border-color:var(--blue);background:#f0f9ff}.merge-stage.dragging{outline:3px dashed var(--blue);outline-offset:-12px}.merge-stage-hint{font-size:12px;text-align:center;color:#8490a1;margin:30px 0}.merge-instruction{background:#eef8ff;color:#42647e;padding:16px;border-radius:8px;font-size:14px;line-height:1.8}.merge-feedback{max-width:800px;margin:20px auto;padding:0 20px}.merge-tool.has-documents .merge-feedback{position:fixed;bottom:110px;right:0;width:390px;max-height:170px;overflow:auto;z-index:5;margin:0;padding:12px 24px;background:white;font-size:12px}.merge-sidebar .split-options{padding-bottom:200px}.merge-sidebar .split-download{flex-shrink:0}.merge-sidebar .split-download>button{font-size:17px}.merge-feedback .merge-error{margin-bottom:0}@media(max-width:1100px){.merge-tool.has-documents .merge-feedback{width:340px}.merge-stage .merge-document-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media(max-width:760px){.merge-stage .split-stage-toolbar{flex-direction:column}.merge-stage-tools{width:100%}.merge-stage-tools button{flex:1}.merge-stage .merge-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.merge-document-grid li{padding:10px}.merge-cover{height:190px;padding:8px}.merge-document-grid .merge-row-actions{flex-wrap:wrap}.merge-document-grid .merge-row-actions button{flex:1}.merge-tool.has-documents .merge-feedback{position:static;width:auto;max-height:none;padding:14px 22px;margin:0}.merge-sidebar .split-options{padding-bottom:20px}}

.merge-tool.has-documents .merge-feedback{position:static;width:auto;max-height:180px;padding:0 0 14px;margin:0;background:transparent}.merge-sidebar .split-options{padding-bottom:24px}.merge-sidebar .merge-feedback p{font-size:12px;line-height:1.6}
/* Floating add-file source picker, matching the reference interaction. */
.merge-stage{position:relative;padding-right:100px}.merge-file-tools{position:absolute;right:25px;top:104px;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:6}.merge-sort-toggle{position:relative;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#47566b;font-size:14px;font-weight:600;cursor:pointer}.merge-tool-tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:8px 11px;border-radius:5px;background:#253449;color:white;font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}.merge-file-tools button:focus-visible{outline:3px solid #76c5fa;outline-offset:4px}.merge-stage .merge-document-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding-top:48px}.merge-stage .merge-document-grid li{width:220px;flex:none}.merge-file-tools button:not(.unavailable):hover{filter:brightness(.96)}@media(max-width:760px){.merge-stage{padding-right:76px}.merge-file-tools{right:12px;top:90px}.merge-stage .merge-document-grid{padding-top:20px;gap:14px}.merge-stage .merge-document-grid li{width:min(220px,100%)}.merge-tool-tip{font-size:11px;right:calc(100% + 8px)}}@media(prefers-reduced-motion:reduce){.merge-tool-tip{transition:none}}

/* Object controls sit outside content; text frames follow measured content. */
.text-object:not(.signature-object){border:0}
.text-object.selected{outline-offset:3px;z-index:2}
.text-object textarea{tab-size:4}
.text-object textarea:focus-visible{outline:none}
.object-actions{position:absolute;top:-38px;display:none;gap:4px;height:30px;white-space:nowrap}
.object-actions.below{top:calc(100% + 8px)}
.selected .object-actions{display:flex}
.object-actions .move-handle,.object-actions .object-delete{position:static;display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;min-width:32px;padding:0;border:1px solid #1686ce;border-radius:5px;background:#fff;color:#1686ce;box-shadow:0 1px 4px #192b3d18}
.object-actions .move-handle{background:#1686ce;color:white}
.object-actions .object-delete:hover{background:#fff2f2;border-color:#bd3636;color:#bd3636}
.object-actions button:focus-visible{outline:2px solid #192b3d;outline-offset:2px}

/* DocNory: a folded document forms the D in the wordmark. */
@font-face{font-family:DocNoryBrand;src:url('../fonts/Sarabun-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
.docnory-logo{display:inline-flex;align-items:center;gap:0;line-height:1;white-space:nowrap;color:var(--ink);vertical-align:middle}
.docnory-symbol{display:block;width:36px;height:42px;flex-shrink:0}
.docnory-word{font-family:DocNoryBrand,system-ui,sans-serif;font-size:31px;font-weight:800;letter-spacing:-1.3px;margin-left:-1px;padding-bottom:2px}
.editor-header .docnory-symbol,footer .docnory-symbol{width:29px;height:34px}
.editor-header .docnory-word,footer .docnory-word{font-size:25px;letter-spacing:-1px}
@media(max-width:650px){.site-navigation .docnory-symbol{width:31px;height:36px}.site-navigation .docnory-word{font-size:27px}}
