/* Shared experiment workspace. Uses the suite's existing theme and motion tokens. */
.gas-experiment { min-width: 0; color: var(--ink); margin-block: 24px; }
.gas-experiment * { min-width: 0; }
.gas-experiment .gx-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 20px; margin-bottom:22px; }
.gas-experiment .gx-title h2 { font-size:26px; font-weight:var(--heading-weight); letter-spacing:var(--track-title); }
.gas-experiment .gx-subtitle, .gas-experiment .gx-small { color:var(--muted); font-size:12px; line-height:1.6; }
.gas-experiment .gx-section { padding:22px; margin-top:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.gas-experiment .gx-heading { display:flex; align-items:center; gap:12px; font-size:18px; font-weight:var(--heading-weight); letter-spacing:var(--track-heading); margin-bottom:18px; }
.gas-experiment .gx-step { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border:1px solid var(--line); border-radius:50%; color:var(--accent); background:var(--accent-soft); font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.gas-experiment .gx-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.gas-experiment .gx-button { min-height:44px; min-width:44px; padding:10px 16px; border:1px solid var(--line); border-radius:var(--radius-small); color:var(--ink); background:var(--surface-raised); font-size:13px; font-weight:500; line-height:1.4; transition:background-color var(--motion-quick) var(--ease-standard),border-color var(--motion-quick) var(--ease-standard); }
.gas-experiment .gx-primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.gas-experiment .gx-button:focus-visible, .gas-experiment .gx-file-open:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.gas-experiment .gx-button:not(:disabled):active { transform:scale(.985); filter:brightness(.96); }
@media (hover:hover) and (pointer:fine) {
  .gas-experiment .gx-button:not(:disabled):hover { border-color:var(--accent); }
  .gas-experiment .gx-file-open:hover { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
}
.gas-experiment .gx-work { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-block:12px; }
.gas-experiment .gx-status { flex:1 1 260px; font-size:13px; color:var(--muted); overflow-wrap:anywhere; }
.gas-experiment .gx-status.is-error { color:var(--danger); }
.gas-experiment progress { max-width:100%; width:220px; height:7px; accent-color:var(--accent); }
.gas-experiment .gx-work.is-working {padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface-raised);}
.gas-experiment .gx-work.is-working .gx-status {flex-basis:100%;}
.gas-experiment .gx-progress-info {color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;}
.gas-experiment progress {appearance:none;border:0;border-radius:20px;overflow:hidden;background:var(--line-soft);flex:1 1 180px;}
.gas-experiment progress::-webkit-progress-bar {background:var(--line-soft);border-radius:20px;}
.gas-experiment progress::-webkit-progress-value {border-radius:20px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--bronze,var(--accent)) var(--progress-mix,0%),var(--accent)));transition:width var(--motion-quick) var(--ease-standard);}
.gas-experiment progress::-moz-progress-bar {border-radius:20px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--bronze,var(--accent)) var(--progress-mix,0%),var(--accent)));}
.gas-experiment .gx-section > .gx-fit-row {padding-top:20px;margin-top:20px;margin-bottom:0;border-top:1px solid var(--line-soft);}
@media(prefers-reduced-motion:reduce){.gas-experiment progress::-webkit-progress-value{transition:none;}}
@media(forced-colors:active){.gas-experiment progress{appearance:auto;accent-color:Highlight;}.gas-experiment progress::-webkit-progress-value,.gas-experiment progress::-moz-progress-bar{background:Highlight;}}
.gas-experiment .gx-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:10px; margin-block:18px 10px; }
.gas-experiment .gx-group { display:grid; grid-template-columns:44px minmax(60px,1fr) auto 44px; align-items:center; gap:8px; padding:8px; border:1px solid var(--line-soft); background:var(--surface-raised); border-radius:var(--radius-small); }
.gas-experiment input, .gas-experiment select { border:1px solid var(--line); border-radius:var(--radius-small); background:var(--input); color:var(--ink); min-height:44px; padding:9px 10px; font-size:13px; width:100%; }
.gas-experiment select { height:44px; appearance:none; padding-right:32px; }
.gas-experiment .gx-field:has(> select) { position:relative; }
.gas-experiment .gx-field:has(> select)::after { content:""; position:absolute; right:12px; bottom:16px; width:12px; height:12px; pointer-events:none; background:currentColor; mask:url("../../../assets/images/icons/arrow-down.svg?v=a63cdbe7d2975510") center / contain no-repeat; }
.gas-experiment input[type="color"] { padding:6px; cursor:pointer; width:44px; height:44px; }
.gas-experiment input[type="checkbox"] { width:18px; height:18px; min-height:18px; flex:0 0 18px; accent-color:var(--accent); cursor:pointer; }
.gas-experiment .gx-group input:not([type="color"]) { background:transparent; border-color:transparent; font-weight:500; padding-inline:2px; }
.gas-experiment .gx-group input:not([type="color"]):focus { background:var(--input); border-color:var(--line); }
.gas-experiment .gx-group-count { color:var(--muted); font-size:11px; white-space:nowrap; }
.gas-experiment .gx-group .gx-button { border:0; background:transparent; padding:0; font-size:20px; }
.gas-experiment .gx-library-actions { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; padding-block:20px 12px; }
.gas-experiment .gx-field { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:500; color:var(--muted); }
.gas-experiment .gx-field input, .gas-experiment .gx-field select { color:var(--ink); font-weight:400; }
.gas-experiment .gx-library-actions .gx-field { flex:1 1 175px; }
.gas-experiment .gx-check { display:flex; align-items:center; gap:10px; min-height:44px; font-size:13px; cursor:pointer; }
.gas-experiment .gx-check input { margin:0; }
.gas-experiment .gx-files { border:1px solid var(--line-soft); border-radius:var(--radius-small); overflow:hidden; }
.gas-experiment .gx-file { display:grid; grid-template-columns:44px minmax(180px,1.6fr) minmax(130px,1fr) minmax(120px,.7fr); align-items:center; gap:14px; padding:14px; border-top:1px solid var(--line-soft); }
.gas-experiment .gx-file:first-child { border-top:0; }
.gas-experiment .gx-file > input[type="checkbox"] { width:20px; height:20px; margin:12px; }
.gas-experiment .gx-file.is-excluded { background:var(--surface-soft); }
.gas-experiment .gx-file-info { display:flex; flex-direction:column; gap:4px; }
.gas-experiment .gx-file-name { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.gas-experiment .gx-file-status { font-size:12px; color:var(--accent); overflow-wrap:anywhere; }
.gas-experiment .gx-file-open { border:0; background:transparent; padding:0; min-height:44px; text-align:left; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.gas-experiment .gx-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:12px; font-size:12px; color:var(--muted); }
.gas-experiment .gx-details { margin-top:18px; border:1px solid var(--line-soft); border-radius:var(--radius-small); padding:0 14px; }
.gas-experiment .gx-details > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-size:13px; font-weight:500; padding-block:12px; }
.gas-experiment .gx-details > summary::before { content:'+'; margin-right:12px; color:var(--muted); font-size:18px; }
.gas-experiment .gx-details[open] > summary::before { content:'−'; }
.gas-experiment .gx-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); align-items:end; gap:14px; margin-bottom:18px; }
.gas-experiment .gx-fit-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.gas-experiment .gx-fit-row p { flex:1 1 280px; }
.gas-experiment .gx-parameters { padding:16px; border:1px solid var(--line-soft); border-radius:var(--radius-small); background:var(--surface-raised); margin-bottom:18px; }
.gas-experiment .gx-parameters > .gx-field { max-width:460px; margin-bottom:8px; }
.gas-experiment .gx-metric-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:4px 12px; max-height:220px; overflow:auto; overscroll-behavior:auto; margin-top:10px; }
.gas-experiment .gx-metric { display:flex; align-items:center; gap:10px; min-height:52px; padding:6px; cursor:pointer; border:1px solid transparent; border-radius:var(--radius-small); font-size:13px; }
.gas-experiment .gx-metric:has(input:checked) { background:var(--accent-soft); border-color:var(--line); }
.gas-experiment .gx-metric > span { display:flex; flex-direction:column; }
.gas-experiment .gx-metric small { font-size:11px; color:var(--muted); overflow-wrap:anywhere; }
.gas-experiment .gx-metric input { margin:0; }
.gas-experiment .gx-independence { margin-bottom:16px; font-size:12px; }
.gas-experiment .gx-curve-options { padding:16px; border:1px solid var(--line-soft); border-radius:var(--radius-small); }
.gas-experiment .gx-chart-grid { display:grid; gap:20px; margin-top:18px; }
.gas-experiment .gx-figure { margin:0; min-width:0; border:1px solid var(--line); border-radius:var(--radius-small); overflow:hidden; background:white; color:#111; }
.gas-experiment .gx-figure h4 { font:600 14px/1.5 var(--font-text); margin:0; padding:14px 18px; border-bottom:1px solid #e3e7eb; }
.gas-experiment .gx-figure-scroll { width:100%; overflow-x:auto; overflow-y:hidden; padding:4px; touch-action:pan-x pan-y pinch-zoom; }
.gas-experiment .gx-figure-scroll svg { display:block; max-width:none; }
.gas-experiment .gx-figure-scroll [data-inspect]:focus { outline:2px solid var(--focus); outline-offset:3px; }
.gas-experiment .gx-inspector { display:block; padding:12px 16px; margin-top:12px; border:1px solid var(--line); border-radius:var(--radius-small); background:var(--surface-raised); font-size:13px; overflow-wrap:anywhere; }
.gas-experiment .gx-analysis-details { padding-block:8px 18px; font-size:12px; color:var(--muted); }
.gas-experiment .gx-analysis-details p { margin-block:8px; overflow-wrap:anywhere; }
.gas-experiment .gx-analysis-details details { margin-block:10px; }
.gas-experiment .gx-analysis-details summary { min-height:44px; cursor:pointer; padding-block:12px; }
.gas-experiment .gx-analysis-details dl { display:grid; grid-template-columns:minmax(100px,1fr) 2fr; gap:6px 12px; }
.gas-experiment .gx-analysis-details dd { margin:0; overflow-wrap:anywhere; }
.gas-experiment .gx-table-scroll { overflow-x:auto; }
.gas-experiment table { border-collapse:collapse; width:100%; font-size:12px; }
.gas-experiment th, .gas-experiment td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--line-soft); white-space:nowrap; }
.gas-experiment th { color:var(--ink); font-weight:600; }
.gas-experiment .gx-empty { padding:18px; color:var(--muted); font-size:13px; }
.gas-experiment .is-dragging { border-color:var(--accent); background:var(--accent-soft); }
.viewer-workspace.is-comparing { grid-template-columns:minmax(0,1fr); }
.viewer-workspace.is-comparing .workspace-actions { display:none; }
.viewer-workspace.is-comparing .gas-experiment { margin-top:8px; }
.viewer-workspace.is-comparing .gx-title { display:none; }
@media (max-width:820px) {
 .gas-experiment .gx-file { grid-template-columns:32px minmax(0,1fr) minmax(115px,.6fr); gap:10px; }
 .gas-experiment .gx-file > input[type="checkbox"] { margin:6px; }
 .gas-experiment .gx-file-info { grid-column:2 / -1; }
 .gas-experiment .gx-file > .gx-field:nth-last-child(2) { grid-column:2; }
}
@media (max-width:600px) {
 .gas-experiment .gx-section { padding:14px; }
 .gas-experiment .gx-title h2 { font-size:22px; }
 .gas-experiment .gx-title { margin-bottom:14px; }
 .gas-experiment .gx-fields { grid-template-columns:minmax(0,1fr); }
 .gas-experiment .gx-groups { grid-template-columns:minmax(0,1fr); }
 .gas-experiment input:not([type="checkbox"]), .gas-experiment select { font-size:16px; }
 .gas-experiment .gx-library-actions > .gx-button { flex:1 1 90px; padding-inline:8px; }
 .gas-experiment .gx-metric-list { grid-template-columns:minmax(0,1fr); }
 .gas-experiment .gx-parameters { padding:12px; }
 .gas-experiment .gx-file { grid-template-columns:28px minmax(0,1fr); padding:10px; }
 .gas-experiment .gx-file > .gx-field { grid-column:2 !important; }
 .gas-experiment .gx-file > input[type="checkbox"] { margin:4px; }
 .gas-experiment .gx-group { gap:5px; grid-template-columns:44px minmax(0,1fr) 44px; }
 .gas-experiment .gx-group-count { grid-column:2; grid-row:2; }
 .gas-experiment .gx-group .gx-button { grid-column:3; grid-row:1 / 3; }
 .gas-experiment .gx-heading { font-size:17px; }
}
/* Keep native fields from magnifying the page when a touch device rotates. */
@media (pointer:coarse) {
 .gas-experiment input:not([type="checkbox"]):not([type="color"]), .gas-experiment select { font-size:16px; }
}
@media (forced-colors:active) {
 .gas-experiment .gx-step, .gas-experiment .gx-primary, .gas-experiment .gx-metric:has(input:checked) { border-color:Highlight; }
 .gas-experiment .gx-figure, .gas-experiment .gx-figure svg { forced-color-adjust:none; }
 .gas-experiment input[type="color"] { forced-color-adjust:none; }
}

.gas-experiment .gx-file-select {display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;cursor:pointer;}
.gas-experiment .gx-file-select input {margin:0;}
.gas-experiment .gx-source-id {font-size:12px;color:var(--muted);}
.gas-experiment .gx-source-id summary {min-height:44px;display:flex;align-items:center;cursor:pointer;}
.gas-experiment .gx-source-id input {font-size:12px;}
@media(max-width:820px){.gas-experiment .gx-file{grid-template-columns:44px minmax(0,1fr) minmax(115px,.6fr);}}
@media(max-width:600px){.gas-experiment .gx-file{grid-template-columns:44px minmax(0,1fr);}.gas-experiment .gx-source-id input{font-size:16px;}}

.gas-experiment .gx-comparison-view {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.gas-experiment .gx-comparison-view > button[aria-pressed="true"] {background:var(--accent-soft);border-color:var(--accent);color:var(--accent);}
.gas-experiment .gx-heading > .suite-help {margin-left:auto;flex:0 0 auto;}
.gas-experiment .gx-animation {color:var(--ink);background:var(--surface);border-top:1px solid var(--line);padding:8px 12px;}
.gas-experiment .gx-curve-options > .suite-help {align-self:end;}

.gas-experiment .gx-button[data-suite-icon]{display:inline-flex;align-items:center;justify-content:center}
