.lab-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.lab-tabs>button{display:grid;grid-template-columns:28px 1fr;gap:3px 9px;text-align:left;background:#19211a;border:1px solid var(--border);border-radius:9px;padding:16px;color:var(--muted)}.lab-tabs>button>span{grid-row:span 2;font:24px var(--mono);color:#82966e}.lab-tabs strong{font-size:13px;font-weight:600}.lab-tabs small{font-size:10px;color:var(--dim)}.lab-tabs>button.active{background:#2a3921;border-color:#7e9d5b;color:var(--mint)}.lab-tabs>button.active>span{color:var(--mint)}
.lab-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.lab-controls,.lab-observation{padding:24px;min-width:0}.lab-controls h2{font-size:17px;line-height:1.8;margin:11px 0 22px}.lab-controls>p{font-size:12px;color:var(--muted);line-height:1.9}.lab-controls label,.lab-reflection>label{display:block;font-size:11px;color:#b4c4a8;margin:13px 0}.lab-controls input,.lab-controls select,.lab-controls textarea,.lab-reflection textarea,.lab-coach-controls input,.lab-coach-controls select{display:block;width:100%;min-width:0;margin-top:7px;background:#101912;color:#d6e5ca;border:1px solid #3c4b34;border-radius:6px;padding:9px;font:12px/1.5 var(--mono)}.lab-controls textarea{resize:vertical}.lab-controls select,.lab-coach-controls select{font-family:var(--sans)}.lab-number-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.lab-number-row label{font-size:10px}.lab-number-row input{padding:8px 5px}.lab-formula{display:block;padding:14px 9px;color:var(--mint);background:#26331f;border-radius:5px;margin-top:17px;text-align:center;font-size:13px}.lab-controls>.btn{margin-top:23px}.lab-controls>.text-button{width:100%;font-size:11px;margin-top:6px}.lab-related{margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.lab-related button{display:block;color:#b8d89e;text-align:left;font:11px var(--mono);margin-top:14px}.lab-related .tiny-label{font-size:9px}.lab-result-title{display:flex;gap:12px;justify-content:space-between;align-items:center}.lab-result-title h2{font-size:20px;margin-top:8px}.lab-result-title .pill{white-space:nowrap;font-size:9px}.lab-model-note{margin:18px 0!important;padding-left:10px;border-left:2px solid #62774c}.lab-welcome{min-height:410px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted);gap:15px}.lab-welcome>span{font:52px var(--mono);color:#7f9a63}.lab-welcome h3{font-size:20px;color:#d4e4c6}.lab-welcome p{font-size:12px}
.lab-memory{display:flex;gap:6px;overflow-x:auto;padding:10px 3px 17px}.lab-byte{min-width:57px;padding:9px 5px;text-align:center;background:#101a12;border:1px solid #35482e;border-radius:5px;flex-shrink:0}.lab-byte small{font:8px var(--mono);color:#738c65;display:block}.lab-byte b{display:block;font:18px var(--mono);color:#deebd4;margin:8px 0}.lab-byte>span{font:11px var(--mono);color:#7c966b}.lab-byte.source{border-top:3px solid var(--blue);padding-top:7px}.lab-byte.target{border-bottom:3px solid var(--mint);padding-bottom:7px}.lab-byte.read{outline:2px solid var(--blue);outline-offset:1px}.lab-byte.write{outline:2px solid var(--mint);outline-offset:1px;background:#293e1f}.lab-legend{display:flex;flex-wrap:wrap;gap:10px;color:#879d76;font-size:9px}.lab-step-explanation{border:1px solid #3c5830;border-radius:7px;background:#26351f;color:#cce0bc;padding:15px;margin:20px 0;font-size:12px;line-height:1.95}.lab-expected{padding:14px;background:#101a12;border-radius:6px;display:flex;flex-direction:column;gap:9px;font-size:11px;color:#aabe98}.lab-expected b{font-size:10px;font-weight:500;color:#879f76}.lab-expected code{font-size:13px;line-height:1.9;overflow-wrap:anywhere}.amber-copy{color:var(--amber)}
.lab-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:23px 0}.lab-metrics>div{background:#111b13;border:1px solid #33482a;border-radius:7px;padding:12px}.lab-metrics small{display:block;font-size:10px;color:var(--muted);margin-bottom:10px}.lab-metrics b{font:16px var(--mono);color:var(--mint);overflow-wrap:anywhere}.lab-chart{width:100%;height:auto;background:#121c14;border:1px solid #2f4228;border-radius:7px;padding:10px;margin:10px 0}.lab-chart path{fill:none;stroke:#526348;stroke-width:1}.lab-chart polyline{fill:none;stroke-width:2}.lab-chart .error-line{stroke:var(--blue)}.lab-chart .capacity-line{stroke:var(--mint)}.lab-chart text{fill:#92a582;font-size:10px;font-family:var(--sans)}.lab-table{width:100%;border-collapse:collapse;font:11px/1.8 var(--mono);color:#baceac;margin:20px 0}.lab-table th,.lab-table td{padding:10px 7px;border-bottom:1px solid var(--border);text-align:left;overflow-wrap:anywhere}.lab-table th{font:10px var(--sans);color:var(--muted);background:#182415;white-space:normal}.lab-table caption{text-align:left;font:11px var(--sans);color:#94ab81;padding:9px 0}.lab-timeline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:24px 0}.lab-timeline input{flex:1;min-width:60px;accent-color:var(--mint)}.lab-timeline>span{font:10px var(--mono);color:var(--muted)}.lab-timeline .btn{min-height:30px;font-size:10px;padding:7px 9px}.lab-timeline>.text-button{font-size:10px}.vector-slots{display:flex;flex-wrap:wrap;gap:4px;margin-top:16px}.vector-slots>span{width:25px;height:27px;border:1px solid #34462b;border-radius:3px;color:#637958;display:flex;align-items:center;justify-content:center;font:10px var(--mono)}.vector-slots .occupied{background:#304323;border-color:#739452;color:#d8eebf}.vector-slots>small{font-size:9px;color:var(--dim);align-self:center;margin-left:8px}.lab-findings{border-top:1px solid var(--border);padding-top:20px;margin-top:26px}.lab-findings h3{font-size:13px;font-weight:600}.lab-findings ul{padding-left:18px;font-size:12px;line-height:2;color:#a5b795;margin-top:13px}.lab-findings li{margin-top:9px}
.lab-reflection{padding:26px;margin-top:22px}.lab-reflection h2{font-size:18px;line-height:1.8;margin:12px 0 18px}.reflection-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reflection-choices button{padding:13px;text-align:left;border:1px solid #3d4d33;background:#131e14;color:#a7bd96;border-radius:6px;font-size:12px}.reflection-choices .chosen{border-color:var(--amber);background:#35311e;color:#ecdbac}.reflection-choices .correct{border-color:var(--mint);background:#2d3e20;color:var(--mint)}.lab-reflection textarea{font-family:var(--sans);font-size:12px;resize:vertical}.lab-reflection>p{margin-top:13px}.experiment-coach{border-top:1px solid var(--border);padding-top:24px;margin-top:25px}.experiment-coach h3{font-size:14px}.lab-coach-controls{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:9px;align-items:center;margin:13px 0}.lab-coach-controls select,.lab-coach-controls input{margin:0}.lab-coach-controls .btn{min-height:37px}.lab-reflection .hint-answer{font-size:12px;line-height:2}.exploration-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.lab-recommendations,.lab-history{padding:25px;min-width:0}.exploration-bottom h2{font-size:17px;margin-bottom:13px}.lab-history h2>small{font-size:10px;color:var(--dim);font-weight:400;margin-left:7px}.exploration-bottom button{display:block;padding:15px 0;border-bottom:1px solid var(--border);text-align:left;width:100%}.exploration-bottom button strong{display:block;font-size:12px;font-weight:500;color:#c5dda7}.exploration-bottom button span{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.8}
.knowledge-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.knowledge-scroll{overflow:auto;min-width:0}.knowledge-board{position:relative;width:840px;height:815px;background:radial-gradient(#40533666 .8px,transparent .8px);background-size:20px 20px}.knowledge-column{position:absolute;top:14px;font-size:10px;letter-spacing:1px;color:#7e946c}.knowledge-board>svg{position:absolute;inset:0}.knowledge-board>svg path{fill:none;stroke:#3b4d31;stroke-width:1.3}.knowledge-board>svg path.lit{stroke:var(--mint);stroke-width:2}.knowledge-node{position:absolute;width:220px;min-height:112px;padding:13px;text-align:left;background:#182219;border:1px solid #3a4f31;border-radius:7px;display:flex;flex-direction:column;gap:7px}.knowledge-node small{font-size:8px;color:#72915e}.knowledge-node small>span{margin-left:5px;color:#b0d18e}.knowledge-node strong{font-size:14px;font-weight:500;color:#bccfae}.knowledge-node>span{font-size:10px;color:#819872;line-height:1.7}.knowledge-node.selected{border-color:var(--mint);background:#2a3a20}.knowledge-node.selected strong{color:var(--mint)}.knowledge-node.related{box-shadow:0 0 0 1px #718c4d55}.knowledge-node.verified{border-bottom:3px solid #91ba61}.knowledge-detail{padding:23px;position:sticky;top:20px}.knowledge-detail h2{font-size:20px;margin:12px 0 18px}.knowledge-detail>p{font-size:12px;line-height:2;color:#b5c9a5}.knowledge-question{padding:16px;background:#27351e;border:1px solid #415b30;border-radius:6px;margin:22px 0}.knowledge-question small{font-size:9px;color:#89a86c;display:block;margin-bottom:9px}.knowledge-question strong{font-size:12px;line-height:1.9;font-weight:500;color:#cee1b9;display:block}.knowledge-detail .btn{font-size:11px;margin-bottom:10px}.knowledge-detail .small-copy{margin-top:22px;font-size:10px}.system-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin:15px 0 22px;border-color:#526a3c;background:#1e2b1a}.system-entry h3{font-size:14px;margin:5px 0}.system-entry p{font-size:11px;color:#93aa80}.system-entry>div:last-child{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:1200px){.lab-grid{grid-template-columns:230px minmax(0,1fr);gap:14px}.lab-controls,.lab-observation{padding:18px}.lab-tabs>button{padding:13px;grid-template-columns:20px 1fr}.lab-tabs strong{font-size:11px}.lab-tabs small{font-size:9px}.lab-tabs>button>span{font-size:20px}.lab-metrics b{font-size:13px}.knowledge-layout{grid-template-columns:minmax(0,1fr) 230px}.system-entry{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:900px){.lab-grid{grid-template-columns:1fr}.lab-controls{display:block}.lab-controls>.btn{max-width:300px}.lab-controls label{display:inline-block;width:calc(50% - 8px);vertical-align:top;margin-right:8px}.lab-number-row label{width:auto;margin-right:0;display:block}.lab-controls>.lab-number-row{max-width:450px}.lab-related{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.lab-related button{margin:0}.lab-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-layout{grid-template-columns:1fr}.knowledge-detail{position:static}.knowledge-scroll{max-height:570px}.reflection-choices{grid-template-columns:1fr}.lab-coach-controls{grid-template-columns:140px 1fr}.lab-coach-controls>input{grid-column:span 2;grid-row:2}.exploration-bottom{grid-template-columns:1fr}.sidebar nav{overflow-y:auto;min-height:0}.nav-item{flex-shrink:0}}
@media(max-width:620px){.lab-controls label{display:block;width:100%;margin-right:0}.lab-result-title{align-items:flex-start;flex-direction:column}.lab-metrics{gap:5px}.lab-metrics>div{padding:8px}.lab-metrics small{font-size:8px}.lab-metrics b{font-size:11px}.lab-table{font-size:9px}.lab-table td,.lab-table th{padding:9px 4px}.lab-reflection{padding:19px}.lab-reflection h2{font-size:15px}.lab-reflection>.eyebrow{font-size:9px}.lab-timeline>.text-button{width:100%;text-align:right}.lab-tabs{gap:7px}.lab-tabs>button{padding:11px}.lab-coach-controls{grid-template-columns:1fr}.lab-coach-controls>input{grid-column:auto;grid-row:auto}.sidebar nav .nav-item{font-size:9px;gap:5px;min-width:0}.system-entry{padding:16px}.lab-result-title h2{font-size:18px}}

.calls-panel{padding:25px}.calls-panel h2{font-size:19px;margin-bottom:12px}.calls-panel .small-copy{margin:12px 0}.call-board{position:relative;width:800px;min-height:190px}.call-board>svg{position:absolute;inset:0}.call-board>svg>path{fill:none;stroke:#a4cc78;stroke-width:1.5}.call-board>button{position:absolute;display:flex;flex-direction:column;gap:6px;width:220px;height:82px;background:#24351b;border:1px solid #7c9c55;border-radius:7px;padding:11px;text-align:left}.call-board small{font-size:8px;color:#91ad77}.call-board strong{font:13px var(--mono);color:var(--mint)}.call-board span{font-size:10px;color:#afc39b}

.source-warnings{padding:17px 22px;border-bottom:1px solid var(--border);background:#1d281a;color:#9fb78d;font-size:11px;line-height:1.9}.source-warnings>strong{font-weight:500;color:#c8dcaf}.source-warnings p{margin-top:8px}.source-warnings span{color:var(--amber);font-size:10px;margin-right:7px}

.compiler-translation{margin:12px 0 18px;padding:12px 14px;border-left:3px solid var(--mint);background:#25331e;color:#ccdfb9;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.compiler-translation strong{font-weight:600;color:var(--mint)}

/* Keep all three text layers on the exact same compact baseline. */
.code-highlight,.code-surface textarea{line-height:20px;padding-top:14px;padding-bottom:14px}.line-numbers{line-height:20px;padding-top:14px}.line-numbers>div>div{height:20px}.editor-format{color:#c4dfa9;border:1px solid #526b3e;padding:3px 7px;border-radius:4px;font:10px var(--sans)}.editor-format:hover{background:#2f4223}

.account-modal{max-width:460px}.account-tabs{display:flex;border-bottom:1px solid var(--border);gap:23px;margin:22px 0}.account-tabs>button{font-size:13px;color:var(--muted);padding:10px 0;border-bottom:2px solid transparent}.account-tabs>button.active{color:var(--mint);border-color:var(--mint)}.account-modal form>label:not(.account-claim){display:block;font-size:12px;color:#b4c6a5;margin:16px 0}.account-modal form>label>input:not([type=checkbox]){display:block;width:100%;margin-top:8px;border:1px solid #3d5030;background:#111b12;color:#deebd3;padding:11px 12px;border-radius:6px;font-size:13px}.account-modal form .small-copy{font-size:11px;line-height:1.9}.account-claim{display:flex;align-items:flex-start;gap:8px;color:#a5bb94;font-size:11px;margin:20px 0}.account-claim input{accent-color:var(--mint);margin-top:4px;flex-shrink:0}.account-modal .btn.full{margin:14px 0}.account-modal>.text-button{font-size:11px}.account-name{font-size:21px;color:var(--mint);margin:23px 0 13px}.profile-status{cursor:pointer}
