/* Purin Tools – Basis-Design-System. Alles unter .purin-tools gescoped,
   damit es nicht mit Theme-/Bricks-Styles kollidiert. */

.purin-tools{
  --pt-bg:#f6f7f9; --pt-card:#ffffff; --pt-ink:#16181d; --pt-muted:#5b6470;
  --pt-line:#e3e7ec; --pt-brand:#1f6feb; --pt-ok:#1a7f37; --pt-warn:#9a6700; --pt-bad:#cf222e;
  --pt-radius:14px; --pt-shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.06);
  color:var(--pt-ink);
  font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  max-width:880px;
}
.purin-tools *{box-sizing:border-box}
.purin-tools .pt-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.purin-tools .pt-h{font-size:1.4rem;margin:0 0 4px}
.purin-tools .pt-sub{color:var(--pt-muted);margin:0 0 18px}

.purin-tools .pt-card{background:var(--pt-card);border:1px solid var(--pt-line);border-radius:var(--pt-radius);box-shadow:var(--pt-shadow);padding:20px}
.purin-tools label{display:block;font-weight:600;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:var(--pt-muted);margin:0 0 8px}
.purin-tools .pt-field{display:flex;gap:10px;flex-wrap:wrap}
.purin-tools input[type=text],
.purin-tools select,
.purin-tools textarea{font:inherit;padding:11px 12px;border:1px solid var(--pt-line);border-radius:10px;min-width:0;color:var(--pt-ink);background:#fff}
.purin-tools input[type=text]{flex:1}
.purin-tools textarea{width:100%;resize:vertical;min-height:80px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem}
.purin-tools input:focus-visible,
.purin-tools select:focus-visible,
.purin-tools textarea:focus-visible,
.purin-tools button:focus-visible{outline:3px solid #9cc2ff;outline-offset:1px}
.purin-tools .pt-mt{margin-top:16px}

.purin-tools button.pt-go{font:inherit;font-weight:700;background:var(--pt-brand);color:#fff;border:1px solid var(--pt-brand);padding:11px 18px;border-radius:10px;cursor:pointer}
.purin-tools button.pt-ghost{font:inherit;font-weight:600;background:#fff;border:1px solid var(--pt-line);color:var(--pt-ink);padding:10px 14px;border-radius:10px;cursor:pointer}
.purin-tools button.pt-go:hover{filter:brightness(1.05)}
.purin-tools button.pt-ghost:hover{border-color:#c7ced7}
.purin-tools .pt-hint{font-size:.82rem;color:var(--pt-muted);margin-top:8px}

/* Tabs (ARIA-Tabmuster) */
.purin-tools .pt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.purin-tools .pt-tabs button{font:inherit;font-weight:600;border:1px solid var(--pt-line);background:#fff;color:var(--pt-muted);padding:9px 14px;border-radius:999px;cursor:pointer}
.purin-tools .pt-tabs button[aria-selected=true]{background:var(--pt-ink);color:#fff;border-color:var(--pt-ink)}
.purin-tools .pt-panel{display:none}
.purin-tools .pt-panel.is-active{display:block}

/* Spinner + Ergebnis */
.purin-tools .pt-spin{color:var(--pt-muted);font-size:.92rem;display:none;margin-top:14px}
.purin-tools .pt-out{margin-top:18px;display:none}
.purin-tools .pt-out:focus{outline:none}

/* Statuszeile + Prüfliste */
.purin-tools .pt-status{display:flex;align-items:center;gap:8px;font-weight:700;margin:14px 0 6px}
.purin-tools .pt-dot{width:10px;height:10px;border-radius:50%}
.purin-tools ul.pt-checks{list-style:none;padding:0;margin:8px 0 0}
.purin-tools ul.pt-checks li{padding:7px 0;border-bottom:1px solid var(--pt-line);display:flex;gap:9px;align-items:flex-start;font-size:.94rem}
.purin-tools .pt-ic{flex:0 0 auto;width:18px;height:18px;border-radius:50%;font-size:12px;color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}
.purin-tools .pt-ic.ok{background:var(--pt-ok)}
.purin-tools .pt-ic.warn{background:var(--pt-warn)}
.purin-tools .pt-ic.bad{background:var(--pt-bad)}
.purin-tools .pt-ic.info{background:#57606a}

/* Record-Box mit Kopierbutton */
.purin-tools .pt-record{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88rem;background:#0f1115;color:#e6edf3;padding:13px 14px;border-radius:10px;white-space:pre-wrap;word-break:break-word;position:relative;margin-top:6px}
.purin-tools .pt-record .pt-copy{position:absolute;top:8px;right:8px;background:#21262d;color:#e6edf3;border:0;padding:5px 9px;border-radius:7px;font-size:.75rem;cursor:pointer}

/* Tag-/Wertelisten */
.purin-tools dl.pt-rows{margin:14px 0 0;display:grid;grid-template-columns:auto 1fr;gap:2px 16px}
.purin-tools dl.pt-rows dt{font-weight:600;font-size:.84rem;color:var(--pt-muted);padding:8px 0;border-top:1px solid var(--pt-line)}
.purin-tools dl.pt-rows dd{margin:0;padding:8px 0;border-top:1px solid var(--pt-line);font-size:.9rem;word-break:break-word}

/* Verbesserungsvorschläge */
.purin-tools .pt-suggest{margin-top:14px;background:#fff7e6;border:1px solid #f4e2b8;border-radius:10px;padding:12px 14px;font-size:.92rem}
.purin-tools .pt-suggest strong{color:#9a6700}
.purin-tools .pt-suggest ul{margin:6px 0 0;padding-left:18px}
.purin-tools .pt-suggest li{margin:3px 0}

/* Listen (Sitemap) */
.purin-tools .pt-list{margin-top:14px;border:1px solid var(--pt-line);border-radius:10px;max-height:420px;overflow:auto}
.purin-tools .pt-list a,
.purin-tools .pt-list span.pt-li{display:block;padding:8px 12px;border-bottom:1px solid var(--pt-line);font-size:.88rem;word-break:break-all;color:var(--pt-ink);text-decoration:none}
.purin-tools .pt-list a:hover{background:#f6f7f9;text-decoration:underline}
.purin-tools .pt-list :last-child{border-bottom:0}

.purin-tools code{background:#eef1f4;padding:1px 5px;border-radius:5px;font-size:.85em}
.purin-tools .pt-flag{font-size:.78rem;color:var(--pt-muted);margin-top:18px}
