/* FreePDF 在线工具通用样式（纯浏览器端处理） */
.ft-app{font-size:14px;color:#34495e}
.ft-drop{border:2px dashed #7a94ff;background:#f7faff;border-radius:8px;padding:44px 20px;text-align:center;cursor:pointer;transition:.2s;position:relative}
.ft-drop:hover,.ft-drop.drag{border-color:#1054ff;background:#eef3ff}
.ft-drop .ft-drop-ico{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#1054ff;display:flex;align-items:center;justify-content:center}
.ft-drop .ft-drop-ico svg{width:26px;height:26px;fill:#fff}
.ft-drop b{font-size:16px;color:#1054ff}
.ft-drop p{color:#8a94a6;margin-top:6px;font-size:13px}
.ft-drop input{display:none}

.ft-files{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.ft-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e3e9f5;border-radius:8px;padding:9px 12px}
.ft-chip .ft-ck-ico{width:30px;height:30px;flex:0 0 auto;border-radius:7px;background:#eef3ff;display:flex;align-items:center;justify-content:center;color:#1054ff;font-weight:700;font-size:11px}
.ft-chip .ft-ck-name{flex:1;min-width:0;word-break:break-all;font-size:13.5px}
.ft-chip .ft-ck-size{color:#8a94a6;font-size:12px;flex:0 0 auto}
.ft-chip button{border:none;background:#f2f5fb;color:#5a6b85;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:13px;line-height:1}
.ft-chip button:hover{background:#1054ff;color:#fff}
.ft-chip .ft-order-btn{display:flex;flex-direction:column;gap:2px}
.ft-chip .ft-order-btn button{width:24px;height:14px;font-size:9px;padding:0;border-radius:4px}

.ft-opts{margin-top:16px;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;background:#fafbff;border:1px solid #e8edf8;border-radius:8px;padding:14px 16px}
.ft-field{display:flex;flex-direction:column;gap:6px}
.ft-field label{font-size:12.5px;color:#5a6b85;font-weight:600}
.ft-field input[type=text],.ft-field input[type=number],.ft-field input[type=password],.ft-field input[type=date],.ft-field select,
.ft-opts input[type=text],.ft-opts input[type=password],.ft-opts input[type=number],.ft-opts select{height:34px;border:1px solid #d5def0;border-radius:6px;padding:0 10px;font-size:13.5px;color:#34495e;background:#fff;outline:none;min-width:120px}
.ft-opts input:focus,.ft-opts select:focus{border-color:#1054ff}
.ft-field input[type=range]{width:160px}
.ft-checks{display:flex;gap:16px;align-items:center;font-size:13.5px}
.ft-checks label{display:flex;align-items:center;gap:6px;cursor:pointer}
.ft-go{margin-top:16px}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 30px;border:none;border-radius:8px;background:#1054ff;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:.2s}
.ft-btn:hover{background:#0a46d8}
.ft-btn:disabled{background:#9db4f5;cursor:not-allowed}
.ft-btn.ghost{background:#fff;color:#1054ff;border:1px solid #1054ff}

.ft-prog{display:none;margin-top:16px}
.ft-prog.show{display:block}
.ft-prog-bar{height:8px;border-radius:999px;background:#e8edf8;overflow:hidden}
.ft-prog-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#1054ff,#36c5ff);transition:width .25s}
.ft-prog-txt{font-size:12.5px;color:#5a6b85;margin-top:7px}

.ft-status{margin-top:14px;padding:10px 14px;border-radius:8px;font-size:13.5px;display:none}
.ft-status.show{display:block}
.ft-status.info{background:#eef3ff;color:#1054ff;border:1px solid #c9d8ff}
.ft-status.err{background:#fff0f0;color:#d93026;border:1px solid #ffc9c5}
.ft-status.ok{background:#ecfbf3;color:#0a9250;border:1px solid #b5ecd2}

.ft-results{margin-top:18px}
.ft-result{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dce5f5;border-radius:8px;padding:12px 14px;margin-bottom:10px}
.ft-result .ft-r-ico{width:38px;height:38px;flex:0 0 auto;border-radius:8px;background:#eef3ff;display:flex;align-items:center;justify-content:center}
.ft-result .ft-r-ico svg{width:20px;height:20px;fill:#1054ff}
.ft-result .ft-r-name{flex:1;min-width:0;word-break:break-all;font-size:14px;font-weight:600}
.ft-result .ft-r-size{color:#8a94a6;font-size:12px}
.ft-result a{height:32px;line-height:32px;padding:0 18px;border-radius:6px;background:#1054ff;color:#fff;font-size:13px;font-weight:600}
.ft-result a:hover{background:#0a46d8}

.ft-note{margin-top:14px;font-size:12.5px;color:#8a94a6;line-height:1.8}
.ft-note b{color:#5a6b85}

/* 阅读器 */
.ft-reader{margin-top:18px;background:#525666;padding:22px 0;border-radius:8px;display:none}
.ft-reader.show{display:block}
.ft-reader-bar{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.ft-reader-bar button{height:32px;min-width:36px;padding:0 12px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:6px;cursor:pointer;font-size:14px}
.ft-reader-bar button:hover{background:rgba(255,255,255,.15)}
.ft-reader-bar span{color:#d8deee;font-size:13.5px}
.ft-pages{display:flex;flex-direction:column;align-items:center;gap:16px}
.ft-pages canvas{max-width:96%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.35)}

/* 签名/编辑 工作台 */
.ft-ov-wrap{margin-top:18px;display:none}
.ft-ov-wrap.show{display:block}
.ft-ov-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fafbff;border:1px solid #e8edf8;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.ft-ov-bar input[type=text],.ft-ov-bar input[type=number],.ft-ov-bar select{height:32px;border:1px solid #d5def0;border-radius:6px;padding:0 9px;font-size:13px}
.ft-ov-bar input[type=color]{width:34px;height:32px;border:1px solid #d5def0;border-radius:6px;background:#fff;padding:2px;cursor:pointer}
.ft-ov-bar .ft-sep{width:1px;height:24px;background:#e0e7f5}
.ft-page-stage{display:flex;justify-content:center;background:#525666;border-radius:8px;padding:22px;overflow:auto}
.ft-page-box{position:relative;display:inline-block;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.ft-page-box canvas{display:block;max-width:100%}
.ft-ov-item{position:absolute;cursor:move;border:1px dashed transparent;user-select:none;box-sizing:border-box}
.ft-ov-item.sel{border-color:#1054ff;outline:1px solid rgba(16,84,255,.25)}
.ft-ov-item .ft-ov-del{position:absolute;right:-11px;top:-11px;width:20px;height:20px;border-radius:50%;background:#d93026;color:#fff;border:none;font-size:11px;line-height:20px;text-align:center;cursor:pointer;display:none}
.ft-ov-item.sel .ft-ov-del{display:block}
.ft-ov-text{white-space:pre;line-height:1.25}
.ft-ov-tip{font-size:12.5px;color:#8a94a6;margin-top:8px;text-align:center}

/* 音频 */
.ft-wave{width:100%;height:120px;background:#0e1d3a;border-radius:8px;display:block;margin-top:12px}
.ft-range2{display:flex;align-items:center;gap:10px;font-size:13px}
.ft-range2 input[type=range]{flex:1}
audio.ft-audio{width:100%;margin-top:12px}

@media(max-width:1460px){.main{width:96%}}
