:root{--brand:#E1362E;--brand-strong:#C42822;--brand-ink:#A61F1A;--brand-soft:#FDEBEA;--brand-hover:#F04A41;--paper:#FBF8F8;--surface:#FFFFFF;--surface-2:#FAF6F6;--ink:#1C1517;--body:#55494B;--muted:#877B7D;--faint:#B4A9AB;--line:#EEE6E6;--line-strong:#E0D5D5;--ok:#1E9E6A;--ok-soft:#E4F5EE;--editor-bg:#ECE6E6;--shadow:0 1px 2px rgba(28,21,23,.05),0 10px 30px -14px rgba(28,21,23,.18);--shadow-lg:0 26px 60px -26px rgba(28,21,23,.30);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--radius:14px;--maxw:1160px}:root:not([data-theme=light]){@media (prefers-color-scheme:dark){--brand:#FF5A52;--brand-strong:#FF6E66;--brand-ink:#FF8078;--brand-soft:#2A1514;--brand-hover:#FF6E66;--paper:#131010;--surface:#1B1616;--surface-2:#211A1A;--ink:#F5EEEE;--body:#C4B8B9;--muted:#8E8283;--faint:#5F5556;--line:#2B2323;--line-strong:#3A2F2F;--ok:#34C98A;--ok-soft:#10231C;--editor-bg:#100D0D;--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px -16px rgba(0,0,0,.6);--shadow-lg:0 30px 70px -28px rgba(0,0,0,.7)}}:root[data-theme=dark]{--brand:#FF5A52;--brand-strong:#FF6E66;--brand-ink:#FF8078;--brand-soft:#2A1514;--brand-hover:#FF6E66;--paper:#131010;--surface:#1B1616;--surface-2:#211A1A;--ink:#F5EEEE;--body:#C4B8B9;--muted:#8E8283;--faint:#5F5556;--line:#2B2323;--line-strong:#3A2F2F;--ok:#34C98A;--ok-soft:#10231C;--editor-bg:#100D0D;--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px -16px rgba(0,0,0,.6);--shadow-lg:0 30px 70px -28px rgba(0,0,0,.7)}@font-face{font-family:Dancing Script;src:url(/fonts/dancing-script.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Great Vibes;src:url(/fonts/great-vibes.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pacifico;src:url(/fonts/pacifico.woff2) format("woff2");font-weight:400;font-display:swap}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--body);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{color:var(--ink);margin:0;letter-spacing:-.02em;text-wrap:balance}p{margin:0}a{color:inherit;text-decoration:none}::selection{background:var(--brand);color:#fff}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;gap:16px;height:64px}.brand,.nav-inner{align-items:center}.brand{display:inline-flex;gap:11px;font-weight:700;color:var(--ink);letter-spacing:-.02em;font-size:17px}.logo{width:30px;height:30px;border-radius:8px;flex:none;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;line-height:1;box-shadow:0 6px 16px -6px var(--brand)}.brand small{display:block;font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.nav-spacer{flex:1 1}.nav-note{font-size:13px;color:var(--muted)}.nav-note b{color:var(--brand-ink)}.nav-link{font-size:14px;font-weight:600;color:var(--body);text-decoration:none;padding:7px 12px;border-radius:9px}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.hero-docs{margin-top:16px;font-size:14px;color:var(--muted)}.hero-docs a{color:var(--brand-ink);font-weight:600;text-decoration:none}.hero-docs a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:inherit;font-weight:600;font-size:14px;padding:10px 18px;border-radius:10px;border:1px solid transparent;transition:background .15s,transform .1s,box-shadow .15s}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px -8px var(--brand)}.btn-primary:hover{background:var(--brand-hover)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{background:var(--faint);box-shadow:none;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand-ink)}.hero{position:relative;padding:70px 0 40px;text-align:center;overflow:hidden}.hero-glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 60% at 50% 0,var(--brand-soft) 0,transparent 70%)}.hero>.wrap{position:relative;z-index:1}.pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:6px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow);font-size:12.5px;color:var(--muted);font-weight:500}.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.hero h1{font-size:clamp(34px,5.4vw,60px);font-weight:800;line-height:1.02}.hero h1 .r{color:var(--brand)}.hero p.sub{max-width:60ch;margin:20px auto 0;font-size:clamp(16px,1.7vw,19px);color:var(--muted)}.dz{margin:34px auto 0;max-width:720px;cursor:pointer;background:var(--surface);border:2px dashed var(--line-strong);border-radius:22px;padding:46px 26px;text-align:center;box-shadow:var(--shadow-lg);transition:border-color .18s,background .18s,transform .18s}.dz.drag{border-color:var(--brand);background:var(--brand-soft);transform:scale(1.008)}.dz .dico{width:60px;height:60px;margin:0 auto 16px;border-radius:17px;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px var(--brand)}.dz b{display:block;color:var(--ink);font-size:18px}.dz span.hint{display:block;margin-top:6px;font-size:14px;color:var(--muted)}.dz .browse{display:inline-block;margin-top:18px}.privacy-badge{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:13px;color:var(--ok);background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line));padding:8px 14px;border-radius:10px}.searchbar{max-width:520px;margin:40px auto 0;position:relative}.searchbar input{width:100%;font:inherit;font-size:15px;padding:13px 16px 13px 44px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.searchbar input::placeholder{color:var(--faint)}.searchbar svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--faint)}.section{padding:30px 0}.section-head{display:flex;align-items:baseline;gap:12px;margin:30px 0 16px}.section-head h2{font-size:22px;font-weight:700}.section-head .cap{font-size:14px;color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));grid-gap:14px;gap:14px}.card{display:flex;flex-direction:column;gap:8px;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s,border-color .16s}a.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.card.soon{opacity:.72}.card-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);margin-bottom:4px}.card h3{font-size:15.5px;font-weight:650}.card p{font-size:13px;color:var(--muted);line-height:1.45}.tag{position:absolute;top:14px;right:14px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:6px}.tag.free{background:var(--ok-soft);color:var(--ok)}.tag.soon{background:var(--surface-2);border:1px solid var(--line)}.crumb,.tag.soon{color:var(--muted)}.crumb{display:inline-flex;gap:8px;align-items:center;font-size:13px;margin:26px 0 18px}.crumb a:hover{color:var(--brand-ink)}.tool-hero{text-align:center;padding:8px 0 6px}.tool-hero .th-ico{width:56px;height:56px;border-radius:16px;margin:0 auto 16px;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px var(--brand)}.tool-hero h1{font-size:clamp(28px,4vw,40px);font-weight:800}.tool-hero p{max-width:54ch;margin:14px auto 0;color:var(--muted);font-size:16px}.panel{max-width:760px;margin:26px auto 0}.filelist{display:flex;flex-direction:column;gap:8px;margin-top:18px}.fileitem{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;box-shadow:var(--shadow)}.fileitem .fi-ico{width:34px;height:42px;border-radius:6px;background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;flex:none;font-size:10px;font-weight:700}.fileitem .fi-name{font-size:14px;color:var(--ink);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileitem .fi-size{font-size:12px;color:var(--muted)}.fileitem .fi-actions{margin-left:auto;display:flex;gap:4px}.iconbtn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);cursor:pointer;display:grid;place-items:center}.iconbtn:hover{color:var(--brand-ink);border-color:var(--brand)}.iconbtn:disabled{opacity:.35;cursor:not-allowed}.options{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:22px;padding:18px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.field input,.field select{font:inherit;font-size:14px;padding:9px 12px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);min-width:120px}.actionbar{display:flex;align-items:center;gap:14px;margin-top:26px}.status{font-size:14px;color:var(--muted)}.status.err{color:var(--brand-ink)}.status.ok{color:var(--ok);font-weight:600}.result{margin-top:22px;padding:22px;text-align:center;border-radius:16px;background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line))}.result b{color:var(--ink);font-size:17px}.result p{color:var(--muted);font-size:14px;margin-top:4px}.soon-box{max-width:560px;margin:30px auto 0;text-align:center;padding:40px 30px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.soon-box .sb-ico{width:54px;height:54px;margin:0 auto 16px;border-radius:15px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center}.soon-box h2{font-size:22px}.soon-box p{color:var(--muted);margin-top:10px}.sigpad-wrap{margin-top:22px}.sigpad{width:100%;max-width:520px;height:190px;border-radius:14px;border:2px dashed var(--line-strong);background:repeating-linear-gradient(0deg,transparent,transparent 44px,var(--line) 44px,var(--line) 45px),var(--surface);touch-action:none;cursor:crosshair;display:block}.sigpad-row{display:flex;align-items:center;gap:12px;margin-top:10px}.sigpad-hint{font-size:13px;color:var(--muted)}.thumbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:14px;gap:14px;margin-top:22px}.pagecard{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);cursor:-webkit-grab;cursor:grab;transition:transform .12s,box-shadow .12s,opacity .12s}.pagecard:active{cursor:-webkit-grabbing;cursor:grabbing}.pagecard.dragging{opacity:.4}.pagecard.over{box-shadow:0 0 0 2px var(--brand);transform:translateY(-2px)}.pagecard img{width:100%;display:block;background:#fff}.pagecard .pnum{position:absolute;left:8px;bottom:8px;font-family:var(--mono);font-size:11px;font-weight:600;background:color-mix(in srgb,var(--ink) 78%,transparent);color:#fff;padding:2px 7px;border-radius:6px}.pagecard .del{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:7px;border:none;background:color-mix(in srgb,var(--ink) 72%,transparent);color:#fff;cursor:pointer;display:grid;place-items:center}.pagecard .del:hover{background:var(--brand)}.rotate-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.rotatecard{cursor:default}.rot-frame{aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;background:#fff}.rot-frame img{width:auto;max-width:92%;max-height:92%;transition:transform .2s ease}.rot-actions{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-top:1px solid var(--line)}.rot-actions .pnum{position:static;background:transparent;color:var(--muted);padding:0}.rot-actions button{width:30px;height:26px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:15px}.rot-actions button:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.selcard{cursor:pointer;padding:0;border:1px solid var(--line);background:var(--surface);text-align:left}.selcard img{width:100%;display:block;background:#fff;opacity:.96}.selcard.keep{outline:2.5px solid var(--ok);outline-offset:-1px}.selcard.remove{outline:2.5px solid var(--brand);outline-offset:-1px}.selcard.remove img{opacity:.5}.selmark{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff}.selcard.keep .selmark{background:var(--ok)}.selcard.remove .selmark{background:var(--brand)}.insert-row{flex-wrap:wrap;margin-top:20px}.insert-page,.insert-row{display:flex;align-items:stretch;gap:4px}.insert-page .pagecard{width:128px;cursor:default}.insert-slot{width:44px;min-height:150px;border:1.5px dashed var(--line-strong);border-radius:10px;background:var(--surface-2);color:var(--muted);cursor:pointer;font-size:20px;display:grid;place-items:center;align-self:stretch}.insert-slot span{writing-mode:vertical-rl;font-size:12px;font-weight:700;letter-spacing:.04em}.insert-slot:hover{border-color:var(--brand);color:var(--brand-ink)}.insert-slot.on{border-style:solid;border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}.compress-orig{display:flex;align-items:center;gap:12px;margin-top:20px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.compress-orig .fi-ico{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--brand);color:#fff;font-size:12px;font-weight:800}.level-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:18px}.level-btn{display:flex;flex-direction:column;gap:3px;padding:14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;text-align:left}.level-btn b{color:var(--ink);font-size:14px}.level-btn span{color:var(--muted);font-size:12px}.level-btn.on{border-color:var(--brand);background:var(--brand-soft)}.compress-sizes{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px;font-size:16px;color:var(--muted)}.compress-sizes .arrow{color:var(--faint)}.compress-sizes .newsize{color:var(--ok);font-weight:700}.compress-note{color:var(--muted);font-size:13px;margin-top:4px}.meta-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.meta-tag{font-size:11px;font-weight:600;color:var(--brand-ink);background:var(--brand-soft);border-radius:6px;padding:2px 7px}.meta-none{font-size:12px;color:var(--muted)}.enh-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.enh-compare{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}.enh-preview{margin-top:14px;border-radius:12px;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;padding:12px;background:linear-gradient(45deg,var(--surface-2) 25%,transparent 25%),linear-gradient(-45deg,var(--surface-2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--surface-2) 75%),linear-gradient(-45deg,transparent 75%,var(--surface-2) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.enh-preview canvas{max-width:100%;height:auto;border-radius:6px;box-shadow:var(--shadow)}.autorun-status{margin-top:22px;padding:30px 20px;text-align:center;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;gap:8px}.autorun-status .spinner{width:26px;height:26px;border-width:3px}.autorun-status b{color:var(--ink);font-size:16px;margin-top:4px}.autorun-status p{color:var(--muted);font-size:13px}.loading-note{margin-top:22px;font-size:14px;color:var(--muted);display:flex;align-items:center;gap:10px}.spinner{width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.rectstage{position:relative;display:inline-block;max-width:100%;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);touch-action:none;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rectstage img{display:block;width:100%;height:auto;background:#fff}.rectbox{position:absolute;border:2px solid var(--brand);background:color-mix(in srgb,var(--brand) 22%,transparent)}.rectbox .rx{position:absolute;top:-10px;right:-10px;width:20px;height:20px;border-radius:50%;border:none;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow)}.edit-page,.redact-page{margin-top:18px}.edit-page .plabel,.redact-page .plabel{font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:8px}.editstage{position:relative;display:inline-block;max-width:100%;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);cursor:text;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editstage img{display:block;width:100%;height:auto;background:#fff}.edittag{position:absolute;transform:translateY(-100%);background:color-mix(in srgb,var(--ink) 82%,transparent);color:#fff;font-size:11px;padding:2px 6px;border-radius:5px;white-space:nowrap;display:flex;gap:6px;align-items:center}.edittag button{border:none;background:transparent;color:#fff;cursor:pointer;padding:0;display:grid;place-items:center}.textform{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:18px;padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.textform input[type=text]{min-width:200px}.ed2-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;position:-webkit-sticky;position:sticky;top:72px;z-index:20}.ed2-hint{font-size:13px;color:var(--muted)}.ed2-stage{position:relative;display:block;width:100%;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ed2-stage img{display:block;width:100%;height:auto;background:#fff}.ed2-box{position:absolute;box-sizing:border-box;display:flex;align-items:flex-end;line-height:1;overflow:hidden;white-space:pre;cursor:text}.ed2-box.editable:hover{outline:1.5px dashed color-mix(in srgb,var(--brand) 60%,transparent);outline-offset:1px;background:color-mix(in srgb,var(--brand) 8%,transparent)}.ed2-box.changed{outline:1px solid color-mix(in srgb,var(--brand) 45%,transparent)}.ed2-input{position:absolute;box-sizing:border-box;border:1.5px solid var(--brand);line-height:1;padding:0;margin:0;outline:none;white-space:pre}.ed2-del{position:absolute;top:-10px;right:-10px;width:20px;height:20px;border-radius:50%;border:none;background:var(--brand);color:#fff;display:none;place-items:center;cursor:pointer;z-index:5;box-shadow:var(--shadow)}.ed2-box:hover .ed2-del{display:grid}.ed2-added{position:absolute;transform:translateY(-100%);background:color-mix(in srgb,var(--ink) 80%,transparent);color:#fff;font-size:11px;padding:2px 6px;border-radius:5px;display:flex;gap:6px;align-items:center;white-space:nowrap}.ed2-added button{border:none;background:transparent;color:#fff;cursor:pointer;padding:0;display:grid;place-items:center}.ed2-fonttb{position:absolute;transform:translateY(-115%);display:flex;gap:2px;background:var(--ink);border-radius:7px;padding:3px;z-index:6;box-shadow:var(--shadow)}.ed2-fonttb button{width:24px;height:22px;border:none;border-radius:5px;background:transparent;color:#fff;cursor:pointer;font-size:12px;display:grid;place-items:center}.ed2-fonttb button.on{background:var(--brand)}.ed2-img{position:absolute}.ed2-img img{width:100%;height:100%;object-fit:fill;display:block}.ed2-img:hover{outline:1.5px solid var(--brand)}body.editor-open{overflow:hidden}.editor-shell{position:fixed;inset:0;z-index:60;background:var(--editor-bg);display:flex;flex-direction:column}.editor-topbar{flex:0 0 auto;height:56px;gap:14px;padding:0 14px;border-bottom:1px solid var(--line)}.editor-topbar,.es-back{display:flex;align-items:center;background:var(--surface)}.es-back{gap:6px;border:1px solid var(--line-strong);color:var(--body);border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.es-back:hover{background:var(--surface-2);color:var(--ink)}.es-title{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--ink);font-size:15px}.es-badge{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:6px;background:var(--brand);color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em}.es-note{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted)}.editor-canvas{flex:1 1 auto;overflow:auto;padding:18px clamp(12px,4vw,48px) 80px}.editor-canvas .panel{max-width:1040px;margin:0 auto;background:transparent;border:none;padding:0;box-shadow:none}.editor-canvas .dz{margin:0 auto 14px;max-width:1040px;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:12px;border-width:1.5px;box-shadow:var(--shadow);text-align:left}.editor-canvas .dz .dico{width:30px;height:30px;margin:0;border-radius:8px}.editor-canvas .dz .dico svg{width:17px;height:17px}.editor-canvas .dz b{font-size:13.5px}.editor-canvas .dz span.hint{display:none}.editor-canvas .dz .browse{margin:0 0 0 auto;padding:8px 16px;font-size:13px}.launch{display:flex;flex-direction:column;align-items:center;gap:14px}.launch .dz{width:100%}.launch-blank{border:none;background:transparent;color:var(--brand-ink);font-size:13.5px;font-weight:600;cursor:pointer;padding:4px 8px}.launch-blank:hover{text-decoration:underline}.launch-open{padding:14px 26px;font-size:15px}.tl-hint{margin-top:4px;font-size:13px;color:var(--muted);max-width:520px;text-align:center}.legal-note{margin:22px auto 0;max-width:760px;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);font-size:12.5px;line-height:1.6;color:var(--muted)}.legal-note b{color:var(--ink)}.eo-panel{max-width:1040px}.eo-toolbar{gap:6px;align-items:center;margin-top:4px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;position:-webkit-sticky;position:sticky;top:0;z-index:30;box-shadow:var(--shadow)}.eo-group,.eo-toolbar{display:flex;flex-wrap:wrap}.eo-group{gap:2px}.eo-div{width:1px;align-self:stretch;background:var(--line);margin:2px 4px}.eo-spacer{flex:1 1}.eo-tb{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:54px;padding:6px 8px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font-size:10.5px;font-weight:600;line-height:1;transition:background .12s,color .12s}.eo-tb span{white-space:nowrap}.eo-tb:hover:not(:disabled){background:var(--surface);color:var(--ink)}.eo-tb.on{background:var(--brand);color:#fff;border-color:var(--brand)}.eo-tb:disabled{opacity:.4;cursor:default}.eo-save{align-self:center}.eo-subbar{flex-wrap:wrap;gap:14px;margin-top:10px;padding:0 4px;min-height:26px}.eo-subbar,.eo-swatches{display:flex;align-items:center}.eo-swatches{gap:6px}.eo-swatch{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);cursor:pointer;padding:0}.eo-swatch.on{outline:2px solid var(--brand);outline-offset:2px}.eo-hint{font-size:13px;color:var(--muted)}.eo-textopts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eo-textopts select{height:30px;background:var(--surface);color:var(--ink);font-size:13px;padding:0 6px}.eo-size,.eo-textopts select{border:1px solid var(--line-strong);border-radius:8px}.eo-size{display:inline-flex;align-items:center;overflow:hidden}.eo-size button{width:26px;height:30px;border:none;background:var(--surface);color:var(--ink);cursor:pointer;font-size:16px}.eo-size button:hover{background:var(--surface-2)}.eo-size input{width:44px;height:30px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;background:var(--surface);color:var(--ink);font-size:13px;-moz-appearance:textfield}.eo-size input::-webkit-inner-spin-button,.eo-size input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.eo-fbtn{width:30px;height:30px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:14px}.eo-fbtn:hover{background:var(--surface-2)}.eo-fbtn.on{background:var(--brand);color:#fff;border-color:var(--brand)}.eo-stage{position:relative;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y;background:#fff}.eo-stage,.eo-stage img{display:block;width:100%}.eo-stage img{height:auto;pointer-events:none}.eo-objvis,.eo-runvis{position:absolute;box-sizing:border-box;pointer-events:none}.eo-runvis{display:flex;align-items:flex-end;line-height:1;overflow:hidden;white-space:pre}.eo-runvis.hint{outline:1px dashed color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:1px}.eo-runvis.changed{outline:1px solid color-mix(in srgb,var(--brand) 45%,transparent)}.eo-objvis.sel{outline:1.6px solid var(--brand);outline-offset:2px}.eo-textvis{white-space:nowrap;line-height:1.1}.eo-textvis span{display:inline-block;padding:1px 2px}.eo-edit{position:absolute;box-sizing:border-box;z-index:12}.eo-ctl,.eo-edit{pointer-events:auto}.eo-resize{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--brand);border:2px solid #fff;box-shadow:var(--shadow);z-index:13;pointer-events:none}.eo-ctl .ed2-fonttb button:last-child{color:#fff}.eo-text-input{border:1.5px solid var(--brand);background:rgba(255,255,255,.95);border-radius:3px;padding:1px 3px;outline:none;line-height:1.15;min-width:60px;white-space:nowrap}.eo-delbtn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-strong);background:var(--surface);color:var(--brand-ink);border-radius:8px;padding:5px 10px;font-size:12.5px;font-weight:600;cursor:pointer}.eo-delbtn:hover{background:var(--brand-soft)}.eo-draft{position:absolute;box-sizing:border-box;pointer-events:none;z-index:8}.eo-draft.eraser{background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.eo-draft.highlight{background:color-mix(in srgb,#fae046 55%,transparent)}.eo-draft.ellipse,.eo-draft.image,.eo-draft.rect{border:1.5px dashed var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.eo-draft.ellipse{border-radius:50%}.ff-wrap{max-width:900px;margin:0 auto}.ff-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;position:-webkit-sticky;position:sticky;top:0;z-index:20;box-shadow:var(--shadow)}.ff-page{margin-bottom:16px}.ff-stage{position:relative;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.ff-stage img{display:block;width:100%;height:auto}.ff-field{position:absolute;box-sizing:border-box;border:none;background:color-mix(in srgb,var(--brand) 9%,transparent);color:#0b0b12;font-family:Helvetica,Arial,sans-serif;padding:0 3px 1px;outline:none;border-radius:3px 3px 0 0;line-height:1.3;height:auto}.ff-field:hover{background:color-mix(in srgb,var(--brand) 14%,transparent)}.ff-field:focus{background:color-mix(in srgb,var(--brand) 16%,transparent);border-bottom-color:var(--brand)}.ff-sign{position:absolute;box-sizing:border-box;border:1.5px dashed color-mix(in srgb,var(--brand) 55%,transparent);background:color-mix(in srgb,var(--brand) 7%,transparent);border-radius:5px;cursor:pointer;display:grid;place-items:center;color:var(--brand-ink);font-size:12px;font-weight:700;padding:0}.ff-sign:hover{background:color-mix(in srgb,var(--brand) 14%,transparent)}.ff-sign.has{border-style:solid;border-color:transparent;background:transparent}.ff-sign img{width:100%;height:100%;object-fit:contain}.eo-modal{position:fixed;inset:0;background:rgba(10,12,20,.55);display:grid;place-items:center;z-index:100;padding:20px}.eo-sheet{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;width:min(520px,100%);box-shadow:var(--shadow-lg,0 20px 60px rgba(0,0,0,.3))}.eo-sheet h3{font-size:16px;margin-bottom:14px}.eo-sigcanvas{width:100%;height:170px;border:1px dashed var(--line-strong);border-radius:10px;background:#fff;touch-action:none;cursor:crosshair}.eo-sheet-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.scan-stage{margin-top:8px;border-radius:14px;overflow:hidden;background:#000;border:1px solid var(--line);aspect-ratio:4/3;display:grid;place-items:center}.scan-stage video{width:100%;height:100%;object-fit:contain}.scan-idle{color:var(--faint);text-align:center}.scan-idle p{margin-top:10px;font-size:14px}.scan-thumb{position:relative;width:70px;height:90px;border-radius:6px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.scan-thumb img{width:100%;height:100%;object-fit:cover}.bg-preview{margin-top:16px;padding:20px;border-radius:14px;border:1px solid var(--line);background-image:linear-gradient(45deg,#ccc 25%,transparent 0),linear-gradient(-45deg,#ccc 25%,transparent 0),linear-gradient(45deg,transparent 75%,#ccc 0),linear-gradient(-45deg,transparent 75%,#ccc 0);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0;display:grid;place-items:center}.bg-preview img{max-width:100%;max-height:460px;border-radius:8px}.bg-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}.bg-swatch-label{font-size:13px;color:var(--muted);margin-right:4px}.bg-swatch{width:26px;height:26px;border-radius:7px;border:1px solid var(--line-strong);cursor:pointer;display:grid;place-items:center;color:rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.bg-swatch:hover{outline:2px solid var(--brand)}.info-box{display:flex;gap:13px;align-items:flex-start;margin-top:18px;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2)}.info-box .ib-icon{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;flex:none}.info-box b{color:var(--ink);font-size:15px;display:block;margin-bottom:3px}.info-box p{font-size:13.5px;color:var(--muted);line-height:1.5}.resize-field{margin-top:14px;border-radius:14px;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;background:linear-gradient(45deg,var(--surface-2) 25%,transparent 25%),linear-gradient(-45deg,var(--surface-2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--surface-2) 75%),linear-gradient(-45deg,transparent 75%,var(--surface-2) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.resize-box{position:relative;box-shadow:var(--shadow);outline:1.5px solid color-mix(in srgb,var(--brand) 55%,transparent)}.resize-box img{width:100%;height:100%;display:block}.resize-handle{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:var(--brand);border:2px solid var(--surface);cursor:nwse-resize;touch-action:none;box-shadow:var(--shadow)}.an-box,.an-svg{position:absolute;pointer-events:none}.an-svg{inset:0;width:100%;height:100%}.ff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px;margin-top:12px}.ff-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--body)}.sig-place{position:absolute;cursor:-webkit-grab;cursor:grab;touch-action:none;outline:1.5px dashed color-mix(in srgb,var(--brand) 65%,transparent);outline-offset:2px}.sig-place:active{cursor:-webkit-grabbing;cursor:grabbing}.sig-place img{width:100%;height:auto;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sig-remove{position:absolute;top:-11px;right:-11px;width:20px;height:20px;border-radius:50%;border:none;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer}.sig-handle,.sig-remove{z-index:3;box-shadow:var(--shadow)}.sig-handle{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;border-radius:50%;background:var(--brand);border:2px solid var(--surface);cursor:nwse-resize}.sig-type-input{width:100%;max-width:520px;font-size:40px;padding:10px 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.qr-preview{margin-top:22px;display:grid;place-items:center;padding:26px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px}.qr-preview img{border-radius:10px;background:#fff;padding:10px;box-shadow:var(--shadow)}.qr-empty{color:var(--muted);font-size:14px;padding:60px 0}.legal{max-width:760px;margin:0 auto;padding:40px 0 20px}.legal .crumb{margin-top:0}.legal h1{font-size:clamp(30px,4vw,42px);font-weight:800;letter-spacing:-.03em}.legal .updated{font-size:13px;color:var(--muted);margin-top:8px;font-family:var(--mono)}.legal .lede{font-size:18px;color:var(--body);margin-top:20px}.legal .lede strong{color:var(--ink)}.legal h2{font-size:20px;font-weight:700;margin:34px 0 10px}.legal p{color:var(--body);margin-top:12px;line-height:1.7}.legal ul{margin:12px 0 0;padding-left:22px;color:var(--body)}.legal li{margin:8px 0;line-height:1.6}.legal a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}.legal strong{color:var(--ink)}.legal .callout{margin-top:20px;padding:16px 20px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line));background:var(--ok-soft);font-size:14.5px;color:var(--body)}.footer .f-links{display:flex;gap:16px}.footer .f-links a:hover{color:var(--brand-ink)}.seo-content{max-width:720px;margin:56px auto 0}.seo-content h2{font-size:22px;font-weight:700;margin:32px 0 12px;letter-spacing:-.02em}.seo-lede{font-size:16px;color:var(--body);line-height:1.7}.seo-steps{list-style:none;counter-reset:step;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.seo-steps li{counter-increment:step;position:relative;padding:14px 16px 14px 52px;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:14.5px;color:var(--body);box-shadow:var(--shadow)}.seo-steps li:before{content:counter(step);position:absolute;left:14px;top:13px;width:26px;height:26px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:600}.seo-steps b{color:var(--ink)}.seo-faq{display:flex;flex-direction:column;gap:8px}.seo-faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 16px;box-shadow:var(--shadow)}.seo-faq summary{cursor:pointer;font-weight:600;color:var(--ink);padding:12px 0;font-size:15px;list-style:none}.seo-faq summary::-webkit-details-marker{display:none}.seo-faq summary:after{content:"+";float:right;color:var(--brand);font-weight:700}.seo-faq details[open] summary:after{content:"−"}.seo-faq p{color:var(--muted);font-size:14px;line-height:1.6;padding:0 0 14px;margin:0}.seo-related{display:flex;flex-wrap:wrap;gap:10px}.seo-related-link{display:inline-block;padding:9px 15px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--body);font-size:14px;font-weight:550;box-shadow:var(--shadow)}.seo-related-link:hover{border-color:var(--brand);color:var(--brand-ink)}.home-seo{max-width:760px;margin:30px auto 0;text-align:center}.home-seo p{color:var(--muted);font-size:15px;line-height:1.7}.footer{margin-top:40px;border-top:1px solid var(--line);padding:34px 0 60px}.footer .f-inner{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.footer p{font-size:13px;color:var(--muted)}.footer .f-spacer{flex:1 1}@media (max-width:640px){.nav-note{display:none}.wrap{padding:0 16px}.nav-inner{gap:10px}.nav-link{padding:6px 9px;font-size:13px}.hero{padding:40px 0 26px}.hero .pill{margin-bottom:16px}.options{flex-direction:column;align-items:stretch}.level-row{grid-template-columns:1fr}.tool-grid{grid-template-columns:1fr 1fr;gap:10px}.thumbgrid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}.editor-topbar{height:50px;padding:0 10px;gap:8px}.es-note{display:none}.es-title{font-size:14px}.editor-canvas{padding:12px 10px 70px}.eo-toolbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px;padding:6px;top:0}.eo-toolbar::-webkit-scrollbar{height:0}.eo-group{flex-wrap:nowrap}.eo-tb{min-width:46px;padding:5px;font-size:9.5px}.eo-div{display:none}.eo-save{position:-webkit-sticky;position:sticky;right:0}.editor-canvas .dz{flex-wrap:wrap}.insert-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}.insert-page .pagecard{width:108px}.ff-field{font-size:11px}.actionbar .btn,.result .btn{padding:10px 14px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}