.ph-detective{margin:1rem 0;padding:.75rem;border:1px solid #7C3AED44;border-radius:12px;background:#fff;overflow-wrap:anywhere}
.ph-detective [hidden]{display:none}
.ph-detective button,.ph-detective input{font:inherit;min-height:44px;min-width:44px;border:1px solid #7C3AED;border-radius:8px;padding:.55rem .65rem}
.ph-detective button{background:#f5f3ff;color:#5b21b6;font-weight:700;cursor:pointer;max-width:100%}
.ph-detective button:disabled{background:#f1f5f9;color:#475569;border-color:#cbd5e1;cursor:default}
.ph-detective button:focus-visible,.ph-detective input:focus-visible{outline:3px solid #EC4899;outline-offset:2px}
.ph-detective>button{width:100%}
.ph-detective-panel{padding-top:.75rem}
.ph-detective h2{font-size:1.1rem;margin:0 0 .5rem}
.ph-detective p{font-size:.85rem;line-height:1.5;margin:.5rem 0}
.ph-detective form{display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem;margin:.6rem 0}
.ph-detective label{font-size:.85rem;font-weight:700}
.ph-detective input{width:100%;color:#1e293b;background:#fff}
.ph-detective input[aria-invalid="true"]{border-color:#b91c1c}
.ph-detective-tests,.ph-detective-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}
.ph-detective-tests button{flex:1 1 110px;font-size:.82rem}
.ph-detective-controls button{flex:1 1 110px;font-size:.82rem}
.ph-detective ol{padding-left:1.4rem;font:500 .8rem 'JetBrains Mono',monospace;line-height:1.65;margin:.5rem 0}
.ph-detective-result{min-height:2.6em;font-weight:700;color:#5b21b6}
@media (prefers-reduced-motion:reduce){.ph-detective *{animation:none;transition:none;scroll-behavior:auto}}
