.lab-launches { display:none; flex-wrap:wrap; gap:12px; margin:20px 0; }
.labs-ready .lab-launches { display:flex; }
.lab-launches button { color:#ede7dc; background:#201d17; border:1px solid #605648; border-radius:3px; font:inherit; text-align:left; padding:11px 17px; cursor:pointer; }
.lab-launches button:hover { border-color:#e0503a; background:#2a211a; }
.lab-launches code { color:#f17a63; font:inherit; margin-right:13px; }
.lab-launches span { font-size:11px; color:#bcb4a6; }
.lab-launches button:focus-visible { outline:2px solid #f17a63; outline-offset:3px; }
.lab-dialog { --lab-line:#484239; --lab-muted:#b7b0a3; --lab-green:#9dceb1; color:#ece7dd; background:#17140f; border:1px solid #675b4c; border-radius:5px; padding:0; width:min(1180px,calc(100% - 48px)); height:min(920px,calc(100dvh - 48px)); max-height:none; max-width:none; box-shadow:0 24px 100px #000b; font:13px/1.65 'IBM Plex Mono',monospace; letter-spacing:0; }
.lab-dialog::backdrop { background:#090807db; }
.lab-dialog[open] { display:flex; flex-direction:column; }
.lab-dialog *, .lab-dialog *::before, .lab-dialog *::after { box-sizing:border-box; }
.lab-top { display:flex; align-items:center; gap:12px; padding:12px 20px; background:#211d17; border-bottom:1px solid var(--lab-line); flex-shrink:0; }
.lab-path { color:var(--lab-muted); font-size:11px; margin-right:auto; }
.lab-indicator { width:8px; height:8px; background:#e0503a; border-radius:50%; flex-shrink:0; }
.lab-close { min-height:44px; display:flex; align-items:center; gap:9px; white-space:nowrap; font-size:12px!important; }
.lab-close span { font-size:24px; line-height:1; }
.lab-dialog button, .lab-dialog select, .lab-dialog input, .lab-dialog textarea { font:inherit; color:inherit; border:1px solid #6e6252; background:#211d17; border-radius:3px; }
.lab-dialog :is(select,input,textarea) { border-color:#8b857a; }
.lab-dialog button { padding:9px 15px; cursor:pointer; min-height:44px; }
.lab-dialog button:hover { border-color:#f17a63; background:#30251d; }
.lab-dialog button:disabled { opacity:.45; cursor:default; }
.lab-dialog :is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid #f17a63; outline-offset:3px; }
.lab-dialog .lab-primary { background:#e0503a; border-color:#e0503a; color:#150e09; font-weight:600; }
.lab-tabs { display:flex; border-bottom:1px solid var(--lab-line); padding:0 20px; flex-shrink:0; }
.lab-tabs button { border:0; border-bottom:2px solid transparent; border-radius:0; background:none; padding:13px 20px; color:var(--lab-muted); }
.lab-tabs button[aria-selected=true] { color:#f17a63; border-bottom-color:#f17a63; }
.lab-content { overflow:auto; padding:26px 30px; min-height:0; flex:1; overscroll-behavior:contain; }
.lab-dialog [hidden] { display:none!important; }
.lab-dialog h2 { font:34px/1.15 'Newsreader',Georgia,serif; margin:0 0 10px; }
.lab-dialog h3 { font-size:14px; font-weight:500; margin:0 0 8px; }
.lab-dialog p { margin:0; }
.lab-kicker { font-size:10px; color:var(--lab-green); margin-bottom:9px!important; }
.lab-note { color:var(--lab-muted); font-size:11px; max-width:820px; }
.lab-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:30px; margin-top:24px; }
.lab-dialog label { display:block; font-size:11px; color:#cfc5b6; margin-bottom:7px; }
.lab-dialog textarea { display:block; width:100%; height:255px; resize:vertical; padding:14px; line-height:1.8; font-size:13px; }
.lab-dialog input:not([type=range]), .lab-dialog select { width:100%; min-height:44px; padding:8px 10px; }
.lab-dialog input[type=range] { width:100%; height:44px; accent-color:#e0503a; cursor:pointer; margin:0; }
.lab-form-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:13px; }
.lab-example { margin-top:24px; border-top:1px solid var(--lab-line); padding-top:18px; }
.lab-example .lab-form-actions { margin:8px 0 0; }
.lab-example select { flex:1; width:auto; min-width:140px; }
.lab-output { min-width:0; }
.lab-story { font-size:14px; color:#d0c6b7; max-width:760px; }
.lab-scenario { max-width:480px; margin-top:20px; }
.lab-result-actions { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.lab-disclosure { border-top:1px solid var(--lab-line); margin-top:20px; }
.lab-disclosure summary, .lab-review summary { cursor:pointer; min-height:44px; padding-block:12px; }
.lab-simulation { margin-top:24px!important; }
.lab-simulation a { display:inline-block; padding-block:10px; }
.lab-empty { border-block:1px solid var(--lab-line); padding:30px 0; color:var(--lab-muted); }
.lab-empty strong { color:#eee5d8; display:block; font:25px 'Newsreader',Georgia,serif; margin-bottom:13px; }
.lab-status { font-size:11px; color:var(--lab-green); min-height:19px; margin-top:10px!important; }
.lab-status[data-error=true] { color:#ffa88e; }
.lab-results-head { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-bottom:15px; border-bottom:1px solid var(--lab-line); }
.lab-results-head strong { font:28px 'Newsreader',Georgia,serif; color:var(--lab-green); }
.lab-result { padding:16px 0; border-bottom:1px solid var(--lab-line); }
.lab-result .lab-badge { display:inline-block; color:var(--lab-green); font-size:9px; margin-bottom:7px; }
.lab-result p { color:var(--lab-muted); font-size:11px; line-height:1.9; margin-bottom:8px; }
.lab-result a { font-size:11px; color:#f17a63; text-decoration:underline; text-underline-offset:4px; }
.lab-review { margin-top:18px; }
.lab-review summary { cursor:pointer; color:#e9b786; }
.lab-review ul { padding-left:20px; color:var(--lab-muted); font-size:11px; }
.lab-review li { margin:9px 0; overflow-wrap:anywhere; }
.lab-metrics { display:flex; flex-wrap:wrap; gap:20px; font-size:10px; margin:12px 0; color:var(--lab-muted); }
.lab-metrics b { color:#f2e8d9; }
.lab-demo-toolbar { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; margin-top:22px; padding-bottom:20px; border-bottom:1px solid var(--lab-line); }
.lab-dialog .lab-clock { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; }
.lab-clock output { color:#f17a63; }
.lab-answer-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:20px 0; }
.lab-answer { border-left:2px solid var(--lab-green); padding:14px 18px; background:#1c211b; min-height:175px; }
.lab-answer[data-state=ABSTAINED] { border-left-color:#e9b786; background:#262017; }
.lab-answer .answer-label { color:var(--lab-muted); font-size:10px; }
.lab-answer .answer-status { color:var(--lab-green); font-size:10px; margin-top:9px; }
.lab-answer[data-state=ABSTAINED] .answer-status { color:#e9b786; }
.lab-answer strong { display:block; font:30px/1.2 'Newsreader',Georgia,serif; margin:8px 0; overflow-wrap:anywhere; }
.lab-answer .answer-citation { color:var(--lab-muted); font-size:10px; }
.lab-trace { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:10px; color:var(--lab-muted); margin:12px 0 22px; }
.lab-trace span { border-bottom:1px solid #665b4c; padding:4px 0; }
.lab-ledger { border-top:1px solid var(--lab-line); margin-top:20px; }
.lab-event { display:grid; grid-template-columns:75px minmax(0,1fr) 110px 100px; gap:12px; padding:12px 0; border-bottom:1px solid var(--lab-line); font-size:10px; align-items:start; }
.lab-event b { color:#eae0d0; font-weight:400; overflow-wrap:anywhere; }
.lab-event span { color:var(--lab-muted); }
.lab-event[data-future=true] { opacity:.5; }
.lab-event[data-selected=true] { border-left:2px solid var(--lab-green); padding-left:10px; }
.lab-append { margin-top:24px; display:grid; grid-template-columns:1.1fr 1.3fr .8fr auto; gap:12px; align-items:end; }
.lab-append button { white-space:nowrap; }
.lab-demo-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:18px; }
.lab-demo-actions a { margin-left:auto; font-size:11px; color:#f17a63; }
@media(max-width:760px) {
  .lab-dialog { --lab-safe-top:max(8px,env(safe-area-inset-top)); --lab-safe-bottom:max(8px,env(safe-area-inset-bottom)); position:fixed; margin:0; left:8px; top:calc(var(--lab-viewport-top,0px) + var(--lab-safe-top)); width:calc(100% - 16px); height:calc(var(--lab-viewport-height,100dvh) - var(--lab-safe-top) - var(--lab-safe-bottom)); }
  .lab-content { padding:20px 16px max(24px,env(safe-area-inset-bottom)); scroll-padding-top:16px; }
  .lab-top { padding:5px 12px; }
  .lab-path { font-size:10px; }
  .lab-tabs { padding:0 10px; }
  .lab-tabs button { flex:1; padding:11px 8px; font-size:13px; }
  .lab-dialog h2 { font-size:28px; }
  .lab-columns { grid-template-columns:1fr; gap:20px; }
  .lab-dialog textarea { height:160px; font-size:16px; }
  .lab-dialog input:not([type=range]), .lab-dialog select { font-size:16px; }
  .lab-demo-toolbar { grid-template-columns:1fr; gap:18px; }
  .lab-dialog .lab-note, .lab-dialog label, .lab-status, .lab-result .lab-badge, .lab-metrics { font-size:12px; }
  .lab-dialog .lab-result p, .lab-review ul { font-size:14px; line-height:1.75; }
  .lab-result h3 { font-size:17px; }
  .lab-result a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
  .lab-empty { font-size:14px; }
  .lab-dialog:not([data-match-results=true]) .lab-output { display:none; }
  .lab-dialog[data-match-results=true] .lab-input, .lab-dialog[data-match-results=true] .match-intro { display:none; }
  .lab-dialog[data-match-results=true] .lab-columns { margin-top:0; }
  .lab-result-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; position:sticky; top:-20px; z-index:1; background:#17140f; padding-block:8px; }
  .lab-result-actions button { min-height:52px; padding-inline:8px; font-size:12px; }
  .lab-results-head { font-size:12px; }
  .lab-answer-grid { gap:12px; }
  .lab-answer { padding:13px 14px; min-height:150px; }
  .lab-answer strong { font-size:24px; }
  .lab-answer .answer-label, .lab-answer .answer-status, .lab-answer .answer-citation { font-size:12px; }
  .lab-event { grid-template-columns:60px minmax(0,1fr); gap:4px 10px; }
  .lab-event > span:nth-last-child(-n+2) { grid-column:2; }
  .lab-append { grid-template-columns:1fr 1fr; }
  .lab-append > div:nth-child(2) { grid-column:1/-1; grid-row:1; }
  .lab-append button { grid-column:1/-1; }
  .lab-launches { flex-direction:column; gap:8px; }
  .lab-launches button { min-height:48px; }
  .lab-launches code { display:block; margin:0 0 3px; font-size:13px; }
  .lab-launches span { font-size:12px; }
}
@media(max-width:480px) { .lab-answer-grid { grid-template-columns:1fr; } }
@media(max-height:500px) and (max-width:760px) {
  .lab-top { padding-block:0; }
  .lab-tabs button { padding-block:7px; }
  .lab-content { padding-top:12px; }
}
