/* Base look comes from ../merge-pdf/tool.css (.pt-*); these are the editor parts. */
.pt .ep-bar{display:grid;gap:10px;background:#fff;border:1px solid var(--pt-line);border-radius:12px;padding:12px;min-width:0;position:sticky;top:calc(env(safe-area-inset-top,0px) + 8px);z-index:5;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.pt .ep-tools{display:flex;flex-wrap:wrap;gap:6px}
.pt .ep-tool{display:flex;align-items:center;border:1px solid var(--pt-line);border-radius:999px;background:#fff;padding:6px 11px;font-weight:600;font-size:13px;cursor:pointer;color:var(--pt-ink)}
.pt .ep-tool:has(input:checked){border-color:var(--pt-accent);background:var(--pt-soft)}
.pt .ep-tool input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0}
.pt .ep-tool:has(input:focus-visible){outline:2px solid var(--pt-hi);outline-offset:1px}
.pt .ep-style{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.pt .ep-inline{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--pt-ink)}
.pt .ep-inline select{width:auto;padding:5px 8px;border:1px solid var(--pt-line);border-radius:8px;font-size:13px;background:#fff;color:var(--pt-ink)}
.pt .ep-check input{width:auto;padding:0;border:0;margin:0;accent-color:var(--pt-accent)}
.pt .ep-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;min-width:0}
.pt .ep-small{padding:6px 12px;font-size:13px}
.pt .ep-hint{font-size:13px;color:var(--pt-muted);flex:1 1 220px;min-width:0}
.pt .ep-textedit{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--pt-ink)}
.pt .ep-textedit textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--pt-line);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:44px}
.pt .ep-pages{display:grid;gap:16px;min-width:0}
.pt .ep-pages:empty{display:none}
.pt .ep-pagewrap{display:grid;gap:6px;min-width:0}
.pt .ep-label{font-size:12px;font-weight:700;color:var(--pt-muted)}
.pt .ep-page{position:relative;width:100%;background:#fff;border:1px solid var(--pt-line);box-shadow:0 1px 6px rgba(0,0,0,.08);container-type:inline-size;overflow:hidden;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}
.pt .ep-pages[data-mode=select] .ep-page{touch-action:pan-y;cursor:default}
.pt .ep-page.is-chosen{outline:2px solid var(--pt-accent);outline-offset:2px}
.pt .ep-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.pt .ep-item{position:absolute;box-sizing:border-box;touch-action:none}
.pt .ep-pages[data-mode=select] .ep-item{cursor:move}
.pt .ep-pages:not([data-mode=select]) .ep-item{pointer-events:none}
.pt .ep-item.is-active{outline:1.5px dashed var(--pt-accent);outline-offset:2px}
.pt .ep-item img,.pt .ep-item svg{display:block;width:100%;height:100%;pointer-events:none;overflow:visible}
.pt .ep-text{white-space:pre;line-height:1.2;color:#111;font-family:Arial,Helvetica,sans-serif;min-width:4px;min-height:1em;outline:none}
.pt .ep-text.f-serif{font-family:"Times New Roman",Times,serif}
.pt .ep-text.f-mono{font-family:"Courier New",Courier,monospace}
.pt .ep-text.is-b{font-weight:700}
.pt .ep-text.is-i{font-style:italic}
.pt .ep-text[contenteditable=true]{cursor:text;user-select:text;-webkit-user-select:text;background:rgba(255,255,255,.6)}
.pt .ep-hl{width:100%;height:100%;mix-blend-mode:multiply;opacity:.4}
.pt .ep-white{width:100%;height:100%;background:#fff}
.pt .ep-item.is-white:not(.is-active){box-shadow:0 0 0 1px rgba(30,91,58,.18)}
.pt .ep-item .ep-del{position:absolute;top:-14px;right:-14px;width:24px;height:24px;padding:0;border:1px solid var(--pt-line);border-radius:999px;background:#fff;color:var(--pt-ink);font-size:14px;line-height:1;font-weight:700;cursor:pointer;z-index:2}
.pt .ep-resize{position:absolute;right:-10px;bottom:-10px;width:18px;height:18px;border-radius:999px;background:var(--pt-accent);border:2px solid #fff;cursor:nwse-resize;touch-action:none;z-index:2}
.pt .ep-item:not(.is-active) .ep-del,.pt .ep-item:not(.is-active) .ep-resize{display:none}
.pt .ep-ghost{position:absolute;pointer-events:none;border:1px dashed var(--pt-accent);background:rgba(223,243,111,.15)}
.pt .ep-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pt .pt-note a{color:var(--pt-accent);font-weight:600}
@media (max-width:480px){.pt .ep-bar{position:static}.pt .ep-tool{padding:6px 9px}}
