/* The Lab is a quiet analytical workspace. Game-table presentation is untouched. */
.lab-workspace{--lab-line:#aac3b52c;--lab-muted:#b4c7c8;--lab-accent:#dceba4;min-width:0;color:#edf1e8;margin-top:24px;font-family:var(--body,'Barlow',sans-serif)}
.lab-workspace *{box-sizing:border-box}.lab-workspace h1,.lab-workspace h2,.lab-workspace h3,.lab-workspace p{margin:0}.lab-workspace button,.lab-workspace input,.lab-workspace select,.lab-workspace textarea{font:inherit;color:inherit}.lab-workspace a{color:#c8dfac;text-underline-offset:4px}.lab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:26px}.lab-kicker{display:block;font:500 10px/1.5 var(--mono,'IBM Plex Mono',monospace);letter-spacing:.12em;color:#aacbc4;margin-bottom:9px}.lab-head h1{font:650 clamp(34px,3.3vw,58px)/1.06 var(--heading,'Barlow Condensed',sans-serif);letter-spacing:-.02em;margin-bottom:13px}.lab-head p{max-width:810px;color:var(--lab-muted);font-size:16px;line-height:1.7}.lab-private,.lab-badge{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 9px;border:1px solid var(--lab-line);border-radius:4px;color:#b9cebe;font-size:11px;line-height:1.4;flex:none}.lab-private:before{content:'';width:5px;height:5px;border-radius:50%;background:#c7dc9c}.lab-private{margin-top:8px}
.lab-coverage{border:1px solid var(--lab-line);border-radius:8px;background:linear-gradient(120deg,#20312e,#14242c 80%);padding:25px 28px;margin-bottom:22px}.lab-coverage h2,.lab-section-head h2{font:600 28px/1.15 var(--heading,'Barlow Condensed',sans-serif);margin:0 0 8px}.lab-coverage>div>p{font-size:14px;line-height:1.65;color:#c1d0c8;max-width:1000px}.lab-coverage-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0 0}.lab-metric{min-width:0}.lab-metric dt{font-size:11px;color:#afc2c5;line-height:1.45}.lab-metric dd{font:650 34px/1.05 var(--heading,'Barlow Condensed',sans-serif);color:#eef2dc;margin:5px 0}.lab-metric small{display:block;font-size:11px;line-height:1.4;color:#9fb9b2}.lab-source-details{margin-top:20px;border-top:1px solid var(--lab-line);padding-top:10px;color:#b5c6c7;font-size:13px;line-height:1.7}.lab-source-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:44px;color:#d5dfcf;font-weight:500}.lab-source-details>summary:before{content:'+';font-size:18px;font-weight:400;margin-right:6px}.lab-source-details[open]>summary:before{content:'−'}.lab-source-details>summary>span{margin-left:auto;font-size:11px;color:#a4bdb8;font-weight:400}.lab-source-details p{margin:10px 0}.lab-source-details ul{padding:0;list-style:none;margin:13px 0}.lab-source-details li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 20px;padding:10px 0;border-top:1px solid var(--lab-line)}.lab-source-details strong{font-weight:500}.lab-source-details li>span{font-size:11px;color:#a8bdb5}
.lab-setup-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:22px;align-items:start}.lab-panel{padding:25px 28px;border:1px solid var(--lab-line);border-radius:8px;background:#14232bf2;min-width:0}.lab-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:21px}.lab-section-head h2{margin-bottom:4px}.lab-section-head h3{font:600 24px/1.2 var(--heading,'Barlow Condensed',sans-serif);margin-bottom:6px}.lab-section-head p{font-size:13px;line-height:1.6;color:var(--lab-muted)}.lab-section-head .lab-kicker{margin-bottom:7px}.lab-section-head .lab-badge{max-width:175px;flex:none;white-space:normal;text-align:right}.lab-form{display:grid;gap:19px}.lab-field{display:flex;flex-direction:column;gap:8px;min-width:0}.lab-field>span{font-size:13px;font-weight:500;color:#d4e0cf}.lab-field>span>small{font-size:11px;font-weight:400;color:#a7bcba;margin-left:5px}.lab-field>small{font-size:12px;line-height:1.6;color:#9fb7b5}.lab-field input,.lab-field select,.lab-field textarea{display:block;min-width:0;width:100%;min-height:46px;background:#0c1b23;border:1px solid #92ad9c57;border-radius:5px;padding:11px 12px;font-size:14px;color:#e4ebdf;box-shadow:none;outline-offset:3px}.lab-field textarea{font:12px/1.6 var(--mono,'IBM Plex Mono',monospace);resize:vertical;min-height:138px;max-height:350px}.lab-form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px}.lab-form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.lab-form-actions>a{font-size:12px}.lab-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid #96b39370;border-radius:5px;background:#283c37;color:#e8eed8;font-size:13px;line-height:1.35;font-weight:550;cursor:pointer;text-decoration:none;touch-action:manipulation}.lab-button.primary{background:#dce9aa;border-color:#dce9aa;color:#172423}.lab-button.quiet{border-color:#94afa43f;background:#1d3036;color:#d1dfce}.lab-button:hover:not(:disabled){filter:brightness(1.13)}.lab-workspace button:disabled{opacity:.43;cursor:default}.lab-workspace :is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid #a5e1dc;outline-offset:3px}.lab-json{display:none}.lab-json.is-open{display:block}.lab-file-label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#bdd0bd;margin-top:12px}.lab-file-label input{font-size:12px;max-width:100%;padding:6px 0;min-height:40px}.lab-supporting{font-size:12px;color:#a9bebe;line-height:1.65;margin-top:20px!important}.lab-note{padding:14px 17px;background:#243b34;border:1px solid #a5c99852;border-radius:6px;font-size:13px;line-height:1.65;color:#d9e5c7;margin:0 0 20px}.lab-form .lab-note{margin:0}.lab-note .lab-button{margin:10px 0 0}.lab-note.is-error{border-color:#d49b9880;background:#3c282c;color:#f2c6c8}.lab-note.is-warning{border-color:#d6bc775c;background:#3b3625;color:#ead8ae}.lab-note p+p{margin-top:6px}.lab-plan-review{margin-top:24px;padding:21px;border:1px solid #dce9aa70;border-radius:6px;background:#263a32}.lab-plan-review h3{font:600 28px/1.15 var(--heading,'Barlow Condensed',sans-serif);margin-top:4px}.lab-plan-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.lab-plan-counts dd{font-size:30px}.lab-plan-review>p{font-size:13px;line-height:1.65;color:#c8d8c0;margin:13px 0}.lab-plan-review>.lab-button{width:100%;margin-top:9px}.lab-fingerprint{font:11px/1.8 var(--mono,'IBM Plex Mono',monospace)!important;overflow-wrap:anywhere;color:#adc2b4!important}
.lab-job-list{display:flex;flex-direction:column;gap:9px;max-height:520px;overflow:auto;scrollbar-width:thin;padding:2px}.lab-job{display:flex;flex-direction:column;gap:7px;text-align:left;width:100%;padding:15px;background:#10212a;border:1px solid #8da89b2e;border-radius:5px;cursor:pointer;min-width:0;color:#dce5d7}.lab-job.is-selected{border-color:#c5dca078;background:#23372f}.lab-job-name{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.lab-job-name>strong{font-size:14px;font-weight:550;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-status{display:inline-flex;padding:3px 6px;flex:none;border:1px solid #aac19e40;border-radius:3px;background:#2842367d;color:#c6dbc0;font-size:10px;text-transform:capitalize}.lab-status.running{background:#264548;color:#b6e0d7}.lab-status.error{background:#4b2d31;color:#edbbbe}.lab-status.cancelled,.lab-status.cancelling{color:#d7c5a3;background:#413b2b}.lab-job>span:not(.lab-job-name){font-size:12px;color:#b5c9c0}.lab-job>small{font-size:10px;color:#92b0a5}.lab-job>i{display:block;background:#789a7e21;height:3px;margin-top:5px;border-radius:2px;overflow:hidden}.lab-job>i>b{display:block;height:100%;background:#b5d48e;transition:width .25s}.lab-empty{padding:26px 18px;text-align:center;font-size:13px;line-height:1.75;color:#aebfc5;border:1px dashed #92ad9c3f;border-radius:5px;background:#11212a}.lab-empty>strong{font-size:17px;font-weight:550;display:block;color:#dce6d3;margin-bottom:8px}.lab-empty p{font-size:13px}.lab-loading{padding:35px;color:#c6d4ca;background:#14232b;border:1px solid #92ad9c3f;border-radius:6px;font-size:15px;line-height:1.7}
.lab-results{margin-top:22px}.lab-result-actions{display:flex;gap:8px;flex-wrap:wrap;flex:none;justify-content:flex-end}.lab-progress{height:6px;background:#9db9951c;border-radius:3px;overflow:hidden}.lab-progress>i{display:block;height:100%;background:#cae19e;transition:width .25s}.lab-progress-copy{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:#aac0bb;line-height:1.5}.lab-progress-copy strong{color:#e5edd8}.lab-result-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:27px 0}.lab-result-counts .lab-metric{padding-right:12px;border-right:1px solid var(--lab-line)}.lab-result-counts .lab-metric:last-child{border:0}.lab-profile-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lab-profile-card{padding:17px 18px;border:1px solid #8aa89732;border-radius:6px;background:#11212a;min-width:0}.lab-profile-card.is-default{border-color:#c0d39b7a;background:#203329}.lab-profile-card header{display:flex;flex-direction:column;gap:4px}.lab-profile-card header>strong{font-size:14px;font-weight:550;color:#dfebcf}.lab-profile-card header>span{font-size:10px;color:#9bb9b1}.lab-profile-card>b{display:block;font:600 34px/1.1 var(--heading,'Barlow Condensed',sans-serif);margin:16px 0 10px}.lab-score-bar{height:4px;border-radius:2px;background:#9dbaa11c;overflow:hidden}.lab-score-bar>i{display:block;height:100%;background:#a7c48a}.lab-profile-card p{font-size:11px;color:#b1c9ba;line-height:1.6;margin:11px 0 5px}.lab-profile-card small{font-size:10px;color:#93b3a7;line-height:1.5;display:block}.lab-result-context{margin:18px 0 25px;font-size:12px;line-height:1.7;color:#a8bebb}.lab-result-context p+p{margin-top:5px}.lab-matchups{border-top:1px solid var(--lab-line);padding-top:24px}.lab-table-controls{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:17px}.lab-table-controls>.lab-field{min-width:170px}.lab-search{display:flex;gap:8px;align-items:flex-end;width:min(440px,65%)}.lab-search>.lab-field{flex:1}.lab-table-scroll{width:100%;overflow-x:auto;scrollbar-width:thin}.lab-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;table-layout:auto}.lab-table th{padding:11px 12px;border-block:1px solid var(--lab-line);background:#10212a;font-size:10px;font-weight:500;color:#acbfb9;white-space:nowrap}.lab-table td{padding:17px 12px;border-bottom:1px solid var(--lab-line);vertical-align:top;color:#d6e1ce;line-height:1.5}.lab-table th:first-child,.lab-table td:first-child{padding-left:0;min-width:180px;max-width:370px}.lab-table td>strong{font-size:13px;font-weight:550;line-height:1.45}.lab-table td>small{display:block;font-size:10px;color:#97b5ac;margin-top:5px;line-height:1.6;overflow-wrap:anywhere}.lab-table .lab-rate{font:650 23px/1.2 var(--heading,'Barlow Condensed',sans-serif);color:#e8efd2}.lab-muted{font-size:11px;color:#a6bcb6}.lab-loss{margin-top:5px}.lab-loss summary{font-size:11px;min-height:36px;cursor:pointer;color:#c3dab4;display:flex;align-items:center}.lab-loss p{font-size:11px;line-height:1.6;color:#b1c5bd;max-width:190px}.lab-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px;font-size:12px;color:#a7bdb7}.lab-pagination>div{display:flex;gap:7px}.lab-footer-note{font-size:12px;line-height:1.7;color:#93afa7;margin:24px 0 12px!important}.command-lab-nav .icon{color:#bfd69c}
@media(min-width:1800px){.lab-workspace{max-width:1600px;margin-inline:auto}.lab-head h1{font-size:56px}.lab-panel{padding:30px 32px}.lab-setup-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}}
@media(max-width:1180px){.lab-setup-grid{grid-template-columns:minmax(0,1fr)}.lab-job-list{max-height:300px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lab-job-list>.lab-job{align-self:start}.lab-profile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-result-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.lab-result-counts .lab-metric:nth-child(2){border:0}.lab-runs{order:2}}
@media(max-width:700px){.lab-workspace{margin-top:12px}.lab-head{gap:12px;display:block;margin-bottom:20px}.lab-head h1{font-size:41px}.lab-head p{font-size:14px;line-height:1.7}.lab-private{margin-top:14px}.lab-coverage,.lab-panel{padding:20px}.lab-coverage-counts{gap:13px}.lab-coverage-counts dd{font-size:28px}.lab-metric dt{font-size:10px}.lab-metric small{font-size:10px}.lab-coverage h2{font-size:27px}.lab-source-details>summary{flex-wrap:wrap;gap:3px 8px}.lab-source-details>summary>span{font-size:10px}.lab-section-head{flex-wrap:wrap;gap:13px}.lab-section-head .lab-badge{text-align:left;max-width:none;font-size:10px}.lab-form-pair{grid-template-columns:minmax(0,1fr)}.lab-form-actions{display:block}.lab-form-actions>.lab-button{width:100%;margin-bottom:15px}.lab-form-actions>a{display:inline-block;min-height:40px}.lab-field input,.lab-field select{font-size:16px}.lab-plan-review{padding:17px}.lab-plan-counts{gap:11px}.lab-plan-counts dd{font-size:27px}.lab-job-list{grid-template-columns:minmax(0,1fr);max-height:310px}.lab-progress-copy{display:block}.lab-progress-copy>span{display:block;margin-top:5px}.lab-result-counts{gap:18px;margin:23px 0}.lab-result-counts dd{font-size:30px}.lab-profile-cards{gap:9px}.lab-profile-card{padding:15px 12px}.lab-profile-card>b{font-size:31px;margin-block:14px 10px}.lab-profile-card header>strong{font-size:13px}.lab-profile-card p{font-size:10px}.lab-profile-card small{font-size:9px}.lab-result-actions{justify-content:flex-start;width:100%}.lab-result-actions>.lab-button{flex:1}.lab-table-controls{display:block}.lab-table-controls>.lab-field{margin-bottom:14px}.lab-search{width:100%}.lab-table thead{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.lab-table,.lab-table tbody{display:block}.lab-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px;padding:18px 0;border-bottom:1px solid var(--lab-line)}.lab-table td{display:block;padding:0;border:0;min-width:0;font-size:12px}.lab-table td:first-child{grid-column:1/-1;max-width:none;min-width:0}.lab-table td[data-label]:before{content:attr(data-label);display:block;font:10px/1.4 var(--mono,'IBM Plex Mono',monospace);color:#8eada6;margin-bottom:6px}.lab-table .lab-rate{font-size:23px}.lab-table td>strong{font-size:14px}.lab-table td>small{font-size:10px}.lab-loss summary{min-height:44px}.lab-pagination{flex-wrap:wrap}.lab-pagination>div{width:100%}.lab-pagination .lab-button{flex:1}.lab-results .lab-section-head>div:first-child{min-width:0}.lab-note{font-size:12px}.lab-result-context{font-size:11px}}
@media(max-width:360px){.lab-coverage,.lab-panel{padding:16px}.lab-coverage-counts{grid-template-columns:minmax(0,1fr);gap:15px}.lab-coverage-counts .lab-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px}.lab-coverage-counts dd{grid-column:2;grid-row:1/3;margin:0;align-self:center}.lab-coverage-counts small{grid-column:1}.lab-head h1{font-size:36px}.lab-plan-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-plan-counts .lab-metric:last-child{grid-column:1/-1}.lab-profile-card{padding:13px 10px}.lab-profile-card header>span{min-height:25px}.lab-result-counts{gap:17px 12px}}
@media(prefers-reduced-motion:reduce){.lab-workspace *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.admin-page .lab-workspace>.lab-head{display:none}.lab-source-count-note{margin-top:16px!important;font-size:11px;line-height:1.6;color:#a8beb5}

.lab-delete-review h3{font-size:23px;margin-bottom:8px}.lab-delete-review>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}.lab-button.danger{background:#613c3c;border-color:#c6998566;color:#f1d7cc}
.lab-run-options{min-width:0;display:grid;gap:16px;padding:15px 16px;border:1px solid var(--lab-line);border-radius:6px}
.lab-run-options legend,.lab-pilot-options>p{font-size:13px;color:#d4e0cf;font-weight:550}
.lab-run-options legend{padding-inline:6px}
.lab-pilot-options{display:grid;gap:7px}
.lab-pilot-options>div{display:flex;flex-wrap:wrap;gap:4px 12px}
.lab-pilot-options label{min-height:44px;display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#d4e0cf;cursor:pointer}
.lab-pilot-options input{width:17px;height:17px;accent-color:#cce19b}
.lab-pilot-options small,.lab-option-help{font-size:12px;line-height:1.55;color:#9fb7b5}
.lab-opponent-picker{display:grid;gap:9px}
.lab-opponent-picker>.lab-button{justify-self:start}
.lab-opponent-list{max-height:215px;overflow:auto;list-style:none;margin:0;padding:0 5px 0 0}
.lab-opponent-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid var(--lab-line);font-size:13px;color:#d4e0cf}
.lab-opponent-list li>span{min-width:0;overflow-wrap:anywhere}
.lab-opponent-list .lab-button{flex:none}
