.thmp-tool{--c:#2563eb;--cd:#1d4ed8;--b:#d5dbe6;--bg:#f7f9fc;max-width:760px;margin:0 auto;padding:20px;border:1px solid var(--b);border-radius:14px;background:#fff;font-family:inherit;box-sizing:border-box}
.thmp-tool *{box-sizing:border-box}
.thmp-drop{border:2px dashed var(--b);border-radius:12px;background:var(--bg);text-align:center;padding:36px 16px;cursor:pointer;color:#475569;transition:.15s}
.thmp-drop:hover,.thmp-drop:focus,.thmp-drop.thmp-over{border-color:var(--c);background:#eef4ff;color:var(--c);outline:none}
.thmp-drop p{margin:6px 0 0}
.thmp-drop-title{font-size:18px;font-weight:600}
.thmp-drop-sub{font-size:14px;opacity:.8}
.thmp-msg{margin:12px 0 0;padding:0;font-size:14px;color:#b91c1c}
.thmp-msg:not(:empty){padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}
.thmp-listwrap{margin-top:18px}
.thmp-listhead{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:#64748b;margin-bottom:8px}
.thmp-listhead strong{color:#0f172a;font-size:15px}
.thmp-list{list-style:none;margin:0;padding:0}
.thmp-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--b);border-radius:10px;background:#fff;cursor:grab}
.thmp-item.thmp-drag{opacity:.45}
.thmp-item.thmp-target{border-color:var(--c);box-shadow:0 0 0 2px #bfdbfe}
.thmp-num{flex:0 0 26px;height:26px;border-radius:50%;background:#e0e9ff;color:var(--cd);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}
.thmp-name{flex:1;min-width:0;font-size:14px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thmp-meta{font-size:12px;color:#64748b;white-space:nowrap}
.thmp-ib{border:1px solid var(--b);background:#fff;border-radius:6px;width:30px;height:30px;cursor:pointer;font-size:14px;line-height:1;color:#334155;padding:0}
.thmp-ib:hover:not(:disabled){border-color:var(--c);color:var(--c)}
.thmp-ib:disabled{opacity:.35;cursor:default}
.thmp-ib.thmp-del:hover{border-color:#dc2626;color:#dc2626}
.thmp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:flex-end}
.thmp-btn{display:inline-block;border:1px solid transparent;border-radius:8px;padding:11px 20px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2}
.thmp-btn-primary{background:var(--c);color:#fff!important}
.thmp-btn-primary:hover{background:var(--cd)}
.thmp-btn-primary:disabled{opacity:.6;cursor:wait}
.thmp-btn-ghost{background:#fff;color:#334155;border-color:var(--b)}
.thmp-btn-ghost:hover{border-color:var(--c);color:var(--c)}
.thmp-progress{height:8px;background:#e5eaf3;border-radius:99px;overflow:hidden;margin-top:14px}
.thmp-bar{height:100%;width:0;background:var(--c);transition:width .2s}
.thmp-result{margin-top:18px;text-align:center;padding:24px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px}
.thmp-result[hidden],.thmp-listwrap[hidden],.thmp-progress[hidden]{display:none}
.thmp-result-title{font-size:19px;font-weight:700;margin:0 0 4px;color:#166534}
.thmp-result-sub{margin:0 0 16px;color:#475569;font-size:14px}
.thmp-result .thmp-btn{margin:4px}
.thmp-privacy{margin:16px 0 0;text-align:center;font-size:13px;color:#64748b}
@media(max-width:520px){.thmp-meta{display:none}.thmp-btn{width:100%;text-align:center}}
