:root{--bg:#f4f7f8;--surface:#fff;--surface-2:#f8fafb;--ink:#142231;--muted:#617181;--line:#dbe4e8;--line-strong:#c7d4da;--teal:#009f83;--teal-dark:#007c68;--teal-soft:#e8f7f3;--blue:#2d7ff9;--red:#ef5148;--amber:#eaa526;--danger:#d9473f;--shadow:0 10px 30px #1a323e14;--radius:11.2px;--focus:0 0 0 3px #009f8338;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.breadboard-lab{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:11.2px;overflow:hidden}.bb-tools{border-bottom:1px solid var(--line);background:#f8fbfb;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;display:flex}.bb-tools>button{cursor:pointer;background:#fff;border:1px solid #c5d3d8;border-radius:4.9px;padding:7px 10px;font-size:13px;font-weight:800}.bb-tools>button.active{background:var(--teal);border-color:var(--teal);color:#fff}.bb-colors{gap:5px;margin-left:auto;display:flex}.bb-colors button{cursor:pointer;border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 1px #8aa0a8}.bb-colors .red{background:#e84f48}.bb-colors .blue{background:#367ddd}.bb-colors .black{background:#273b44}.bb-colors button.active{box-shadow:0 0 0 3px #009f8340}.bb-stage{background:#edf4f4;grid-template-columns:210px minmax(560px,1fr);gap:16px;padding:16px;display:grid;overflow:auto}.bb-schematic{color:#eef7f5;background:#17333f;border-radius:8.4px;align-self:start;padding:16px}.bb-schematic .eyebrow{color:#65dfbd}.bb-schematic svg{width:100%;margin:12px 0}.bb-schematic svg path,.bb-schematic svg circle{fill:none;stroke:#68dfbf;stroke-width:3px}.bb-schematic svg text{fill:#c9dcdf;text-anchor:middle;font-size:13px}.bb-schematic p{font-size:13px;line-height:1.5}.bb-schematic small{color:#a9c2c7;line-height:1.4}.bb-board-wrap{min-width:560px}.bb-board{background:#fff;border:1px solid #bccbd0;border-radius:10.5px;padding:32px 25px 28px;position:relative;box-shadow:0 12px 24px #1e364021,inset 0 0 30px #627e890f}.bb-brand{color:#71848d;letter-spacing:.08em;font-size:13px;font-weight:900;position:absolute;top:10px;left:12px}.bb-brand span{margin-left:8px;font-weight:500}.bb-rail,.bb-hole-row{grid-template-columns:15px repeat(16,1fr);align-items:center;gap:5px;display:grid}.bb-rail{margin:4px 0}.bb-rail b{color:#dd544f;font-size:13px}.bb-hole-row{grid-template-columns:15px repeat(16,1fr) 15px;margin:3px 0}.bb-hole-row>span{color:#8da0a8;text-align:center;font-size:13px}.bb-hole{z-index:3;aspect-ratio:1;cursor:pointer;background:radial-gradient(circle,#263942 0 25%,#8799a1 28% 39%,#f7f9fa 43% 66%,#c9d4d8 70%);border:0;border-radius:50%;padding:0;position:relative}.bb-hole:hover,.bb-hole:focus-visible{outline:0;transform:scale(1.35);box-shadow:0 0 0 4px #009f832e}.bb-hole.node-lit{background:radial-gradient(circle,#087561 0 24%,#38d0aa 28% 43%,#edfaf6 47% 67%,#0fa486 71%);box-shadow:0 0 0 4px #009f8324}.bb-hole.occupied:after{content:"";background:#dca647;border-radius:50%;position:absolute;inset:25%}.bb-field{margin:14px 0;position:relative}.bb-hole-row.after-gap{margin-top:17px}.bb-center-gap{text-align:center;border-top:1px solid #d6dfe2;border-bottom:1px solid #d6dfe2;height:13px;position:absolute;top:50%;left:20px;right:20px;translate:0 -50%}.bb-center-gap span{color:#8b9da5;background:#fff;padding:0 8px;font-size:13px;position:relative;top:-5px}.bb-overlay{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.bb-jumper-shadow,.bb-jumper{fill:none;stroke-width:1.8px;vector-effect:non-scaling-stroke}.bb-jumper-shadow{stroke:#fff;stroke-width:4px}.bb-jumper.red{stroke:#e64d47}.bb-jumper.blue{stroke:#357bda}.bb-jumper.black{stroke:#273b44}.bb-part line{stroke:#74878f;stroke-width:1px}.bb-part rect{fill:#deb66e;stroke:#946d38;stroke-width:.4px}.bb-part text{text-anchor:middle;fill:#425761;font-size:13px}.bb-legend{color:#687d86;gap:18px;padding:8px 2px;font-size:13px;display:flex}.bb-status{border-top:1px solid var(--line);gap:12px;padding:11px 16px;font-size:13px;display:flex}.bb-status b{color:var(--teal-dark);white-space:nowrap}.breadboard-workspace .feedback{margin-top:12px}@media (max-width:900px){.bb-stage{grid-template-columns:1fr}.bb-schematic{display:none}}.lesson-components{background:#f5faf8;border:1px solid #cfe8e1;border-radius:9.1px;margin:18px 0 24px;padding:14px}.lesson-components>h3{margin:0;font-size:13px}.lesson-components>p{margin:5px 0 12px!important;font-size:13px!important}.lesson-components>div{gap:7px;display:grid}.component-lesson-card{background:#fff;border:1px solid #dbe6e7;border-radius:6.3px;overflow:hidden}.component-lesson-card summary{cursor:pointer;grid-template-columns:54px 1fr;align-items:center;gap:9px;padding:8px;list-style:none;display:grid}.component-lesson-card summary::-webkit-details-marker{display:none}.component-lesson-card summary small,.component-lesson-card summary strong{display:block}.component-lesson-card summary small{color:#087864;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900}.component-lesson-card summary strong{margin-top:2px;font-size:13px}.mini-component{width:52px;height:34px;display:block}.mini-component svg{width:100%;height:100%}.component-lesson-card>div{color:#506575;padding:0 11px 12px 72px;font-size:13px;line-height:1.45}.component-lesson-card p{margin:0 0 8px!important;font-size:13px!important}.component-lesson-card dl{margin:0}.component-lesson-card dt{color:#29434f;margin-top:6px;font-weight:900}.component-lesson-card dd{margin:1px 0}.deep-library{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.deep-library .library-card{min-height:0}.component-category{color:#087864;text-transform:uppercase;letter-spacing:.1em;margin-top:14px;font-size:13px;font-weight:900;display:block}.deep-library .library-card h2{margin-top:5px}.deep-library dl{border-top:1px solid var(--line);padding-top:7px}.deep-library dt{color:#38515d;font-weight:900}.deep-library dd{line-height:1.45}.used-in{border-top:1px solid var(--line);margin-top:13px;padding-top:10px}.used-in strong{margin-bottom:6px;font-size:13px;display:block}.used-in button{color:#087864;cursor:pointer;background:#eaf6f2;border:0;border-radius:3.5px;margin:2px;padding:5px 7px;font-size:13px;font-weight:800}.used-in button:hover{background:#d4eee6}@media (max-width:1000px){.deep-library{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.deep-library{grid-template-columns:1fr}}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{color:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:linear-gradient(#fff 0,#f4f7f8 240px);grid-template-rows:76px 1fr;grid-template-columns:72px 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:30;background:#fffffff2;grid-column:1/-1;align-items:center;gap:28px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:190px;display:flex}.brand-mark{border:3px solid var(--ink);border-right-color:#0000;border-radius:4.9px;width:34px;height:34px;position:relative}.brand-mark:after{content:"";border:3px solid var(--teal);border-radius:50%;width:12px;height:12px;position:absolute;inset:7px}.brand b{letter-spacing:.18em;font-size:14px;line-height:1.05}.crumb{border-left:1px solid var(--line);padding-left:24px}.crumb strong{font-size:15px;display:block}.crumb span{color:var(--muted);font-size:13px}.objective{border-left:1px solid var(--line);flex:1;padding-left:24px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:800;display:block}.objective b{font-size:14px}.xp{min-width:210px}.xp-row{color:var(--muted);justify-content:space-between;margin-bottom:7px;font-size:13px;display:flex}.xp-track{background:#e7edef;border-radius:6.3px;height:7px;overflow:hidden}.xp-fill{background:var(--teal);border-radius:6.3px;height:100%}.top-action{align-items:center;gap:9px;display:flex}.icon-btn,.nav-btn,.ghost,.primary,.tray-item,.tab,.placed-part,.row-node{cursor:pointer;border:0}.icon-btn{background:0 0;border-radius:7px;width:40px;height:40px;font-size:20px}.icon-btn:hover,.icon-btn:focus-visible{background:var(--teal-soft);box-shadow:var(--focus);outline:0}.side-nav{border-right:1px solid var(--line);z-index:20;background:#fbfcfc;flex-direction:column;grid-row:2;align-items:center;gap:10px;height:calc(100vh - 76px);padding:18px 10px;display:flex;position:sticky;top:76px}.nav-btn{color:#667789;background:0 0;border-radius:8.4px;place-items:center;width:48px;height:48px;font-size:20px;display:grid;position:relative}.nav-btn:hover,.nav-btn:focus-visible{background:var(--teal-soft);color:var(--teal-dark);box-shadow:var(--focus);outline:0}.nav-btn.active{background:var(--teal-soft);color:var(--teal-dark)}.nav-btn.active:before{content:"";background:var(--teal);border-radius:0 2.1px 2.1px 0;width:3px;height:28px;position:absolute;left:-10px}.nav-glyph{flex:0 0 24px;place-items:center;display:grid}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px;display:block;overflow:visible}.nav-icon .nav-node{fill:#fbfcfc;stroke:currentColor;stroke-width:1.55px}.nav-btn:hover .nav-icon,.nav-btn:focus-visible .nav-icon{transform:translateY(-1px)}.nav-btn.active .nav-icon{stroke-width:1.8px}.nav-btn.active .nav-icon .nav-node{fill:currentColor}.nav-spacer{flex:1}.main{width:100%;min-width:0;max-width:1600px;margin:auto;padding:22px}.workspace-view{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.lesson-panel,.canvas-card,.feedback,.map-card,.library-card,.sandbox-card,.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.lesson-panel{flex-direction:column;height:calc(100vh - 120px);min-height:620px;padding:0 20px;display:flex;position:sticky;top:98px}.tabs{border-bottom:1px solid var(--line);padding-top:8px;display:flex}.tab{color:var(--muted);background:0 0;border-bottom:2px solid #0000;flex:1;padding:16px 6px 13px;font-weight:700}.tab.active{color:var(--teal-dark);border-color:var(--teal)}.learn-content{padding:22px 4px;overflow:auto}.lesson-panel h2{margin:0 0 12px;font-size:22px;line-height:1.2}.lesson-panel p{color:#4b5f70;margin:0 0 18px;font-size:14.5px;line-height:1.65}.concept-card{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.concept-card h3{margin:0 0 8px;font-size:15px}.loop-visual{height:96px;margin:14px 0 8px;position:relative}.loop-track{border:9px solid #94a4ae;border-radius:50px;position:absolute;inset:14px 34px}.loop-gap{background:#fff;width:30px;height:15px;position:absolute;bottom:8px;left:calc(50% - 15px)}.loop-dot{background:var(--teal);border-radius:50%;width:20px;height:20px;position:absolute;top:7px;left:28%;box-shadow:0 2px 8px #009f834d}.build-objective{background:var(--teal-soft);border:1px solid #bde9dc;border-radius:8.4px;margin-bottom:18px;padding:14px}.build-objective strong{margin-bottom:5px;display:block}.checklist{margin:0;padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--line);color:#506273;gap:10px;padding:9px 0;font-size:13px;display:flex}.check{border:1px solid var(--line-strong);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.check.done{background:var(--teal);border-color:var(--teal)}.lesson-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding:16px 0;display:flex}.lesson-foot small{color:var(--muted)}.work-area{min-width:0}.canvas-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.lesson-title h1{margin:0;font-size:18px}.lesson-title p{color:var(--muted);margin:3px 0 0;font-size:13px}.toolbar-actions{gap:9px;display:flex}.primary,.ghost{border-radius:7px;padding:11px 16px;font-size:13px;font-weight:800}.primary{background:var(--teal);color:#fff;box-shadow:0 4px 12px #009f8333}.primary:hover{background:var(--teal-dark)}.primary:focus-visible,.ghost:focus-visible{box-shadow:var(--focus);outline:0}.ghost{border:1px solid var(--line);color:#42566a;background:#fff}.ghost:hover{border-color:var(--teal);color:var(--teal-dark)}.canvas-card{overflow:hidden}.canvas{background-color:#fbfdfe;background-image:linear-gradient(#e6edf0 1px,#0000 1px),linear-gradient(90deg,#e6edf0 1px,#0000 1px),linear-gradient(#f1f5f6 1px,#0000 1px),linear-gradient(90deg,#f1f5f6 1px,#0000 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px;height:min(57vh,570px);min-height:420px;position:relative;overflow:hidden}.canvas.dragover{box-shadow:inset 0 0 0 3px var(--teal)}.empty-canvas{text-align:center;color:var(--muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.empty-canvas strong{color:#455a6b;margin-bottom:6px;font-size:17px;display:block}.wire-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.wire{fill:none;stroke:var(--blue);stroke-width:4px;stroke-linecap:round;stroke-dasharray:9 8;animation:1.2s linear infinite flow}.wire.unpowered{stroke:#aebbc3;stroke-dasharray:0}.wire.return{stroke:var(--red)}@keyframes flow{to{stroke-dashoffset:-34px}}.placed-part{z-index:4;background:linear-gradient(#fff,#eaf0f2);border:1px solid #bbc8ce;border-radius:7px;grid-template-rows:58px auto auto;grid-template-columns:12px 1fr 12px;align-items:center;width:116px;min-height:88px;padding:5px 6px;display:grid;position:absolute;box-shadow:0 7px 14px #1a323e21}.placed-part:hover,.placed-part:focus-visible{box-shadow:var(--focus),0 7px 14px #1a323e21;outline:0}.part-visual{grid-column:2;width:86px;height:56px;display:block}.component-svg{width:100%;height:100%;display:block;overflow:visible}.part-name{text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;font-size:13px;font-weight:800}.part-detail{color:var(--muted);grid-column:1/-1;font-size:13px}.terminal{background:#344655;border:3px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #647682}.part-led.sim-on .component-svg{filter:drop-shadow(0 0 9px #ff5a50)}.part-breadboard{opacity:.9;background:#fff;width:70%;min-width:300px;height:52%}.part-breadboard .part-visual{grid-column:1/-1;justify-self:center;width:90%;height:76%}.part-breadboard .terminal{display:none}.part-breadboard .part-name{font-size:13px}.breadboard-nodes{z-index:5;justify-content:space-around;align-items:center;display:flex;position:absolute;inset:18% 12%}.row-node{border:2px dashed var(--line-strong);width:74px;height:74px;color:var(--muted);background:#fff;border-radius:50%;font-weight:900}.row-node.selected{background:var(--teal-soft);border:2px solid var(--teal);color:var(--teal-dark)}.tray{border-top:1px solid var(--line);background:#fff;align-items:center;gap:10px;min-height:112px;padding:12px 16px;display:flex;overflow-x:auto}.tray-label{color:var(--muted);flex:none;width:82px;font-size:13px}.tray-item{border:1px solid var(--line);background:#fbfcfd;border-radius:7.7px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;width:102px;height:86px;display:flex}.tray-item:hover,.tray-item:focus-visible{border-color:var(--teal);box-shadow:var(--focus);outline:0}.tray-visual{width:76px;height:52px;display:block}.tray-item>span:last-child{font-size:13px;font-weight:700}.tray-item.added{background:var(--teal-soft);border-color:#bde9dc}.resistor-value-picker{background:var(--teal-soft);color:var(--ink);border:1px solid #bde9dc;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.resistor-value-picker strong,.resistor-value-picker span{display:block}.resistor-value-picker strong{font-size:14px}.resistor-value-picker span,.component-control-note{color:var(--muted);margin:3px 0 0;font-size:13px}.resistor-value-picker [role=group]{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.resistor-value-picker button{border:1px solid var(--line-strong);color:var(--ink);background:#fff;padding:8px 10px;font-size:13px;font-weight:700}.resistor-value-picker button.active{background:var(--teal);border-color:var(--teal);color:#fff}.resistor-value-picker button:focus-visible{box-shadow:var(--focus);outline:0}.feedback{align-items:flex-start;gap:15px;min-height:76px;margin-top:14px;padding:17px 20px;display:flex}.feedback-icon{border:2px solid var(--line-strong);width:38px;height:38px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.feedback h3{margin:1px 0 4px;font-size:15px}.feedback p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.feedback.success{background:#fbfffe;border-color:#a7dfd1}.feedback.success .feedback-icon{border-color:var(--teal);color:var(--teal)}.feedback.error{border-color:#efc1bd}.feedback.error .feedback-icon{border-color:var(--danger);color:var(--danger)}.readings{gap:18px;margin-left:auto;display:flex}.reading small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:13px;display:block}.reading b{color:var(--teal-dark);font-size:13px}.view-title{justify-content:space-between;align-items:end;margin:5px 0 20px;display:flex}.view-title h1{margin:0;font-size:28px}.view-title p{color:var(--muted);margin:7px 0 0}.map-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.map-card{min-height:180px;padding:20px;position:relative}.map-card.complete{border-color:#a7dfd1}.map-card.locked{opacity:.62}.chapter-num{color:var(--teal-dark);letter-spacing:.12em;font-size:13px;font-weight:900}.map-card h2{margin:25px 0 6px;font-size:18px}.map-card p{color:var(--muted);font-size:13px;line-height:1.45}.map-card button{margin-top:10px}.library-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.library-card{padding:20px}.library-visual{background:#f4f8f9;border-radius:8.4px;place-items:center;width:120px;height:72px;padding:4px;display:grid}.library-visual .component-svg{width:108px;height:65px}.locked-mark{color:var(--muted);font-size:28px}.library-card h2{margin:15px 0 5px;font-size:17px}.library-card p{color:var(--muted);font-size:13px;line-height:1.5}.library-card dl{font-size:13px}.library-card dt{color:var(--muted);margin-top:8px}.library-card dd{margin:2px 0}.glossary{margin-top:28px}.glossary details{border:1px solid var(--line);background:#fff;border-radius:7px;margin:8px 0;padding:13px 16px}.glossary summary{cursor:pointer;font-weight:800}.glossary p{color:var(--muted);font-size:13px}.sandbox-card{padding:28px}.sandbox-card h2{margin-top:0}.modal{z-index:100;background:#0f1f2961;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{width:min(470px,100%);padding:28px}.modal-card h1{margin:0 0 8px}.modal-card p{color:var(--muted);line-height:1.55}.field{margin:20px 0;display:block}.field span{margin-bottom:7px;font-size:13px;font-weight:800;display:block}.field input{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:12px 13px}.field input:focus{box-shadow:var(--focus);border-color:var(--teal);outline:0}.toast{color:#fff;box-shadow:var(--shadow);z-index:90;background:#153244;border-radius:7px;padding:12px 16px;font-size:13px;position:fixed;bottom:24px;right:24px}@media (max-width:1050px){.workspace-view{grid-template-columns:270px minmax(0,1fr)}.lesson-panel{padding:0 15px}.xp,.objective{display:none}.map-grid,.library-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.app-shell{grid-template-rows:64px 1fr 64px;grid-template-columns:1fr}.topbar{gap:12px;padding:0 14px}.brand{min-width:auto}.brand b{display:none}.crumb{padding-left:12px}.crumb span,.top-action .icon-btn{display:none}.side-nav{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;border-right:0;border-top:1px solid var(--line);z-index:50;flex-direction:row;grid-row:3;justify-content:flex-start;gap:2px;width:100%;height:64px;padding:7px;position:fixed;inset:auto 0 0;overflow-x:auto}.side-nav::-webkit-scrollbar{display:none}.nav-spacer{display:none}.main{grid-row:2;padding:12px 12px 82px}.workspace-view{display:block}.lesson-panel{height:auto;min-height:0;margin-bottom:12px;padding:0 15px;position:static}.learn-content{max-height:290px}.lesson-foot{display:none}.canvas-toolbar{align-items:flex-end}.canvas{height:390px;min-height:390px}.tray{min-height:92px}.tray-label{display:none}.placed-part{min-width:82px}.feedback{flex-wrap:wrap}.readings{width:100%;margin-left:53px}.map-grid,.library-grid{grid-template-columns:1fr}.view-title h1{font-size:23px}.primary,.ghost,.tab,.tray-item,.canvas-toolbar button,.bb-tools>button{min-height:44px}.canvas-toolbar{flex-wrap:wrap;align-items:stretch;gap:9px}.canvas-toolbar .toolbar-actions{flex:1;justify-content:flex-end}.canvas{touch-action:pan-y;height:min(52vh,430px);min-height:350px}.placed-part{min-width:92px;min-height:94px}.terminal{width:18px;height:18px}.placed-part .rotate-control{opacity:1;color:#fff;touch-action:manipulation;background:#173b43;border:0;border-radius:2.1px;gap:7px;width:auto;min-width:86px;height:44px;padding:0 11px;font-size:0;top:4px;right:4px;transform:scale(1);box-shadow:0 4px 10px #182d3833}.placed-part .rotate-control:before{content:"↻";font-size:21px;line-height:1}.placed-part .rotate-control:after{content:"Rotate";letter-spacing:.04em;font-size:13px;font-weight:900}.placed-part .rotate-control:active{background:#007c68;transform:scale(.96)}.terminal:after{top:22px}.bb-tools{gap:8px;padding:10px}.bb-colors button{width:32px;height:32px}.bb-stage{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.bb-board-wrap{scroll-snap-align:start}.meter-panel{max-height:calc(100dvh - 158px);overflow:auto}.chat-launch{touch-action:manipulation}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lesson-instrument{background:#f8fbfa;border:1px solid #c8d9dc;border-radius:9.8px;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.4fr) 120px;align-items:center;gap:16px;margin-top:14px;padding:18px 20px;display:grid;box-shadow:0 8px 22px #19384112}.instrument-copy h2{color:#203a46;margin:5px 0 6px;font-size:16px}.instrument-copy>p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.instrument-plot svg{width:100%;max-height:154px;display:block;overflow:visible}.lab-grid path{fill:none;stroke:#dce7e8;stroke-width:1px}.lab-grid path:first-child{stroke:#81959d;stroke-width:1.4px}.lab-curve{fill:none;stroke:var(--teal);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 3px #008f7721)}.threshold{stroke:#df9b45;stroke-width:1.5px;stroke-dasharray:4 4}.lab-marker circle{fill:#fff;stroke:#0b846e;stroke-width:3px}.lab-marker text{fill:#61747d;font-size:13px;font-weight:800}.lab-marker .marker-value{fill:#173b46;font-size:13px}.instrument-readout{border-left:1px solid #d8e4e5;padding-left:16px}.instrument-readout strong{color:var(--teal-dark);font-variant-numeric:tabular-nums;font-size:21px;display:block}.instrument-readout span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.35;display:block}.instrument-control{margin-top:13px;display:block}.instrument-control span{color:#556b75;justify-content:space-between;font-size:13px;display:flex}.instrument-control input{width:100%;accent-color:var(--teal);margin-top:7px}.instrument-tip{background:#eaf5f2;border-radius:5.6px;padding:8px 10px;color:#286052!important;margin-top:12px!important;font-size:13px!important}@media (max-width:900px){.lesson-instrument{grid-template-columns:1fr 1.4fr}.instrument-readout{border-top:1px solid #d8e4e5;border-left:0;grid-column:1/-1;align-items:baseline;gap:8px;padding:10px 0 0;display:flex}}@media (max-width:620px){.lesson-instrument{grid-template-columns:1fr;padding:15px}.instrument-readout{grid-column:auto}.instrument-plot{order:3}}.detective-shell{grid-template-columns:275px minmax(0,1fr);gap:18px;min-height:calc(100vh - 118px);display:grid}.detective-brief,.detective-lab,.detective-results{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12.6px}.detective-brief{height:fit-content;padding:24px;position:sticky;top:88px}.detective-brief h2{margin:12px 0 8px}.detective-brief>p{color:var(--muted);font-size:13px;line-height:1.55}.detective-brief ol{margin:24px 0;padding:0;list-style:none}.detective-brief li{border-bottom:1px solid var(--line);padding:10px 0 10px 28px;font-size:13px;position:relative}.detective-brief li:before{content:"○";color:#8da0aa;position:absolute;left:3px}.detective-brief li.done:before{content:"✓";color:var(--teal);font-weight:900}.detective-score{background:var(--teal-soft);border-radius:8.4px;margin:18px 0;padding:15px}.detective-score b{color:var(--teal-dark);font-size:28px;display:block}.detective-score span{text-transform:uppercase;letter-spacing:.1em;font-size:13px}.detective-brief button{width:100%;margin-top:8px}.detective-lab{padding:26px;overflow:auto}.detective-lab>header{justify-content:space-between;align-items:start;display:flex}.detective-lab h1{margin:5px 0 16px;font-size:25px}.safety-chip{color:#08755f;letter-spacing:.1em;background:#eaf7f3;border:1px solid #a9dfd1;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.mystery-stage{border:1px solid var(--line);background:linear-gradient(135deg,#f4f8f9,#fff);border-radius:10.5px;grid-template-columns:220px 1fr;align-items:center;gap:24px;padding:20px;display:grid}.mystery-part{background:#fff;border:1px dashed #aebfc7;border-radius:9.1px;place-items:center;height:155px;display:grid;position:relative}.mystery-part .component-svg{filter:saturate(.28);width:170px;height:105px}.mystery-part>span{color:#fff;background:#193540;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid;position:absolute;top:10px;right:13px}.physical-clues h3,.test-bench h3,.evidence-board h3{text-transform:uppercase;letter-spacing:.1em;color:#536a76;font-size:13px}.physical-clues p{color:#3f5663;margin:9px 0;font-size:13px}.physical-clues p span{color:var(--teal);margin-right:8px}.test-bench{margin-top:18px}.test-bench>p{color:var(--muted);font-size:13px}.test-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.test-grid button{text-align:left;border:1px solid var(--line);min-height:78px;color:var(--ink);background:#fafcfc;border-radius:7px;padding:11px}.test-grid button:hover,.test-grid button:focus-visible{border-color:var(--teal);box-shadow:var(--focus);outline:0}.test-grid button.used{background:var(--teal-soft);border-color:#a8dfd2}.test-grid b,.test-grid small{display:block}.test-grid b{font-size:13px}.test-grid small{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.35}.discharge-action{color:#6b4c0e;background:#fff8dd;border:1px solid #d6a43d;border-radius:6.3px;margin-top:10px;padding:10px;font-weight:800}.evidence-board{background:#f6f8f8;border-radius:8.4px;margin-top:18px;padding:15px}.evidence-board h3{margin-top:0}.evidence-board h3 span{float:right;color:var(--teal);font-size:13px}.evidence-board p{color:#405864;gap:10px;margin:8px 0;font-size:13px;display:flex}.evidence-board p b{color:var(--teal-dark)}.identify-row{align-items:end;gap:12px;margin-top:18px;display:flex}.identify-row label{flex:1}.identify-row label>span{text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:13px;font-weight:900;display:block}.identify-row select{border:1px solid var(--line-strong);background:#fff;border-radius:6.3px;width:100%;padding:11px}.detective-feedback{color:#37515e;border-left:3px solid var(--teal);min-height:20px;padding-left:10px;font-size:13px}.detective-results{padding:28px}.detective-results h1{margin-top:0}.detective-results article{border-bottom:1px solid var(--line);gap:14px;padding:15px 0;display:flex}.detective-results article p{color:var(--muted);margin:5px 0;font-size:13px}.detective-results article small{color:var(--teal-dark)}.result-mark{color:#a43d36;background:#fbe8e7;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.result-mark.correct{background:var(--teal-soft);color:var(--teal)}@media (max-width:900px){.detective-shell{grid-template-columns:1fr}.detective-brief{position:static}.test-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.mystery-stage{grid-template-columns:1fr}.identify-row{flex-direction:column;align-items:stretch}.test-grid{grid-template-columns:1fr}}.high-contrast{--line:#8a9aa3;--muted:#3f515e;--teal:#00755f;--teal-dark:#005c4b}.high-contrast .placed-part,.high-contrast .tray-item{border-width:2px}.wire-layer{overflow:visible}.wire{filter:drop-shadow(0 2px 2px #2d7ff924)}.wire.preview{stroke:var(--teal);stroke-width:3px;stroke-dasharray:6 5;filter:drop-shadow(0 0 5px #009f8359)}.wire-hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.wire-hit:hover+.wire{stroke:var(--danger);stroke-width:6px}.placed-part{cursor:grab;touch-action:none;transition:box-shadow .18s,scale .18s}.placed-part:active{cursor:grabbing;scale:1.025}.terminal{cursor:crosshair;touch-action:none;transition:transform .16s,box-shadow .16s,background .16s;position:relative}.terminal:hover,.terminal:focus-visible,.terminal-target{background:var(--teal);outline:0;transform:scale(1.55);box-shadow:0 0 0 5px #009f8329,0 0 12px #009f838c}.terminal-pending{background:var(--teal);animation:.8s ease-in-out infinite alternate terminalPulse}.terminal:after{content:attr(data-label);color:#425765;white-space:nowrap;pointer-events:none;background:#ffffffeb;border-radius:2.8px;padding:2px 4px;font-size:13px;font-weight:900;line-height:1;position:absolute;top:17px;left:50%;translate:-50%}.terminal-a:after{left:0}.terminal-b:after{left:100%}@keyframes terminalPulse{to{transform:scale(1.65);box-shadow:0 0 0 7px #009f8321,0 0 14px #009f8380}}.terminal{z-index:3;background:radial-gradient(circle at 42% 38%,#172832 0 28%,#546873 30% 43%,#dce4e7 46% 60%,#7d9099 63% 72%,#f7fafb 75%);border:0;width:18px;height:18px;box-shadow:0 0 0 1px #637781,0 2px 3px #182d3833}.terminal-a{margin-left:-15px}.terminal-b{margin-right:-15px}.terminal:after{text-align:center;color:#2f4652;letter-spacing:.02em;border:1px solid #d8e2e6;min-width:22px;top:23px;box-shadow:0 1px 2px #142d3a14}.terminal-connected{background:radial-gradient(circle,#087763 0 26%,#3bd0ae 29% 42%,#dce4e7 45% 60%,#71858f 63% 72%,#f7fafb 75%);box-shadow:0 0 0 1px #087763,0 0 0 4px #009f8317,0 2px 4px #182d382e}.terminal:hover,.terminal:focus-visible,.terminal-target{background:radial-gradient(circle,#075e50 0 25%,#44ddba 28% 44%,#eef6f4 47% 61%,#16a98e 64% 74%,#f7fafb 77%);transform:scale(1.28);box-shadow:0 0 0 6px #009f831c,0 0 15px #009f836b}.wire{stroke-linejoin:round;stroke-linecap:square}.node-dot{fill:#fff;stroke:#5c7480;stroke-width:.3px;pointer-events:none;filter:drop-shadow(0 1px 1px #142b362e)}.wire-new{animation:.28s cubic-bezier(.22,1,.36,1) wireSeat}@keyframes wireSeat{0%{opacity:.1;transform:scale(.992)}to{opacity:1;transform:scale(1)}}.rotate-control{color:#425a66;cursor:pointer;opacity:0;z-index:5;background:#fff;border:1px solid #cbd8dd;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:15px;line-height:1;transition:opacity .16s,transform .16s,background .16s,color .16s;display:grid;position:absolute;top:-10px;right:-9px;transform:scale(.86);box-shadow:0 3px 8px #182d3824}.placed-part:hover .rotate-control,.placed-part:focus-within .rotate-control{opacity:1;transform:scale(1)}.rotate-control:hover,.rotate-control:focus-visible{opacity:1;background:var(--teal);color:#fff;border-color:var(--teal);outline:0;box-shadow:0 0 0 4px #009f8321,0 4px 10px #182d3829}.placed-part .terminal{margin:0;position:absolute;translate:0}.terminals-2.rotation-0 .terminal-a{top:25px;left:-9px}.terminals-2.rotation-0 .terminal-b{top:25px;right:-9px}.terminals-2.rotation-90 .terminal-a{top:-9px;left:calc(50% - 9px)}.terminals-2.rotation-90 .terminal-b{bottom:-9px;left:calc(50% - 9px)}.terminals-2.rotation-180 .terminal-a{top:25px;right:-9px}.terminals-2.rotation-180 .terminal-b{top:25px;left:-9px}.terminals-2.rotation-270 .terminal-a{bottom:-9px;left:calc(50% - 9px)}.terminals-2.rotation-270 .terminal-b{top:-9px;left:calc(50% - 9px)}.terminals-3.rotation-0 .terminal-a{top:25px;left:-9px}.terminals-3.rotation-0 .terminal-b{bottom:-9px;left:calc(50% - 9px)}.terminals-3.rotation-0 .terminal-c{top:25px;right:-9px}.terminals-3.rotation-90 .terminal-a{top:-9px;left:calc(50% - 9px)}.terminals-3.rotation-90 .terminal-b{top:25px;left:-9px}.terminals-3.rotation-90 .terminal-c{bottom:-9px;left:calc(50% - 9px)}.terminals-3.rotation-180 .terminal-a{top:25px;right:-9px}.terminals-3.rotation-180 .terminal-b{top:-9px;left:calc(50% - 9px)}.terminals-3.rotation-180 .terminal-c{top:25px;left:-9px}.terminals-3.rotation-270 .terminal-a{bottom:-9px;left:calc(50% - 9px)}.terminals-3.rotation-270 .terminal-b{top:25px;right:-9px}.terminals-3.rotation-270 .terminal-c{top:-9px;left:calc(50% - 9px)}.rotation-0 .terminal:after,.rotation-180 .terminal:after{top:23px;left:50%;translate:-50%}.rotation-90 .terminal:after,.rotation-270 .terminal:after{top:1px;left:27px;translate:0}.switch-svg.is-closed{filter:drop-shadow(0 2px 2px #009f832e)}.switch-svg.is-closed path{animation:.18s cubic-bezier(.22,1,.36,1) switchSeat}@keyframes switchSeat{0%{opacity:.55;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.brand{gap:9px}.brand-logo{filter:drop-shadow(0 4px 8px #007f6b1f);flex:none;width:43px;height:43px;overflow:visible}.logo-frame{fill:#f7fbfa;stroke:#18313e;stroke-width:3px;stroke-linejoin:round}.logo-trace,.logo-tail{fill:none;stroke:url(#logoTrace);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.logo-node{fill:#fff;stroke:#008e77;stroke-width:3px}.logo-core{fill:#15313e}.brand b{letter-spacing:.19em;color:#17303d;font-size:13px;line-height:1.02}.brand b span{color:#008d76}.brand:hover .logo-node{animation:.7s cubic-bezier(.22,1,.36,1) logoNode}@keyframes logoNode{50%{transform-origin:50%;fill:#45d5b2;transform:scale(1.35)}}.rich-learn{padding-bottom:36px}.learn-summary{border-left:3px solid var(--teal);padding-left:13px;color:#354f5e!important;font-size:15px!important}.analogy-card{margin-bottom:25px}.deep-dive>h3{text-transform:uppercase;letter-spacing:.12em;color:#647784;margin:0 0 10px;font-size:13px}.learn-detail{border-top:1px solid var(--line);background:#fff}.learn-detail:last-child{border-bottom:1px solid var(--line)}.learn-detail summary{cursor:pointer;color:#2c4350;grid-template-columns:27px 1fr;align-items:center;gap:8px;padding:12px 2px;font-size:13px;font-weight:800;line-height:1.35;list-style:none;display:grid}.learn-detail summary::-webkit-details-marker{display:none}.learn-detail summary>span{color:#087864;letter-spacing:.04em;background:#edf4f3;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.learn-detail summary:after{content:"+";color:#69808b;grid-column:3;font-size:17px;font-weight:500}.learn-detail[open] summary:after{content:"−"}.learn-detail summary:hover,.learn-detail summary:focus-visible{color:var(--teal-dark);outline:0}.detail-body{color:#506575;padding:0 3px 15px 35px;font-size:13px;line-height:1.62}.detail-body strong{color:#253c49}.detail-body p{margin:8px 0 0!important;font-size:13px!important}.knowledge-check{background:#f7fcfa;border-radius:7px;margin-top:12px;border:1px solid #bde5db!important}.knowledge-check summary{padding:12px 10px}.knowledge-check .detail-body{padding-right:12px}.knowledge-check summary>span{background:var(--teal);color:#fff}.curriculum-grid{align-items:start}.curriculum-card{min-height:0}.chapter-lessons{gap:7px;margin-top:17px;display:grid}.lesson-row{border:1px solid var(--line);text-align:left;cursor:pointer;color:#304754;background:#f9fbfb;border-radius:7px;grid-template-columns:28px 1fr 20px;align-items:center;gap:9px;width:100%;padding:9px;display:grid}.lesson-row>span:first-child{color:#087864;background:#eaf2f1;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:grid}.lesson-row strong{font-size:13px;display:block}.lesson-row small{color:#72848e;margin-top:2px;font-size:13px;display:block}.lesson-row>b{color:var(--teal);font-size:15px}.lesson-row:hover,.lesson-row:focus-visible{background:#f1faf7;border-color:#86cdbc;outline:0;box-shadow:0 0 0 3px #009f831a}.lesson-row.is-complete{background:#f7fcfa;border-color:#b8e2d8}.lesson-row.is-complete>span:first-child{background:var(--teal);color:#fff}.syllabus-preview{border-top:1px solid var(--line);margin-top:14px}.syllabus-preview summary{cursor:pointer;color:#087864;padding:12px 0 2px;font-size:13px;font-weight:900}.syllabus-preview summary:hover,.syllabus-preview summary:focus-visible{color:#005f50;outline:0}.syllabus-preview>div{max-height:230px;padding:7px 2px;overflow:auto}.syllabus-preview p{border-bottom:1px solid #edf1f2;grid-template-columns:82px 1fr;gap:8px;padding:7px 0;display:grid;color:#354d5a!important;margin:0!important;font-size:13px!important}.syllabus-preview p>span{text-transform:uppercase;letter-spacing:.07em;color:#758791;font-size:13px;font-weight:900}.soldering-roadmap{color:#f1f7f5;box-shadow:var(--shadow);background:#17333f;border-radius:11.2px;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;padding:22px;display:grid}.soldering-roadmap h2{margin:6px 0;font-size:20px}.soldering-roadmap p{color:#bcd0d5;margin:0}.soldering-roadmap .chapter-num{color:#54dbb8}.soldering-roadmap .syllabus-preview{border-color:#36515b;margin:0}.soldering-roadmap .syllabus-preview summary{color:#67e4c2}.soldering-roadmap .syllabus-preview p{border-color:#2d4853;color:#d6e4e7!important}.soldering-roadmap .syllabus-preview p>span{color:#89a8b0}@media (max-width:820px){.soldering-roadmap{grid-template-columns:1fr}.syllabus-preview p{grid-template-columns:70px 1fr}}.probe-layer{pointer-events:none;z-index:12;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.probe-lead{fill:none;stroke-width:2.2px;stroke-linecap:round;filter:drop-shadow(0 2px 2px #1428322e)}.probe-lead.red{stroke:#d84f49}.probe-lead.black{stroke:#263b45}.probe-lead.preview{stroke-dasharray:4 3;opacity:.8}.meter-panel{z-index:14;color:#20333c;background:#f3c949;border:2px solid #2f4148;border-radius:12.6px;width:280px;padding:12px;position:absolute;bottom:16px;right:16px;box-shadow:0 16px 34px #1b303a38}.meter-head{justify-content:space-between;align-items:center;font-size:13px;display:flex}.meter-head strong{letter-spacing:.04em;font-size:13px}.power-indicator{letter-spacing:.08em;background:#e6b937;border-radius:3.5px;padding:4px 6px;font-size:13px;font-weight:900}.power-indicator.live{color:#fff;background:#d9594f}.meter-lcd{background:#c7d9c3;border:3px solid #37484e;border-radius:4.9px;min-height:62px;margin:9px 0;padding:8px 10px;box-shadow:inset 0 2px 7px #22383f2e}.meter-lcd b{letter-spacing:.04em;text-align:right;font-family:SFMono-Regular,Consolas,monospace;font-size:22px;display:block}.meter-lcd small{color:#365147;margin-top:4px;font-size:13px;line-height:1.3;display:block}.meter-modes{justify-content:center;gap:7px;margin:8px 0;display:flex}.meter-mode{cursor:pointer;background:#f7db74;border:2px solid #3c4c51;border-radius:50%;width:43px;height:43px;font-weight:900}.meter-mode.active{color:#fff;background:#273c45;box-shadow:0 0 0 4px #273c4521}.meter-mode:focus-visible{outline-offset:2px;outline:3px solid #006f5e59}.meter-probes{justify-content:space-between;gap:10px;display:flex}.probe-dock{cursor:grab;background:#f8dd77;border:1px solid #1f343c59;border-radius:5.6px;flex:1;align-items:center;gap:7px;padding:7px;font-size:13px;font-weight:900;display:flex}.probe-dock>span{background:#263b45;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #fff,0 0 0 4px #263b45}.probe-dock.red>span{background:#d84f49;box-shadow:0 0 0 3px #fff,0 0 0 4px #a6322e}.probe-dock.attached{background:#fff1b9}.meter-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.meter-foot span{font-size:13px;line-height:1.25}.meter-foot button{cursor:pointer;background:0 0;border:0;font-size:13px;text-decoration:underline}.terminal[data-probed=red]{box-shadow:0 0 0 4px #d84f4933,0 0 0 6px #d84f49}.terminal[data-probed=black]{box-shadow:0 0 0 4px #263b452e,0 0 0 6px #263b45}.terminal.probe-target{transform:scale(1.35);box-shadow:0 0 0 7px #f3c94947,0 0 14px #f3c949cc}@media (max-width:820px){.meter-panel{width:auto;position:fixed;bottom:76px;left:12px;right:12px}.probe-layer{z-index:49;position:fixed}}.solder-workshop{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:18px;display:grid}.solder-path,.solder-bench,.solder-guide>section{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:11.2px}.solder-path{max-height:calc(100vh - 118px);position:sticky;top:18px;overflow:hidden}.solder-path-head{border-bottom:1px solid var(--line);padding:18px}.solder-path-head h2{margin:5px 0;font-size:18px}.solder-path-head p,.solder-header p{color:var(--muted);font-size:13px;line-height:1.5}.solder-path nav{max-height:calc(100vh - 250px);padding:7px;overflow:auto}.solder-path-item{text-align:left;color:#314a57;cursor:pointer;background:0 0;border:0;border-radius:6.3px;grid-template-columns:27px 1fr;align-items:center;gap:9px;width:100%;padding:8px;display:grid}.solder-path-item>span:first-child{color:#087864;background:#edf3f3;border-radius:50%;place-items:center;width:25px;height:25px;font-size:13px;font-weight:900;display:grid}.solder-path-item b,.solder-path-item small{display:block}.solder-path-item b{font-size:13px}.solder-path-item small{color:#7b8c94;font-size:13px}.solder-path-item:hover,.solder-path-item.active{background:#e7f6f1}.solder-path-item.done>span:first-child{background:var(--teal);color:#fff}.solder-header{justify-content:space-between;gap:20px;margin-bottom:14px;display:flex}.solder-header h1{margin:5px 0;font-size:27px}.solder-header p{max-width:690px;margin:0}.solder-score{color:#fff;text-align:center;background:#17333f;border-radius:9.8px;min-width:78px;padding:10px}.solder-score b,.solder-score span{display:block}.solder-score b{color:#67e4c2;font-size:24px}.solder-score span{text-transform:uppercase;font-size:13px}.solder-layout{grid-template-columns:240px minmax(0,1fr);gap:13px;display:grid}.solder-guide{align-content:start;gap:12px;display:grid}.solder-guide>section{border-radius:9.1px;padding:13px}.solder-guide h3{justify-content:space-between;margin:0 0 9px;font-size:13px;display:flex}.safety-check,.stage-check{cursor:pointer;border-top:1px solid #edf1f2;grid-template-columns:17px 1fr;gap:7px;padding:8px 0;display:grid}.safety-check input,.stage-check input{accent-color:var(--teal)}.safety-check b,.safety-check small,.stage-check b,.stage-check small{display:block}.safety-check b,.stage-check b{text-transform:capitalize;font-size:13px}.safety-check small,.stage-check small{color:#758790;font-size:13px;line-height:1.35}.checked b{color:#087864}.concept-list p{color:#536975;font-size:13px}.solder-bench{overflow:hidden}.bench-toolbar{border-bottom:1px solid var(--line);background:#f8fbfb;align-items:center;gap:14px;padding:11px 14px;display:flex}.bench-toolbar>div{min-width:125px}.bench-toolbar b,.bench-toolbar small{font-size:13px;display:block}.iron-dot{background:#9cabaf;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.iron-dot.on{background:#ef5148;box-shadow:0 0 0 4px #ef51481f}.bench-toolbar label{flex:1;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.bench-toolbar input{width:100%;accent-color:var(--teal)}.pcb-stage{background:radial-gradient(circle at 50% 20%,#f8fbfa,#dce8e6);place-items:center;height:330px;display:grid;position:relative;overflow:hidden}.pcb{background:#267861;border-radius:9.8px;width:min(520px,76%);height:250px;position:relative;box-shadow:0 18px 28px #17313b33,inset 0 0 0 5px #ffffff14}.pcb:after{content:"";border:1px solid #d8efdc47;border-radius:7px;position:absolute;inset:7px}.pcb>svg{width:100%;height:100%;position:absolute;inset:0}.pcb>svg *{fill:none;stroke:#e0ca775c}.board-label{color:#c8e5d8;font-size:13px;font-weight:900;position:absolute;top:13px;left:18px}.solder-pad{left:var(--x);top:var(--y);color:#fff;cursor:pointer;z-index:3;background:0 0;border:0;width:54px;height:54px;position:absolute;translate:-50% -50%}.pad-ring{background:#bd9653;border-radius:50%;position:absolute;inset:9px;box-shadow:inset 0 0 0 5px #ddbc72}.lead{background:linear-gradient(90deg,#879296,#e2e6e6,#707d80);border-radius:2.8px;width:5px;height:44px;position:absolute;top:3px;left:25px}.solder-fillet{width:calc(var(--blob)*2.4);height:calc(var(--blob)*1.55);background:radial-gradient(circle at 35% 28%,#fff,#aeb8ba 40%,#56686e);border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.solder-pad>b,.solder-pad>small{font-size:13px;position:absolute;left:0;right:0}.solder-pad>b{top:48px}.solder-pad>small{color:#bce8d8;top:59px}.solder-pad.selected .pad-ring{box-shadow:inset 0 0 0 5px #f1d48f,0 0 0 5px #65e8c366,0 0 18px #5adabb}.solder-pad.bridge:after{content:"";background:#aab3b5;border-radius:50%;width:50px;height:10px;position:absolute;top:23px;left:35px}.solder-pad.damaged .pad-ring{background:#84483d}.bench-lock{text-align:center;z-index:8;background:#f2f7f6db;place-content:center;display:grid;position:absolute;inset:0}.bench-lock b,.bench-lock span{display:block}.bench-lock span{color:#627780;font-size:13px}.iron-tool{background:#263d48;border-radius:9.8px;width:130px;height:25px;position:absolute;bottom:4%;right:4%;rotate:-17deg}.iron-tool:before{content:"";clip-path:polygon(0 40%,100% 0,100% 100%,0 60%);background:linear-gradient(90deg,#83735f,#e4d3ae);width:76px;height:8px;position:absolute;top:8px;left:-70px}.iron-tool span{background:#0d9380;border-radius:6.3px;width:50px;height:13px;position:absolute;top:6px;right:8px}.process-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.3fr repeat(4,1fr);display:grid}.selected-readout,.process-controls>button{border:0;border-right:1px solid var(--line);text-align:left;background:#fff;min-height:70px;padding:10px}.selected-readout *,.process-controls button *{display:block}.selected-readout span,.selected-readout small,.process-controls small{color:#748790;font-size:13px}.selected-readout b{font-size:17px}.process-controls button{cursor:pointer}.process-controls button:hover:not(:disabled){background:#eff9f6}.process-controls button span{color:#078570;font-size:16px}.process-controls button b{font-size:13px}.process-controls button:disabled{opacity:.4}.solder-feedback{border:1px solid var(--line);background:#f8fbfb;border-radius:7.7px;grid-template-columns:36px 1fr auto;gap:10px;margin:12px;padding:11px;display:grid}.solder-feedback h3{margin:0;font-size:13px}.solder-feedback p,.solder-feedback small{color:#566d78;font-size:13px}.solder-feedback.success{background:#f2fbf8;border-color:#a7dfd1}.solder-feedback.warning{background:#fffaf0;border-color:#ebca8e}.fault-tags span{color:#993d36;background:#f7e0dc;border-radius:3.5px;padding:4px 6px;font-size:13px;display:inline-block}.solder-footer{justify-content:space-between;align-items:center;padding:0 13px 12px;display:flex}.solder-footer b,.solder-footer span{font-size:13px;display:block}.solder-footer span{color:#788991}.fume-flow{display:none}@media (max-width:1100px){.solder-workshop,.solder-layout{grid-template-columns:210px 1fr}.process-controls{grid-template-columns:repeat(3,1fr)}.selected-readout{grid-column:1/-1}}@media (max-width:850px){.solder-workshop{grid-template-columns:1fr}.solder-path{max-height:none;position:static}.solder-path nav{max-height:none;display:flex;overflow:auto}.solder-path-item{min-width:180px}.solder-layout{grid-template-columns:1fr}.solder-guide{grid-template-columns:1fr 1fr}}@media (max-width:600px){.solder-guide{grid-template-columns:1fr}.bench-toolbar{flex-wrap:wrap}.bench-toolbar label{flex-basis:100%}.pcb{width:90%;height:225px}.process-controls{grid-template-columns:1fr 1fr}.selected-readout{grid-column:1/-1}.solder-footer{flex-direction:column;align-items:stretch;gap:8px}.solder-footer button{width:100%}}.esp32-workspace{grid-template-columns:320px minmax(0,1fr)}.esp32-overview,.esp32-lab{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:11.2px}.esp32-overview{background:radial-gradient(circle at 25% 40%,#e9f8f5,#fff 48%);grid-template-columns:minmax(350px,.9fr) 1fr;align-items:center;gap:40px;min-height:670px;padding:46px;display:grid}.esp32-overview h1{margin:8px 0 13px;font-size:34px;line-height:1.08}.esp32-overview p{color:#536975;font-size:15px;line-height:1.6}.esp32-hero-board{place-items:center;min-height:430px;display:grid;position:relative}.esp32-hero-board>svg{filter:drop-shadow(0 22px 24px #14404833);width:280px;height:390px}.pin-callout{color:#087864;background:#fff;border:1px solid #a9dacf;border-radius:5.6px;padding:8px 10px;font-size:13px;font-weight:900;position:absolute;box-shadow:0 7px 16px #1b3e461a}.pin-callout.power{top:12%;left:0}.pin-callout.digital{top:30%;right:0}.pin-callout.analog{bottom:28%;left:1%}.pin-callout.bus{bottom:12%;right:2%}.pin-rule-strip{gap:8px;margin-top:26px;display:grid}.pin-rule-strip b{border-left:3px solid var(--teal);background:#f2faf7;padding:8px 11px;font-size:13px}.esp32-concept{color:#eef8f5;background:#17333f;border-radius:8.4px;margin:18px 0;padding:14px}.esp32-concept h3{color:#68e0bf;text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px;font-size:13px}.esp32-concept p{color:#d2e2e5!important;margin:0!important;font-size:13px!important}.esp32-focus-part{border-top:1px solid #e8eeee;grid-template-columns:58px 1fr;align-items:center;gap:9px;padding:8px 0;display:grid}.esp32-focus-part>span svg{width:58px;height:42px}.esp32-focus-part b,.esp32-focus-part small{display:block}.esp32-focus-part b{font-size:13px}.esp32-focus-part small{color:#087864;font-size:13px;font-weight:800}.esp32-focus-part p{margin:3px 0!important;font-size:13px!important}.esp32-checklist{margin:16px 0;padding:0;list-style:none}.esp32-checklist li{border-bottom:1px solid var(--line);grid-template-columns:27px 1fr;align-items:start;gap:8px;padding:10px 0;display:grid}.esp32-checklist li>span{color:#087864;background:#edf3f3;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:grid}.esp32-checklist li.done>span{background:var(--teal);color:#fff}.esp32-checklist p{margin:3px 0!important;font-size:13px!important}.esp32-lab{overflow:hidden}.esp32-lab>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:18px 20px;display:flex}.esp32-lab>header h1{margin:5px 0;font-size:24px}.esp32-lab>header p{color:#637680;margin:0;font-size:13px}.esp32-progress{color:#fff;text-align:center;background:#17333f;border-radius:9.1px;min-width:72px;padding:10px}.esp32-progress b,.esp32-progress span{display:block}.esp32-progress b{color:#67e4c2;font-size:21px}.esp32-progress span{text-transform:uppercase;font-size:13px}.esp32-system{background:linear-gradient(135deg,#edf8f5,#f7fafb);grid-template-columns:180px 1fr;align-items:center;gap:18px;min-height:260px;padding:18px;display:grid;position:relative}.esp32-board-large svg{filter:drop-shadow(0 14px 17px #1c444b2e);width:170px;height:190px}.esp32-parts-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.esp32-parts-rail article{background:#fff;border:1px solid #cae2dc;border-radius:7px;min-height:105px;padding:9px}.esp32-parts-rail article>span{height:52px;display:block}.esp32-parts-rail svg{width:100%;height:52px}.esp32-parts-rail b,.esp32-parts-rail small{display:block}.esp32-parts-rail b{font-size:13px}.esp32-parts-rail small{color:#6e8189;margin-top:2px;font-size:13px}.decision-stack{background:#f7f9fa;gap:8px;padding:14px;display:grid}.decision-card{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:34px 1fr 24px;align-items:center;gap:10px;padding:10px;display:grid}.decision-card.correct{background:#f7fcfa;border-color:#9ed8ca}.decision-card.incorrect{background:#fff9f7;border-color:#e7b8a9}.decision-num{color:#087864;font-size:13px;font-weight:900}.decision-card h3{margin:0 0 7px;font-size:13px;line-height:1.35}.decision-options{flex-wrap:wrap;gap:5px;display:flex}.decision-options button{cursor:pointer;background:#f9fbfb;border:1px solid #cad7db;border-radius:4.2px;padding:6px 8px;font-size:13px;font-weight:800}.decision-options button:hover,.decision-options button.selected{border-color:var(--teal);color:#006e5c;background:#e6f6f1}.decision-mark{color:var(--teal);font-size:16px}.esp32-lab>.feedback{box-shadow:none;border-width:1px 0 0;border-radius:0;margin:0}.library-card .library-visual svg{max-height:120px}@media (max-width:1100px){.esp32-workspace{grid-template-columns:270px 1fr}.esp32-overview{grid-template-columns:1fr;padding:28px}.esp32-hero-board{min-height:300px}.esp32-hero-board>svg{height:280px}.esp32-system{grid-template-columns:140px 1fr}.esp32-board-large svg{width:135px}.esp32-parts-rail{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.esp32-workspace{display:block}.esp32-overview{min-height:0}.esp32-hero-board{display:none}.esp32-overview h1{font-size:26px}.esp32-system{grid-template-columns:1fr}.esp32-board-large{text-align:center}.esp32-parts-rail{grid-template-columns:repeat(2,1fr)}.decision-card{grid-template-columns:28px 1fr 20px}}:root{--space-xs:6px;--space-sm:10px;--space-md:16px;--space-lg:24px;--space-xl:36px;--space-2xl:56px;--shadow-sm:0 4px 14px #1a323e0f;--shadow-lg:0 20px 50px #1a323e1c}@media (min-width:1060px){.app-shell{grid-template-columns:164px 1fr}.side-nav{align-items:stretch;padding:18px 12px}.nav-btn{justify-content:flex-start;gap:11px;width:100%;height:44px;padding:0 12px;font-size:16px;display:flex}.nav-glyph{text-align:center;width:24px}.nav-label{font-size:13px;font-weight:800}.nav-btn.active:before{left:-12px}.main{padding-inline:clamp(22px,3vw,46px)}.app-shell.nav-collapsed{grid-template-columns:72px 1fr}.app-shell.nav-collapsed .side-nav{align-items:center;padding-inline:10px}.app-shell.nav-collapsed .nav-btn{justify-content:center;gap:0;width:48px;padding-inline:0}.app-shell.nav-collapsed .nav-label{display:none}.app-shell.nav-collapsed .nav-btn.active:before{left:-10px}}@media (max-width:1059px){.nav-label{display:none}}.nav-collapse .nav-glyph{font-size:24px;line-height:1}.nav-collapse{color:#71828a}@media (max-width:1059px){.nav-collapse{display:none}}.text-action{color:var(--teal-dark);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:800}.journey-stage{color:var(--teal-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:13px;font-weight:900;display:block}.learning-home{max-width:1240px;margin:auto}.learning-home-head{justify-content:space-between;align-items:end;gap:40px;padding:12px 0 24px;display:flex}.learning-home-head h1{letter-spacing:-.035em;margin:5px 0 8px;font-size:clamp(28px,3vw,42px)}.learning-home-head p{color:var(--muted);margin:0;font-size:15px}.course-progress{flex:none;width:260px}.course-progress>span,.course-progress>small{color:var(--muted);font-size:13px;display:block}.course-progress>span{color:#3c5662;font-weight:800}.course-progress>div{background:#dfe9e8;border-radius:5.6px;height:8px;margin:8px 0;overflow:hidden}.course-progress i{background:var(--teal);border-radius:5.6px;height:100%;display:block}.continue-lesson{color:#edf8f5;min-height:340px;box-shadow:var(--shadow-lg);background:#173842;border-radius:12.6px;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px;padding:clamp(28px,4vw,54px);display:grid;overflow:hidden}.continue-lesson .eyebrow{color:#67e4c2}.continue-copy h2{letter-spacing:-.04em;margin:10px 0 15px;font-size:clamp(28px,4vw,48px);line-height:1.05}.continue-copy>p{color:#c8dadd;max-width:650px;font-size:14px;line-height:1.6}.next-meta{gap:18px;margin:20px 0;display:flex}.next-meta span{color:#b8cdd1;font-size:13px}.continue-cta{padding:14px 18px;font-size:14px}.continue-visual{height:230px;position:relative}.continue-visual>span{width:150px;height:110px;left:calc(var(--i)*17%);top:calc(var(--i)*14px);rotate:calc((var(--i) - 1.5)*5deg);background:#f8fbfa;border:1px solid #ffffff40;border-radius:11.2px;padding:14px;position:absolute;box-shadow:0 15px 30px #051b1f40}.continue-visual svg{width:100%;height:100%}.current-skill{color:#253b42;background:#f1c862;border-radius:7px;padding:12px 15px;position:absolute;bottom:0;right:0;box-shadow:0 10px 20px #051b1f33}.current-skill small,.current-skill b{display:block}.current-skill small{text-transform:uppercase;letter-spacing:.08em;font-size:13px}.current-skill b{margin-top:2px;font-size:13px}.path-layout{grid-template-columns:minmax(0,1fr) 330px;gap:clamp(28px,4vw,56px);margin-top:56px;display:grid}.section-heading{justify-content:space-between;align-items:end;padding-bottom:18px;display:flex}.section-heading h2,.mastery-panel h2{margin:5px 0;font-size:24px}.section-heading>span{color:var(--muted);font-size:13px}.path-chapter{grid-template-columns:46px 1fr;gap:14px;display:grid}.chapter-marker{flex-direction:column;align-items:center;display:flex}.chapter-marker b{color:#60747e;z-index:2;background:#fff;border:1px solid #cbd9dc;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;display:grid}.chapter-marker i{background:#dbe5e7;flex:1;width:1px}.path-chapter.active .chapter-marker b,.path-chapter.complete .chapter-marker b{background:var(--teal);color:#fff;border-color:var(--teal)}.chapter-content{padding-bottom:12px}.chapter-summary{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:16px;width:100%;padding:3px 0 17px;display:flex}.chapter-summary span>*{display:block}.chapter-summary small{color:#087864;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900}.chapter-summary strong{margin:3px 0;font-size:15px}.chapter-summary em{color:#6e8088;font-size:13px;font-style:normal}.chapter-summary>b{color:#087864}.active-lessons{gap:7px;margin:0 0 20px;display:grid}.path-lesson{text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e4e5;border-radius:6.3px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px;display:grid}.path-lesson>span:first-child{color:#087864;background:#edf4f2;border-radius:50%;place-items:center;width:27px;height:27px;font-size:13px;font-weight:900;display:grid}.path-lesson span:nth-child(2)>*{display:block}.path-lesson span b{font-size:13px}.path-lesson span small{color:#76878e;font-size:13px}.path-lesson>strong{color:#087864;font-size:13px}.path-lesson.current{background:#f3fbf8;border-color:#76cdb7;box-shadow:0 0 0 3px #009f8314}.path-lesson.complete>span:first-child{background:var(--teal);color:#fff}.chapter-preview{border-left:2px solid #dce7e5;margin-bottom:20px;padding-left:13px}.workshop-chapter{margin-top:3px}.mastery-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:9.8px;align-self:start;padding:22px;position:sticky;top:100px}.mastery-panel>p{color:var(--muted);font-size:13px;line-height:1.5}.mastery-row{border-top:1px solid #edf1f2;grid-template-columns:1fr auto;gap:6px 12px;padding:11px 0;display:grid}.mastery-row span>*{display:block}.mastery-row b{font-size:13px}.mastery-row small{color:#7a8a91;font-size:13px}.mastery-row>strong{color:#087864;font-size:13px}.mastery-row>i{background:#e5edee;border-radius:2.8px;grid-column:1/-1;height:4px;overflow:hidden}.mastery-row>i em{background:var(--teal);height:100%;display:block}.mastery-panel .ghost{width:100%;margin-top:14px}.full-syllabus{border-top:1px solid var(--line);margin-top:45px;padding-top:18px}.full-syllabus>summary{cursor:pointer;color:#087864;font-size:13px;font-weight:900}.full-syllabus>div{grid-template-columns:repeat(3,1fr);gap:26px;margin-top:20px;display:grid}.full-syllabus h3{font-size:13px}.full-syllabus p{border-bottom:1px solid #edf1f2;grid-template-columns:80px 1fr;gap:6px;padding:5px 0;font-size:13px;display:grid}.full-syllabus p span{color:#7d8e95;text-transform:uppercase;font-size:13px}.journey-layout{grid-template-columns:minmax(0,1fr) 330px;gap:clamp(28px,4vw,56px);margin-top:56px;display:grid}.journey-route{min-width:0}.journey-act{border-top:1px solid #d6e1e3;position:relative}.journey-act:last-of-type{border-bottom:1px solid #d6e1e3}.journey-act-summary{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;grid-template-columns:64px minmax(0,1fr) 22px;align-items:center;gap:15px;padding:22px 0;display:grid}.journey-act-summary:hover strong,.journey-act-summary:focus-visible strong{color:var(--teal-dark)}.journey-act-summary:focus-visible,.journey-chapter:focus-visible,.chapter-next-action:focus-visible,.chapter-lesson-list button:focus-visible,.workshop-route:focus-visible{outline-offset:3px;outline:3px solid #009f8338}.act-index{text-transform:uppercase;letter-spacing:.1em;color:#087864;font-size:13px;font-weight:900}.journey-act.complete .act-index{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.journey-act-summary small,.journey-act-summary strong,.journey-act-summary em{display:block}.journey-act-summary small{color:#087864;text-transform:uppercase;letter-spacing:.09em;font-size:13px;font-weight:900}.journey-act-summary strong{letter-spacing:-.025em;margin:4px 0;font-size:clamp(18px,2vw,23px)}.journey-act-summary em{color:#687b83;max-width:620px;font-size:13px;font-style:normal;line-height:1.45}.journey-act-summary>b{color:#087864;font-size:18px}.journey-act.current .journey-act-summary{border-left:3px solid var(--teal);margin-left:-17px;padding-left:14px}.journey-act-body{padding:4px 0 28px 64px}.journey-chapter-rail{scrollbar-width:thin;border-bottom:1px solid #dce6e7;gap:3px;padding-bottom:16px;display:flex;overflow:auto}.journey-chapter{text-align:left;color:#667981;cursor:pointer;background:0 0;border:0;border-left:1px solid #dce6e7;flex:1;min-width:118px;padding:5px 10px 6px}.journey-chapter:first-child{border-left:0}.journey-chapter span,.journey-chapter b,.journey-chapter small{display:block}.journey-chapter span{color:#087864;margin-bottom:9px;font-size:13px;font-weight:900}.journey-chapter b{color:#38515b;font-size:13px;line-height:1.25}.journey-chapter small{color:#7b8b91;margin-top:5px;font-size:13px}.journey-chapter.selected{box-shadow:inset 0 -2px 0 var(--teal);background:#edf8f5}.journey-chapter.selected b{color:#173842}.journey-chapter.current span{color:#d29333}.journey-chapter.locked{cursor:not-allowed;opacity:.55}.chapter-mission{grid-template-columns:minmax(0,.85fr) minmax(260px,1.15fr);align-items:start;gap:26px;padding:24px 0 4px;display:grid}.chapter-mission h3{letter-spacing:-.025em;margin:5px 0 7px;font-size:23px}.chapter-mission>div>p{color:#62767e;max-width:350px;margin:0;font-size:13px;line-height:1.55}.chapter-next>small{color:#087864;text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px;font-size:13px;font-weight:900;display:block}.chapter-next-action,.chapter-lesson-list button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cfe0df;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.chapter-next-action{border-left:3px solid var(--teal);box-shadow:0 8px 19px #183d4512}.chapter-next-action>span:first-child,.chapter-lesson-list button>span:first-child{color:#087864;background:#e8f3f1;border-radius:50%;place-items:center;width:27px;height:27px;font-size:13px;font-weight:900;display:grid}.chapter-next-action span:nth-child(2)>*,.chapter-lesson-list button span:nth-child(2)>*{display:block}.chapter-next-action span b,.chapter-lesson-list button b{font-size:13px}.chapter-next-action span em{color:#74868d;margin-top:3px;font-size:13px;font-style:normal}.chapter-next-action>strong,.chapter-lesson-list button>strong{color:#087864;font-size:13px}.chapter-lesson-list{margin-top:14px}.chapter-lesson-list summary{color:#087864;cursor:pointer;font-size:13px;font-weight:900}.chapter-lesson-list>div{gap:5px;margin-top:10px;display:grid}.chapter-lesson-list button{box-shadow:none;border-color:#dbe5e6;padding:8px}.chapter-lesson-list button.complete>span:first-child{background:var(--teal);color:#fff}.chapter-preview{border-left:2px solid #dce7e5;margin:0;padding-left:13px}.chapter-preview p{color:#536a74;grid-template-columns:85px 1fr;font-size:13px;display:grid}.chapter-preview p span{color:#809198;text-transform:uppercase;font-size:13px;font-weight:900}.chapter-preview>small{color:#7c8d94;font-size:13px}.workshop-route{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #c8d9d9;border-left:0;border-right:0;grid-template-columns:48px 1fr auto;align-items:center;gap:15px;margin-top:26px;padding:18px 0;display:grid}.workshop-route>span:first-child{color:#087864;border:1px solid #9ccfc3;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.workshop-route small,.workshop-route b,.workshop-route em{display:block}.workshop-route small{color:#087864;text-transform:uppercase;font-size:13px;font-weight:900}.workshop-route b{margin:3px 0;font-size:13px}.workshop-route em{color:#6e8088;font-size:13px;font-style:normal}.workshop-route>strong{color:#087864;font-size:13px}.guided-lesson{max-width:1320px;margin:auto}.guided-header{justify-content:space-between;align-items:end;padding:5px 0 14px;display:flex}.guided-header h1{letter-spacing:-.03em;margin:5px 0;font-size:clamp(25px,3vw,36px)}.guided-header p{color:var(--muted);font-size:13px}.lesson-rail{align-items:center;max-width:520px;margin-bottom:22px;display:flex}.lesson-rail span{color:#86969c;align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.lesson-rail span b{border:1px solid #c9d7da;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.lesson-rail span.active{color:#087864}.lesson-rail span.active b{background:var(--teal);border-color:var(--teal);color:#fff}.lesson-rail i{background:#d6e1e3;width:52px;height:1px;margin:0 7px}.guided-body{grid-template-columns:220px minmax(0,1fr) 230px;align-items:start;gap:22px;display:grid}.topic-rail{position:sticky;top:100px}.topic-rail>span{color:#087864;text-transform:uppercase;font-size:13px;font-weight:900}.topic-rail h2{margin:5px 0 14px;font-size:17px}.topic-rail button{text-align:left;color:#6a7c84;cursor:pointer;background:0 0;border:0;grid-template-columns:25px 1fr;align-items:center;gap:8px;width:100%;padding:7px 4px;font-size:13px;line-height:1.3;display:grid}.topic-rail button>span{color:#70838a;background:#edf3f3;border-radius:50%;place-items:center;width:23px;height:23px;font-size:13px;font-weight:900;display:grid}.topic-rail button.active{color:#173842;font-weight:900}.topic-rail button.active>span,.topic-rail button.done>span{background:var(--teal);color:#fff}.concept-stage{border:1px solid var(--line);min-height:560px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10.5px;flex-direction:column;padding:clamp(25px,4vw,50px);display:flex}.concept-stage>h2{letter-spacing:-.025em;max-width:780px;margin:8px 0 18px;font-size:clamp(24px,3vw,38px);line-height:1.18}.concept-lead,.concept-prose{color:#405966;max-width:760px;font-size:15px;line-height:1.8}.concept-prose strong{color:#173842}.concept-demonstration{background:#edf8f5;border-radius:8.4px;grid-template-columns:230px 1fr;align-items:center;gap:24px;margin-top:26px;padding:20px;display:grid}.concept-demonstration .loop-visual{margin:0}.concept-demonstration h3{margin:0 0 7px;font-size:15px}.concept-demonstration p{color:#4f6872;font-size:13px;line-height:1.6}.concept-demonstration small{color:#607780;font-size:13px;line-height:1.5}.apply-note{border-left:3px solid var(--teal);background:#f5faf8;margin-top:28px;padding:12px 16px}.apply-note b{font-size:13px}.apply-note p{color:#5c717a;margin:4px 0;font-size:13px}.model-answer{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.model-answer span{text-transform:uppercase;color:#087864;font-size:13px;font-weight:900}.model-answer p{color:#405965;font-size:14px;line-height:1.7}.transfer-prompt{background:#f5f8f9;border-radius:6.3px;margin-top:20px;padding:15px}.transfer-prompt b{font-size:13px}.transfer-prompt p{color:#667b84;font-size:13px}.guided-actions{justify-content:space-between;margin-top:auto;padding-top:28px;display:flex}.lesson-kit{position:sticky;top:100px}.lesson-kit h3{margin:6px 0 12px;font-size:15px}.lesson-kit>button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #dfe7e8;grid-template-columns:60px 1fr;align-items:center;gap:7px;width:100%;padding:8px 2px;display:grid}.lesson-kit>button>span:first-child{height:42px}.lesson-kit svg{width:60px;height:42px}.lesson-kit button b,.lesson-kit button small{display:block}.lesson-kit button b{font-size:13px}.lesson-kit button small{color:#7c8c93;font-size:13px}.lesson-kit>p{color:#809097;font-size:13px;line-height:1.5}.lesson-mode-tabs .tab:last-child:after{content:""}.field-guide{max-width:1280px;margin:auto}.field-guide-head{justify-content:space-between;align-items:end;gap:40px;margin:5px 0 18px;display:flex}.field-guide-head h1{letter-spacing:-.03em;margin:5px 0;font-size:32px}.field-guide-head p{color:var(--muted);font-size:13px}.library-search{width:330px;position:relative}.library-search label{margin-bottom:6px;font-size:13px;font-weight:900;display:block}.library-search input{background:#fff;border:1px solid #cbd8dc;border-radius:6.3px;width:100%;padding:11px 44px 11px 12px}.library-search input:focus{box-shadow:var(--focus);border-color:var(--teal);outline:0}.library-search span{color:#7b8c93;font-size:13px;position:absolute;bottom:13px;right:10px}.category-filter{border-bottom:1px solid var(--line);gap:6px;padding-bottom:14px;display:flex;overflow:auto}.category-filter button{white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d6e1e3;border-radius:4.9px;padding:7px 10px;font-size:13px;font-weight:800}.category-filter button.active{color:#fff;background:#173842;border-color:#173842}.field-guide-layout{grid-template-columns:310px 1fr;gap:30px;margin-top:22px;display:grid}.component-index{max-height:calc(100vh - 220px);padding-right:7px;overflow:auto}.component-index-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e5ebec;grid-template-columns:62px 1fr 12px;align-items:center;gap:9px;width:100%;padding:9px 5px;display:grid}.component-index-row:hover,.component-index-row.active{background:#eaf7f3;border-radius:5.6px}.component-index-row>span:first-child{height:45px}.component-index-row svg{width:62px;height:45px}.component-index-row b,.component-index-row small{display:block}.component-index-row b{font-size:13px}.component-index-row small{color:#7a8b92;font-size:13px}.component-index-row>strong{color:#087864}.no-components{text-align:center;padding:30px 10px}.no-components b{font-size:13px}.no-components p{color:#71828a;font-size:13px}.component-detail{min-width:0}.component-detail-hero{grid-template-columns:240px 1fr;align-items:center;gap:30px;padding:20px 0 30px;display:grid}.detail-visual{background:#edf6f4;border-radius:10.5px;height:180px;padding:18px}.detail-visual svg{width:100%;height:100%}.component-detail-hero h2{letter-spacing:-.04em;margin:7px 0;font-size:clamp(27px,4vw,44px)}.component-detail-hero p{color:#526a74;max-width:650px;font-size:14px;line-height:1.6}.risk-flags{flex-wrap:wrap;gap:6px;display:flex}.risk-flags span{color:#72551a;background:#f5e7c2;border-radius:4.2px;padding:5px 7px;font-size:13px;font-weight:900}.component-facts{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.component-facts section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px}.component-facts section>span,.common-uses>span{text-transform:uppercase;letter-spacing:.1em;color:#087864;font-size:13px;font-weight:900}.component-facts h3{margin:5px 0;font-size:13px}.component-facts p{color:#586f79;font-size:13px;line-height:1.55}.warning-fact{background:#fff9f1}.common-uses{padding:18px 0}.common-uses p{color:#536b75;font-size:13px}.related-lessons{border-top:1px solid var(--line);margin-top:16px;padding-top:20px}.related-lessons h3{margin:5px 0;font-size:18px}.related-lessons>div:last-child{grid-template-columns:1fr 1fr;gap:7px;display:grid}.related-lessons button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce5e6;border-radius:5.6px;grid-template-columns:26px 1fr 14px;align-items:center;gap:8px;padding:8px;display:grid}.related-lessons button>span:first-child{color:#087864;font-size:13px;font-weight:900}.related-lessons button span:nth-child(2)>*{display:block}.related-lessons button b{font-size:13px}.related-lessons button small{color:#7a8a91;font-size:13px}.related-lessons button>strong{color:#087864}@media (max-width:1100px){.path-layout{grid-template-columns:1fr}.mastery-panel{position:static}.guided-body{grid-template-columns:180px 1fr}.lesson-kit{display:none}.field-guide-layout{grid-template-columns:260px 1fr}.component-detail-hero{grid-template-columns:180px 1fr}}@media (max-width:820px){.side-nav{scroll-snap-type:none;justify-content:space-between;gap:0;padding:6px 4px;overflow:hidden}.nav-glyph{display:block}.nav-label{white-space:nowrap;text-align:center;max-width:100%;font-size:0;line-height:1;display:block;overflow:hidden}.nav-label:after{content:attr(data-short);font-size:13px;font-weight:800}.nav-btn{scroll-snap-align:none;flex-direction:column;flex:1 1 0;gap:2px;width:auto;min-width:44px;height:52px;font-size:16px;display:flex}.learning-home-head,.field-guide-head{display:block}.course-progress,.library-search{width:100%;margin-top:18px}.continue-lesson{grid-template-columns:1fr;min-height:0}.continue-visual{display:none}.path-layout{margin-top:34px}.full-syllabus>div{grid-template-columns:1fr}.guided-header{align-items:start}.guided-header .ghost{display:none}.lesson-rail{overflow:auto}.guided-body{display:block}.topic-rail{gap:4px;margin-bottom:12px;display:flex;position:static;overflow:auto}.topic-rail>span,.topic-rail h2{display:none}.topic-rail button{width:auto;min-width:46px;padding:4px;font-size:0;display:block}.topic-rail button>span{font-size:13px}.concept-stage{min-height:0;padding:23px}.concept-demonstration{grid-template-columns:1fr}.lesson-kit{display:none}.field-guide-layout{display:block}.component-index{max-height:310px;margin-bottom:22px}.component-detail-hero{grid-template-columns:110px 1fr;gap:14px}.detail-visual{height:110px;padding:9px}.component-facts,.related-lessons>div:last-child{grid-template-columns:1fr}.continue-copy h2{font-size:30px}}@media (max-width:350px){.side-nav{padding-inline:3px}.nav-btn{min-width:42px}.nav-label:after{font-size:13px}}@media (min-width:600px) and (max-width:820px){.side-nav{justify-content:space-around}.nav-btn{flex:1 1 0;width:auto;min-width:0}}.welcome-card{text-align:left;width:min(650px,100%);padding:clamp(25px,4vw,44px)}.welcome-mark{float:right;width:80px;height:70px;margin-left:20px}.welcome-card h1{letter-spacing:-.035em;max-width:520px;font-size:clamp(27px,4vw,40px);line-height:1.08}.welcome-card>p{max-width:540px;font-size:14px}.welcome-path{background:#edf8f5;border-radius:7px;align-items:center;margin:24px 0;padding:13px;display:flex}.welcome-path span{align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.welcome-path span b{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.welcome-path i{background:#b9d9d2;width:24px;height:1px;margin:0 8px}.welcome-card .field{margin:20px 0 12px}.welcome-card>.primary{width:100%;padding:14px;font-size:14px}.welcome-card>small{text-align:center;color:#71848c;margin-top:9px;font-size:13px;display:block}@media (max-width:600px){.welcome-mark{display:none}.welcome-path{gap:8px;display:grid}.welcome-path i{display:none}}.app-shell:has(.guided-lesson) .topbar .objective{display:none}.app-shell:has(.guided-lesson) .topbar .crumb{flex:1}.sensor-workspace{grid-template-columns:330px minmax(0,1fr)}.sensor-intro{color:#eef8f5;background:#173842;border:1px solid #284c56;grid-template-columns:1fr .8fr;align-items:center;gap:48px;min-height:670px;padding:clamp(32px,5vw,64px);display:grid}.sensor-intro h1{letter-spacing:-.04em;margin:9px 0 16px;font-size:clamp(31px,4vw,50px);line-height:1.06}.sensor-intro>div>p{color:#c7dadd;font-size:15px;line-height:1.65}.sensor-intro .eyebrow{color:#67e4c2}.evidence-flow{gap:10px;margin-top:30px;display:grid}.evidence-flow span{align-items:center;gap:9px;font-size:13px;font-weight:900;display:flex}.evidence-flow b{color:#173842;background:#67e4c2;border-radius:50%;place-items:center;width:25px;height:25px;font-size:13px;display:grid}.intro-sensor{color:#173842;background:#f7fbfa;border:1px solid #8ebdb4;padding:25px}.intro-sensor>svg{width:100%;height:210px}.intro-sensor>div{border-top:1px solid #d5e3e1;padding-top:15px}.intro-sensor span,.intro-sensor b{display:block}.intro-sensor span{text-transform:uppercase;letter-spacing:.1em;color:#087864;font-size:13px;font-weight:900}.intro-sensor b{margin:4px 0;font-size:18px}.intro-sensor p{color:#5e737b;font-size:13px;line-height:1.6}.sensor-evidence{margin:8px 0 0;padding:0;list-style:none}.sensor-evidence li{border-bottom:1px solid var(--line);color:#647780;grid-template-columns:22px 1fr;align-items:center;gap:7px;padding:8px 0;font-size:13px;display:grid}.sensor-evidence li span{border:1px solid #cbd8da;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.sensor-evidence li.done{color:#173842;font-weight:900}.sensor-evidence li.done span{background:var(--teal);border-color:var(--teal);color:#fff}.evidence-title{margin-top:16px;display:block}.sensor-lab{border:1px solid var(--line);background:#f4f7f8;min-width:0}.sensor-lab>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;gap:20px;padding:18px 20px;display:flex}.sensor-lab>header h1{margin:5px 0;font-size:24px}.sensor-lab>header p{color:#647881;max-width:690px;margin:0;font-size:13px;line-height:1.5}.sensor-progress{border-left:3px solid #d39d45;min-width:76px;padding:6px 11px}.sensor-progress.ready{border-color:var(--teal)}.sensor-progress b,.sensor-progress span{display:block}.sensor-progress b{font-size:20px}.sensor-progress span{text-transform:uppercase;color:#72858c;font-size:13px}.sensor-lab-grid{grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:14px;padding:14px;display:grid}.sensor-bench{grid-template-columns:1fr 1fr;align-content:start;gap:12px;display:grid}.sensor-controls,.sensor-live,.sensor-chart,.sample-strip{background:#fff;border:1px solid #d6e2e3}.sensor-controls{padding:12px}.sensor-controls>header,.sensor-chart>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:9px;padding-bottom:8px;display:flex}.sensor-controls>header span,.sensor-chart>header span{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900}.sensor-controls>header small,.sensor-chart>header b{color:#76888f;font-size:13px}.sensor-range{border-bottom:1px solid #edf1f2;padding:9px 0;display:block}.sensor-range>span{justify-content:space-between;align-items:center;display:flex}.sensor-range b{font-size:13px}.sensor-range strong{color:#087864;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.sensor-range input{width:100%;accent-color:var(--teal);margin:9px 0 0}.sensor-toggle{text-align:left;cursor:pointer;background:#fff;border:1px solid #d3dfe1;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;width:100%;padding:10px;display:grid}.sensor-toggle>span{background:#cbd8d8;border-radius:7px;width:30px;height:16px;position:relative}.sensor-toggle>span:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #789}.sensor-toggle.active>span{background:var(--teal)}.sensor-toggle.active>span:after{left:16px}.sensor-toggle b,.sensor-toggle small{font-size:13px}.sensor-toggle small{color:#6e8189}.sensor-select{gap:6px;display:grid}.sensor-select span{font-size:13px;font-weight:900}.sensor-select select{background:#fff;border:1px solid #cad8db;padding:9px;font-size:13px}.sensor-live{grid-template-columns:90px 1fr;align-items:center;gap:12px;padding:13px;display:grid;position:relative}.sensor-part{background:#edf7f5;height:90px;padding:7px}.sensor-part svg{width:100%;height:100%}.sensor-live>div:nth-child(2)>span,.sensor-live>div:nth-child(2)>b,.sensor-live>div:nth-child(2)>strong{display:block}.sensor-live>div:nth-child(2)>span{text-transform:uppercase;color:#71838a;font-size:13px}.sensor-live>div:nth-child(2)>b{margin:4px 0;font:22px ui-monospace,SFMono-Regular,Menlo,monospace}.sensor-live>div:nth-child(2)>b small{font-size:13px}.sensor-live>div:nth-child(2)>strong{color:#087864;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.sensor-live p{color:#60757d;font-size:13px}.sensor-live>.primary{grid-column:1/-1;width:100%}.sensor-chart{grid-column:1/-1;padding:11px}.sensor-chart svg{width:100%;height:170px;display:block}.sensor-chart text{fill:#6d7f86;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.sample-strip{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.sample-strip p{border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;padding:9px}.sample-strip p>*{display:block}.sample-strip p b{color:#087864;font-size:13px}.sample-strip p span{margin:3px 0;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.sample-strip p small{color:#6d7f87;font-size:13px}.sample-strip .empty-note{grid-column:1/-1}.sensor-code{color:#d8e8e6;background:#10262d;border:1px solid #304c54;align-self:start;overflow:hidden}.sensor-code>header{background:#19343c;justify-content:space-between;padding:10px;font-size:13px;display:flex}.sensor-code>div{border-top:1px solid #ffffff0a;grid-template-columns:28px 1fr;align-items:center;min-height:34px;display:grid}.sensor-code>div span{color:#6f8a90;background:#ffffff08;place-items:center;height:100%;font-size:13px;display:grid}.sensor-code code{white-space:pre-wrap;overflow-wrap:anywhere;color:#a9e8d8;padding:7px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.sensor-analysis{box-shadow:none;border-width:1px 0 0;border-radius:0;margin:0}.sensor-analysis button:disabled{opacity:.45}@media (max-width:1120px){.sensor-workspace{grid-template-columns:285px minmax(0,1fr)}.sensor-lab-grid{grid-template-columns:1fr}.sensor-code{order:-1}.sensor-intro{grid-template-columns:1fr}.intro-sensor{max-width:620px}}@media (max-width:820px){.sensor-workspace{display:block}.sensor-intro{gap:28px;min-height:0;padding:24px}.sensor-intro h1{font-size:30px}.intro-sensor>svg{height:150px}.sensor-lab>header{display:block}.sensor-progress{margin-top:12px}.sensor-lab-grid{padding:8px}.sensor-bench{grid-template-columns:1fr}.sensor-chart,.sample-strip{grid-column:auto}.sample-strip{grid-template-columns:1fr 1fr}.sensor-live{grid-template-columns:72px 1fr}.sensor-chart svg{height:140px}}body.auth-locked{background:#e8efef;margin:0;overflow:auto}.auth-gate{min-height:100dvh;color:var(--ink);background:#f4f7f8;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);display:grid}.auth-story{color:#edf7f5;isolation:isolate;background:#18323d;flex-direction:column;min-height:100dvh;padding:clamp(32px,5vw,74px);display:flex;position:relative;overflow:hidden}.auth-story:before{content:"";z-index:-2;background-image:linear-gradient(#8cbcb313 1px,#0000 1px),linear-gradient(90deg,#8cbcb313 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#000 20%,#0000 88%);mask-image:linear-gradient(120deg,#000 20%,#0000 88%)}.auth-story:after{content:"";z-index:-1;border:1px solid #69dcbe33;border-radius:50%;width:44vw;max-width:680px;height:44vw;max-height:680px;position:absolute;bottom:-27vw;left:-14vw;box-shadow:0 0 0 52px #69dcbe09,0 0 0 104px #69dcbe06}.auth-brand{letter-spacing:.18em;align-items:center;gap:12px;font-size:13px;font-weight:900;display:flex}.auth-brand .brand-logo{filter:none;width:46px;height:46px}.auth-brand .logo-frame{fill:#f0f8f6;stroke:#f0f8f6}.auth-brand .auth-logo-trace{fill:none;stroke:url(#authLogoTrace);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.auth-brand .logo-node{fill:#18323d;stroke:#64d9b9}.auth-brand .logo-core{fill:#18323d}.auth-brand span{color:#64d9b9}.auth-story-copy{max-width:680px;margin:auto 0 34px}.auth-story-copy .eyebrow{color:#64d9b9}.auth-story-copy h1{letter-spacing:-.065em;margin:13px 0 20px;font-size:clamp(48px,6.4vw,92px);font-weight:850;line-height:.91}.auth-story-copy p{color:#c5d8da;max-width:540px;margin:0;font-size:clamp(14px,1.4vw,18px);line-height:1.65}.auth-path{color:#d9e8e8;text-transform:uppercase;letter-spacing:.075em;align-items:center;gap:14px;margin-bottom:30px;font-size:13px;font-weight:800;display:flex}.auth-path span{white-space:nowrap;align-items:center;gap:8px;display:flex}.auth-path b{color:#64d9b9;border:1px solid #52737a;border-radius:50%;place-items:center;width:27px;height:27px;font-size:13px;display:grid}.auth-path i{background:#52737a;width:clamp(18px,3vw,48px);height:1px}.auth-circuit{color:#64d9b9;width:min(100%,650px);height:auto;overflow:visible}.auth-circuit path{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.auth-circuit .auth-trace{stroke:#6e9698;stroke-width:3px}.auth-circuit .auth-battery,.auth-circuit .auth-led{stroke:#edf7f5}.auth-circuit .auth-ray{stroke:#eaa526;stroke-width:3px}.auth-circuit circle{fill:#64d9b9;stroke:#18323d;stroke-width:3px}.auth-circuit text{fill:#9db9ba;letter-spacing:.12em;font-size:13px;font-weight:900}.auth-entry{align-self:center;width:min(100%,510px);margin:auto;padding:clamp(30px,6vw,76px)}.auth-entry-head{margin-bottom:34px}.auth-step{color:#087864;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.auth-step:before{content:"";background:var(--teal);width:28px;height:2px}.auth-entry h2{letter-spacing:-.045em;margin:13px 0 9px;font-size:clamp(30px,4vw,46px);line-height:1}.auth-entry-head p{max-width:420px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.auth-form-region{min-height:245px}.auth-entry .sync-form{gap:15px}.auth-entry .field>span{letter-spacing:.02em;font-size:13px}.auth-entry .sync-form input{background:#fbfdfd;border-color:#b9cacc;min-height:49px;font-size:15px}.auth-entry .sync-form input:focus{border-color:var(--teal);box-shadow:0 0 0 4px #009f831f}.auth-entry .sync-form .primary{justify-content:center;justify-self:stretch;width:100%;min-height:49px}.auth-entry .sync-form input[autocomplete=one-time-code]{text-align:center;width:100%;max-width:none;font-size:24px}.auth-entry .sync-actions{align-items:stretch}.auth-entry .sync-actions .ghost{flex:1}.auth-entry .text-action{color:#087864;font-weight:800}.auth-entry .sync-error{margin-top:14px}.auth-entry .sync-privacy{color:#71838a;margin-top:13px}.auth-entry footer{color:#6d8088;text-transform:uppercase;letter-spacing:.07em;border-top:1px solid #d7e1e2;flex-wrap:wrap;gap:18px;margin-top:28px;padding-top:18px;font-size:13px;font-weight:800;display:flex}.auth-entry footer span{align-items:center;gap:6px;display:flex}.auth-entry footer span:before{content:"";background:var(--teal);border-radius:50%;width:5px;height:5px}.auth-loading{min-height:180px;color:var(--muted);place-content:center;justify-items:center;font-size:13px;display:grid}.auth-loading span{border:3px solid #d2dfdf;border-top-color:var(--teal);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite authSpin}.auth-loading p{margin-top:13px}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-gate.high-contrast .auth-story{background:#102830}.auth-gate.high-contrast .auth-entry{color:#071820}.auth-gate.high-contrast .auth-entry .sync-form input{background:#fff;border-color:#53686e}@media (max-width:880px){.auth-gate{grid-template-columns:1fr}.auth-story{min-height:auto;padding:28px 24px 34px}.auth-story-copy{margin:56px 0 22px}.auth-story-copy h1{font-size:clamp(42px,13vw,68px)}.auth-story-copy p{font-size:14px}.auth-path,.auth-circuit{display:none}.auth-entry{width:100%;padding:42px 24px 54px}.auth-form-region{min-height:220px}}@media (max-width:420px){.auth-story-copy{margin-top:38px}.auth-story-copy h1{font-size:42px}.auth-entry h2{font-size:32px}.auth-entry footer{gap:10px}.auth-entry footer span:last-child{display:none}}@media (prefers-reduced-motion:reduce){.auth-loading span{animation:none}.auth-story:after{box-shadow:none}}.code-workspace{grid-template-columns:330px minmax(0,1fr)}.code-intro{color:#eef8f5;background:#173842;border:1px solid #284c56;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);align-items:center;gap:46px;min-height:670px;padding:clamp(30px,5vw,62px);display:grid}.code-intro h1{letter-spacing:-.04em;margin:9px 0 16px;font-size:clamp(31px,4vw,50px);line-height:1.06}.code-intro>div>p{color:#c7dadd;max-width:590px;font-size:15px;line-height:1.65}.code-intro .eyebrow{color:#67e4c2}.firmware-flow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:34px;display:flex}.firmware-flow span{align-items:center;gap:7px;font-size:13px;font-weight:900;display:flex}.firmware-flow span b{color:#173842;background:#67e4c2;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.firmware-flow i{color:#719299;font-style:normal}.intro-code,.code-editor{color:#d9e8e7;background:#10262d;border:1px solid #35515a;overflow:hidden;box-shadow:0 22px 45px #03111645}.intro-code{padding:18px 0}.code-lab{border:1px solid var(--line);background:#f5f8f8;min-width:0}.code-lab>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:start;gap:20px;padding:18px 20px;display:flex}.code-lab>header h1{margin:5px 0;font-size:24px}.code-lab>header p{color:#657982;max-width:670px;margin:0;font-size:13px;line-height:1.5}.code-run-status{border-left:3px solid #d59a45;min-width:115px;padding:7px 10px}.code-run-status.complete{border-color:var(--teal)}.code-run-status b,.code-run-status span{display:block}.code-run-status b{font-size:13px}.code-run-status span{color:#71848c;margin-top:3px;font-size:13px}.code-lab-grid{grid-template-columns:minmax(380px,1.05fr) minmax(300px,.95fr);gap:14px;padding:14px;display:grid}.code-editor{box-shadow:none;align-self:start}.code-editor>header,.code-editor>footer{background:#19343c;border-bottom:1px solid #31505a;justify-content:space-between;align-items:center;padding:9px 12px;font-size:13px;display:flex}.code-editor>header button{color:#fff;cursor:pointer;background:#0a8d75;border:1px solid #62d3b5;padding:7px 9px;font-size:13px;font-weight:900}.code-editor>header button:disabled{opacity:.4;cursor:not-allowed}.code-editor>footer{color:#9eb4b8;border:0;border-top:1px solid #31505a;justify-content:flex-start;gap:7px}.status-dot{background:#d59a45;border-radius:50%;width:7px;height:7px}.status-dot.ready{background:#67e4c2}.code-line{border-left:3px solid #0000;grid-template-columns:31px 1fr 18px;align-items:center;min-height:29px;padding-right:8px;display:grid}.code-line>span{color:#69858b;background:#ffffff09;place-items:center;height:100%;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.code-line code{white-space:pre;color:#d9e8e7;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.code-line i{color:#67e4c2;font-size:13px;font-style:normal}.code-line.active{background:#22434b;border-left-color:#f1c862}.code-line.executed code{color:#8fd9c7}.code-line code::selection{background:#317b6b}.code-coach .code-instruction{line-height:1.5;font-size:13px!important}.code-decisions{margin-top:15px}.code-decision{border-top:1px solid var(--line);grid-template-columns:24px 1fr;gap:8px;padding:12px 0;display:grid}.code-decision>span{color:#087864;background:#edf3f3;border-radius:50%;place-items:center;width:21px;height:21px;font-size:13px;font-weight:900;display:grid}.code-decision.correct>span{background:var(--teal);color:#fff}.code-decision.incorrect>span{color:#fff;background:#c86444}.code-decision b{font-size:13px;line-height:1.4;display:block}.code-decision div>div{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.code-decision button{cursor:pointer;background:#fff;border:1px solid #ccd9dc;padding:5px 7px}.code-decision button code{font-size:13px}.code-decision button:hover,.code-decision button.selected{border-color:var(--teal);background:#eaf7f3}.code-decision.incorrect button.selected{background:#fff2ed;border-color:#c86444}.code-decision small{color:#a34d32;margin-top:5px;font-size:13px;line-height:1.4;display:block}.code-hardware{background:#fff;border:1px solid #d6e2e3;min-width:0}.code-hardware>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 12px;font-size:13px;display:flex}.hardware-stage{background:radial-gradient(circle at 45% 45%,#edf8f5,#f8fbfb 65%);min-height:264px;padding:15px;position:relative}.mini-esp32{width:115px;height:145px;position:absolute;top:19px;left:14px}.mini-esp32 svg{filter:drop-shadow(0 10px 10px #14394026);width:100%;height:100%}.live-led{text-align:center;position:absolute;top:30px;right:20px}.live-led>span{background:#9eaaa6;border:7px solid #d7dfdc;border-radius:50% 50% 44% 44%;width:56px;height:56px;margin:auto;display:block;box-shadow:inset 0 -8px 13px #14282833}.live-led.on>span{background:rgba(255,76,49,var(--brightness));box-shadow:0 0 calc(8px + 28px*var(--brightness))rgba(255,77,43,calc(var(--brightness)*.65)),inset 0 -7px 12px #7814052e}.live-led b,.live-led small{display:block}.live-led b{margin-top:7px;font-size:13px}.live-led small{color:#6f8289;margin-top:2px;font-size:13px}.live-button{text-align:left;cursor:pointer;background:#fff;border:1px solid #bed2d1;padding:10px 12px;position:absolute;bottom:20px;right:17px}.live-button>span{background:#dbe4e3;border:3px solid #71848a;width:38px;height:16px;margin-bottom:6px;display:block}.live-button.pressed>span{background:#67e4c2;transform:translateY(3px)}.live-button b,.live-button small{display:block}.live-button b{font-size:13px}.live-button small{color:#71838a;margin-top:2px;font-size:13px}.live-pot{background:#fff;border:1px solid #cedcdd;padding:10px;position:absolute;bottom:18px;left:15px;right:15px}.live-pot b,.live-pot span{font-size:13px;display:block}.live-pot input{width:100%;accent-color:var(--teal);margin:8px 0}.live-pot span{color:#62777f}.signal-readout{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.signal-readout>span{border-right:1px solid var(--line);padding:10px}.signal-readout>span:last-child{border:0}.signal-readout small,.signal-readout b{display:block}.signal-readout small{color:#76878e;font-size:13px}.signal-readout b{margin-top:3px;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.serial-monitor{color:#d8e8e6;background:#10262d;border:1px solid #29464f;margin:0 12px 12px}.serial-monitor header{border-bottom:1px solid #29464f;justify-content:space-between;padding:7px 9px;font-size:13px;display:flex}.serial-monitor pre{white-space:pre-wrap;min-height:75px;margin:0;padding:9px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.code-success{box-shadow:none;border-width:1px 0 0;border-radius:0;margin:0}@media (max-width:1120px){.code-workspace{grid-template-columns:285px minmax(0,1fr)}.code-lab-grid,.code-intro{grid-template-columns:1fr}.intro-code{width:100%;max-width:700px}}@media (max-width:820px){.code-workspace{display:block}.code-intro{gap:28px;min-height:0;padding:24px}.code-intro h1{font-size:30px}.firmware-flow i{display:none}.code-lab>header{display:block}.code-run-status{margin-top:12px}.code-lab-grid{padding:8px}.code-line code{font-size:13px}.hardware-stage{min-height:250px}.signal-readout{grid-template-columns:1fr 1fr}.signal-readout>span:last-child{border-top:1px solid var(--line);grid-column:1/-1}}:root{--radius:2.1px;--shadow-sm:0 1px 2px #14223112,0 7px 18px #1a323e0e;--shadow:0 1px 3px #14223114,0 12px 28px #1a323e13;--shadow-lg:0 2px 5px #0a1c231f,0 22px 52px #0a1c2329}.lesson-panel,.canvas-card,.feedback,.map-card,.library-card,.sandbox-card,.modal-card,.breadboard-lab,.esp32-overview,.esp32-lab,.soldering-roadmap,.solder-path,.concept-stage,.mastery-panel{box-shadow:var(--shadow);border-radius:2.1px}.continue-lesson{box-shadow:var(--shadow-lg);border-radius:2.8px}.continue-visual>span{border-radius:2.1px;box-shadow:0 2px 4px #051b1f26,0 16px 32px #051b1f3d}.current-skill{border-radius:1.4px;box-shadow:0 2px 4px #051b1f24,0 12px 24px #051b1f33}.concept-stage{border-color:#d7e1e4;box-shadow:0 1px 2px #1422310f,0 14px 32px #1a323e12}.concept-demonstration{background:#edf8f5;border-left:3px solid #9dd9ca;border-radius:0}.apply-note{background:0 0}.transfer-prompt{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding-left:0;padding-right:0}.mastery-panel{border-color:#d6e1e3;box-shadow:0 1px 2px #1422310f,0 10px 24px #1a323e12}.detail-visual{border-radius:1.4px;box-shadow:inset 0 0 0 1px #1738420b}.welcome-path,.lesson-components,.component-lesson-card,.glossary details,.build-objective,.lesson-instrument,.bb-schematic,.bb-board,.pin-callout,.esp32-concept,.esp32-parts-rail article,.decision-card,.solder-feedback,.component-index-row:hover,.component-index-row.active,.risk-flags span,.fault-tags span{border-radius:1.4px}.placed-part{border-radius:2.1px;box-shadow:0 2px 4px #1a323e1f,0 9px 18px #1a323e1f}.tray-item{border-radius:5.6px;box-shadow:0 1px 2px #14223109}.library-visual{border-radius:1.4px}.toast{box-shadow:var(--shadow-lg);border-radius:2.1px}.settings-view{max-width:980px;margin:auto}.settings-grid{grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);align-items:start;gap:16px;display:grid}.settings-grid>.sandbox-card{margin:0;padding:24px}.settings-grid h2{margin:5px 0 8px;font-size:18px}.settings-grid>article>p,.sync-region p{color:var(--muted);line-height:1.55}.cloud-save-panel{border-top:3px solid var(--teal);grid-row:span 2}.sync-region{border-top:1px solid var(--line);min-height:150px;margin-top:18px;padding-top:18px}.sync-form{gap:12px;display:grid}.sync-form .field{margin:0}.sync-form .primary{justify-self:start}.sync-form input[autocomplete=one-time-code]{letter-spacing:.22em;font-variant-numeric:tabular-nums;max-width:12ch;font-size:22px;font-weight:800}.sync-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.sync-session{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.sync-session h3,.sync-inbox h3,.sync-attention h3{margin:7px 0 4px;font-size:14px}.sync-state{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.sync-state:before{content:"";background:#94a3aa;border:1px solid;border-radius:50%;width:8px;height:8px}.sync-state.saved:before{background:var(--teal)}.sync-state.saving:before{background:var(--blue)}.sync-state.offline:before,.sync-state.attention:before{background:var(--amber)}.sync-note,.sync-privacy{font-size:13px}.sync-success,.sync-error,.sync-attention{border-left:3px solid var(--teal);background:#edf8f5;padding:11px 13px}.sync-error,.sync-attention{border-left-color:var(--amber);background:#fff8e9}.sync-success{color:var(--ink)!important}.sync-error{color:#714d0c!important}.danger-action{color:var(--danger);border-color:color-mix(in srgb,var(--danger)45%,var(--line))}.reset-panel{grid-column:1}.text-action[data-auth-action]{cursor:pointer;background:0 0;border:0;padding:8px}.sync-region button:focus-visible,.sync-region input:focus-visible{outline:3px solid color-mix(in srgb,var(--blue)55%,transparent);outline-offset:2px}@media (max-width:820px){.settings-grid{grid-template-columns:1fr}.cloud-save-panel{grid-row:auto}.reset-panel{grid-column:auto}.sync-session{display:block}.sync-form .primary,.sync-actions>*{width:100%}}@media (prefers-reduced-motion:reduce){.sync-state:before{animation:none!important}}.lesson-panel h2{font-size:18px}.map-card h2,.library-card h2{font-size:14px}.instrument-copy h2{font-size:13px}.soldering-roadmap h2{font-size:16px}.solder-path-head h2{font-size:14px}.continue-copy h2{font-size:clamp(22px,3.2vw,38px)}.section-heading h2,.mastery-panel h2{font-size:19px}.topic-rail h2{font-size:14px}.concept-stage>h2{font-size:clamp(19px,2.4vw,30px)}.component-detail-hero h2{font-size:clamp(22px,3.2vw,35px)}@media (max-width:820px){.continue-copy h2{font-size:24px}}.bb-tools>button,.bb-brand,.bb-hole-row>span,.bb-center-gap span,.bb-legend,.bb-status,.lesson-components>p,.component-lesson-card summary small,.component-lesson-card>div,.component-lesson-card p,.component-category,.used-in strong,.used-in button,.eyebrow,.xp-row,.part-name,.part-detail,.tray-item>span:last-child,.reading small,.lab-marker .marker-value,.instrument-readout span,.instrument-control span,.instrument-tip,.detective-score span,.safety-chip,.test-grid b,.test-grid small,.evidence-board h3 span,.identify-row label>span,.terminal:after,.learn-detail summary>span,.lesson-row>span:first-child,.lesson-row small,.syllabus-preview summary,.syllabus-preview p,.syllabus-preview p>span,.meter-head,.power-indicator,.meter-lcd small,.probe-dock,.meter-foot span,.meter-foot button,.solder-path-head p,.solder-header p,.solder-path-item>span:first-child,.solder-path-item b,.solder-path-item small,.solder-score span,.solder-guide h3,.safety-check b,.stage-check b,.safety-check small,.stage-check small,.concept-list p,.bench-toolbar b,.bench-toolbar small,.bench-toolbar label,.board-label,.solder-pad>b,.solder-pad>small,.bench-lock span,.selected-readout span,.selected-readout small,.process-controls small,.process-controls button b,.solder-feedback h3,.solder-feedback p,.solder-feedback small,.fault-tags span,.solder-footer b,.solder-footer span,.pin-callout,.pin-rule-strip b,.esp32-concept h3,.esp32-focus-part b,.esp32-focus-part small,.esp32-focus-part p,.esp32-checklist li>span,.esp32-checklist p,.esp32-lab>header p,.esp32-progress span,.esp32-parts-rail b,.esp32-parts-rail small,.decision-num,.decision-card h3,.decision-options button,.text-action,.journey-stage,.course-progress>span,.course-progress>small,.next-meta span,.current-skill small,.current-skill b,.section-heading>span,.chapter-marker b,.chapter-summary small,.chapter-summary em,.path-lesson>span:first-child,.path-lesson span b,.path-lesson span small,.path-lesson>strong,.chapter-preview p,.chapter-preview p span,.chapter-preview>small,.mastery-panel>p,.mastery-row b,.mastery-row small,.mastery-row>strong,.full-syllabus>summary,.full-syllabus h3,.full-syllabus p,.full-syllabus p span,.guided-header p,.lesson-rail span,.topic-rail>span,.topic-rail button,.topic-rail button>span,.concept-demonstration small,.apply-note b,.apply-note p,.model-answer span,.transfer-prompt b,.transfer-prompt p,.lesson-kit button b,.lesson-kit button small,.lesson-kit>p,.library-search label,.library-search span,.category-filter button,.component-index-row b,.component-index-row small,.no-components p,.risk-flags span,.component-facts section>span,.common-uses>span,.component-facts p,.common-uses p,.related-lessons button>span:first-child,.related-lessons button b,.related-lessons button small,.welcome-path span,.welcome-path span b,.welcome-card>small{font-size:13px}.placed-part,.terminal,.probe-dock,.solder-pad{touch-action:none}.placed-part{cursor:grab;-webkit-user-select:none;user-select:none}.placed-part.dragging{cursor:grabbing;z-index:14;box-shadow:var(--focus),0 14px 26px #1a323e33}.icon-btn,.primary,.ghost,.guided-header .text-action,.topic-rail button,.lesson-kit>button{min-height:44px}.icon-btn{min-width:44px}@media (pointer:coarse){.icon-btn,.primary,.ghost,.tab,.topic-rail button,.lesson-kit>button,.bb-tools>button,.meter-mode,.meter-foot button,.code-editor>header button,.code-decision button,.used-in button,.live-button,.text-action[data-auth-action]{min-height:44px}.terminal{min-width:22px;min-height:22px}.terminal:before{content:"";position:absolute;inset:-11px}}.formula-variable{color:var(--blue,#2d7ff9);text-underline-offset:.18em;cursor:help;font-weight:750;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px;display:inline-block;position:relative}.formula-variable:focus{outline:2px solid var(--blue,#2d7ff9);outline-offset:3px;border-radius:2px}.formula-variable:after{z-index:80;border:1px solid color-mix(in srgb,var(--blue,#2d7ff9)32%,var(--border,#cad4db));background:var(--surface,#fff);width:min(19rem,72vw);color:var(--ink,#142231);content:attr(data-definition);opacity:0;pointer-events:none;padding:.65rem .75rem;font-size:13px;font-style:normal;font-weight:550;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + .65rem);left:50%;transform:translate(-50%,.25rem);box-shadow:0 8px 24px #14223124}.formula-variable:hover:after,.formula-variable:focus:after{opacity:1;transform:translate(-50%)}@media (max-width:820px){.formula-variable:after{inset:auto 1rem calc(5.5rem + env(safe-area-inset-bottom));width:auto;position:fixed;transform:translateY(.25rem)}.formula-variable:hover:after,.formula-variable:focus:after{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.formula-variable:after{transition:none}}.lesson-complete-tray{z-index:80;width:min(430px,100vw - 48px);box-shadow:var(--shadow-lg);background:#fbfdfc;border:1px solid #b9d8d1;border-radius:2.1px;padding:22px 22px 20px;position:fixed;bottom:24px;right:24px}.lesson-complete-tray:before{content:"";background:var(--teal);width:76px;height:3px;position:absolute;top:-1px;left:-1px}.lesson-complete-tray h2{letter-spacing:-.025em;margin:7px 42px 8px 0;font-size:23px}.lesson-complete-tray p{color:#526975;margin:0;font-size:13px;line-height:1.55}.lesson-complete-tray p strong{color:var(--ink)}.completion-close{color:#60747d;cursor:pointer;background:0 0;border:0;width:44px;height:44px;font-size:24px;position:absolute;top:9px;right:10px}.completion-close:hover,.completion-close:focus-visible{color:var(--teal-dark);box-shadow:var(--focus);outline:0}.completion-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.completion-actions .primary{flex:1}.completion-actions .ghost{flex:none}@media (max-width:820px){.lesson-complete-tray{width:auto;padding:18px;bottom:76px;left:12px;right:12px}.lesson-complete-tray h2{font-size:20px}.completion-actions>*{width:100%;flex-basis:auto!important}}.power-workspace{background:#edf3f3;grid-template-columns:330px minmax(0,1fr)}.power-workspace .lesson-panel{height:calc(100vh - 76px)}.power-intro{background:#f7faf9;grid-template-columns:minmax(280px,.85fr) minmax(380px,1.15fr);align-items:center;gap:clamp(28px,4vw,58px);min-height:calc(100vh - 76px);padding:clamp(30px,4vw,60px);display:grid}.power-intro h1{letter-spacing:-.05em;max-width:760px;margin:13px 0 18px;font-size:clamp(34px,4.5vw,66px);line-height:1}.power-intro>div>p{color:#536976;max-width:650px;font-size:15px;line-height:1.65}.intro-power-chain{color:#fff;background:#173b43;border-radius:12.6px;grid-template-columns:1fr 34px 1fr 34px 1fr;align-items:center;padding:26px;display:grid;box-shadow:0 18px 44px #173b4329}.intro-power-chain>span{text-align:center;min-width:0}.intro-power-chain svg{width:100%;height:100px}.intro-power-chain b,.intro-power-chain small{display:block}.intro-power-chain b{margin-top:8px;font-size:13px}.intro-power-chain small{color:#9ebfc3;font-size:13px}.intro-power-chain>i{text-align:center;color:#54d9b9;font-size:24px;font-style:normal}.power-coach .learn-content{padding-bottom:30px}.power-decisions{margin:12px 0 26px}.power-lab{min-width:0;padding:24px}.power-lab>header{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.power-lab>header h1{letter-spacing:-.035em;margin:5px 0 4px;font-size:27px}.power-lab>header p{color:#58707b;margin:0;font-size:13px;line-height:1.45}.power-progress{border-left:3px solid #bdc9cc;min-width:78px;padding-left:12px}.power-progress.ready{border-color:#00a889}.power-progress b,.power-progress span{display:block}.power-progress b{font-size:23px}.power-progress span{letter-spacing:.1em;text-transform:uppercase;color:#617680;font-size:13px;font-weight:900}.power-lab-grid{border:1px solid var(--line);background:#e8eeee;border-top:0;grid-template-columns:minmax(0,1fr) 300px;gap:12px;padding:12px;display:grid}.power-bench{grid-template-columns:minmax(230px,.75fr) minmax(300px,1.25fr);gap:12px;min-width:0;display:grid}.power-controls,.power-readout,.power-path,.power-observations,.power-code{background:#fff;border:1px solid #cfdddf}.power-controls{padding:15px}.power-controls>header,.power-observations>header{border-bottom:1px solid #dbe5e6;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.power-controls>header span,.power-observations>header span{letter-spacing:.09em;text-transform:uppercase;font-size:13px;font-weight:900}.power-controls>header small,.power-observations>header b{color:#71848c;font-size:13px}.power-range,.power-select{border-bottom:1px solid #edf1f2;padding:10px 0;display:block}.power-range>span{justify-content:space-between;align-items:center;display:flex}.power-range b,.power-select>span{font-size:13px}.power-range strong{color:#008a73;font-size:13px}.power-range input{accent-color:#00a889;width:100%;margin-top:10px}.power-select select{color:#29414d;background:#fff;border:1px solid #c7d5d8;border-radius:3.5px;width:100%;margin-top:7px;padding:8px;font:700 13px inherit}.power-toggle{text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd9db;grid-template-rows:1fr 1fr;grid-template-columns:28px 1fr;align-items:center;width:100%;min-height:48px;margin:8px 0;padding:7px 9px;display:grid}.power-toggle>span{background:#aab9bd;border-radius:6.3px;grid-row:1/-1;width:26px;height:15px;position:relative}.power-toggle>span:after{content:"";background:#fff;border-radius:50%;width:11px;height:11px;transition:transform .16s;position:absolute;top:2px;left:2px}.power-toggle.active>span{background:#00a889}.power-toggle.active>span:after{transform:translate(11px)}.power-toggle b{font-size:13px}.power-toggle small{color:#75878e;font-size:13px}.power-readout{border-top:4px solid #d3a442;grid-template-columns:1fr 1fr;gap:12px;padding:15px;display:grid}.power-readout.safe{border-top-color:#00a889}.power-readout>div{background:#f4f8f7;padding:12px}.power-readout>div span{letter-spacing:.08em;color:#647983;font-size:13px;font-weight:900;display:block}.power-readout>div b{font-size:25px}.power-readout>div b small{font-size:13px}.power-readout>div:nth-child(3){color:#fff;background:#173b43;grid-column:1/-1}.power-readout>div strong{color:#ffd979;font-size:13px}.power-readout.safe>div strong{color:#67e2c1}.power-readout>div p{color:#c2d5d7;margin:5px 0 0;font-size:13px}.power-readout>button{grid-column:1/-1}.power-path{grid-column:1/-1;grid-template-columns:1fr 70px 1fr 70px 1fr;align-items:center;min-height:170px;padding:18px;display:grid}.path-node{text-align:center;min-width:0}.path-node small,.path-node b{display:block}.path-node small{letter-spacing:.1em;color:#6d818a;font-size:13px;font-weight:900}.path-node svg{width:100%;height:78px}.path-node b{font-size:13px}.power-path>i{background:#9eb0b5;height:3px;position:relative}.power-path>i:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #9eb0b5;position:absolute;top:-4px;right:-2px}.power-path>i span{color:#71858c;font-size:13px;font-style:normal;position:absolute;bottom:7px;left:50%;translate:-50%}.power-path.safe>i{background:#00a889}.power-path.safe>i:after{border-left-color:#00a889}.power-observations{grid-column:1/-1;padding:14px}.power-observations>p{border-top:1px solid #e5ecec;grid-template-columns:28px 130px 1fr;align-items:center;gap:8px;margin:0;padding:8px;display:grid}.power-observations>p:first-of-type{border-top:0}.power-observations>p>b{color:#008a73;font-size:13px}.power-observations>p>span{font-size:13px;font-weight:800}.power-observations>p>small{color:#647983;font-size:13px}.power-observations>p.risk{border-left:3px solid #d5a23b}.power-observations>p.safe{border-left:3px solid #00a889}.power-code{color:#d5f4ec;background:#102e35;align-self:start}.power-code>header{background:#173b43;justify-content:space-between;padding:10px 12px;font-size:13px;display:flex}.power-code>div{border-top:1px solid #ffffff0d;grid-template-columns:27px 1fr;min-height:44px;display:grid}.power-code>div>span{color:#718f93;background:#14343b;padding:13px 8px;font-size:13px}.power-code code{white-space:pre-wrap;overflow-wrap:anywhere;color:#96efd6;padding:12px 9px;font-size:13px;line-height:1.55}.power-analysis{border-top:0;border-radius:0;margin:0}.power-analysis>button{margin-left:auto}@media (max-width:1500px){.power-lab-grid{grid-template-columns:1fr}.power-code{order:-1}}@media (max-width:1300px){.power-workspace{grid-template-columns:285px minmax(0,1fr)}.power-lab-grid{grid-template-columns:1fr}.power-code{order:-1}.power-intro{grid-template-columns:1fr}.intro-power-chain{max-width:720px}.power-bench{grid-template-columns:1fr 1fr}}@media (max-width:820px){.power-workspace{display:block}.power-workspace .lesson-panel{height:auto;min-height:0}.power-coach .learn-content{max-height:none}.power-intro{gap:28px;min-height:0;padding:24px}.power-intro h1{font-size:30px}.intro-power-chain{grid-template-columns:1fr 20px 1fr 20px 1fr;padding:13px}.intro-power-chain svg{height:65px}.intro-power-chain b,.intro-power-chain small{font-size:13px}.power-lab{padding:0}.power-lab>header{display:block}.power-progress{margin-top:12px}.power-lab-grid{padding:8px}.power-bench{grid-template-columns:1fr}.power-path,.power-observations{grid-column:auto}.power-path{grid-template-columns:1fr 34px 1fr 34px 1fr;padding:10px}.path-node svg{height:56px}.power-observations>p{grid-template-columns:24px 100px 1fr}.power-analysis{align-items:flex-start}.power-analysis>button{width:100%;margin:8px 0 0}}@media (max-width:1059px){.side-nav .nav-collapse{display:none}}@media (max-width:1100px){.journey-layout{grid-template-columns:1fr}.journey-layout .mastery-panel{position:static}}@media (max-width:820px){.journey-layout{margin-top:34px}.journey-act-summary{grid-template-columns:48px minmax(0,1fr) 18px;gap:10px;padding:18px 0}.journey-act.current .journey-act-summary{margin-left:-12px;padding-left:9px}.journey-act-summary strong{font-size:19px}.journey-act-summary em{font-size:13px}.journey-act-body{padding:2px 0 24px}.journey-chapter-rail{margin:0 -12px;padding:0 12px 13px}.journey-chapter{min-width:106px;padding-inline:8px}.chapter-mission{padding-top:19px;display:block}.chapter-mission>div>p{margin-bottom:17px}.workshop-route{grid-template-columns:38px minmax(0,1fr);gap:10px}.workshop-route>strong{grid-column:2}.chapter-next-action{padding:10px}.chapter-lesson-list summary{padding:6px 0}}.trail-home{max-width:1080px;margin:0 auto;padding-bottom:clamp(42px,6vw,76px)}.trail-home-head{border-bottom:1px solid #b9cbcd;grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr);align-items:end;gap:clamp(32px,7vw,94px);padding:clamp(30px,5vw,68px) 0 clamp(24px,3vw,38px);display:grid;position:relative}.trail-home-head:after{content:"";background:var(--teal);width:clamp(66px,12vw,142px);height:3px;position:absolute;bottom:-1px;right:calc(100% - 150px)}.trail-home-head h1{letter-spacing:-.06em;max-width:690px;margin:8px 0 12px;font-size:clamp(36px,5.25vw,66px);line-height:.94}.trail-home-head p{color:#4e6974;max-width:555px;margin:0;font-size:16px;line-height:1.62}.trail-progress{border-left:1px solid #a5babc;align-self:center;padding:14px 0 13px 20px;position:relative}.trail-progress:before{content:"";background:var(--teal);border:2px solid #f4f7f8;border-radius:50%;width:9px;height:9px;position:absolute;top:17px;left:-5px}.trail-progress>span,.trail-progress>small,.trail-progress>b{display:block}.trail-progress>small{color:#6c858e;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:900}.trail-progress>span{letter-spacing:-.025em;color:#203d47;font-size:18px;font-weight:900}.trail-progress>b{color:#627b84;margin-top:10px;font-size:13px;font-weight:700;line-height:1.35}.trail-progress>div{background:#d5e0e1;height:4px;margin-top:10px;overflow:hidden}.trail-progress i{background:var(--teal);height:100%;display:block}.trail-route{margin:clamp(30px,4vw,54px) 0 0;padding:0;position:relative}.trail-spine{z-index:0;fill:#f4f7f8;stroke:#6b9090;stroke-width:3px;stroke-linejoin:miter;width:80px;height:100%;position:absolute;top:0;left:calc(50% - 40px);overflow:visible}.trail-spine circle{fill:#009f83;stroke:#f4f7f8;stroke-width:5px}.trail-act{z-index:1;width:calc(50% - 54px);margin:0;position:relative}.trail-act+.trail-act{margin-top:32px}.trail-act:nth-of-type(2n){margin-left:calc(50% + 54px)}.trail-act-head{z-index:1;text-align:left;width:100%;min-height:108px;color:var(--ink);cursor:pointer;background:#f4f7f8;border:1px solid #0000;border-left:0;grid-template-columns:60px minmax(0,1fr) 34px;align-items:center;gap:19px;padding:17px 20px 17px 0;display:grid;position:relative}.trail-act:nth-of-type(2n) .trail-act-head{grid-template-columns:34px minmax(0,1fr) 60px;padding:17px 0 17px 20px}.trail-act:nth-of-type(2n) .trail-act-node{grid-column:3}.trail-act:nth-of-type(2n) .trail-act-label{text-align:right;grid-area:1/2}.trail-act:nth-of-type(2n) .trail-act-head>b{grid-area:1/1}.trail-act:not(.current):not(.complete) .trail-act-head{opacity:.78}.trail-act-head:hover,.trail-act-head:focus-visible{border-color:#c0d0d1;opacity:1!important}.trail-act-head:hover strong,.trail-act-head:focus-visible strong{color:var(--teal-dark)}.trail-act-head:focus-visible{box-shadow:var(--focus);outline:0}.trail-act-node{color:#607781;background:#f4f7f8;border:1px solid #8eabad;border-radius:0;place-items:center;width:56px;height:56px;display:grid;transform:rotate(45deg)}.trail-node-svg{fill:none;stroke:currentColor;stroke-width:2.8px;stroke-linecap:square;stroke-linejoin:miter;width:39px;height:39px;overflow:visible;transform:rotate(-45deg)}.trail-node-svg circle{fill:currentColor;stroke:#f4f7f8;stroke-width:2px}.trail-act.current .trail-act-node{border-color:var(--teal);color:#fff;background:#009f83}.trail-act.complete .trail-act-node{color:#fff;background:#00a889;border-color:#00a889}.trail-act-label{min-width:0}.trail-act-head small,.trail-act-head strong,.trail-act-head em{display:block}.trail-act-head small{color:#63808a;letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;font-size:13px;font-weight:900}.trail-act-head strong{letter-spacing:-.05em;font-size:clamp(24px,3vw,34px);line-height:.95;transition:color .15s}.trail-act-head em{color:#617681;max-width:470px;margin-top:6px;font-size:14px;font-style:normal;line-height:1.4}.trail-act-head>b{color:#698089;text-align:center;font-size:24px;font-weight:400}.trail-act-body{width:calc(200% + 108px);padding:20px 0 42px}.trail-act:nth-of-type(2n) .trail-act-body{margin-left:calc(-100% - 108px)}.trail-chapters{scrollbar-width:thin;gap:0;padding:0 0 20px 1px;display:flex;position:relative;overflow:auto}.trail-chapters:before{content:"";background:#b8ccce;height:1px;position:absolute;top:18px;left:18px;right:18px}.trail-stop{z-index:1;color:#4d6670;text-align:left;cursor:pointer;background:0 0;border:0;flex:1 0 132px;min-height:95px;padding:0 12px 8px;position:relative}.trail-stop:nth-child(2n){padding-top:9px}.trail-stop>span{color:#617a83;letter-spacing:.06em;background:#f4f7f8;border:1px solid #aabfc2;border-radius:50%;place-items:center;width:37px;height:37px;margin-bottom:9px;font-size:13px;font-weight:900;display:grid}.trail-stop small,.trail-stop b{display:block}.trail-stop small{letter-spacing:.07em;text-transform:uppercase;color:#789099;font-size:13px;font-weight:850}.trail-stop b{margin-top:3px;font-size:13px;line-height:1.22}.trail-stop:hover b,.trail-stop:focus-visible b{color:var(--teal-dark)}.trail-stop:focus-visible{box-shadow:var(--focus);outline:0}.trail-stop.selected>span{border-color:var(--teal);color:#007c68;background:#e7f7f2;box-shadow:0 0 0 4px #e7f2f1}.trail-stop.selected b{color:#173b43}.trail-stop.current>span{color:#fff;background:#00a889;border-color:#00a889}.trail-stop.locked{cursor:not-allowed;opacity:.52}.trail-mission{border:1px solid #c5d5d6;border-left:3px solid var(--teal);background:#fbfdfc;border-radius:2.1px;grid-template-columns:minmax(0,1fr) minmax(270px,.82fr);align-items:center;gap:clamp(20px,3vw,38px);margin:4px 0 0;padding:26px 28px 24px;display:grid;box-shadow:0 13px 29px #1b3b430d}.trail-mission-copy h2{letter-spacing:-.045em;max-width:490px;margin:7px 0 8px;font-size:clamp(24px,2.5vw,31px);line-height:1.03}.trail-mission-copy p{color:#58707b;max-width:510px;margin:0;font-size:14px;line-height:1.6}.trail-next{color:#173b43;text-align:left;cursor:pointer;background:#f1faf7;border:1px solid #9ecfc4;border-radius:2.1px;grid-template-columns:35px minmax(0,1fr) auto;align-self:center;align-items:center;gap:10px;width:100%;min-height:86px;padding:12px 13px;display:grid}.trail-next:focus-visible{box-shadow:var(--focus);outline:0}.trail-next-marker{color:#fff;background:#00a889;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:900;display:grid}.trail-next small,.trail-next b,.trail-next em{display:block}.trail-next small{letter-spacing:.09em;text-transform:uppercase;color:#407368;font-size:13px;font-weight:900}.trail-next b{margin-top:3px;font-size:13px;line-height:1.2}.trail-next em{color:#607984;margin-top:3px;font-size:13px;font-style:normal;line-height:1.3}.trail-next>strong{color:#007c68;white-space:nowrap;font-size:13px}.trail-lessons{grid-column:1/-1;margin-top:2px}.trail-lessons summary{color:#536b75;cursor:pointer;padding:15px 0 0;font-size:13px;font-weight:800}.trail-lessons>div{border-top:1px solid #dce6e7;margin-top:10px}.trail-lessons button{color:#314a55;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e0e8e9;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:52px;padding:8px 0;display:grid}.trail-lessons button>span:first-child{border:1px solid #b9cbcd;border-radius:50%;place-items:center;width:23px;height:23px;font-size:13px;font-weight:900;display:grid}.trail-lessons button.complete>span:first-child{color:#007c68;border-color:#00a889}.trail-lessons b,.trail-lessons small{display:block}.trail-lessons b{font-size:13px}.trail-lessons small{color:#71858d;margin-top:2px;font-size:13px}.trail-lessons strong{color:#007c68}.trail-horizon{grid-column:2;align-self:center;padding:12px 0}.trail-horizon p{color:#45616d;margin:0 0 7px;font-size:13px;line-height:1.45}.trail-horizon small{color:#758990;font-size:13px;line-height:1.4}.trail-workshop{z-index:1;color:#27434e;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:73px;margin-top:2px;padding:11px 0;display:grid;position:relative}.trail-workshop>span:first-child{background:#f4f7f8;border:2px solid #b3c6c8;border-radius:50%;place-items:center;width:50px;height:50px;font-size:19px;display:grid}.trail-workshop small,.trail-workshop b,.trail-workshop em{display:block}.trail-workshop small{letter-spacing:.1em;text-transform:uppercase;color:#718891;font-size:13px;font-weight:900}.trail-workshop b{margin-top:2px;font-size:15px}.trail-workshop em{color:#698089;margin-top:3px;font-size:13px;font-style:normal}.trail-workshop>strong{color:#007c68;font-size:13px}.trail-workshop:hover b,.trail-workshop:focus-visible b{color:#007c68}.trail-workshop:focus-visible{box-shadow:var(--focus);outline:0}.trail-act-head{border:0}.trail-act.current .trail-act-head{background:#e7f7f2;border-color:#0000}.trail-act-head:hover,.trail-act-head:focus-visible{background:#edf3f2;border-color:#0000}.trail-act.current .trail-act-node,.trail-act.complete .trail-act-node,.trail-stop.selected>span,.trail-stop.current>span{border-color:#0000}.trail-mission{background:#eaf2f0;border:0}.trail-next{background:#fbfdfc;border:0}.trail-next:hover{background:#fff;border-color:#0000}@media (max-width:820px){.trail-home{padding-bottom:20px}.trail-home-head{padding-top:26px;display:block}.trail-home-head:after{width:66px;left:0;right:auto}.trail-home-head h1{font-size:clamp(34px,11vw,46px)}.trail-home-head p{font-size:13px}.trail-progress{max-width:270px;margin-top:26px}.trail-route{margin-top:30px;padding-left:55px}.trail-route:before{content:"";z-index:0;background:#90aaaa;width:2px;position:absolute;top:15px;bottom:52px;left:18px}.trail-route:after,.trail-spine{display:none}.trail-act,.trail-act:nth-of-type(2n){width:100%;margin-left:0}.trail-act+.trail-act{margin-top:16px}.trail-act-head,.trail-act:nth-of-type(2n) .trail-act-head{background:0 0;grid-template-columns:45px minmax(0,1fr) 28px;gap:13px;min-height:86px;padding:14px 0}.trail-act.current .trail-act-head{background:#e7f7f2;margin-left:-12px;padding-left:12px}.trail-act:nth-of-type(2n) .trail-act-node{grid-area:1/1}.trail-act:nth-of-type(2n) .trail-act-label{text-align:left;grid-area:1/2}.trail-act:nth-of-type(2n) .trail-act-head>b{grid-area:1/3}.trail-act-node{width:42px;height:42px}.trail-node-svg{width:29px;height:29px}.trail-act-head strong{font-size:22px}.trail-act-head em{margin-top:4px;font-size:13px}.trail-act-head small{font-size:13px}.trail-act-body,.trail-act:nth-of-type(2n) .trail-act-body{width:auto;margin-left:0;padding:10px 0 27px}.trail-chapters{margin-right:-12px;padding-right:12px}.trail-stop{flex-basis:112px;min-height:88px;padding-inline:8px}.trail-stop:nth-child(2n){padding-top:6px}.trail-stop b{font-size:13px}.trail-mission{margin-right:0;padding:19px 17px;display:block}.trail-mission-copy h2{font-size:22px}.trail-next{min-height:76px;margin-top:18px}.trail-horizon{padding:16px 0 0}.trail-workshop{grid-template-columns:39px minmax(0,1fr);gap:10px}.trail-workshop>span:first-child{width:39px;height:39px;font-size:15px}.trail-workshop>strong{grid-column:2;margin-top:-8px}.trail-workshop b,.trail-workshop em{font-size:13px}}.chat-assistant{z-index:95;justify-items:end;gap:10px;display:grid;position:fixed;bottom:22px;right:22px}.chat-launch{color:#fff;cursor:pointer;background:#007c68;border:1px solid #007c68;border-radius:50%;place-items:center;width:60px;height:60px;padding:5px;display:grid;position:relative;box-shadow:0 10px 24px #00493e33}.chat-launch:hover,.chat-launch:focus-visible{box-shadow:var(--focus),0 10px 24px #00493e33;background:#006a59;outline:0}.chat-launch img{object-fit:cover;object-position:center;border-radius:50%;width:48px;height:48px}.chat-availability{z-index:1;color:#fff;background:#637881;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:16px;font-weight:900;line-height:1;display:grid;position:absolute;top:-7px;left:-7px;box-shadow:0 2px 7px #14223140}.chat-availability.online{background:#00a889;animation:1.2s ease-in-out infinite chat-online-pulse}.chat-availability.offline{background:#d9473f;font-size:13px}@keyframes chat-online-pulse{50%{background:#52d5ae;box-shadow:0 0 0 4px #52d5ae40,0 2px 7px #14223140}}@media (prefers-reduced-motion:reduce){.chat-availability.online{animation:none}}.chat-panel{background:#fbfdfc;border:1px solid #b9d8d1;border-radius:2.1px;grid-template-rows:auto auto minmax(180px,1fr) auto;width:min(420px,100vw - 44px);height:min(640px,100vh - 104px);display:grid;overflow:hidden;box-shadow:0 20px 50px #14223138}.chat-panel>header{border-bottom:1px solid #d8e5e5;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 18px 13px;display:flex}.chat-panel h2{letter-spacing:-.03em;margin:4px 0 0;font-size:21px}.chat-close{color:#60747d;cursor:pointer;background:0 0;border:0;width:42px;height:42px;font-size:25px}.chat-close:hover,.chat-close:focus-visible{color:#007c68;box-shadow:var(--focus);outline:0}.chat-safety-note{color:#71552b;background:#fff7e5;border-bottom:1px solid #e0e9e8;margin:0;padding:10px 18px;font-size:13px;line-height:1.42}.chat-history{scroll-behavior:smooth;min-height:0;padding:14px 18px;overflow:auto}.chat-empty{color:#42616a;background:#f3f9f8;border:1px dashed #b8cdcd;padding:16px}.chat-empty b{font-size:13px}.chat-empty p{margin:5px 0 0;font-size:13px;line-height:1.5}.chat-message{background:#fff;border:1px solid #d9e5e5;max-width:92%;margin:0 0 12px;padding:10px 12px}.chat-message.user{background:#eaf7f3;border-color:#b9dcd3;margin-left:auto}.chat-message span{color:#59717b;margin-bottom:4px;font-size:13px;font-weight:800;display:block}.chat-message p{white-space:pre-wrap;color:#213b46;margin:0;font-size:13px;line-height:1.5}.chat-error{color:#7e312e;background:#fff1f0;border-left:3px solid #d9473f;margin:0;padding:10px;font-size:13px;line-height:1.45}.chat-form{background:#fff;border-top:1px solid #d8e5e5;padding:14px 18px 17px}.chat-form label{color:#42616a;margin-bottom:6px;font-size:13px;font-weight:800;display:block}.chat-form textarea{box-sizing:border-box;resize:vertical;color:#142231;width:100%;font:inherit;background:#fbfdfd;border:1px solid #b9cdd0;border-radius:2.1px;padding:9px 10px;font-size:13px;line-height:1.45;display:block}.chat-form textarea:focus-visible{box-shadow:var(--focus);border-color:#009f83;outline:0}.chat-form>div{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.chat-form small{color:#697f88;font-size:13px;line-height:1.3}.chat-form button{min-height:40px;padding:7px 13px;font-size:13px}@media (max-width:820px){.chat-assistant{bottom:76px;right:12px}.chat-panel{width:calc(100vw - 24px);height:min(620px,100vh - 150px)}.chat-launch{width:58px;height:58px}.chat-launch img{width:46px;height:46px}}
.meter-actions{gap:7px;margin-top:8px;display:flex}.meter-actions button{cursor:pointer;background:#fff3bf;border:1px solid #34474f;border-radius:4.9px;flex:1;padding:7px;font-size:13px;font-weight:900}.meter-actions button:disabled{opacity:.45;cursor:not-allowed}.measurement-notebook{border-top:1px solid #27394047;margin-top:8px}.measurement-notebook summary{cursor:pointer;padding:7px 0 3px;font-size:13px;font-weight:900}.measurement-notebook>div{max-height:105px;overflow:auto}.measurement-notebook p{border-bottom:1px solid #2739401f;justify-content:space-between;gap:8px;margin:0;padding:5px 2px;font-size:13px;display:flex}.measurement-notebook p b{font-family:SFMono-Regular,Consolas,monospace}.measurement-notebook .empty-note{line-height:1.35;display:block}.meter-progress{background:#fff4c4;border-radius:4.9px;gap:2px;margin-top:7px;padding:7px;display:grid}.meter-progress.complete{background:#dff5eb}.meter-progress b{font-size:13px}.meter-progress span{font-size:13px;line-height:1.3}@media (max-width:820px){.measurement-notebook>div{max-height:76px}}
