.research-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;grid-column:1/-1;align-items:start}
.research-intro h3{margin-top:0}
.reasoning-lab{grid-column:1/-1;background:var(--bg);border:1px solid #3c506b;border-radius:16px;overflow:hidden;min-width:0}
.lab-header{padding:30px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.lab-header h3{font-size:30px;line-height:1.3;margin:7px 0 9px;letter-spacing:-.7px}
.lab-header p{font-size:16px;margin:0;max-width:590px}
.lab-label{color:var(--lime);font-size:13px;text-transform:uppercase;letter-spacing:1.5px}
.lab-badge{color:var(--muted);font-size:14px;border:1px solid var(--line);padding:7px 12px;border-radius:6px;white-space:nowrap}
.lab-body{display:grid;grid-template-columns:240px minmax(0,1fr)}
.challenge-picker{padding:16px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;background:#0c1727}
.challenge-tab{display:flex;align-items:flex-start;gap:12px;padding:15px 13px;width:100%;text-align:left;color:var(--muted);border:1px solid transparent;border-radius:8px;background:transparent;min-height:78px}
.challenge-tab:hover{color:var(--ink);background:#132439}
.challenge-tab[aria-selected="true"]{color:var(--ink);border-color:#62e0d270;background:#132b36}
.challenge-index{color:var(--lime);font:14px/1.6 monospace;flex:none}
.challenge-tab-labels strong{display:block;font-size:16px;font-weight:500;line-height:1.4}
.challenge-tab-labels>span{display:block;font-size:13px;line-height:1.4;margin-top:5px;color:var(--muted)}
.challenge-panel{padding:28px 32px 32px;min-width:0}
.challenge-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
.challenge-heading h4{font-size:25px;font-weight:400;line-height:1.35;margin:0 0 9px;letter-spacing:-.4px}
.challenge-heading p{font-size:16px;margin:0;max-width:560px}
.challenge-meta{font:13px/1.6 monospace;color:var(--muted);white-space:nowrap}
.challenge-examples{display:flex;flex-wrap:wrap;gap:18px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}
.worked-example{padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.example-label{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}
.example-pair{display:flex;align-items:center;gap:12px}
.example-grid-block{display:flex;align-items:center;flex-direction:column;gap:6px}
.example-caption,.example-connector{font-size:13px;color:var(--muted)}
.example-count{display:grid;place-items:center;width:65px;height:65px;font-size:32px;font-weight:400;color:var(--lime)}
.lab-grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.lab-grid-block{min-width:0}
.lab-grid-block>div:last-child{width:100%}
.lab-grid-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px;color:var(--ink)}
.lab-grid-label span{color:var(--muted);font-size:13px}
.reasoning-grid{display:grid;grid-template-columns:repeat(var(--grid-size),minmax(0,1fr));gap:6px;width:min(100%,240px);aspect-ratio:1;padding:9px;background:#070e18;border:1px solid var(--line);border-radius:8px}
.reasoning-cell{min-width:0;position:relative;border:1px solid #314158;border-radius:3px;background:#1b2a3f;padding:0;aspect-ratio:1}
.reasoning-cell[data-colour="1"],.paint-swatch[data-colour="1"]{background:#86de86;border-color:#86de86}
.reasoning-cell[data-colour="2"],.paint-swatch[data-colour="2"]{background:#80a7ff;border-color:#80a7ff}
.reasoning-cell[data-colour="3"],.paint-swatch[data-colour="3"]{background:#f4bf67;border-color:#f4bf67}
.reasoning-cell[aria-disabled="true"]{cursor:default}
.reasoning-cell.fixed-cell:after{content:'';width:4px;height:4px;border-radius:50%;background:#142618;position:absolute;top:4px;right:4px}
.editable-grid .reasoning-cell:not([aria-disabled="true"]):hover{outline:2px solid var(--ink);outline-offset:1px}
.editable-grid .reasoning-cell:focus-visible{outline:3px solid var(--ink);outline-offset:2px;z-index:1}
.reasoning-grid.mini-grid{width:65px;gap:3px;padding:4px;border-radius:4px}
.mini-grid .reasoning-cell{border:0;border-radius:1px}
.challenge-editor{margin-top:22px}
.challenge-palette{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.paint-colour{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:transparent;color:var(--muted);font-size:14px;min-height:38px}
.paint-colour[aria-checked="true"]{border-color:var(--lime);color:var(--ink)}
.paint-swatch{width:13px;height:13px;border-radius:3px;background:#1b2a3f;border:1px solid #53677e;flex:none}
.editor-help{margin:0!important;color:var(--muted);font-size:14px!important;line-height:1.6}
.challenge-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.challenge-actions button,.challenge-next{border:1px solid var(--line);border-radius:6px;padding:9px 14px;background:transparent;color:var(--ink);font-size:14px;min-height:40px}
.challenge-actions .primary-action{background:var(--lime);border-color:var(--lime);color:var(--bg)}
.challenge-actions button:hover,.challenge-next:hover{border-color:var(--lime)}
.challenge-actions button:disabled,.paint-colour:disabled{opacity:.45;cursor:default}
.challenge-actions button:focus-visible,.challenge-next:focus-visible,.challenge-tab:focus-visible,.paint-colour:focus-visible,.count-choice:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.challenge-hint{margin-top:16px;border-left:2px solid #f4bf67;background:#26221d;padding:12px 14px;color:#e6d4b3;font-size:14px}
.challenge-status{font-size:14px;line-height:1.6;min-height:65px;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--panel)}
.challenge-status[data-kind="success"]{border-color:#62e0d280;color:var(--lime);background:#102f30}
.challenge-status[data-kind="notice"]{border-color:#f4bf6750;color:#e6ca9d}
.challenge-status[data-kind="solution"]{border-color:#80a7ff60;color:#b3c7f8}
.challenge-bottom{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.challenge-bottom span{font-size:13px;color:var(--muted);max-width:360px}
.count-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,240px);aspect-ratio:1}
.count-choice{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px}
.count-choice strong{font-size:32px;line-height:1.2;font-weight:400}
.count-choice span{font-size:14px;color:var(--muted)}
.count-choice[aria-checked="true"]{border-color:var(--lime);color:var(--lime);background:#132b36}
.reasoning-lab [hidden]{display:none!important}
@media(max-width:1050px){.lab-body{grid-template-columns:205px minmax(0,1fr)}.challenge-panel{padding:24px}.challenge-heading{flex-direction:column;gap:6px}.lab-grids{gap:20px}.challenge-tab{padding:12px 9px}}
@media(max-width:800px){.research-intro{grid-template-columns:1fr;gap:28px}.lab-header{padding:24px}.lab-badge{display:none}.lab-body{grid-template-columns:1fr}.challenge-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--line);padding:12px;gap:6px}.challenge-tab{min-height:62px}.challenge-tab-labels>span{display:none}.challenge-tab-labels strong{font-size:14px}.challenge-panel{padding:24px}.reasoning-grid,.count-choices{width:min(100%,260px)}}
@media(max-width:520px){.lab-header{padding:22px}.lab-header h3{font-size:26px}.challenge-picker{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.challenge-tab{min-height:50px;gap:8px;padding:9px 8px}.challenge-panel{padding:20px}.challenge-heading h4{font-size:23px}.lab-grids{gap:14px}.reasoning-grid{gap:4px;padding:6px}.challenge-examples{gap:10px}.worked-example{padding:10px}.example-pair{gap:7px}.reasoning-grid.mini-grid{width:56px;gap:2px;padding:3px}.example-count{width:56px;height:56px}.example-connector{font-size:12px}.count-choices{gap:7px}.count-choice strong{font-size:27px}.challenge-bottom{align-items:flex-start;flex-direction:column;gap:12px}.challenge-actions button{padding:9px 12px}}
@media(max-width:620px){.lab-grids{grid-template-columns:1fr;gap:22px}.reasoning-grid,.count-choices{width:min(100%,260px)}.lab-grid-block{display:flex;align-items:center;flex-direction:column}.lab-grid-label,.lab-grid-block>div:last-child{width:min(100%,260px)}}
