.api-lab { overflow:hidden; }
.lab-privacy,.lab-hint { margin:0; padding:14px 20px; color:var(--ink-2); font-size:14px; line-height:1.7; background:var(--surface-2); }
.lab-fields,.lab-editors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:20px; }
.lab-single { grid-template-columns:1fr; }
.api-lab label { display:grid; gap:8px; min-width:0; color:var(--ink-2); font-size:14px; }
.api-lab input:not([type=checkbox]),.api-lab textarea { box-sizing:border-box; width:100%; min-width:0; padding:12px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); color:var(--ink); font:14px/1.6 var(--mono); }
.api-lab textarea { min-height:130px; resize:vertical; }
#lab-input,#lab-other { min-height:300px; }
.lab-file-row,.lab-actions { display:flex; flex-wrap:wrap; gap:12px; padding:12px 20px; align-items:center; }
.lab-file-row label { flex:1; min-width:200px; }
.api-lab .lab-consent { display:flex; align-items:center; gap:10px; padding:12px 20px; }
.lab-status { padding:0 20px; overflow-wrap:anywhere; color:var(--ink-2); }
.lab-status[data-error=true] { color:#be3144; }
html[data-theme=dark] .lab-status[data-error=true] { color:#ff9cab; }
.lab-endpoint { padding:20px; background:var(--primary-soft); border-block:1px solid var(--line); }
.lab-endpoint code { display:block; overflow-wrap:anywhere; font-size:15px; }
.lab-endpoint p { color:var(--ink-2); font-size:13px; line-height:1.7; }
.lab-endpoint .lab-actions { padding-inline:0; }
.lab-results { padding:20px; border-top:1px solid var(--line); }
.lab-results header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; }
.lab-results h2 { font-size:20px; }
.lab-results header button { margin:4px; min-height:40px; padding:8px 12px; color:var(--ink); background:var(--surface-2); border:1px solid var(--line-strong); border-radius:8px; }
.lab-results pre { max-height:440px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; padding:16px; background:var(--surface-2); border:1px solid var(--line); border-radius:8px; font:13px/1.7 var(--mono); }
.lab-results > p { font-size:14px; line-height:1.7; color:var(--ink-2); }
.lab-card { margin-top:10px; padding:12px 16px; border:1px solid var(--line); border-left:3px solid var(--experience-accent); border-radius:8px; overflow-wrap:anywhere; }
.lab-card summary { cursor:pointer; font-size:14px; }
.lab-card[data-level=error],.lab-card[data-level=risk] { border-left-color:#e04f62; }
.lab-card[data-level=review],.lab-card[data-level=warning] { border-left-color:#c18a20; }
.lab-card p { font-size:14px; line-height:1.65; color:var(--ink-2); margin:8px 0; }
.lab-diagram { overflow:auto; max-height:700px; margin-top:16px; border-radius:8px; }
.lab-diagram:empty { display:none; }
.lab-diagram svg { display:block; background:#f8fafc; }
.api-lab :is(button,input,textarea,summary):focus-visible { outline:3px solid var(--experience-accent); outline-offset:2px; }
@media(max-width:700px){.lab-fields,.lab-editors{grid-template-columns:1fr;padding:14px;gap:12px}.lab-actions,.lab-file-row{padding:12px 14px}.lab-results{padding:14px}#lab-input,#lab-other{min-height:240px}}
