.training-hub .tool-hero{padding-bottom:var(--s-5);border-bottom:0}.lab-hub-start{align-items:center;gap:var(--s-6);margin-bottom:var(--s-5);display:flex}.lab-hub-start>p{color:var(--ink-light);font-size:var(--t-sm);max-width:34ch}.lab-hub-entry{justify-items:start;gap:var(--s-3);display:grid}.lab-resume-title{color:var(--ink);font-size:var(--t-body);font-weight:600}.lab-catalog-heading{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding-bottom:var(--s-5);display:flex}.lab-catalog h2{font-family:var(--font-display);font-size:var(--t-h3);font-weight:600}.lab-catalog-heading p{color:var(--ink-light);font-size:var(--t-sm)}.lab-catalog>ol{border-top:1px solid var(--border-mid);list-style:none}.lab-exercise-row{gap:var(--s-5);padding:var(--s-5) var(--s-3);border-bottom:1px solid var(--border-mid);grid-template-columns:40px minmax(0,1fr) auto 24px;align-items:center;display:grid}.lab-exercise-row:hover,.lab-exercise-row.is-resume{background:var(--bg-alt)}.lab-exercise-row:focus-visible{outline-offset:calc(-1 * var(--focus-width))}.lab-exercise-number{font-family:var(--font-display);font-size:var(--t-h3);color:var(--ink-light);align-self:start}.lab-exercise-copy h3{font-family:var(--font-display);font-size:var(--t-body);margin-bottom:var(--s-2);font-weight:600;line-height:1.4}.lab-exercise-copy p{color:var(--ink-mid);margin-bottom:var(--s-3);max-width:var(--measure);font-size:1rem}.lab-exercise-copy small{color:var(--ink-light);font-size:var(--t-label)}.lab-progress{align-items:center;gap:var(--s-1);font-size:var(--t-label);color:var(--ink-light);white-space:nowrap;display:flex}.lab-progress.is-complete{color:var(--accent-text)}.lab-progress.is-started{color:var(--ink-mid);font-weight:600}.lab-row-arrow{color:var(--ink-light)}.lab-hub-how{margin:0 0 var(--s-7);padding-bottom:var(--s-3);border-bottom:1px solid var(--border);font-size:1rem}.lab-hub-how summary{cursor:pointer;min-height:var(--tap);padding:var(--s-3) 0;font-weight:600}.lab-hub-how ol{padding:var(--s-4) 0 var(--s-4) var(--s-5)}.lab-hub-how li+li{margin-top:var(--s-2)}.lab-hub-how p{max-width:var(--measure);color:var(--ink-mid)}.training-workspace-page .tool-hero{padding:var(--s-4) 0 var(--s-5)}.training-workspace-page .tool-h1{font-size:var(--t-h2);margin-bottom:var(--s-3);line-height:1.2}.training-workspace-page .tool-eyebrow{margin-bottom:var(--s-3)}.training-workspace-page .tool-sub{max-width:none;font-size:1rem}.lab-navigation{align-items:center;gap:var(--s-4);padding:var(--s-4) 0;flex-wrap:wrap;display:flex}.lab-back{align-items:center;gap:var(--s-2);min-height:var(--tap);font-size:var(--t-sm);display:inline-flex}.lab-back:hover{text-decoration:underline}.lab-exercise-select{gap:var(--s-2);flex:1;min-width:180px;max-width:480px;display:grid}.lab-exercise-select>span{color:var(--ink-mid);font-size:var(--t-label)}.lab-exercise-select select{width:100%;min-height:var(--tap);padding:var(--s-2) var(--s-3);border:1px solid var(--border-mid);border-radius:var(--r);background:var(--bg);font:inherit;font-size:var(--t-sm);color:var(--ink)}.lab-save-state{align-items:center;gap:var(--s-1);color:var(--ink-light);font-size:var(--t-label);margin-left:auto;display:inline-flex}.lab-save-state svg{flex-shrink:0}.lab-save-state.is-unsaved{color:var(--danger)}.lab-brief{gap:var(--s-6);padding:var(--s-6);background:var(--bg-alt);border-radius:var(--r-panel);margin:var(--s-2) 0 var(--s-5);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);font-size:1rem;display:grid}.lab-brief h2{font-family:var(--font-display);margin-bottom:var(--s-3);font-weight:500;font-size:var(--t-body)}.lab-brief p{line-height:1.7}.lab-brief ul{align-content:center;gap:var(--s-3);padding-left:var(--s-4);color:var(--ink-mid);list-style:outside;display:grid}.lab-brief li{padding-left:var(--s-1);line-height:1.6}.lab-workspace{gap:var(--s-5);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.lab-area-site,.lab-solution,.lab-area-checks{min-width:0}.lab-area-checks{grid-column:1/-1}.lab-preview,.lab-solution,.lab-inspector{border:1px solid var(--border-mid);border-radius:var(--r-lg);background:var(--bg)}.lab-panel-heading{justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.lab-panel-heading h2{align-items:center;gap:var(--s-2);font-family:var(--font-text);font-size:1rem;font-weight:600;display:flex}.lab-panel-heading>span{color:var(--ink-light);font-size:var(--t-label)}.lab-workspace :is(input,select,textarea){width:100%;min-width:0;max-width:100%;color:var(--ink);font:inherit;font-size:var(--t-sm);background:var(--bg);border:1px solid var(--border-mid);border-radius:var(--r);padding:10px var(--s-3)}.lab-workspace textarea{font-family:var(--font-mono);resize:vertical}.lab-workspace :is(input,select){min-height:var(--tap)}.lab-workspace label{gap:var(--s-1);margin-bottom:var(--s-3);font-size:var(--t-label);flex-direction:column;font-weight:500;display:flex}.lab-workspace :is(input,select):focus-visible{border-color:var(--accent)}.lab-workspace [aria-invalid=true]{border-color:var(--danger)}.lab-workspace button{font-family:inherit}.lab-workspace button:disabled,.lab-file-bar button:disabled{opacity:.55;cursor:default}.lab-workspace :is(p,h3){overflow-wrap:anywhere}.lab-workspace pre{max-width:100%;font-family:var(--font-mono);font-size:var(--t-label);tab-size:2;line-height:1.7;overflow:auto}.lab-workspace code{font-family:var(--font-mono);font-size:var(--t-label);overflow-wrap:anywhere}.lab-workspace details>summary,.lab-compatibility summary{cursor:pointer;font-size:var(--t-sm);padding:var(--s-3) 0}.lab-fixture{padding:var(--s-5)}.lab-fixture-kicker{font-size:var(--t-label);margin-bottom:var(--s-3);color:var(--ink-mid);font-weight:600}.lab-fixture h3{font-family:var(--font-display);font-size:var(--t-h3);margin-bottom:var(--s-2);font-weight:600;line-height:1.4}.lab-fixture>p{font-size:var(--t-sm);color:var(--ink-mid);margin-bottom:var(--s-5)}.lab-fixture form{margin-top:var(--s-5)}.lab-fixture form>p{margin-top:var(--s-3);font-size:var(--t-label)}.lab-action{justify-content:center;align-items:center;gap:var(--s-2);background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--ink);border-radius:var(--r);padding:var(--s-3) var(--s-4);font-size:var(--t-sm);cursor:pointer;margin-top:var(--s-2);font-weight:600;display:inline-flex}.lab-preview-help{border-top:1px solid var(--border);padding:var(--s-3) var(--s-4);font-size:var(--t-label);color:var(--ink-light)}.lab-input-data{border-top:1px solid var(--border);margin-top:var(--s-5)}.lab-json{background:var(--bg-alt);border-radius:var(--r);padding:var(--s-4);color:var(--ink-mid);margin:var(--s-2) 0}.lab-muted{font-size:var(--t-label);color:var(--ink-light);line-height:1.65}.lab-text-button{align-items:center;gap:var(--s-2);min-height:var(--tap);padding:var(--s-2) 0;color:var(--ink-mid);font:inherit;font-size:var(--t-label);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;text-decoration:underline;display:inline-flex}.lab-text-button:hover{color:var(--ink)}.lab-inline-actions{gap:var(--s-4);flex-wrap:wrap;display:flex}.lab-code-editor .cm-editor{background:var(--bg);font-size:var(--t-label);border-radius:0}.lab-code-editor .cm-scroller{font-family:var(--font-mono);min-height:310px;max-height:500px;line-height:1.8;overflow:auto}.lab-code-editor .cm-content{padding:var(--s-4) 0}.lab-code-editor .cm-line{padding:0 var(--s-4)}.lab-code-editor .cm-gutters{background:var(--bg-alt);color:var(--ink-light);padding-left:var(--s-1);border:0}.lab-code-editor .cm-activeLine,.lab-code-editor .cm-activeLineGutter{background:var(--bg-alt)}.lab-code-editor .cm-focused{outline:var(--focus-width) solid var(--focus-ring);outline-offset:-2px}.lab-code-editor textarea{border:0;border-radius:0;min-height:310px}.lab-editor-help{padding:var(--s-2) var(--s-4);font-size:var(--t-xs);color:var(--ink-light);border-top:1px solid var(--border)}.lab-run-bar{gap:var(--s-3);padding:var(--s-4);background:var(--bg-alt);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.lab-run-bar .btn-primary,.lab-run-bar .btn-secondary{min-height:var(--tap);padding:10px var(--s-4);font-size:var(--t-sm)}.lab-run-bar>span{width:100%;font-size:var(--t-label);color:var(--ink-mid)}.lab-guidance{padding:0 var(--s-4) var(--s-2);border-top:1px solid var(--border)}.lab-guidance p{font-size:var(--t-sm);margin:var(--s-2) 0 var(--s-3)}.lab-guidance ol{padding-left:var(--s-5);font-size:var(--t-sm)}.lab-guidance li+li{margin-top:var(--s-2)}.lab-segmented{gap:var(--s-1);padding:var(--s-2);border-bottom:1px solid var(--border);display:flex}.lab-segmented button,.lab-mobile-tabs button{min-width:0;min-height:var(--tap);padding:10px var(--s-2);border-radius:var(--r);color:var(--ink-mid);font:inherit;font-size:var(--t-label);cursor:pointer;background:0 0;border:1px solid #0000;flex:1}.lab-segmented button[aria-pressed=true]{background:var(--bg-alt);border-color:var(--border-mid);color:var(--ink);font-weight:600}.lab-builder-content{padding:var(--s-4);max-height:530px;overflow:auto}.lab-builder-content>p{margin-bottom:var(--s-4)}.lab-builder-content h3{margin:var(--s-4) 0 var(--s-3);font-size:var(--t-sm)}.lab-builder-content fieldset{min-width:0;padding:var(--s-3);margin:0 0 var(--s-4);border:1px solid var(--border-mid);border-radius:var(--r)}.lab-builder-content legend{padding:0 var(--s-2);font-size:var(--t-label);color:var(--ink-light)}.lab-inspector-body{padding:var(--s-5)}.lab-empty{padding:var(--s-5) 0;color:var(--ink-light);font-size:var(--t-sm)}.lab-event-picker{max-width:480px}.lab-value-list>div{gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.lab-value-list dt{font-size:var(--t-sm)}.lab-value-list dd{min-width:0}.lab-value-list small,.lab-return small{color:var(--ink-light);font-size:var(--t-xs)}.lab-return{align-items:baseline;gap:var(--s-4);padding:var(--s-5) 0;display:flex}.lab-return span{font-size:var(--t-sm);color:var(--ink-mid)}.lab-return strong{font:600 var(--t-h2) var(--font-mono)}.lab-inspector h3{font-size:var(--t-sm);margin-bottom:var(--s-3)}.lab-condition-results{font-size:var(--t-sm);list-style:none}.lab-condition-results li{padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.lab-condition-results li>span{margin-right:var(--s-2);font-weight:700}.lab-condition-results p{color:var(--ink-light);font-size:var(--t-label);padding-left:var(--s-5)}.lab-pass{color:var(--accent-text)}.lab-fail{color:var(--danger)}.lab-verdict{align-items:center;gap:var(--s-3);padding:var(--s-4);background:var(--bg-alt);border-radius:var(--r);margin-bottom:var(--s-4);display:flex}.lab-verdict.is-passed{background:var(--accent-light)}.lab-verdict>svg{color:var(--ink-mid);flex-shrink:0}.lab-verdict.is-passed>svg{color:var(--accent-text)}.lab-verdict strong{font-size:var(--t-sm)}.lab-verdict p{color:var(--ink-mid);font-size:var(--t-label)}.lab-check-list{margin-bottom:var(--s-4);list-style:none}.lab-check-list>li{border-bottom:1px solid var(--border)}.lab-check-list summary>span{align-items:center;gap:var(--s-1);margin:0 var(--s-3) 0 var(--s-1);font-size:var(--t-label);display:inline-flex}.lab-diff{gap:var(--s-3);padding:var(--s-3);background:var(--bg-alt);border-radius:var(--r);margin-bottom:var(--s-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.lab-diff>code{grid-column:1/-1}.lab-diff>div{min-width:0}.lab-diff span{font-size:var(--t-xs);color:var(--ink-light)}.lab-error{background:var(--bg-alt);padding:var(--s-4);margin-bottom:var(--s-4);border-left:0}.lab-error strong{font-size:var(--t-sm)}.lab-error pre{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:var(--s-2)}.lab-sr-status{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lab-demo-links{gap:var(--s-3);margin-bottom:var(--s-5);display:grid}.lab-demo-links a{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border-mid);border-radius:var(--r);font-size:var(--t-sm);display:flex}.lab-demo-links small{font-size:var(--t-xs);color:var(--ink-light);overflow-wrap:anywhere;display:block}.lab-demo-links a:hover{background:var(--bg-alt)}.lab-demo-links a[aria-disabled=true]{opacity:.6}.lab-demo-links svg{flex-shrink:0}.lab-store-header{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.lab-cart-link{align-items:center;gap:var(--s-2);font-size:var(--t-sm);padding:var(--s-2);display:inline-flex}.lab-products{border-top:1px solid var(--border-mid);list-style:none}.lab-products>li{gap:var(--s-3);padding:var(--s-4) 0;border-bottom:1px solid var(--border-mid);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;display:grid}.lab-product-number{color:var(--ink-light);font-size:var(--t-label)}.lab-product-name{color:var(--ink);text-align:left;font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;font-weight:600}.lab-product-name:hover{text-decoration:underline}.lab-products small{font-size:var(--t-xs);color:var(--ink-light);display:block}.lab-products p{margin-top:var(--s-2);font-size:var(--t-label);color:var(--ink-mid)}.lab-quantity{border:1px solid var(--border-mid);border-radius:var(--r);align-items:center;display:flex}.lab-quantity button{width:32px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.lab-quantity output{font-size:var(--t-label);text-align:center;min-width:22px}.lab-cart{margin-top:var(--s-5);scroll-margin-top:90px}.lab-cart h3{margin-bottom:var(--s-4);font-size:1rem}.lab-cart h3 span{color:var(--ink-light);font-size:var(--t-sm)}.lab-order-summary{margin:var(--s-4) 0;font-size:var(--t-label)}.lab-order-summary>div{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-1) 0;display:flex}.lab-order-summary dt{color:var(--ink-mid)}.lab-order-summary dd{white-space:nowrap;font-variant-numeric:tabular-nums}.lab-order-summary .lab-total{border-top:1px solid var(--border-mid);margin-top:var(--s-2);padding-top:var(--s-3);font-weight:600;font-size:var(--t-sm)}.lab-completion{align-items:center;gap:var(--s-4);padding:var(--s-5);background:var(--accent-light);border:1px solid var(--accent);border-radius:var(--r-lg);margin-top:var(--s-5);display:flex}.lab-completion>svg{color:var(--accent-text);flex-shrink:0}.lab-completion p{font-size:var(--t-sm);color:var(--ink-mid)}.lab-completion .btn-primary{flex-shrink:0;margin-left:auto}.lab-file-bar{gap:var(--s-5);padding:var(--s-4) 0;flex-wrap:wrap;display:flex}.lab-notice{font-size:var(--t-sm);color:var(--ink-mid)}.lab-notice:not(:empty){margin-bottom:var(--s-4)}.lab-compatibility{border-top:1px solid var(--border-mid);padding-top:var(--s-2);margin-top:var(--s-3)}.lab-compatibility p{max-width:var(--measure);font-size:var(--t-sm);color:var(--ink-mid);margin:var(--s-3) 0}.lab-compatibility a{text-underline-offset:3px;font-size:var(--t-sm);text-decoration:underline}.lab-mobile-tabs{display:none}@media (width<=900px){.lab-workspace{gap:var(--s-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lab-fixture{padding:var(--s-4)}.lab-products>li{gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto}.lab-product-number{display:none}.lab-completion{flex-wrap:wrap}.lab-completion .btn-primary{margin-left:0}}@media (width<=720px){.lab-hub-start{align-items:flex-start;gap:var(--s-3);flex-direction:column}.lab-hub-start>p{max-width:none}.lab-catalog-heading{gap:var(--s-2);flex-direction:column}.lab-exercise-row{gap:var(--s-3);padding:var(--s-5) 0;grid-template-columns:28px minmax(0,1fr) 20px}.lab-exercise-copy{grid-column:2}.lab-exercise-copy h3{font-size:var(--t-body)}.lab-progress{grid-column:2}.lab-row-arrow{grid-area:1/3}.lab-exercise-number{font-size:1rem}.lab-navigation{gap:var(--s-3)}.lab-exercise-select{flex-basis:100%;order:3;max-width:none}.lab-save-state{max-width:60%;font-size:var(--t-label)}.lab-brief{gap:var(--s-5);padding:var(--s-5);grid-template-columns:1fr}.lab-brief ul{padding-top:var(--s-4);border-top:1px solid var(--border-mid)}.lab-workspace{display:block}.lab-mobile-tabs{gap:var(--s-1);z-index:10;background:var(--bg);padding:var(--s-2) 0;margin-bottom:var(--s-3);border-bottom:1px solid var(--border-mid);scroll-margin-top:68px;display:flex;position:sticky;top:68px}.lab-mobile-tabs button{justify-content:center;align-items:center;gap:var(--s-1);border-radius:999px;display:inline-flex}.lab-mobile-tabs button[aria-pressed=true]{background:var(--accent-light);color:var(--accent-text);font-weight:600}.lab-tab-number{font-variant-numeric:tabular-nums}.lab-tab-result{width:var(--s-1);height:var(--s-1);background:currentColor;border-radius:50%;flex-shrink:0}.lab-workspace:not(.lab-mobile-site)>.lab-area-site,.lab-workspace:not(.lab-mobile-solution)>.lab-solution,.lab-workspace:not(.lab-mobile-checks)>.lab-area-checks{display:none}.lab-inspector-body{padding:var(--s-4)}.lab-code-editor .cm-scroller{min-height:280px;max-height:430px}.lab-run-bar{z-index:2;position:sticky;bottom:0}.lab-run-bar .btn-primary,.lab-run-bar .btn-secondary{padding:10px var(--s-2);font-size:var(--t-label);flex:1;justify-content:center}.lab-builder-content{max-height:none}.lab-panel-heading{gap:var(--s-1)}.lab-file-bar{gap:var(--s-3) var(--s-5)}.lab-completion{padding:var(--s-4)}.lab-completion>div{flex:1}.lab-completion .btn-primary{justify-content:center;width:100%}.lab-diff{grid-template-columns:minmax(0,1fr)}.lab-return{flex-wrap:wrap}}.lab-preview,.lab-solution,.lab-inspector{border-radius:var(--r-panel);background:var(--bg-alt);border:0;overflow:hidden}.lab-code-editor,.lab-fixture{background:var(--bg)}.lab-fixture{margin:0 var(--s-4) var(--s-4);border-radius:var(--r-lg)}.lab-action{min-height:var(--tap);border-color:var(--border-mid);background:var(--action-gradient);color:var(--ink);border-radius:999px}.lab-action:hover:not(:disabled){background:var(--action-gradient-hover)}.lab-quantity button{width:var(--tap);height:var(--tap)}.training-workspace-page .tool-h1{font-size:clamp(2rem,4vw,3rem)}.lab-navigation{padding-bottom:var(--s-5)}.lab-catalog h2{font-size:var(--t-h3)}
