/* Translation tools stay side by side until the user explicitly selects rows. */
#main:has(#lab-content) { max-width:1600px; padding:24px 32px 0; }
.lab-toolbar,.lab-actions,.lab-pane-head,.lab-pane-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.lab-toolbar { margin-bottom:12px; flex-wrap:wrap; }
.lab-model,.lab-layout { display:flex; align-items:center; gap:10px; }
.lab-layout { margin-left:auto; }
.lab-toolbar label,.lab-pane-head label { font-size:13px; font-weight:600; color:var(--muted); }
#lab-content select { font:inherit; color:var(--text); background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:9px 28px 9px 12px; max-width:100%; }
#lab-form > .lab-workspace { display:grid; grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--bg); }
#lab-form > .lab-workspace > .lab-pane:first-child { grid-column:1; grid-row:1; }
#lab-form > .lab-workspace > .lab-swap { grid-column:2; grid-row:1; }
#lab-form > .lab-workspace > .lab-output-pane { grid-column:3; grid-row:1; }
.lab-pane { min-width:0; padding:18px; }
.lab-output-pane { background:var(--panel); border-left:1px solid var(--line); }
.lab-pane-head { padding-bottom:12px; border-bottom:1px solid var(--line); }
.lab-pane-head select { max-width:65%; min-width:0; }
.lab-pane textarea { display:block; width:100%; min-height:clamp(260px,43vh,540px); resize:vertical; background:transparent; border:0; border-radius:0; padding:16px 0; font:inherit; font-size:20px; line-height:1.65; color:var(--text); box-shadow:none; }
.lab-pane textarea::placeholder { color:var(--tertiary); opacity:.7; }
.lab-pane textarea:focus { outline:2px solid var(--accent); outline-offset:3px; }
.lab-pane-foot { min-height:40px; }
.lab-swap { display:flex; align-items:flex-start; justify-content:center; padding-top:24px; background:var(--panel); }
.lab-swap button { padding:8px; min-width:36px; font-size:22px; }
.lab-actions { margin-top:12px; }
.lab-actions p { margin:0; }
.lab-about { margin:14px 0 24px; border:0; padding:0; color:var(--muted); font-size:12px; }
.lab-about summary { cursor:pointer; font-size:12px; }
.lab-about p { margin:8px 0; }
.lab-disclosure { max-width:800px; }
.lab-history.section { padding:24px 0; }
.lab-history .section-head { margin-bottom:12px; align-items:center; }
.lab-history h2 { font-size:20px; letter-spacing:-.3px; margin:0; }
.lab-history #lab-history-message { margin-bottom:12px; }
.lab-history article { border-top:1px solid var(--line); padding:22px 0; }
.lab-history-meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; color:var(--muted); font-size:12px; }
.lab-history-text { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:12px 0; }
.lab-history-text p { white-space:pre-wrap; overflow-wrap:anywhere; margin:0; max-height:120px; overflow:hidden; }
.lab-history-buttons { display:flex; gap:18px; flex-wrap:wrap; }
#lab-message { padding:0; margin:12px 0; background:transparent; font-size:13px; }
#lab-message.err { color:var(--danger); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Only this explicit choice creates a vertical translator. */
#lab-form > .lab-workspace[data-layout="rows"] { grid-template-columns:1fr; }
#lab-form > .lab-workspace[data-layout="rows"] > .lab-pane:first-child { grid-column:1; grid-row:1; }
#lab-form > .lab-workspace[data-layout="rows"] > .lab-swap { grid-column:1; grid-row:2; padding:8px; border-top:1px solid var(--line); }
#lab-form > .lab-workspace[data-layout="rows"] > .lab-output-pane { grid-column:1; grid-row:3; border-left:0; border-top:1px solid var(--line); }
.lab-workspace[data-layout="rows"] .lab-swap button { transform:rotate(90deg); }
@media(max-width:650px) {
  #main:has(#lab-content) { padding:16px 16px 0; }
  #lab-form > .lab-workspace { grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr); }
  .lab-pane { padding:10px; }
  .lab-pane-head { flex-direction:column; align-items:stretch; gap:6px; }
  #lab-content .lab-pane-head select { max-width:100%; width:100%; padding:8px 2px; }
  .lab-pane textarea { font-size:16px; min-height:220px; }
  .lab-pane-foot { flex-wrap:wrap; gap:0; }
  .lab-actions { align-items:flex-end; }
  .lab-actions .note { max-width:55%; }
  .lab-model { flex-wrap:wrap; gap:8px; }
  .lab-history .section-head { align-items:flex-start; flex-wrap:wrap; }
  .lab-history-text { grid-template-columns:1fr; }
  .lab-about { margin-bottom:20px; }
}

.lab-copy { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:36px; min-height:36px; padding:6px; color:var(--muted); }
#lab-history-search { width:100%; max-width:480px; margin-bottom:12px; padding:10px 12px; font:inherit; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--text); }
.lab-history-scroll { max-height:480px; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.lab-history-table { width:100%; min-width:640px; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.lab-history-table th { position:sticky; top:0; z-index:1; background:var(--panel); text-align:left; padding:12px; border-bottom:1px solid var(--line); }
.lab-history-table th:first-child { width:180px; }
.lab-history-table td { vertical-align:top; padding:12px; border-bottom:1px solid var(--line); }
.lab-history-table td.lab-history-meta { display:table-cell; }
.lab-history-cell { display:flex; align-items:flex-start; gap:8px; }
.lab-history-cell p { flex:1; min-width:0; white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }
.lab-history-meta .lab-history-buttons { margin-top:8px; gap:8px; }
