.ap{--ap-line:var(--line,#dfe3dc);--ap-ink:var(--ink,#131713);--ap-muted:var(--muted,#687068);--ap-accent:var(--green,#1e5b3a);--ap-soft:var(--green-soft,#e7f0e9);display:grid;gap:16px;min-width:0}
/* the same drop zone as every file tool (lab-site.css "Design pass") */
.ap-drop{display:grid;justify-items:center;align-content:center;gap:2px;min-height:clamp(170px,24vw,230px);padding:22px 18px;border:2px dashed #a9c2b0;border-radius:var(--radius-lg,16px);background-color:var(--tint,#f4f8f3);text-align:center;cursor:pointer}
.ap-drop::before{content:"";width:56px;height:56px;margin-bottom:10px;border-radius:999px;background:#fff url(/assets/icons/upload.svg) center/28px no-repeat;box-shadow:0 2px 10px rgba(30,91,58,.16)}
.ap-drop:hover,.ap-drop.is-over{border-color:var(--ap-accent)}
.ap-drop:focus-visible{outline:3px solid var(--focus-ring,#1e5b3a);outline-offset:3px}
.ap-drop strong{display:block;font-size:clamp(17px,2vw,21px);letter-spacing:-.01em;color:var(--ap-ink)}
.ap-drop span{color:var(--ap-muted);font-size:14px}
.ap-doc{margin:0;padding:10px 14px;background:#fff;border:1px solid var(--ap-line);border-radius:10px;font-size:14px;overflow-wrap:anywhere}
.ap-tasks{margin:0;border:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;min-width:0}
.ap-tasks legend{font-size:14px;font-weight:700;color:var(--ap-ink);margin-bottom:8px;padding:0}
.ap-task{display:flex;justify-content:flex-start;text-align:left;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--ap-line);border-radius:12px;background:#fff;cursor:pointer;font-size:13.5px;color:var(--ap-muted);line-height:1.4}
.ap-task strong{display:block;font-size:15px;color:var(--ap-ink)}
.lab-tool .ap-task input{width:auto;margin-top:3px;flex:none}
.ap-task:has(input:checked){border-color:var(--ap-accent);background:var(--ap-soft)}
.ap-opts{display:grid;gap:12px;background:#fff;border:1px solid var(--ap-line);border-radius:12px;padding:14px}
.ap-opts label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--ap-ink)}
.ap-opts label[hidden]{display:none}
.ap-opts select,.ap-opts textarea{padding:8px 10px;border:1px solid var(--ap-line);border-radius:8px;font:inherit;font-size:14px;background:#fff;color:var(--ap-ink);min-width:0;max-width:100%}
.ap-opts textarea{resize:vertical;min-height:60px}
.ap-credits{margin:0;font-size:14px;line-height:1.5;color:var(--ap-ink)}
.ap-credits a{color:var(--ap-accent);font-weight:700}
.ap-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lab-tool .ap-btn{border:0;border-radius:999px;padding:10px 18px;min-height:42px;font-weight:700;font-size:14px;cursor:pointer;background:var(--ap-accent);color:#fff;text-decoration:none;display:inline-flex;align-items:center}
.lab-tool .ap-btn.ghost{background:transparent;border:1px solid var(--ap-ink);color:var(--ap-ink)}
.lab-tool .ap-btn.small{min-height:34px;padding:6px 14px;font-size:13.5px}
.ap-btn:disabled{opacity:.45;cursor:not-allowed}
.ap-btn[hidden]{display:none}
.ap-status{font-size:14px;color:var(--ap-muted)}
.ap-error{margin:0;background:#fbeeee;border:1px solid #e3b9b9;color:#7d2424;border-radius:10px;padding:10px 12px;font-size:14px}
.ap-result{background:#fff;border:1px solid var(--ap-line);border-radius:12px;padding:14px;display:grid;gap:10px;min-width:0}
.ap-result[hidden]{display:none}
.ap-result-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.ap-result-actions{display:flex;gap:8px;flex-wrap:wrap}
.ap-answer{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.6;color:var(--ap-ink);max-height:560px;overflow-y:auto}
.ap-used{margin:0;font-size:13px;color:var(--ap-muted)}
.ap-note{margin:0;font-size:13px;line-height:1.5;color:var(--ap-muted)}
.ap-note a{color:var(--ap-accent)}
