:root{--bg:#f2f3f7;--surface:#fff;--surface2:#e9ecf3;--sunken:#e3e7f0;--ink:#111a35;--muted:#566079;--line:#d6dbe7;--line-strong:#b4bcd0;--accent:#ffd84a;--accent-ink:#2b2300;--accent-edge:#e0b92a;--accent-soft:#fff2ba;--blue:#2745d8;--blue-soft:#e3e8ff;--ok:#16794f;--bar-bg:#111a35;--bar-fg:#f1f3fa;--bar-muted:#a9b2ce;--bar-line:#28335c;--shadow:0 1px 2px rgba(17,26,53,.06),0 10px 28px rgba(17,26,53,.1);--f-body:"Figtree","Segoe UI",system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--bar-h:64px;--r:8px;--r-sm:5px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1122;--surface:#141b33;--surface2:#1c2442;--sunken:#0f1529;--ink:#eef0f8;--muted:#97a1be;--line:#262f52;--line-strong:#3a4570;--accent-soft:#3a3213;--blue:#8ea2ff;--blue-soft:#1f2a5c;--ok:#4cc38a;--warn:#e0a64a;--bad:#ff7a6e;--bar-bg:#090d1b;--bar-line:#1d2543;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.45);color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1122;--surface:#141b33;--surface2:#1c2442;--sunken:#0f1529;--ink:#eef0f8;--muted:#97a1be;--line:#262f52;--line-strong:#3a4570;--accent-soft:#3a3213;--blue:#8ea2ff;--blue-soft:#1f2a5c;--bar-bg:#090d1b;--bar-line:#1d2543;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.45);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--f-body);min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:60;background:var(--bar-bg)}h1,h2,h3,h4{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.01em}p{margin:0}a,button{color:inherit}button{font:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}[hidden]{display:none!important}.wrap{width:100%;max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.ic{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mono{font-family:var(--f-mono)}.muted{color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bar{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:50;background:var(--bar-bg);color:var(--bar-fg);border-bottom:1px solid var(--bar-line)}.bar-in{height:var(--bar-h);display:flex;gap:20px}.bar-in,.brand{align-items:center}.brand{display:inline-flex;gap:10px;text-decoration:none;font:800 22px/1 var(--f-display);letter-spacing:-.02em}.brand-mark{width:30px;height:30px;border-radius:6px;display:grid;place-items:center}.brand-mark .ic{width:18px;height:18px;stroke-width:2.2}.nav{margin-left:8px;flex:1 1;min-width:0}.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}.nav-btn,.nav-link{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:var(--r);border:0;background:transparent;color:var(--bar-fg);font:600 14.5px var(--f-body);cursor:pointer;text-decoration:none;white-space:nowrap}.nav-btn:hover,.nav-btn[aria-expanded=true],.nav-link:hover{background:var(--bar-line)}.nav-btn .ic{width:16px;height:16px;transition:transform .15s}.nav-btn[aria-expanded=true] .ic{transform:rotate(180deg)}.nav-btn.here,.nav-link.here{border-radius:var(--r) var(--r) 0 0}.bar-tools{display:flex;gap:8px;margin-left:auto}.bar-tools,.pill{align-items:center}.pill{display:inline-flex;gap:6px;padding:5px 11px;border:1px solid var(--bar-line);border-radius:99px;color:var(--bar-muted);font:500 12px var(--f-mono);white-space:nowrap}.pill .ic{width:14px;height:14px;color:var(--accent)}.bar-btn{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--r);background:transparent;color:var(--bar-fg);cursor:pointer}.bar-btn:hover{background:var(--bar-line)}.menu-toggle{display:none}.mega{position:absolute;left:0;right:0;top:100%;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:var(--shadow);animation:drop .14s ease-out}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.mega-in{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr)) 280px;grid-gap:8px 28px;gap:8px 28px;padding-block:24px 26px}.mega-col{display:grid;grid-gap:2px;gap:2px;align-content:start;min-width:0}.mega-label{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 10px 8px}.mi{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:9px 10px;border-radius:var(--r);text-decoration:none;cursor:pointer;border:0;background:transparent;text-align:left;width:100%}.mi:hover{background:var(--surface2)}.mi-ic{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--surface2);color:var(--ink);transition:background .12s}.mi:hover .mi-ic{background:var(--accent);color:var(--accent-ink)}.mi-name{font:700 14.5px var(--f-body);display:block}.mi-desc{font-size:12.5px;color:var(--muted);display:block;line-height:1.35}.mega-feature{grid-row:1/span 2;grid-column:-2;background:var(--bar-bg);color:var(--bar-fg);border-radius:var(--r);padding:20px;display:grid;grid-gap:12px;gap:12px;align-content:start}.mega-feature h3{font-size:22px;line-height:1.1}.mega-feature p{color:var(--bar-muted);font-size:13.5px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font:500 11.5px var(--f-mono);padding:3px 8px;border-radius:99px;border:1px solid var(--bar-line);color:var(--bar-muted)}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chips.light .chip{border-color:var(--line-strong);color:var(--muted)}.chips.light .chip.on{border-color:var(--accent-edge);color:var(--accent-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:600 14px var(--f-body);cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--surface2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-edge)}.btn.primary:hover{filter:brightness(.96);background:var(--accent)}.btn.dark{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.dark:hover{filter:brightness(1.15);background:var(--ink)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface2)}.btn.danger{color:var(--bad)}.btn.sm{min-height:32px;padding:0 10px;font-size:13px}.btn.sq{width:36px;min-height:36px;padding:0}.btn.sq.sm{width:32px;min-height:32px}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn.lg{min-height:48px;padding:0 22px;font-size:15px}.mega-feature .btn.primary{justify-self:start}.f{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600;color:var(--muted);min-width:0}.f>span{display:flex;justify-content:space-between;gap:8px}.f>span b{font:500 12px var(--f-mono);color:var(--ink)}input[type=number],input[type=text],select,textarea{height:40px;min-width:0;border:1px solid var(--line-strong);border-radius:var(--r);padding:0 12px;background:var(--surface);color:var(--ink);font:400 14.5px var(--f-body)}textarea{height:auto;padding:10px 12px;font-family:var(--f-mono);font-size:13px;line-height:1.55;resize:vertical}input[type=color]{width:40px;height:40px;padding:3px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);cursor:pointer}input[type=range]{width:100%;accent-color:var(--blue);height:24px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer}.row{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.row>.grow{flex:1 1 200px}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;background:var(--surface)}.seg button{border:0;background:transparent;min-height:38px;padding:0 14px;font:600 13.5px var(--f-body);cursor:pointer;color:var(--muted);white-space:nowrap}.seg button+button{border-left:1px solid var(--line-strong)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-gap:48px;gap:48px;padding-block:56px 40px}.eyebrow,.hero{align-items:center}.eyebrow{display:inline-flex;gap:8px;font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.eyebrow .ic{width:15px;height:15px;color:var(--ok)}.hero h1{font-size:clamp(2.3rem,4.6vw + .6rem,4.1rem);line-height:1.02;font-weight:800;letter-spacing:-.03em;margin-top:14px}.hl{background:var(--accent);color:var(--accent-ink);padding:0 .14em;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.hero-sub{margin-top:18px;font-size:17px;color:var(--muted);max-width:52ch}.hero-sub b{color:var(--ink);font-weight:600}.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.hero-art{width:100%;height:auto;display:block}.quickdrop{margin-top:28px;max-width:560px}.quickdrop .drop{padding:18px;grid-template-columns:auto 1fr;text-align:left;justify-items:start;align-items:center;gap:4px 14px}.quickdrop .drop .ic{grid-row:span 2;width:28px;height:28px}.suggest{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.suggest .lab{font:500 12px var(--f-mono);color:var(--muted)}.cat{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:32px;gap:32px;padding-block:36px;border-top:1px solid var(--line)}.cat h2{font-size:28px;margin-top:6px;font-weight:700}.cat p{color:var(--muted);margin-top:8px;font-size:14.5px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.tile{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);text-decoration:none;cursor:pointer;text-align:left}.tile:hover{border-color:var(--ink)}.tile:hover .mi-ic{background:var(--accent);color:var(--accent-ink)}.tile .mi-ic{width:42px;height:42px}.tile h3{font-size:17px;font-weight:700}.tile p{margin-top:2px;line-height:1.4}.foot,.tile p{font-size:13.5px;color:var(--muted)}.foot{border-top:1px solid var(--line);margin-top:24px;padding-block:28px 40px}.foot-in{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}.foot b{color:var(--ink)}.tool{padding-block:28px 56px;display:grid;grid-gap:22px;gap:22px}.crumbs{font:500 12.5px var(--f-mono);color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.crumbs .cs{color:var(--line-strong)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.tool-head{display:flex;gap:16px;align-items:center}.tool-ico{width:54px;height:54px;border-radius:10px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none}.tool-ico .ic{width:26px;height:26px}.tool-head h1{font-size:clamp(1.6rem,2.4vw + 1rem,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}.tool-head p{color:var(--muted);margin-top:4px;max-width:70ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;grid-gap:18px;gap:18px;min-width:0}.panel h3{font-size:16px;font-weight:700}.panel-sub{display:grid;grid-gap:14px;gap:14px;padding-top:18px;border-top:1px solid var(--line)}.note{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r);background:var(--sunken);color:var(--muted);font-size:13.5px}.note .ic{margin-top:2px}.note.warn{background:var(--accent-soft);color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.stat{font:500 12.5px var(--f-mono);color:var(--muted)}.drop{display:grid;justify-items:center;grid-gap:6px;gap:6px;text-align:center;padding:44px 20px;border:2px dashed var(--line-strong);border-radius:var(--r);background:var(--surface);cursor:pointer}.drop.over,.drop:hover{border-color:var(--blue);background:var(--blue-soft)}.drop .ic{width:34px;height:34px;color:var(--blue)}.drop strong{font:700 17px var(--f-display)}.drop small{color:var(--muted);font:500 12px var(--f-mono)}.tgts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.tgt,.tgts{display:grid}.tgt{grid-gap:2px;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;min-width:0}.tgt b{font-size:14px}.tgt span{font-size:12px;color:var(--muted);line-height:1.3}.tgt:hover,.tgt[aria-pressed=true]{border-color:var(--blue)}.tgt[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--blue);background:var(--sunken)}.tgt:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.files{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.frow{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.frow.dragging{opacity:.4}.frow.over{box-shadow:0 -3px 0 var(--blue)}.grip{color:var(--muted);cursor:-webkit-grab;cursor:grab;display:grid;place-items:center;padding:4px;touch-action:none}.fthumb{width:44px;height:58px;border-radius:3px;background:var(--sunken);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}.fthumb canvas,.fthumb img{max-width:100%;max-height:100%;display:block}.fname{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fmeta{font:500 12px var(--f-mono);color:var(--muted)}.fact{display:flex;gap:4px}.checker{background:repeating-conic-gradient(var(--sunken) 0 25%,var(--surface) 0 50%) 50% /12px 12px}.fthumb.sq{width:52px;height:52px}.fthumb.sq img{width:100%;height:100%;object-fit:cover}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));grid-gap:14px;gap:14px}.pcard{position:relative;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:10px;display:grid;grid-gap:8px;gap:8px}.pcard.over{box-shadow:-4px 0 0 var(--blue)}.pcard.dragging{opacity:.4}.pthumb{height:184px;display:grid;place-items:center;background:var(--sunken);border-radius:4px;overflow:hidden;position:relative}.pthumb canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;box-shadow:0 1px 4px rgba(0,0,0,.25);max-width:none;max-height:none}.pcard.removed .pthumb canvas{opacity:.18}.pcard.removed .pthumb:after{content:"Deleted";position:absolute;font:600 12px var(--f-mono);color:var(--bad)}.pnum{font:500 12px var(--f-mono);color:var(--muted);align-items:center}.pctl,.pnum{display:flex;justify-content:space-between}.pctl{gap:2px}.res{grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.res,.rrow{display:grid}.rrow{grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.delta.good{color:var(--ok)}.delta.bad{color:var(--bad)}.delta{font-weight:600}.split2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.preview-box{border:1px solid var(--line);border-radius:var(--r);background:var(--sunken);display:grid;place-items:center;padding:14px;min-height:220px;overflow:hidden}.preview-box canvas,.preview-box img{max-width:100%;max-height:460px;display:block;box-shadow:0 1px 6px rgba(0,0,0,.25)}.cropstage{position:relative;display:inline-block;max-width:100%;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:0}.cropstage canvas{max-width:100%;display:block}.cropbox{position:absolute;border:2px solid var(--accent);box-shadow:0 0 0 9999px rgba(8,12,28,.55);cursor:move}.cropbox i{position:absolute;width:16px;height:16px;background:var(--accent);border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%)}.cropbox i[data-h=nw]{left:0;top:0;cursor:nwse-resize}.cropbox i[data-h=ne]{left:100%;top:0;cursor:nesw-resize}.cropbox i[data-h=sw]{left:0;top:100%;cursor:nesw-resize}.cropbox i[data-h=se]{left:100%;top:100%;cursor:nwse-resize}.view.full{padding:0}.ed{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:calc(100dvh - var(--bar-h) - env(safe-area-inset-top, 0px));min-height:560px;background:var(--bg)}.ed-bar{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:6px max(16px,env(safe-area-inset-right,0px)) 6px max(16px,env(safe-area-inset-left,0px));background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:thin}.ed-bar .sep{width:1px;align-self:stretch;background:var(--line);margin:4px 6px;flex:none}.tbtn{display:grid;justify-items:center;grid-gap:2px;gap:2px;min-width:52px;padding:6px 7px 5px;border-radius:var(--r);border:1px solid transparent;background:transparent;color:var(--muted);font:600 11px var(--f-body);cursor:pointer;flex:none;white-space:nowrap}.tbtn .ic{width:20px;height:20px}.tbtn:hover{background:var(--surface2);color:var(--ink)}.tbtn[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-edge)}.tbtn:disabled{opacity:.35;pointer-events:none}.ed-props{gap:14px;overflow-x:auto;padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));background:var(--surface2);border-bottom:1px solid var(--line);min-height:54px;scrollbar-width:thin}.ed-props,.pg{display:flex;align-items:center}.pg{gap:6px;flex:none;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}.pg input[type=color]{width:34px;height:34px}.pg input[type=number]{width:70px;height:34px;padding:0 8px}.pg select{height:34px}.pg input[type=range]{width:100px}.pg .btn{min-height:34px}.ed-main{display:flex;min-height:0;min-width:0;position:relative}.ed-main .ed-scroll{flex:1 1;min-width:0}.ed-side{width:176px;flex:none;overflow-y:auto;background:var(--surface);border-right:1px solid var(--line);padding:10px 8px 60px;display:flex;flex-direction:column;gap:10px}.ed-side[hidden]{display:none}.sp-head{white-space:nowrap;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:13px;padding:0 2px}.sp{display:grid;grid-gap:4px;gap:4px;justify-items:center;padding:8px 4px 4px;border:1px solid transparent;border-radius:8px;cursor:pointer}.sp:hover{background:var(--surface2)}.sp.cur{border-color:var(--blue);background:var(--blue-soft)}.sp-thumb{background:var(--sunken);box-shadow:0 1px 4px rgba(0,0,0,.25);position:relative;overflow:hidden}.sp-thumb canvas{position:absolute;inset:0;display:block}.sp-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0}.sp-bar .btn.sm.sq{min-height:26px;width:26px;padding:0}.sp-bar .btn .ic{width:15px;height:15px}.sp-n{font:600 12px var(--f-mono);color:var(--muted);width:100%;text-align:center}.fl{position:absolute;left:0;top:0;transform-origin:0 0;display:none;z-index:3;pointer-events:none}.formmode .fl{display:block}.formmode .ov{pointer-events:none}.fl .fw{position:absolute;box-sizing:border-box;margin:0;padding:0 3px;pointer-events:auto;background:rgba(39,69,216,.12);border:1px solid var(--blue);border-radius:2px;color:#000;font-family:Helvetica,Arial,sans-serif}.fl input[type=checkbox],.fl input[type=radio]{accent-color:var(--blue)}.fl .fw:focus{outline:2px solid var(--blue);background:hsla(0,0%,100%,.92)}.stamps{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:8px;gap:8px}.stampbtn{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;display:grid;place-items:center;cursor:pointer;min-height:62px}.stampbtn:hover{border-color:var(--blue)}.stampimg{max-width:100%;max-height:54px;display:block}@media (max-width:760px){.ed-side{position:absolute;z-index:6;left:0;top:0;bottom:0;box-shadow:4px 0 18px rgba(0,0,0,.25)}}.ed-scroll{overflow:auto;background:var(--sunken);padding:20px max(16px,env(safe-area-inset-right,0px)) 80px max(16px,env(safe-area-inset-left,0px));position:relative;scroll-behavior:auto}.ed-pages{display:flex;flex-direction:column;gap:20px;width:max-content;min-width:100%}.epage{position:relative;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.22);flex:none;margin-inline:auto}.epage canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.ov{transform-origin:0 0}.ov,.ov .osvg{position:absolute;left:0;top:0}.ov .osvg{width:100%;height:100%;overflow:visible;pointer-events:none}.ob{position:absolute;box-sizing:border-box;touch-action:none}.ov.selmode .ob:hover{outline:calc(1px / var(--z)) dashed var(--blue)}.ob.tx{white-space:pre;line-height:1.2;min-height:1.2em;cursor:move;margin:0;padding:0;min-width:1ch;color:#000;-moz-user-select:none;user-select:none;-webkit-user-select:none;font-family:Helvetica,Arial,Liberation Sans,sans-serif}.ob.tx[data-editing="1"]{cursor:text;-moz-user-select:text;user-select:text;-webkit-user-select:text;outline:calc(1.5px / var(--z)) dashed var(--blue);background:hsla(0,0%,100%,.6)}.selbox{position:absolute;outline:calc(1.5px / var(--z)) solid var(--blue);pointer-events:none;z-index:4}.ob.el{border-radius:50%}.ob img{width:100%;height:100%;display:block;pointer-events:none;-webkit-user-drag:none}.hd{position:absolute;width:calc(12px / var(--z));height:calc(12px / var(--z));background:#fff;border:calc(1.5px / var(--z)) solid var(--blue);border-radius:50%;transform:translate(-50%,-50%);touch-action:none;z-index:5}.hd[data-h=nw],.hd[data-h=se]{cursor:nwse-resize}.hd[data-h=ne],.hd[data-h=sw]{cursor:nesw-resize}.hd[data-h=n],.hd[data-h=s]{cursor:ns-resize}.hd[data-h=e],.hd[data-h=w]{cursor:ew-resize}.hd[data-h=p1],.hd[data-h=p2]{cursor:crosshair}.ed-empty{display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-left,0px));overflow:auto}.ed-empty>div{width:min(720px,100%);display:grid;grid-gap:18px;gap:18px}.ed-status{font:500 12px var(--f-mono);color:var(--muted);margin-left:auto;padding-left:12px;white-space:nowrap;flex:none}.cur-crosshair{cursor:crosshair}.cur-text{cursor:text}.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(8,12,28,.6);padding:16px}.modal-card{width:min(660px,100%);max-height:100%;overflow:auto;background:var(--surface);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px}.modal-card h3{font-size:20px}.sigpad{width:100%;height:auto;aspect-ratio:3/1;background:#fff;border:1px dashed var(--line-strong);border-radius:var(--r);touch-action:none;cursor:crosshair;display:block}.swatches{display:flex;gap:8px}.sw{width:28px;height:28px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;padding:0}.sw[aria-pressed=true]{box-shadow:0 0 0 2px var(--blue)}.busy{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(8,12,28,.55)}.busy-card{background:var(--surface);border-radius:var(--r);padding:22px 26px;display:grid;grid-gap:12px;gap:12px;justify-items:center;min-width:240px;box-shadow:var(--shadow)}.spin{width:30px;height:30px;border:3px solid var(--line-strong);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.progress{width:220px;height:6px;background:var(--sunken);border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--accent-edge);transition:width .15s}.toasts{position:fixed;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:120;display:grid;grid-gap:8px;gap:8px;justify-items:center;pointer-events:none;padding:0 16px}.toast{pointer-events:auto;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:var(--r);font-size:14px;font-weight:500;box-shadow:var(--shadow);max-width:min(560px,100%);animation:rise .2s ease-out}.toast.ok{border-left:4px solid var(--ok)}.toast.err{border-left:4px solid var(--bad)}.toast.out{opacity:0;transition:opacity .3s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:1020px){.mega-in{grid-template-columns:repeat(2,minmax(0,1fr))}.mega-feature{grid-column:1/-1;grid-row:auto}.hero{grid-template-columns:1fr;gap:28px;padding-block:36px 24px}.hero-art-wrap{max-width:520px}.cat{gap:16px}.cat,.split2{grid-template-columns:1fr}}@media (max-width:860px){.pill{display:none}.menu-toggle{display:grid}.nav{position:absolute;left:0;right:0;top:100%;background:var(--bar-bg);border-bottom:1px solid var(--bar-line);max-height:calc(100dvh - var(--bar-h) - env(safe-area-inset-top, 0px));overflow-y:auto;display:none;margin:0;padding-block:8px 14px}.bar.nav-open .nav{display:block}.nav ul{flex-direction:column;gap:0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.nav-btn,.nav-link{width:100%;justify-content:space-between;height:46px}.mega{position:static;box-shadow:none;border:0;border-radius:var(--r);margin-bottom:6px;animation:none}.mega-in{grid-template-columns:1fr;padding:12px 8px;gap:12px}.mega-feature{display:none}}@media (max-width:560px){.frow{grid-template-columns:auto minmax(0,1fr)}.frow .grip{display:none}.frow .fact{grid-column:1/-1;justify-content:flex-end}.rrow{grid-template-columns:auto minmax(0,1fr)}.rrow .fact{grid-column:1/-1;justify-content:flex-end}.panel{padding:14px}.hero h1{letter-spacing:-.02em}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{margin:0}a.mi,a.tile{color:inherit}.mega-feature a.btn,a.mi,a.tile{text-decoration:none}:root{--bg:#f6f1e6;--surface:#fffdf8;--surface2:#f0e9da;--sunken:#eae2d0;--ink:#1b1a17;--muted:#6b6558;--line:#e3dac6;--line-strong:#c9bea4;--accent:#0b8a5f;--accent-ink:#fff;--accent-edge:#076e4b;--accent-soft:#d5f2e5;--mark:#ffd84a;--blue:#0b6e80;--blue-soft:#d6edf2;--ok:#17794f;--warn:#8f5600;--bad:#be3329;--bar-bg:rgba(255,253,248,.86);--bar-fg:#1b1a17;--bar-muted:#6b6558;--bar-line:#e3dac6;--feat-bg:#1b1a17;--feat-fg:#f6f1e6;--feat-muted:#b7af9e;--feat-line:#3a372f;--c-pdf:#0b8a5f;--c-convert:#0e7490;--c-image:#6d5bd0;--shadow:0 1px 2px rgba(60,45,10,.06),0 14px 34px rgba(60,45,10,.12);--f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--r:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14130f;--surface:#1d1b16;--surface2:#26231c;--sunken:#181611;--ink:#f4efe3;--muted:#a59e8d;--line:#302d25;--line-strong:#4a4639;--accent:#3ddc97;--accent-ink:#04210f;--accent-edge:#7cebb8;--accent-soft:#123826;--mark:#ffd84a;--blue:#5cc8dd;--blue-soft:#10343c;--ok:#4cc38a;--warn:#e0a64a;--bad:#ff7a6e;--bar-bg:rgba(29,27,22,.86);--bar-fg:#f4efe3;--bar-muted:#a59e8d;--bar-line:#302d25;--feat-bg:#26231c;--feat-fg:#f4efe3;--feat-muted:#a59e8d;--feat-line:#3a372f;--c-pdf:#3ddc97;--c-convert:#5cc8dd;--c-image:#b3a8ff;--shadow:0 1px 2px rgba(0,0,0,.35),0 14px 34px rgba(0,0,0,.5)}}:root[data-theme=dark]{--bg:#14130f;--surface:#1d1b16;--surface2:#26231c;--sunken:#181611;--ink:#f4efe3;--muted:#a59e8d;--line:#302d25;--line-strong:#4a4639;--accent:#3ddc97;--accent-ink:#04210f;--accent-edge:#7cebb8;--accent-soft:#123826;--mark:#ffd84a;--blue:#5cc8dd;--blue-soft:#10343c;--ok:#4cc38a;--warn:#e0a64a;--bad:#ff7a6e;--bar-bg:rgba(29,27,22,.86);--bar-fg:#f4efe3;--bar-muted:#a59e8d;--bar-line:#302d25;--feat-bg:#26231c;--feat-fg:#f4efe3;--feat-muted:#a59e8d;--feat-line:#3a372f;--c-pdf:#3ddc97;--c-convert:#5cc8dd;--c-image:#b3a8ff;--shadow:0 1px 2px rgba(0,0,0,.35),0 14px 34px rgba(0,0,0,.5)}body{background-image:radial-gradient(1200px 500px at 85% -120px,color-mix(in srgb,var(--mark) 22%,transparent),transparent 70%);background-repeat:no-repeat}.bar{backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}.brand{gap:9px;font-size:24px;letter-spacing:-.035em}.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--accent);color:var(--accent-ink);transform:rotate(-4deg);box-shadow:2px 3px 0 var(--ink)}.brand .dot{color:var(--accent)}.nav-btn,.nav-link{color:var(--ink)}.nav-btn.here,.nav-link.here{box-shadow:inset 0 -3px 0 var(--accent)}.pill{background:var(--surface)}.bar-btn{color:var(--ink)}.mega{border-top:1px solid var(--line)}.mega-feature{background:var(--feat-bg);color:var(--feat-fg);border-radius:14px}.mega-feature .chip,.mega-feature p{color:var(--feat-muted)}.mega-feature .chip{border-color:var(--feat-line)}.mega-feature .chip.on{background:var(--mark);border-color:var(--mark);color:#2a2200}.mega-feature .mega-label{color:var(--feat-muted)!important}.mega-feature .btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-edge)}.mega[data-cat=pdf],.tile[data-cat=pdf],.tool-ico[data-cat=pdf]{--c:var(--c-pdf)}.mega[data-cat=convert],.tile[data-cat=convert],.tool-ico[data-cat=convert]{--c:var(--c-convert)}.mega[data-cat=image],.tile[data-cat=image],.tool-ico[data-cat=image]{--c:var(--c-image)}.mi-ic{background:color-mix(in srgb,var(--c,var(--accent)) 14%,var(--surface));color:var(--c,var(--ink));border-radius:10px}.mi:hover .mi-ic,.tile:hover .mi-ic,.tool-ico{background:var(--c,var(--accent));color:#fff}.tool-ico{border-radius:14px;box-shadow:3px 4px 0 var(--ink)}.btn{border-radius:10px}.btn.primary{box-shadow:0 2px 0 var(--accent-edge)}.btn.primary:active{transform:translateY(1px);box-shadow:none}.drop{border-radius:14px}.hl{background:var(--mark);color:#2a2200}.eyebrow,.eyebrow .ic{color:var(--accent)}.hero{padding-block:64px 36px}.hero h1{font-size:clamp(2.5rem,5vw + .6rem,4.6rem);line-height:.98;letter-spacing:-.04em}.hero-art-wrap{filter:drop-shadow(0 18px 24px rgba(60,45,10,.12))}.quickdrop .drop{border-style:dashed}.quickdrop .drop,.stats{background:var(--surface)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;margin-block:8px 12px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.stat{padding:20px 22px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat b{display:block;font:800 34px/1 var(--f-display);letter-spacing:-.03em}.stat span{display:block;margin-top:6px;color:var(--muted);font-size:13.5px}.cat{border-top:0;padding-block:44px 8px}.cat h2{font-size:32px;letter-spacing:-.03em}.tile{border-radius:14px;padding:18px;transition:transform .12s,box-shadow .12s,border-color .12s}.tile:hover{border-color:var(--c,var(--ink));transform:translateY(-2px);box-shadow:var(--shadow)}.tile .mi-ic{width:46px;height:46px}.sec{padding-block:56px 8px}.sec-head{display:grid;grid-gap:8px;gap:8px;max-width:62ch;margin-bottom:22px}.sec-head h2{font-size:clamp(1.8rem,2.4vw + 1rem,2.6rem);letter-spacing:-.035em;line-height:1.05}.sec-head p{color:var(--muted);font-size:16px}.fmt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fmt-card,.fmt-grid{display:grid;grid-gap:14px;gap:14px}.fmt-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:20px;align-content:start}.fmt-card h3{display:flex;align-items:baseline;justify-content:space-between;font-size:20px}.fmt-card h3 small{font:500 12px var(--f-mono);color:var(--muted)}.fmt-chips{display:flex;flex-wrap:wrap;gap:6px}.fmt-chips a{font:600 12.5px var(--f-mono);padding:5px 10px;border-radius:99px;border:1px solid var(--line-strong);text-decoration:none;background:var(--bg);transition:background .1s,color .1s,border-color .1s}.fmt-card[data-c=image] a:hover{background:var(--c-image);border-color:var(--c-image);color:#fff}.fmt-card[data-c=doc] a:hover{background:var(--c-pdf);border-color:var(--c-pdf);color:#fff}.fmt-card[data-c=data] a:hover{background:var(--c-convert);border-color:var(--c-convert);color:#fff}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;counter-reset:s}.step{position:relative;padding:22px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.step:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--bg);font:800 18px var(--f-display);margin-bottom:14px}.step h3{font-size:20px;letter-spacing:-.02em}.step p{color:var(--muted);margin-top:6px}.promo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:28px;gap:28px;align-items:center;background:var(--feat-bg);color:var(--feat-fg);border-radius:22px;padding:40px}.promo h2{font-size:clamp(1.8rem,2.4vw + 1rem,2.6rem);letter-spacing:-.035em;line-height:1.05}.promo p{color:var(--feat-muted);margin-top:10px;font-size:16px;max-width:52ch}.promo .btn{margin-top:20px}.promo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.promo-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--feat-line);border-radius:12px;font-weight:600;font-size:14px}.promo-list .ic{color:var(--mark)}.foot{margin-top:64px;background:var(--feat-bg);color:var(--feat-muted);border-top:0;padding-block:44px 28px}.foot b{color:var(--feat-fg)}.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:28px;gap:28px}.foot-brand{font:800 26px/1 var(--f-display);color:var(--feat-fg);letter-spacing:-.035em}.foot-brand .dot{color:#3ddc97}.foot p{margin-top:10px;max-width:36ch}.foot h4{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--feat-muted);margin-bottom:10px}.foot ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:7px;gap:7px}.foot a{text-decoration:none;color:var(--feat-fg)}.foot a:hover{color:var(--mark)}.foot-bottom{margin-top:32px;padding-top:18px;border-top:1px solid var(--feat-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px}@media (max-width:1020px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.fmt-grid,.promo,.steps{grid-template-columns:1fr}.promo{padding:28px}.foot-top{grid-template-columns:1fr 1fr}}@media (max-width:560px){.foot-top,.promo-list{grid-template-columns:1fr}.hero{padding-block:36px 20px}}@media (max-width:860px){.nav{background:var(--surface)}}