
  .wm-tool .pnum-container, .fm-tool .fm-container { max-width: 900px; }
  .wm-range { display:flex; align-items:center; gap:10px; }
  .wm-range input[type=range] { flex:1; accent-color:var(--accent); }
  .wm-range output { min-width:42px; text-align:right; color:var(--muted); font-size:.84rem; }
  .pnum-panel input[type=text], .pnum-panel input[type=color] { width:100%; min-height:42px; box-sizing:border-box; padding:9px 12px; font:inherit; color:var(--text); background:var(--bg); border:1px solid var(--border); border-radius:10px; }
  .pnum-panel input[type=color] { padding:4px; cursor:pointer; }
  .wm-imgpick { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .wm-imgname { color:var(--muted); font-size:.84rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
  .pnum-pos.wm-pos { grid-template-rows:repeat(3, 30px); }
  .pnum-panel [hidden] { display:none !important; }
  .fm-panel { margin-top:8px; padding:20px 22px; border:1px solid var(--border); border-radius:14px; background:var(--card); }
  .fm-head { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
  .fm-head h2 { margin:0 0 4px; font-size:1.05rem; font-weight:600; }
  .fm-head p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.45; }
  .fm-pages { display:grid; gap:16px; justify-items:safe center; max-height:72vh; overflow:auto; padding:14px; border:1px solid var(--border); border-radius:12px; background:color-mix(in srgb, var(--bg) 70%, var(--card)); }
  .fm-page { position:relative; flex:none; background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.12); color-scheme:light; }
  .fm-page canvas { display:block; width:100%; height:auto; }
  .fm-page .fm-field { position:absolute; box-sizing:border-box; margin:0; padding:0 3px; min-height:0; border:1px solid rgba(36,69,199,.45); border-radius:2px; background:rgba(214,226,255,.55); color:#000; font-family:Arial,Helvetica,sans-serif; line-height:1.15; outline:none; }
  .fm-page .fm-field:focus { border-color:#2445C7; background:rgba(214,226,255,.85); box-shadow:0 0 0 2px rgba(36,69,199,.25); }
  .fm-page textarea.fm-field { resize:none; padding-top:2px; line-height:1.2; }
  .fm-page select.fm-field { padding:0 1px; }
  .fm-page .fm-check { position:absolute; display:grid; place-items:center; box-sizing:border-box; margin:0; border:1px solid rgba(36,69,199,.45); background:rgba(214,226,255,.55); border-radius:2px; cursor:pointer; }
  .fm-page .fm-check input { margin:0; width:85%; height:85%; min-width:0; min-height:0; cursor:pointer; accent-color:#2445C7; }
  .fm-empty { padding:18px; border:1px dashed var(--border); border-radius:12px; color:var(--muted); font-size:.9rem; line-height:1.5; text-align:center; }
  .fm-empty a { color:var(--accent); }
  .fm-bottom { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:16px; }
  .fm-bottom .topdf-check { flex:1; min-width:240px; }
  @media (max-width: 680px) {
    .fm-panel { padding:16px; }
    .fm-pages { padding:8px; max-height:none; }
    .fm-bottom button { width:100%; }
  }
