
.ed-page{max-width:1360px;margin:auto;padding:32px 26px 90px}
.ed-heading{display:flex;gap:40px;justify-content:space-between;align-items:end;padding-bottom:26px}
.ed-heading h1{font-size:clamp(46px,5vw,67px);letter-spacing:-.07em;line-height:1.02;margin:0 0 10px}
.ed-heading p{max-width:540px;margin:0;color:#656174;font-size:16px;line-height:1.6}
.ed-subtle{max-width:275px!important;font-size:13px!important;color:#6e697b!important}
.editor-app{background:#f6f4fa;border:1px solid #e4e0ed;border-radius:17px;min-height:420px;overflow:clip}
.ed-upload{margin:37px auto;max-width:640px;width:calc(100% - 40px);padding:70px 20px;background:#fff;border:2px dashed #c5bcf1;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:background .2s,border-color .2s}
.ed-upload:hover,.ed-upload.dragging{border-color:#5845e9;background:#faf9ff}
.ed-upload strong{font:800 24px 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.04em}
.ed-upload p{font-size:14px;color:#777386;max-width:410px;line-height:1.7}
.ed-upload-symbol{width:64px;height:64px;display:grid;place-items:center;color:#5845e9;background:#eeeaff;border-radius:18px;font-size:28px;margin-bottom:17px}
.ed-upload-button{font-size:15px;background:#5845e9;border-radius:10px;color:#fff;font-weight:800;padding:13px 22px;min-height:46px}
.ed-interface[hidden],.ed-entry[hidden],.ed-download[hidden],.ed-toolbar-section[hidden],.ed-option[hidden]{display:none!important}
.ed-toolbar{position:sticky;top:76px;z-index:22;background:#fff;border-bottom:1px solid #e5e0ed;padding:12px 17px;box-shadow:0 5px 21px #1e173012}
.ed-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ed-doc-name{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#2e2a3c;font-size:14px;font-weight:800}
.ed-top-actions{display:flex;align-items:center;gap:10px}
.ed-toolbar button,.ed-side button{font:750 13px/1 'DM Sans',Arial,sans-serif;min-height:42px;cursor:pointer;white-space:nowrap}
.ed-minor{background:#fff;border:1px solid #e2ddeb;border-radius:9px;padding:0 13px;color:#5945ac}
.ed-save{background:#5845e9;border:1px solid #5845e9;border-radius:10px;padding:0 18px;color:white;font-weight:800!important}
.ed-save:hover:not(:disabled){background:#4230cd}.ed-save:disabled{opacity:.5;cursor:not-allowed}
.ed-tools{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}
.ed-tool{background:#f6f4fa;border:1px solid transparent;border-radius:9px;padding:0 13px;color:#514f61}
.ed-tool:hover,.ed-tool.active{background:#eeeaff;color:#513cd1;border-color:#d6cef9}
.ed-toolbar-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px;font-size:13px}
.ed-option{display:inline-flex;align-items:center;gap:7px}.ed-option input[type=text]{font:600 14px 'DM Sans',Arial,sans-serif;border:1px solid #ddd7e9;border-radius:7px;padding:8px 10px;width:220px;max-width:55vw}
.ed-option select{border:1px solid #ddd7e9;border-radius:7px;padding:8px;background:white}.ed-option input[type=color]{width:36px;height:36px;padding:0;border:0;background:none}
.ed-status{font-size:13px;line-height:1.5;color:#5c5682;padding:11px 18px;margin:0;min-height:40px}
.ed-status[data-error=true]{color:#b53143}
.ed-download{display:flex;gap:15px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:14px 18px;background:#e7f6ec;border-bottom:1px solid #cde8d7;color:#26654b}
.ed-download strong{font-size:15px}.ed-download a{background:#177855;color:white;border-radius:9px;padding:10px 16px;font-size:14px;font-weight:800}
.ed-stage{display:grid;grid-template-columns:minmax(0,1fr) 257px;gap:0;align-items:start}
.ed-stage-main{min-width:0;min-height:480px;background:#e9e7f0;padding:20px 20px 48px;overflow:auto;display:flex;justify-content:center}
.ed-paper{position:relative;background:white;box-shadow:0 10px 30px #211b3429;flex-shrink:0;max-width:100%}
.ed-page-preview,.ed-overlay{position:absolute;top:0;left:0;display:block;max-width:100%}
.ed-paper[data-tool=select] .ed-overlay{pointer-events:none;cursor:default}
.ed-paper[data-tool=text] .ed-overlay{cursor:text;touch-action:none}
.ed-paper[data-tool=image] .ed-overlay{cursor:copy;touch-action:none}
.ed-paper[data-tool=draw] .ed-overlay{cursor:crosshair;touch-action:none}
.ed-paper[data-tool=highlight] .ed-overlay,.ed-paper[data-tool=cover] .ed-overlay{cursor:crosshair;touch-action:none}
.ed-side{background:#fff;border-left:1px solid #e7e2ed;min-height:480px;padding:22px 18px;position:sticky;top:200px}
.ed-side h2{font-size:18px;margin:0 0 13px}
.ed-page-nav{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:12px 0 22px}
.ed-page-nav span{font-size:13px;font-weight:750;color:#454054}
.ed-page-nav button{min-width:36px;padding:0 8px;background:#f1eefb;border:1px solid #e1d9f7;border-radius:8px;color:#5b49d0}
.ed-page-nav button:disabled{opacity:.35}
.ed-side p,.ed-side li{font-size:13px;color:#656271;line-height:1.65}
.ed-side ol{padding-left:19px}
.ed-side-note{padding:12px;background:#fff6e8;border-left:3px solid #d09a55;border-radius:6px;font-size:12px!important}
.ed-explain{max-width:1070px;margin:47px auto 0;border-top:1px solid #e8e3ee;padding:34px 4px;display:grid;grid-template-columns:1fr 1fr;gap:50px}
.ed-explain h2{font-size:24px;margin:0 0 15px}.ed-explain p{color:#646171;font-size:15px;line-height:1.7}
@media(max-width:950px){.ed-stage{grid-template-columns:1fr}.ed-side{position:static;min-height:0;border-left:0;border-top:1px solid #e5e2eb}.ed-side ol{display:none}.ed-stage-main{min-height:360px}.ed-side-note{margin-bottom:0}}
@media(max-width:680px){.ed-page{padding:19px 12px 65px}.ed-heading{display:block;padding:10px 5px 25px}.ed-heading h1{font-size:47px}.ed-heading p{font-size:15px}.ed-subtle{display:none}.ed-toolbar{top:65px;padding:9px 10px}.ed-doc-name{max-width:142px;font-size:12px}.ed-toolbar-head{margin-bottom:6px}.ed-top-actions{gap:5px}.ed-minor,.ed-save{font-size:12px!important;padding:0 10px}.ed-tools{gap:5px}.ed-tool{font-size:12px!important;padding:0 11px}.ed-stage-main{padding:12px 6px 25px;overflow-x:auto}.ed-explain{grid-template-columns:1fr;gap:20px}.ed-upload{margin:17px auto;padding:40px 20px}.ed-upload strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.ed-upload{transition:none}}

/* PDFLife editor v2 — task-first tools, selection and document navigation */
.ed-page{max-width:1510px;padding-top:18px}
.ed-heading{padding-bottom:20px}
.ed-heading h1{font-size:clamp(38px,4vw,57px)}
.editor-app{overflow:visible;isolation:isolate}
.ed-toolbar{position:sticky;top:76px;z-index:33;padding:10px 14px;border-radius:16px 16px 0 0}
.ed-toolbar-head{margin-bottom:8px}
.ed-zoom-label{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#5e596b;font-weight:700}
.ed-zoom-label select{background:#f9f8fc;border:1px solid #ded9e9;border-radius:8px;padding:7px 8px;font-size:13px;color:#302b44}
.ed-tools{padding:1px 0 5px}
.ed-tool{min-height:39px!important;padding-inline:12px}
.ed-tool.active{box-shadow:inset 0 0 0 1px #baaef8}
.ed-toolbar-settings{min-height:0;gap:9px}
.ed-toolbar-settings [hidden],.ed-properties[hidden],.ed-properties label[hidden]{display:none!important}
.ed-toolbar-settings select{min-height:37px}
.ed-stage{grid-template-columns:minmax(0,1fr) 272px}
.ed-stage-main{padding:26px 20px 44px;align-items:flex-start;overflow:auto}
.ed-paper{border-radius:2px;overflow:hidden}
.ed-paper[data-tool=select] .ed-overlay{pointer-events:auto;cursor:default;touch-action:none}
.ed-paper[data-tool=rectangle] .ed-overlay,.ed-paper[data-tool=ellipse] .ed-overlay,.ed-paper[data-tool=line] .ed-overlay{cursor:crosshair;touch-action:none}
.ed-side{position:sticky;top:215px;max-height:calc(100vh - 225px);overflow-y:auto;padding:19px 15px}
.ed-page-nav{margin:7px 0 12px}
.ed-find{display:flex;gap:7px;margin:6px 0 13px}
.ed-find input{min-width:0;flex:1;max-width:195px;padding:9px;border:1px solid #e0dbea;border-radius:8px;font-size:13px}
.ed-find button{font-size:12px;background:#f1eefb;border:1px solid #ddd3f6;border-radius:8px;padding:8px;color:#5244b1}
.ed-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:275px;overflow-y:auto;padding:4px 4px 14px;border-bottom:1px solid #eee9f3;margin-bottom:16px}
.ed-thumb{display:flex;align-items:center;flex-direction:column;gap:4px;min-height:95px;padding:7px 3px;background:#faf9fc;border:1px solid #e2deea;border-radius:9px;color:#59576b;font:700 12px 'DM Sans',Arial,sans-serif;cursor:pointer}
.ed-thumb canvas{display:block;max-width:100%;max-height:90px;background:#fff;border:1px solid #ebe9ef}
.ed-thumb[aria-current=page]{border:2px solid #5845e9;background:#f3efff;color:#4d3ac7}
.ed-thumb:hover{border-color:#a497e9}
.ed-properties{background:#f7f5ff;border:1px solid #e1dafb;border-radius:12px;padding:14px;margin:12px 0 18px}
.ed-properties h2{margin:0 0 5px;font-size:17px}
.ed-properties label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px;color:#5a526c;margin-top:10px}
.ed-properties textarea,.ed-properties input[type=number]{width:100%;border:1px solid #d9d1e6;border-radius:7px;padding:8px;background:#fff;color:#282536;font-size:13px;box-sizing:border-box}
.ed-properties input[type=color]{width:44px;height:34px;padding:1px;border:1px solid #d9d1e6;border-radius:6px}
.ed-property-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ed-selected-label{font-size:12px!important;color:#6d628d!important;margin:2px 0 9px}
.ed-property-actions{display:flex;gap:7px;margin-top:12px}
.ed-property-actions button{min-height:38px;background:#fff;border:1px solid #ddd7eb;border-radius:7px;padding:0 13px;font-size:12px;color:#4d435f}
.ed-property-actions .ed-delete{border-color:#f0d3d6;color:#aa3340;background:#fff9f9}
.ed-tips-title{font-size:16px!important;margin-top:16px!important}
.ed-status{padding:8px 14px;min-height:34px}
.ed-overlay:focus-visible{outline:3px solid #5845e9;outline-offset:3px}
@media(max-width:1020px){
.ed-stage{grid-template-columns:1fr}
.ed-side{position:static;max-height:unset;border-left:0;overflow:visible}
.ed-thumbnails{display:flex;gap:8px;max-height:115px;overflow-x:auto}
.ed-thumb{min-width:85px;min-height:86px}
.ed-tips-title,.ed-side ol{display:none}
.ed-properties{max-width:500px}
}
@media(max-width:680px){
.ed-page{padding:12px 9px 70px}.ed-heading{padding:9px 5px 16px}
.ed-heading h1{font-size:42px}
.ed-toolbar{top:65px;padding:8px 8px 9px}
.ed-top-actions{gap:5px}.ed-zoom-label{font-size:0;gap:0}
.ed-zoom-label select{font-size:12px;padding:5px;max-width:70px}
.ed-tools{gap:5px}
.ed-tool{min-height:42px!important}
.ed-stage-main{padding:12px 5px 24px}
.ed-side{padding:12px}
.ed-thumbnails{margin-bottom:10px}
.ed-property-actions button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.ed-tool,.ed-thumb,.ed-upload{transition:none!important}}

/* Prevent zoomed pages from becoming inaccessible on the left edge. */
.ed-stage-main{justify-content:safe center}

/* Direct-on-page text editing. No extra input field above the page. */
.ed-text-instruction{display:inline-flex;align-items:center;color:#514a69;font-size:13px;font-weight:650;line-height:1.45;background:#f3efff;padding:8px 11px;border-radius:8px}
.ed-inline-editor[hidden],.ed-inline-warning[hidden]{display:none!important}
.ed-inline-editor{position:absolute;z-index:18;background:#ffffff;box-shadow:0 12px 28px #2620412a;border:2px solid #5845e9;border-radius:10px;padding:9px;box-sizing:border-box;max-width:calc(100% - 8px);overflow:visible}
.ed-inline-editor textarea{display:block;resize:vertical;min-height:56px;max-height:180px;width:100%;box-sizing:border-box;border:1px solid #d9d4ec;outline-offset:2px;border-radius:6px;padding:9px;background:#fff;color:#20202a;font-family:Arial,sans-serif;line-height:1.35}
.ed-inline-editor textarea:focus-visible{outline:2px solid #5945e9}
.ed-inline-warning{background:#fff2dc;color:#705018;border-left:3px solid #d99932;padding:8px;margin:8px 0;font-size:12px;line-height:1.45;border-radius:3px}
.ed-inline-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:7px}
.ed-inline-actions span{font:600 11px 'DM Sans',Arial,sans-serif;color:#777285;margin-right:auto}
.ed-inline-actions button{min-height:34px;padding:7px 12px;border-radius:7px;font:750 12px 'DM Sans',Arial,sans-serif;border:1px solid #e0dbea;background:#fff;color:#5c4f7a;cursor:pointer}
.ed-inline-actions [data-inline-apply]{background:#5845e9;color:#fff;border-color:#5845e9}
.ed-paper{overflow:visible}
@media(max-width:560px){.ed-text-instruction{font-size:12px}.ed-inline-actions span{display:none}.ed-inline-editor{padding:7px}.ed-inline-editor textarea{font-size:14px}}

/* Immediate formatting, including after applying inline text. */
.ed-selected-format[hidden],.ed-properties label[hidden]{display:none!important}
.ed-selected-format{display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px;width:100%;background:#f4f0ff;border:1px solid #ded7f7;border-radius:10px;padding:10px 12px;box-sizing:border-box}
.ed-selected-format>strong{font:800 13px 'DM Sans',Arial,sans-serif;color:#4334a3;margin-right:5px}
.ed-selected-format label{display:flex;align-items:center;gap:6px;font:700 12px 'DM Sans',Arial,sans-serif;color:#534e68}
.ed-selected-format select,.ed-selected-format input[type=number]{font:600 13px 'DM Sans',Arial,sans-serif;color:#302b44;background:#fff;border:1px solid #d7d0eb;border-radius:8px;padding:7px 8px;height:38px;box-sizing:border-box}
.ed-selected-format select{min-width:110px}
.ed-selected-format input[type=number]{width:65px}
.ed-selected-format input[type=color]{width:43px;height:38px;background:#fff;border:1px solid #d7d0eb;border-radius:8px;padding:3px;cursor:pointer}
.ed-properties select{border:1px solid #d9d1e6;border-radius:7px;background:#fff;padding:8px;color:#2b2742;font-size:13px;max-width:100%}
.ed-toolbar:has(.ed-selected-format:not([hidden])) .ed-toolbar-settings{gap:8px}
@media(max-width:680px){.ed-selected-format{gap:6px 8px;padding:8px}.ed-selected-format>strong{width:100%;font-size:12px}.ed-selected-format label{font-size:11px}.ed-selected-format select{min-width:100px}.ed-selected-format select,.ed-selected-format input[type=number]{height:36px}.ed-selected-format input[type=color]{height:36px}}
