/* Scoped to the Learning Lab; existing GridCircuits tools are unaffected. */
body.gcl-page .entry-hero,body.gcl-page .entry-header{display:none}
body.gcl-page .content-area{margin-top:0;margin-bottom:0}
body.gcl-page .entry-content-wrap{padding:0}
body.gcl-page .entry.single-entry{background:transparent;box-shadow:none}
body.gcl-page .content-container{max-width:1360px}
.gcl{--blue:#0669ed;--ink:#102337;--muted:#506174;--line:#dce5ee;--surface:#f4f7fb;--good:#087d60;max-width:1280px;margin:0 auto;padding:36px 24px 56px;color:var(--ink);font:400 15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.gcl *,.gcl *::before,.gcl *::after{box-sizing:border-box}
.gcl [hidden]{display:none!important}
.gcl h1,.gcl h2,.gcl h3,.gcl p{font-family:inherit;color:inherit;margin:0}
.gcl h1,.gcl h2,.gcl h3{line-height:1.15;letter-spacing:-.025em}
.gcl h1{font-size:clamp(36px,4.4vw,58px);font-weight:800;line-height:1.07}
.gcl h1 em{color:var(--blue);font-style:normal}
.gcl h2{font-size:29px;font-weight:750}
.gcl h3{font-size:18px;font-weight:750}
.gcl a{color:var(--blue)}
.gcl button,.gcl select,.gcl input{font:inherit}
.gcl button,.gcl a,.gcl select,.gcl input{touch-action:manipulation}
.gcl button{cursor:pointer;background:transparent;color:var(--ink);border:0;border-radius:7px;text-transform:none;letter-spacing:normal;box-shadow:none}
.gcl button:disabled{cursor:default;opacity:.45}
.gcl button:focus-visible,.gcl a:focus-visible,.gcl select:focus-visible,.gcl input:focus-visible,.gcl summary:focus-visible,.gcl svg [role=button]:focus-visible{outline:3px solid #eeaf34;outline-offset:3px}
.gcl .gcl-btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:7px;padding:11px 17px;font-size:14px;font-weight:650;text-decoration:none;line-height:1.25;min-height:43px;transition:background .15s,transform .15s}
.gcl .gcl-btn:hover{background:#075ac7;color:#fff}
.gcl .gcl-btn-light{background:#fff;color:var(--ink);border-color:#cbd7e3}
.gcl .gcl-btn-light:hover{background:#edf4ff;color:#075ac7}
.gcl .gcl-btn-small{min-height:38px;font-size:13px;padding:8px 12px}
.gcl .gcl-text-btn{padding:6px 0;color:#075ac7;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;background:none}
.gcl .gcl-text-btn:hover{color:var(--ink);background:none}
.gcl-eyebrow{font:650 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:var(--blue);display:block;margin-bottom:9px}
.gcl-eyebrow>span{width:7px;height:7px;display:inline-block;background:var(--blue);border-radius:50%;margin-right:7px}
.gcl-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center;padding:36px 0 38px}
.gcl-hero-copy>p{font-size:17px;max-width:520px;color:var(--muted);margin-top:22px;line-height:1.7}
.gcl-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}
.gcl-hero-meta{display:flex;gap:22px;color:var(--muted);font-size:12px;flex-wrap:wrap}
.gcl-hero-meta b{font-size:14px;color:var(--ink)}
.gcl-hero-panel{background:linear-gradient(125deg,#102b45,#061727);border:1px solid #294660;border-radius:15px;color:#d8e7f5;box-shadow:0 18px 45px #0c29451c;overflow:hidden}
.gcl-panel-top,.gcl-panel-bottom{display:flex;justify-content:space-between;gap:10px;padding:17px 23px;font:500 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;color:#b2cadf}
.gcl-panel-top{border-bottom:1px solid #ffffff15}.gcl-panel-bottom{border-top:1px solid #ffffff15}
.gcl-live-dot{color:#71dbc1}.gcl-live-dot::before{content:"";display:inline-block;background:#71dbc1;width:5px;height:5px;border-radius:50%;margin-right:6px}
#gcl-hero-diagram svg{width:100%;display:block;height:auto;padding:20px 0}
.gcl-safety{padding:12px 16px;border:1px solid #cbdff5;background:#eef5fd;border-radius:8px;color:#314a64;font-size:12px;line-height:1.7}
.gcl-safety strong{color:#173c65;margin-right:4px}
.gcl-lessons,.gcl-workspace{margin-top:42px;scroll-margin-top:28px}
.gcl-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.gcl-filters,.gcl-mode{display:flex;background:#eaf0f6;border-radius:8px;padding:4px;gap:3px}
.gcl-filters button,.gcl-mode button{padding:8px 13px;font-size:12px;font-weight:600;white-space:nowrap}
.gcl-filters button.is-active,.gcl-mode button.is-active{background:#fff;box-shadow:0 1px 5px #163a5b18;color:#075dce}
.gcl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gcl-card{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s,transform .18s}
.gcl-card:hover{border-color:#84b4f3;transform:translateY(-2px)}
.gcl-card-visual{background:#0c2237;position:relative;height:145px;padding:9px 20px;overflow:hidden}
.gcl-card-visual svg{width:100%;height:100%}
.gcl-card-number{position:absolute;right:14px;top:12px;font:11px ui-monospace,monospace;color:#92acc5}
.gcl-card-body{padding:20px;display:flex;flex-direction:column;gap:11px;flex:1}
.gcl-card-body h3{font-size:19px}.gcl-card-body>p{color:var(--muted);font-size:13px;line-height:1.7;flex:1}
.gcl-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:5px}
.gcl-chip{font-size:10px;letter-spacing:.02em;font-weight:650;background:#eaf3ff;color:#13579f;padding:4px 7px;border-radius:4px;white-space:nowrap}
.gcl-chip.amber{background:#fff2db;color:#855114}.gcl-chip.purple{background:#efeaff;color:#5b42a0}
.gcl-roadmap{display:flex;align-items:center;gap:24px;padding:17px 19px;margin-top:16px;background:#fff;border:1px dashed #ccd8e4;border-radius:9px;flex-wrap:wrap;color:#627387;font-size:12px}
.gcl-roadmap>span:first-child{font-weight:650;color:var(--ink);margin-right:auto}.gcl-roadmap small{display:block;font-size:10px;color:#6d7d8e;font-weight:400}
.gcl-progress{color:var(--muted)!important;font-size:12px}
.gcl-lab-switch{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.gcl-lab-switch button{padding:9px 14px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:650}
.gcl-lab-switch button.is-active{color:#fff;background:#17334f;border-color:#17334f}
.gcl-shell{border:1px solid #cdd9e5;border-radius:11px;overflow:hidden;background:white;box-shadow:0 8px 30px #132b4510}
.gcl-shell-top{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#10283e;color:#fff;padding:16px 22px}
.gcl-shell-top>div{display:flex;gap:12px;align-items:center}.gcl-shell-top strong{font-size:16px}
.gcl-shell-mark{display:inline-grid;place-items:center;width:32px;height:28px;border:1px solid #5b9cdf;border-radius:5px;color:#83baff;font:600 12px ui-monospace,monospace}
.gcl-level{font-size:10px;border:1px solid #5b768f;color:#d3e5f5;border-radius:20px;padding:4px 10px;white-space:nowrap}
.gcl-setup{display:flex;gap:16px;align-items:center;padding:18px 22px;background:#f7f9fc;border-bottom:1px solid var(--line);flex-wrap:wrap}
.gcl-scenario-label{display:flex;flex-direction:column;gap:5px;font-size:10px;letter-spacing:.08em;font-weight:650;flex:1;min-width:200px}
.gcl-scenario-label>span{font-size:14px;letter-spacing:0;padding:9px 0}
.gcl select,.gcl input[type=number]{border:1px solid #cbd7e3;border-radius:6px;background-color:#fff;color:var(--ink);padding:8px 30px 8px 10px;font:400 13px/1.4 system-ui,sans-serif;letter-spacing:0;min-height:37px;max-width:100%;box-shadow:none;width:100%}
.gcl input[type=number]{padding-right:9px}
.gcl-tabs{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 20px;gap:25px;min-height:49px;flex-wrap:wrap}
.gcl-tabs button{padding:15px 0 12px;font-size:12px;border-radius:0;color:var(--muted);border-bottom:3px solid transparent}
.gcl-tabs button.is-active{color:var(--blue);border-bottom-color:var(--blue);font-weight:650}
.gcl-clock{margin-left:auto;font:600 12px ui-monospace,monospace;color:var(--muted)}
.gcl-main{display:grid;grid-template-columns:minmax(0,1fr) 260px;min-height:445px}
.gcl-stage{min-width:0;overflow:hidden;background:#fff}
.gcl-drawing-head{padding:19px 22px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
#gcl-drawing-state{font:500 10px ui-monospace,monospace;letter-spacing:.1em;color:var(--muted)}
.gcl-schematic-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;background-image:radial-gradient(#e5ecf3 .7px,transparent .7px);background-size:17px 17px;margin:8px 12px;border-radius:7px}
.gcl-schematic-scroll svg{display:block;width:100%;height:auto;min-width:630px}
.gcl svg{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.gcl svg [role=button]{cursor:pointer}.gcl svg .gcl-node:hover .gcl-node-ring{stroke:#0669ed;stroke-width:3}
.gcl svg text{user-select:none}.gcl svg .gcl-current{stroke-dasharray:7 9;animation:gcl-flow 1.8s linear infinite;pointer-events:none}
@keyframes gcl-flow{to{stroke-dashoffset:-64}}
.gcl-legend{padding:6px 22px 0;display:flex;gap:17px;flex-wrap:wrap;font-size:10px;color:var(--muted)}
.gcl-legend span{display:flex;gap:6px;align-items:center}.gcl-legend i{display:inline-block;width:15px;height:3px;background:#0b72e7}.gcl-legend .return{background:#68798a}.gcl-legend .floating{background:#b77916}.gcl-legend .flow{background:#8b5cf6}
.gcl-diagram-note{padding:11px 22px;font-size:11px;color:#586a7c!important;line-height:1.65}
.gcl-component{margin:0 20px 18px;border-left:3px solid #8eb9f4;background:#f3f7fc;padding:10px 13px;font-size:12px;color:#42586c;line-height:1.7;min-height:55px}
.gcl-instruments{padding:20px;background:#f6f8fb;border-left:1px solid var(--line);min-width:0}
.gcl-instruments h3{font-size:13px;letter-spacing:0;margin-bottom:12px}
.gcl-status{margin:0 0 23px;font-size:11px;display:grid;gap:7px}
.gcl-status>div{display:flex;justify-content:space-between;gap:8px;align-items:baseline;border-bottom:1px solid #e3e9f0;padding-bottom:5px}
.gcl-status dt,.gcl-status dd{margin:0}.gcl-status dt{color:#586c80}.gcl-status dd{font:650 11px ui-monospace,monospace;text-align:right}
.gcl .gcl-open{color:#07845f}.gcl .gcl-closed{color:#b8472d}
.gcl-field{display:block;font-size:11px;margin:10px 0}.gcl-field select,.gcl-field input{margin-top:5px}
.gcl-probes{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gcl-probes label{font-size:10px}.gcl-probes select{margin-top:4px;font-size:12px}
.gcl-meter{background:#102b3c;border:1px solid #284c60;color:#90f3cb;padding:15px 8px;text-align:center;font:600 20px/1.2 ui-monospace,monospace;border-radius:7px;margin:12px 0;min-height:56px;display:grid;align-items:center;word-break:break-word}
#gcl-meter-panel>.gcl-btn{width:100%}#gcl-isolate{display:block;margin:6px auto}
.gcl-tiny{font-size:10px;color:#62768a!important;line-height:1.7;margin-top:9px!important}
.gcl-controls{display:flex;justify-content:space-between;gap:14px;padding:14px 20px;background:#f7f9fc;border-top:1px solid var(--line);flex-wrap:wrap}
.gcl-controls>div{display:flex;gap:7px;flex-wrap:wrap}
.gcl-controls .gcl-btn{min-height:37px;font-size:12px;padding:8px 12px}
.gcl-controls>label{display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.gcl-controls select{width:95px;font-size:11px}
.gcl .gcl-run{background:#087b62;border-color:#087b62}.gcl .gcl-run:hover{background:#06624e}
.gcl-bottom{display:grid;grid-template-columns:1.05fr 1fr;border-top:1px solid var(--line)}
.gcl-mission,.gcl-diagnose{padding:23px}.gcl-diagnose{border-left:1px solid var(--line)}
.gcl-mission h3{font-size:17px;margin-bottom:10px}.gcl-mission>p{font-size:12px;color:var(--muted);line-height:1.7}
.gcl-objectives{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;margin-top:15px;color:#697b8d}.gcl-objectives .is-done{color:#087453}
.gcl-objectives span::before{content:"\25CB";margin-right:5px}.gcl-objectives .is-done::before{content:"\2713"}
.gcl-diagnose label{font-size:13px;display:block;margin-bottom:10px}.gcl-answer-actions{display:flex;gap:17px;align-items:center;margin-top:12px}
#gcl-feedback{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.75}
#gcl-feedback.is-success{background:#eaf8f0;color:#075d43;padding:10px 13px;border-radius:6px}
#gcl-feedback.is-error{color:#995316}#gcl-repair{margin-top:12px;font-size:12px}
.gcl-evidence{font:10px/1.7 ui-monospace,monospace;margin-top:12px;color:#47617a;max-height:110px;overflow:auto}
.gcl-evidence div{padding:4px 0;border-bottom:1px dashed #d7e2ed}
.gcl-event-list{padding:10px 22px;max-height:400px;overflow-y:auto;min-height:240px}
.gcl-event{display:grid;grid-template-columns:68px 1fr;gap:15px;border-left:2px solid #e0e9f3;padding:13px 0 13px 14px;font-size:12px;position:relative}
.gcl-event::before{content:"";width:8px;height:8px;border-radius:50%;background:#418bdc;position:absolute;left:-5px;top:19px}
.gcl-event time{font:11px ui-monospace,monospace;color:#41617e;padding-top:3px}
.gcl-event:last-child{color:#065dc6;font-weight:600}.gcl-explanation{padding:27px;max-width:760px;font-size:14px;line-height:1.8}.gcl-explanation h3{font-size:22px;margin-bottom:15px}.gcl-explanation p{margin-bottom:15px}.gcl-explanation .gcl-eyebrow{margin-bottom:12px}
.gcl-explanation dl{display:grid;gap:9px;font-size:12px}.gcl-explanation dt{font-weight:700}.gcl-explanation dd{margin:0;color:var(--muted)}
.gcl-save-note{font-size:11px;color:var(--muted)!important;line-height:1.8;margin-top:16px!important}.gcl-save-note button{font-size:11px;margin-left:5px}
.gcl-notes{margin-top:30px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px}
.gcl-notes summary{cursor:pointer;padding:16px 20px;font-weight:650}.gcl-notes-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;padding:5px 22px 24px}.gcl-notes h3{font-size:14px;margin-bottom:12px}.gcl-notes p{margin-bottom:11px;color:var(--muted);line-height:1.8}
@media(max-width:1050px){.gcl-hero{gap:25px}.gcl-main{grid-template-columns:minmax(0,1fr) 235px}.gcl-instruments{padding:16px}.gcl-card-body{padding:16px}.gcl-card-body h3{font-size:17px}.gcl-card-foot{flex-wrap:wrap}}
@media(max-width:820px){.gcl{padding:24px 16px 40px}.gcl-hero{grid-template-columns:1fr;padding-top:16px}.gcl-hero-panel{max-width:640px;width:100%}.gcl-main{grid-template-columns:1fr}.gcl-instruments{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.gcl-instruments>h3{grid-column:1}.gcl-instruments>.gcl-status{grid-column:1}.gcl-instruments>#gcl-meter-panel,.gcl-instruments>#gcl-timing-panel{grid-column:2;grid-row:1/4}.gcl-cards{gap:12px}.gcl-card-visual{height:110px;padding:6px}.gcl-card-body{padding:13px}.gcl-card-body h3{font-size:16px}.gcl-card-body p{font-size:12px}.gcl-bottom{grid-template-columns:1fr}.gcl-diagnose{border-left:0;border-top:1px solid var(--line)}.gcl-setup{gap:12px}.gcl-tabs{gap:19px}}
@media(max-width:590px){.gcl h1{font-size:39px}.gcl h2{font-size:25px}.gcl-hero-copy>p{font-size:15px}.gcl-hero-meta{gap:13px}.gcl-hero-meta span{font-size:10px}.gcl-cards{grid-template-columns:1fr}.gcl-card{display:grid;grid-template-columns:115px 1fr}.gcl-card-visual{height:100%;min-height:185px;padding:3px}.gcl-card-visual svg{min-width:260px;position:absolute;width:260px;left:-74px;top:28px;height:135px}.gcl-card-number{right:12px;top:12px}.gcl-card-body{padding:17px}.gcl-card-body h3{font-size:18px}.gcl-card-foot{flex-wrap:nowrap}.gcl-roadmap{gap:8px 17px;padding:14px}.gcl-roadmap>span:first-child{width:100%}.gcl-lessons,.gcl-workspace{margin-top:32px}.gcl-section-head{gap:15px}.gcl-setup{padding:14px}.gcl-scenario-label{min-width:100%;flex-basis:100%}.gcl-setup>.gcl-btn{font-size:11px;min-height:36px;padding:8px 10px}.gcl-mode button{font-size:11px;padding:6px 10px}.gcl-shell-top{padding:13px}.gcl-shell-top strong{font-size:14px}.gcl-shell-mark{display:none}.gcl-tabs{padding:0 13px;gap:17px}.gcl-tabs button{font-size:11px}.gcl-clock{width:100%;margin:0 0 10px;font-size:10px}.gcl-drawing-head{padding:16px 15px 5px}.gcl-legend{padding-left:15px;gap:10px}.gcl-diagram-note{padding:10px 15px}.gcl-component{margin:0 14px 15px;font-size:11px}.gcl-controls{padding:13px;gap:10px}.gcl-controls>div{gap:6px}.gcl-controls .gcl-btn{padding:8px 9px;font-size:11px}.gcl-instruments{padding:16px 14px;gap:0 15px;grid-template-columns:.92fr 1.08fr}.gcl-status{font-size:10px}.gcl-status dd{font-size:10px}.gcl-meter{font-size:16px;padding:13px 5px}.gcl-probes{gap:6px}.gcl-probes label{font-size:9px}.gcl select{font-size:12px;padding-left:7px}.gcl-tiny{font-size:9px}.gcl-mission,.gcl-diagnose{padding:18px}.gcl-notes-grid{grid-template-columns:1fr;gap:14px}.gcl-explanation{padding:20px;font-size:13px}.gcl-lab-switch{gap:5px}.gcl-lab-switch button{font-size:10px;padding:8px 9px}.gcl-panel-top,.gcl-panel-bottom{padding:14px 17px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.gcl *, .gcl *::before,.gcl *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.gcl-hero,.gcl-lessons,.gcl-setup,.gcl-controls,.gcl-diagnose,.gcl-save-note{display:none!important}.gcl{padding:0}.gcl-shell{box-shadow:none}.gcl-main{grid-template-columns:1fr}.gcl-schematic-scroll svg{min-width:0}.gcl-instruments{border:0}.gcl-notes{break-inside:avoid}}
