.thrdl{
  --thrdl-bg:#ffffff;--thrdl-fg:#1f2937;--thrdl-muted:#6b7280;--thrdl-border:#e5e7eb;
  --thrdl-soft:#f8fafc;--thrdl-accent:#4f46e5;--thrdl-accent-h:#4338ca;--thrdl-ok:#059669;
  box-sizing:border-box;max-width:1000px;margin:1.5em auto;padding:20px;background:var(--thrdl-bg);
  color:var(--thrdl-fg);border:1px solid var(--thrdl-border);border-radius:14px;
  box-shadow:0 4px 18px rgba(0,0,0,.06);font-family:inherit;line-height:1.5;
}
.thrdl *,.thrdl *::before,.thrdl *::after{box-sizing:border-box}
.thrdl-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.thrdl-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600}
.thrdl-meta{font-weight:400;font-size:.85em;color:var(--thrdl-muted)}
.thrdl-textarea{
  width:100%;min-height:280px;padding:12px;border:1px solid var(--thrdl-border);border-radius:10px;
  background:var(--thrdl-soft);color:var(--thrdl-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:14px;line-height:1.5;resize:vertical;white-space:pre;overflow:auto;
}
.thrdl-textarea:focus{outline:2px solid var(--thrdl-accent);outline-offset:1px;background:var(--thrdl-bg)}
.thrdl-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.thrdl-actions{justify-content:center;margin:16px 0}
.thrdl-btn{
  display:inline-block;padding:9px 16px;border-radius:8px;border:1px solid var(--thrdl-border);
  background:var(--thrdl-bg);color:var(--thrdl-fg);font-size:14px;font-weight:500;cursor:pointer;
  text-align:center;transition:background .15s,border-color .15s,transform .05s;
}
.thrdl-btn:hover{background:var(--thrdl-soft);border-color:var(--thrdl-accent)}
.thrdl-btn:active{transform:translateY(1px)}
.thrdl-btn-primary{background:var(--thrdl-accent);border-color:var(--thrdl-accent);color:#fff;padding:12px 32px;font-size:16px;font-weight:600}
.thrdl-btn-primary:hover{background:var(--thrdl-accent-h);border-color:var(--thrdl-accent-h)}
.thrdl-options{margin:16px 0 0;padding:14px 16px;border:1px solid var(--thrdl-border);border-radius:10px}
.thrdl-options legend{padding:0 8px;font-weight:600}
.thrdl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 16px}
.thrdl-selects{margin-top:14px}
.thrdl-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.thrdl-field{display:flex;flex-direction:column;gap:4px;font-size:14px}
.thrdl-field span{font-weight:600}
.thrdl-field select{padding:8px;border:1px solid var(--thrdl-border);border-radius:8px;background:var(--thrdl-bg);color:var(--thrdl-fg);font-size:14px}
.thrdl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:6px}
.thrdl-stats[hidden],.thrdl-report[hidden]{display:none}
.thrdl-stat{padding:12px;text-align:center;background:var(--thrdl-soft);border:1px solid var(--thrdl-border);border-radius:10px}
.thrdl-stat strong{display:block;font-size:1.5em;color:var(--thrdl-accent)}
.thrdl-stat span{font-size:.8em;color:var(--thrdl-muted)}
.thrdl-report{margin-top:14px;border:1px solid var(--thrdl-border);border-radius:10px;padding:10px 14px}
.thrdl-report summary{cursor:pointer;font-weight:600}
.thrdl-table-wrap{max-height:320px;overflow:auto;margin-top:10px}
.thrdl-report table{width:100%;border-collapse:collapse;font-size:14px;margin:0}
.thrdl-report th,.thrdl-report td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--thrdl-border);word-break:break-word}
.thrdl-report th:first-child,.thrdl-report td:first-child{width:44px;color:var(--thrdl-muted)}
.thrdl-report th:last-child,.thrdl-report td:last-child{width:100px;text-align:right}
.thrdl-toast{min-height:1.4em;margin:10px 0 0;text-align:center;font-size:14px;color:var(--thrdl-ok);font-weight:600}
@media (max-width:720px){
  .thrdl{padding:14px}
  .thrdl-panels{grid-template-columns:1fr}
  .thrdl-textarea{min-height:200px}
  .thrdl-btn-primary{width:100%}
}
@media (prefers-color-scheme:dark){
  .thrdl{--thrdl-bg:#111827;--thrdl-fg:#e5e7eb;--thrdl-muted:#9ca3af;--thrdl-border:#374151;--thrdl-soft:#1f2937;--thrdl-accent:#818cf8;--thrdl-accent-h:#6366f1;--thrdl-ok:#34d399}
  .thrdl-btn-primary{color:#111827}
}
