:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233b32;background:#f6f4ed;font-size:16px;--green:#214b3b;--muted:#4e6258;--rule:#c5cfc4;--soft:#eaf0e7;--gold:#805714}
*{box-sizing:border-box}body{margin:0;font-size:1.125rem;line-height:1.7;overflow-wrap:anywhere}button,input,textarea{font:inherit}button{cursor:pointer;min-width:44px;min-height:44px}button:disabled{cursor:default;opacity:.6}a{color:var(--green)}[hidden]{display:none!important}.lab-shell{max-width:1240px;margin:auto;padding:0 2rem}.skip{position:absolute;left:1rem;top:-10rem;background:white;padding:.75rem}.skip:focus{top:1rem;z-index:5}.lab-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule);padding:1.25rem 0}.lab-brand{display:inline-flex;align-items:center;min-height:44px;gap:.75rem;text-decoration:none;font-weight:750;font-size:1.125rem}.lab-brand>span{font-size:1.875rem;color:var(--gold)}.practice-label{font-size:.875rem;color:var(--muted)}.lab-intro{padding:2rem 0 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.875rem;font-weight:650;color:var(--green)}h1{font-size:clamp(2rem,4vw,3.125rem);letter-spacing:-.04em;line-height:1.15;margin:.5rem 0}h2{font-size:1.75rem;line-height:1.25;margin:.75rem 0}h3{font-size:1.5rem;line-height:1.3}p{margin:.75rem 0}.lab-intro p{color:var(--muted);margin-bottom:0}.lab-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2rem;align-items:start}.trail{background:var(--soft);border-radius:1.5rem;padding:1.25rem}.trail-title{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;font-size:.875rem}.trail ol{list-style:none;margin:1rem 0;padding:0}.trail li{display:grid;grid-template-columns:2.25rem 1fr;gap:0 .5rem;padding:1rem 0;border-bottom:1px solid var(--rule)}.trail li>span{grid-row:1/3;border:1px solid #759583;border-radius:50%;height:2.25rem;display:grid;place-items:center;font-size:1rem;font-weight:600}.trail li>b{font-size:1rem}.trail li>small{font-size:.875rem;color:var(--muted)}.trail li.current>span{background:var(--green);color:white}.trail li.complete>span{background:#d2e5d4;color:var(--green)}.trail-note{display:flex;gap:.75rem;align-items:start;margin:1rem 0}.trail-note>span{font-size:1.5rem}.trail-note p{font-size:1rem;line-height:1.6;margin:0}.quiet-button{background:transparent;border:1px solid #82968a;border-radius:.65rem;padding:.625rem .875rem;color:var(--green);font-size:1rem}.primary-button{background:var(--green);border:1px solid var(--green);color:white;border-radius:.65rem;padding:.625rem 1rem;font-size:1rem;font-weight:650}.primary-button:disabled{background:#dce4da;color:#4b5d51;border-color:#a7b6aa;opacity:1}.challenge-card{background:#fffdf8;border:1px solid var(--rule);border-radius:1.5rem;padding:1.75rem;min-width:0}.challenge-top{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between}.scenario-label{font-size:.875rem;color:var(--muted)}.question{font-size:1.125rem;line-height:1.7}.visual{margin:1.25rem 0;border:1px solid #c4d6c6;background:#edf3e9;border-radius:1rem;padding:1.25rem}.visual-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}.visual-panel{min-width:0}.visual-panel h3{font-size:1rem;margin:0 0 .5rem}.count-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.count-label>b{font-size:2.25rem;line-height:1.3;letter-spacing:-.025em}.count-label>span{font-size:1rem}.share-label{display:block;font-size:.875rem;color:var(--green);margin:.5rem 0;font-weight:650}.tokens{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-width:280px}.tokens i{aspect-ratio:1;border:1px solid #829d8d;border-radius:2px;background:#fbfdf7}.tokens i.filled{background:var(--green);border-color:var(--green)}figcaption{font-size:.875rem;line-height:1.6;margin-top:1rem;color:#3f5848}.tile-key{font-size:.875rem;line-height:1.6;color:#3f5848;display:flex;align-items:baseline;gap:.5rem}.tile-key i{display:inline-block;width:.625rem;height:.625rem;min-width:.625rem;background:var(--green)}.options{display:grid;gap:.75rem}.answer-option{width:100%;border:1px solid var(--rule);border-radius:.875rem;background:white;display:flex;text-align:left;align-items:start;gap:.75rem;padding:1rem;color:#233b32;font-size:1.125rem;line-height:1.6}.option-mark{display:grid;place-items:center;min-width:1.75rem;min-height:1.75rem;font-size:1rem;border:1px solid #849e8d;border-radius:50%;color:var(--green)}.answer-option:hover,.answer-option:focus-visible{border-color:var(--green);background:#f0f5ed}.answer-option.selected{background:#e6f0e2;border-color:var(--green)}.answer-option:disabled{opacity:1}.feedback{padding:1rem;border-radius:.875rem;background:#fff0d7;color:#614315;margin-top:1rem;font-size:1.125rem}.feedback.success{background:#e2f0df;color:#254331}.feedback strong{display:block;margin-bottom:.35rem;font-size:1rem}.hint-panel{padding:1rem;border-left:3px solid var(--gold);margin:1rem 0;background:#f5f0e3}.hint-panel b{font-size:1rem}.hint-panel p{font-size:1.125rem}.challenge-controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}label{display:block;font-size:1.125rem;font-weight:650;margin-top:1rem}textarea{display:block;width:100%;border:1px solid #81988a;border-radius:.75rem;padding:.75rem;color:#233b32;background:white;font-size:1.125rem;line-height:1.6;resize:vertical;min-height:80px}.field-help{font-size:.875rem;color:var(--muted);line-height:1.6}form>.primary-button{margin-top:1.25rem}.finish{text-align:left}.finish-mark{font-size:2.75rem;color:var(--gold);line-height:1.3}.badges{display:flex;flex-wrap:wrap;gap:.5rem}.badges span{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .625rem;border-radius:.5rem;background:#e3eeda;color:#304d31;font-size:.875rem}blockquote{margin:1.5rem 0;border-left:3px solid var(--green);padding:.75rem 1rem;background:#eff3e9;font-size:1.125rem;white-space:pre-wrap}.finish button{margin:.5rem .5rem .5rem 0}.lab-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1rem;border-top:1px solid var(--rule);margin-top:2rem;padding:1.25rem 0;font-size:.875rem;color:var(--muted)}.fallback{background:#fffdf8;border:1px solid var(--rule);border-radius:1rem;padding:1.5rem}.fallback details{margin:1rem 0;border-top:1px solid var(--rule);padding:.75rem 0}.fallback summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:1.125rem}.fallback table{width:100%;border-collapse:collapse;font-size:1.125rem}.fallback th,.fallback td{text-align:left;padding:.5rem;border-bottom:1px solid var(--rule)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:800px){.lab-layout{grid-template-columns:1fr}.trail{padding:.875rem 1rem}.trail ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.75rem 0}.trail li{display:flex;flex-direction:column;align-items:start;padding:.5rem 0;border:0;gap:.35rem}.trail li>small{display:none}.trail li>b{font-size:.875rem}.trail-note{margin:.75rem 0}.trail-note p{font-size:1rem}.trail #reset{font-size:.875rem}.lab-layout{gap:1rem}.practice-label{display:none}}
@media(max-width:500px){.lab-shell{padding:0 1.25rem}.lab-header{padding:.75rem 0}.lab-intro{padding:1.25rem 0}.lab-intro h1{font-size:2.25rem}.challenge-card{padding:1rem;border-radius:1rem}.visual{padding:.875rem}.visual-panels{gap:1rem}.count-label>b{font-size:1.875rem}.tokens{gap:2px}.trail{border-radius:1rem}.challenge-controls .primary-button{flex:1}.answer-option{padding:.875rem}.lab-footer{margin-top:1.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.trail li>span{width:2.25rem;flex-shrink:0}.tokens{max-width:220px}
@media(max-width:800px){.trail{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.5rem}.trail-title{grid-column:1;align-content:center}.trail ol{grid-column:1/-1;grid-row:2;margin-bottom:0}.trail #reset{grid-column:2;grid-row:1;align-self:center}.trail-note{display:none}}
.share-bar{display:none;height:1rem;background:#fbfdf7;border:1px solid #759583;border-radius:3px;margin:.75rem 0}.share-bar>i{display:block;height:100%;width:var(--share);background:var(--green)}
.bar-key-text{display:none}
@media(max-width:800px){.challenge-card{order:1}.trail{order:2}.lab-intro{padding:.75rem 0}.lab-intro .eyebrow,.lab-intro p{display:none}.tokens{display:none}.share-bar,.bar-key-text{display:block}.grid-key-text{display:none}}
@media(max-width:500px){.lab-intro h1{font-size:2rem}}
