.academy-lesson{color:var(--ink);background:#f2f1e9}.lesson-hero{background:var(--deep);color:#fff;grid-template-columns:1.25fr .75fr;align-items:end;gap:7vw;padding:170px clamp(22px,8vw,130px) 78px;display:grid}.lesson-hero h1{letter-spacing:-.065em;color:#fff;max-width:1020px;margin:25px 0;font-size:clamp(52px,7vw,104px);line-height:.9}.lesson-hero>div>p:last-of-type{color:#ffffffad;max-width:800px;font-size:16px;line-height:1.75}.lesson-hero>div>div{border-top:1px solid #ffffff2b;gap:34px;margin-top:38px;padding-top:22px;display:flex}.lesson-hero>div>div span{font:8px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff85;display:grid}.lesson-hero>div>div b{font:800 28px/1 var(--font-body);color:var(--yellow)}.lesson-hero>aside{border-left:3px solid var(--yellow);background:#ffffff12;gap:14px;padding:28px;display:grid}.lesson-hero>aside span,.lesson-hero>aside small{font:8px/1.6 var(--font-mono);letter-spacing:.12em;color:var(--yellow)}.lesson-hero>aside strong{font-size:15px;line-height:1.6}.lesson-hero>aside small{color:#ffffff85;letter-spacing:0}.lesson-sequence{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(5,1fr);display:grid}.lesson-sequence a{border-right:1px solid var(--line);grid-template-columns:28px 1fr;align-items:center;gap:10px;min-height:86px;padding:20px 24px;display:grid}.lesson-sequence a b{font:9px var(--font-mono);color:var(--green)}.lesson-sequence a span{font-size:11px;font-weight:800}.lesson-sequence a.active{background:var(--yellow)}.lesson-shell{grid-template-columns:245px minmax(0,1fr);gap:50px;max-width:1500px;margin:auto;padding:70px clamp(22px,6vw,90px);display:grid}.lesson-index{border-top:3px solid var(--green);align-self:start;display:grid;position:sticky;top:110px}.lesson-index span{font:8px var(--font-mono);letter-spacing:.12em;color:var(--green);padding:17px 13px}.lesson-index a{border-top:1px solid var(--line);min-height:42px;color:var(--muted);padding:11px 13px;font-size:10px}.lesson-index a:hover{color:var(--green);background:#fff}.lesson-content{min-width:0}.lesson-content>section,.lesson-content>div{scroll-margin-top:105px}.lesson-objectives{background:var(--yellow);padding:clamp(28px,4vw,48px)}.lesson-objectives>span,.lesson-explanation>span,.lesson-worked span,.lesson-misconception>span,.lesson-reference span,.lesson-check>header>span,.lesson-check-result>header>span{font:8px var(--font-mono);letter-spacing:.13em;color:var(--green)}.lesson-objectives h2,.lesson-explanation>h2,.lesson-technical-visual h2,.lesson-worked h2,.lesson-check h2,.lesson-reference h2{margin:18px 0 25px;font-size:clamp(32px,4vw,54px);line-height:1}.lesson-objectives ol{gap:11px;padding-left:22px;display:grid}.lesson-objectives li{font-size:13px;line-height:1.65}.lesson-explanation{background:#fff;padding:clamp(38px,5vw,68px)}.lesson-explanation>p{color:#34473f;max-width:900px;font-size:15px;line-height:1.85}.lesson-explanation>div{border-top:1px solid var(--line);margin:40px 0}.lesson-explanation article{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr auto;align-items:center;gap:18px;padding:22px 10px;display:grid}.lesson-explanation article>b{font:9px var(--font-mono);color:var(--green)}.lesson-explanation article h3{margin:0 0 7px;font-size:21px}.lesson-explanation article p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.lesson-explanation article small{font:8px var(--font-mono);color:var(--green);text-transform:uppercase}.lesson-explanation>aside{border-left:4px solid var(--yellow);background:#edf1ec;padding:23px 26px}.lesson-explanation>aside b{font:8px var(--font-mono);letter-spacing:.12em;color:var(--green)}.lesson-explanation>aside p{margin:11px 0 0;font-size:12px;line-height:1.7}.lesson-technical-visual{background:var(--forest);color:#fff;margin:0;padding:clamp(35px,5vw,65px)}.lesson-technical-visual>header>span{font:8px var(--font-mono);letter-spacing:.13em;color:var(--yellow)}.lesson-technical-visual h2{color:#fff;max-width:850px}.lesson-technical-visual>header p{color:#ffffffa6;max-width:800px;font-size:12px;line-height:1.7}.lesson-trace{align-items:stretch;margin:40px 0 26px;padding-bottom:8px;display:flex;overflow-x:auto}.lesson-trace>div{flex:1;align-items:center;min-width:150px;display:flex}.lesson-trace article{min-height:135px;color:var(--ink);background:#fff;flex:1;align-content:space-between;padding:18px;display:grid}.lesson-trace article b{font:8px var(--font-mono);color:var(--green)}.lesson-trace article strong{font-size:12px;line-height:1.35}.lesson-trace i{color:var(--yellow);padding:0 8px;font-style:normal}.lesson-chart{background:#ffffff0f;grid-template-columns:40px 1fr;margin:42px 0 28px;padding:28px 28px 18px;display:grid}.chart-y{writing-mode:vertical-rl;font:7px var(--font-mono);color:#ffffff80;justify-content:space-between;display:flex;transform:rotate(180deg)}.chart-plot{border-bottom:1px solid #ffffff40;border-left:1px solid #ffffff40;align-items:flex-end;gap:8px;height:260px;padding:12px 12px 0;display:flex}.chart-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:9px;height:100%;display:flex}.chart-column i{background:linear-gradient(180deg,var(--yellow),#d8a91c);width:100%;max-width:66px;min-height:8px;display:block}.chart-column b{font:7px var(--font-mono);color:#ffffffb3}.lesson-chart>p{font:8px var(--font-mono);color:#ffffff8c;grid-column:2;margin:12px 0 0}.lesson-technical-visual figcaption{border-top:1px solid #ffffff2b;grid-template-columns:120px 1fr;gap:18px;padding-top:20px;display:grid}.lesson-technical-visual figcaption b{font:8px var(--font-mono);color:var(--yellow)}.lesson-technical-visual figcaption span{color:#ffffff94;font-size:10px;line-height:1.6}.lesson-worked{background:#e5ebe5;padding:clamp(38px,5vw,68px)}.lesson-worked header>p{font-size:14px;line-height:1.7}.lesson-worked>div{grid-template-columns:.8fr 1.2fr;gap:30px;margin-top:30px;display:grid}.lesson-worked aside{background:#fff;padding:24px}.lesson-worked aside b,.lesson-worked footer b{font:8px var(--font-mono);letter-spacing:.12em;color:var(--green)}.lesson-worked li{margin-bottom:8px;font-size:11px;line-height:1.65}.lesson-worked>div>ol{background:#fff;margin:0;padding:24px 24px 24px 48px}.lesson-worked footer{background:var(--yellow);margin-top:12px;padding:24px}.lesson-worked footer p{margin:10px 0 0;font-size:12px;line-height:1.65}.lesson-misconception{background:#fff;padding:clamp(38px,5vw,68px)}.lesson-misconception blockquote{letter-spacing:-.035em;max-width:850px;margin:25px 0;font-size:clamp(28px,4vw,48px);line-height:1.08}.lesson-misconception>p{border-left:3px solid var(--yellow);max-width:850px;padding-left:20px;font-size:14px;line-height:1.75}.lesson-check{border-top:5px solid var(--green);background:#e9eee9}.lesson-check>header{padding:clamp(32px,5vw,55px)}.lesson-check>header p{max-width:760px;color:var(--muted);font-size:11px;line-height:1.65}.lesson-check>article{border-top:1px solid var(--line);padding:32px clamp(22px,5vw,55px)}.lesson-check>article>small{font:8px var(--font-mono);color:var(--green)}.lesson-check h3{max-width:900px;font-size:clamp(22px,3vw,34px);line-height:1.12}.lesson-check>article>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.lesson-check>article>div button{border:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:25px 1fr;gap:10px;min-height:84px;padding:16px;font-size:10px;line-height:1.45;display:grid}.lesson-check>article>div button.selected{background:var(--forest);color:#fff}.lesson-check>article>div b{color:var(--green)}.lesson-check>article>div button.selected b{color:var(--yellow)}.lesson-check fieldset{border:0;flex-wrap:wrap;gap:15px;margin:14px 0 0;padding:0;display:flex}.lesson-check legend{font:8px var(--font-mono);color:var(--muted);margin-bottom:8px}.lesson-check label{align-items:center;gap:6px;font-size:9px;display:flex}.lesson-check>footer,.lesson-check-result>footer{background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:20px 30px;display:flex}.lesson-check>footer span{color:var(--muted);font-size:9px}.lesson-check>footer button,.lesson-check-result>footer>*{background:var(--forest);color:#fff;border:0;min-height:44px;padding:12px 17px;font-size:9px;font-weight:800}.lesson-check>footer button:disabled{opacity:.4}.lesson-check-result{border-top:6px solid var(--yellow);background:#edf1ec}.lesson-check-result>header{background:var(--forest);color:#fff;padding:clamp(35px,5vw,60px)}.lesson-check-result>header>span{color:var(--yellow)}.lesson-check-result>header>strong{color:var(--yellow);margin:25px 0 10px;font-size:80px;line-height:1;display:block}.lesson-check-result>header h2{margin:0;font-size:clamp(32px,4vw,52px)}.lesson-check-result>header p{color:#ffffffa6;max-width:760px}.lesson-check-result>div{padding:25px}.lesson-check-result article{border-top:1px solid var(--line);background:#fff;padding:24px}.lesson-check-result article.review{border-left:4px solid #bc713c}.lesson-check-result article>b{font:8px var(--font-mono);color:var(--green)}.lesson-check-result article h3{font-size:18px}.lesson-check-result article p,.lesson-check-result article small{color:var(--muted);font-size:10px;line-height:1.6}.lesson-check-result>footer{justify-content:flex-end}.lesson-check-result>footer a{background:var(--yellow);color:var(--deep)}.lesson-reference{background:#fff;grid-template-columns:1.25fr .75fr;display:grid}.lesson-reference>div,.lesson-reference>aside{padding:clamp(32px,5vw,58px)}.lesson-reference>aside{background:var(--deep);color:#fff}.lesson-reference>div>a:not(.lesson-paper-link){border-top:1px solid var(--line);grid-template-columns:30px 1fr auto;gap:14px;padding:18px 0;display:grid}.lesson-reference>div>a>b{font:8px var(--font-mono);color:var(--green)}.lesson-reference>div>a>span{gap:5px;display:grid}.lesson-reference>div strong{font-size:12px}.lesson-reference>div small,.lesson-reference>div p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.lesson-reference>div i{color:var(--green);font-size:8px;font-style:normal}.lesson-paper-link{background:var(--forest);color:#fff;align-items:center;min-height:44px;margin-top:25px;padding:13px 16px;font-size:9px;font-weight:800;display:inline-flex}.lesson-reference>aside>span{color:var(--yellow)}.lesson-reference details{border-top:1px solid #ffffff26}.lesson-reference summary{cursor:pointer;padding:17px 0;font-size:13px;font-weight:800}.lesson-reference details p{color:#ffffff9e;font-size:10px;line-height:1.6}.lesson-reference>aside>a{min-height:44px;color:var(--yellow);align-items:center;font-size:9px;font-weight:800;display:inline-flex}.lesson-next{justify-content:space-between;gap:20px;padding:26px 0;display:flex}.lesson-next a{border:1px solid var(--green);min-height:44px;color:var(--green);padding:12px 15px;font-size:9px;font-weight:800}.lesson-next a:last-child{background:var(--green);color:#fff}@media (max-width:1000px){.lesson-hero{grid-template-columns:1fr}.lesson-sequence{grid-template-columns:repeat(5,minmax(190px,1fr));overflow-x:auto}.lesson-shell{grid-template-columns:1fr}.lesson-index{border-top:0;display:flex;position:static;overflow-x:auto}.lesson-index span{display:none}.lesson-index a{white-space:nowrap;border:1px solid var(--line)}.lesson-reference{grid-template-columns:1fr}}@media (max-width:760px){.lesson-hero{padding-top:135px}.lesson-hero>div>div{gap:18px}.lesson-shell{gap:20px;padding-inline:0}.lesson-index,.lesson-objectives,.lesson-explanation,.lesson-worked,.lesson-misconception{padding-inline:20px}.lesson-explanation article{grid-template-columns:35px 1fr}.lesson-explanation article small{grid-column:2}.lesson-technical-visual{padding-inline:20px}.lesson-worked>div,.lesson-check>article>div{grid-template-columns:1fr}.lesson-check>footer{flex-direction:column;align-items:stretch}.lesson-reference>div,.lesson-reference>aside{padding-inline:20px}.lesson-reference>div>a:not(.lesson-paper-link){grid-template-columns:25px 1fr}.lesson-reference>div i{grid-column:2}.lesson-next{flex-direction:column;align-items:stretch;padding:20px}.lesson-next a{text-align:center}.lesson-technical-visual figcaption{grid-template-columns:1fr}.chart-plot{height:220px;padding-inline:5px}.chart-column b{font-size:6px}}.diagram-stage{background:linear-gradient(145deg,#ffffff17,#ffffff06);border:1px solid #ffffff2b;min-height:370px;margin:42px 0 28px;padding:32px;position:relative;overflow:hidden}.system-node{min-height:108px;color:var(--ink);z-index:2;background:#fff;align-content:space-between;gap:12px;padding:15px;display:grid;position:relative;box-shadow:0 18px 45px #00000029}.system-node>b{font:7px var(--font-mono);color:var(--green)}.system-node>i{border:5px solid var(--yellow);border-radius:50%;width:26px;height:26px;box-shadow:0 0 0 5px #f4bf201f}.system-node>strong{font-size:10px;line-height:1.35}.ami-field,.ami-platform,.water-nodes,.meter-chain,.ev-feeder,.bess-sources,.bess-loads{gap:12px;display:flex}.ami-field{width:47%}.ami-platform{width:68%;margin:62px 0 0 auto}.signal-rail{background:repeating-linear-gradient(90deg,var(--yellow) 0 13px,transparent 13px 24px);height:2px;position:absolute;top:46%;left:12%;right:13%;transform:rotate(5deg)}.signal-rail i{background:var(--yellow);border-radius:50%;width:9px;height:9px;animation:3.2s linear infinite academySignal;position:absolute;top:-4px}.signal-rail i:nth-child(2){animation-delay:.8s}.signal-rail i:nth-child(3){animation-delay:1.6s}.signal-rail i:nth-child(4){animation-delay:2.4s}.return-path{font:7px var(--font-mono);letter-spacing:.12em;color:var(--yellow);position:absolute;bottom:18px;left:32px}.return-path span{font-size:22px}.water-diagram{padding-top:76px}.pipe{background:#0e6580;border:4px solid #78c9ee;height:34px;position:absolute;top:48%;left:35px;right:35px;overflow:hidden}.pipe i{background:#b9edff;border-radius:50% 50% 50% 0;width:14px;height:14px;margin:6px 23px;animation:3s linear infinite waterPulse;display:inline-block;position:relative;transform:rotate(-45deg)}.water-nodes{justify-content:space-between;position:relative}.water-nodes .system-node{width:15%;min-height:140px}.water-nodes .meter-body{border-radius:50%;transform:scale(1.08)}.water-diagram aside{font:7px var(--font-mono);color:#b9edff;gap:18px;display:flex;position:absolute;bottom:20px;right:32px}.bess-diagram{grid-template-columns:.7fr 1.5fr .7fr;align-items:center;gap:20px;display:grid}.bess-sources,.bess-loads{display:grid}.bess-core{grid-template-columns:1fr 1fr;gap:10px;display:grid}.battery-rack{background:#071f1b;grid-column:1/-1;align-items:center;gap:5px;padding:16px;display:flex}.battery-rack span{background:linear-gradient(0deg,var(--yellow) 68%,#ffffff1a 68%);flex:1;height:58px}.battery-rack b{font:8px var(--font-mono);margin-left:10px}.bess-diagram>p{font:7px var(--font-mono);color:var(--yellow);justify-content:space-between;display:flex;position:absolute;bottom:15px;left:32px;right:32px}.ev-feeder .system-node{flex:1}.charger-bank{grid-template-columns:repeat(3,1fr);gap:18px;margin:48px 0 25px;display:grid}.charger-bank article{min-height:105px;color:var(--ink);background:#fff;padding:16px;position:relative}.charger-bank article>i{border:3px solid var(--forest);border-radius:5px;width:36px;height:55px;display:block}.charger-bank article>b{font:7px var(--font-mono);position:absolute;top:37px;left:25px}.cable{border-top:3px solid var(--yellow);position:absolute;top:53px;left:54px;right:65px}.vehicle{background:var(--forest);color:#fff;font:8px var(--font-mono);border-radius:17px 22px 8px 8px;padding:12px 18px;position:absolute;top:32px;right:14px}.ev-diagram aside{grid-template-columns:160px 1fr;align-items:center;gap:10px;display:grid}.ev-diagram aside strong,.ev-diagram aside span{font:7px var(--font-mono)}.ev-diagram aside i{background:#ffffff1f;height:12px}.ev-diagram aside i b{background:var(--yellow);height:100%;display:block}.ev-diagram aside span{color:#ffffff94;grid-column:2}.metering-diagram{grid-template-columns:160px 1fr;align-items:center;gap:28px;display:grid}.phasor{border:1px solid #ffffff40;border-radius:50%;width:140px;height:140px;position:relative}.phasor i{border-top:4px solid var(--yellow);transform-origin:0;width:58px;position:absolute;top:50%;left:50%}.phasor .phase-b{border-color:#8ed9c7;transform:rotate(120deg)}.phasor .phase-c{border-color:#fff;transform:rotate(240deg)}.phasor b{font:8px var(--font-mono);place-items:center;display:grid;position:absolute;inset:0}.meter-chain .system-node{flex:1}.metering-diagram aside{font:7px var(--font-mono);color:var(--yellow);grid-column:2;justify-content:space-between;display:flex}.single-line{align-items:center;min-width:760px;display:flex}.single-line>div{flex:1;align-items:center;display:flex}.single-line .system-node{flex:1;min-width:95px}.conductor{background:var(--yellow);flex:1;min-width:25px;height:3px}.transformer-symbol>i{border-radius:50% 0}.breaker-symbol>i{border-radius:2px;transform:rotate(45deg)}.protection-zones{grid-template-columns:1fr 1fr 1fr;gap:3px;margin-top:22px;display:grid}.protection-zones span{font:7px var(--font-mono);text-align:center;color:var(--yellow);border:1px dashed #ffffff59;padding:10px}.engineering-profile{background:#0000002b;margin:20px 0 28px;padding:22px}.engineering-profile>span{font:7px var(--font-mono);color:var(--yellow)}.engineering-profile>div{border-bottom:1px solid #ffffff40;border-left:1px solid #ffffff40;align-items:flex-end;gap:8px;height:150px;margin-top:18px;display:flex}.engineering-profile i{background:linear-gradient(var(--yellow),#b78305);flex:1;max-width:80px;font-style:normal;position:relative}.engineering-profile i b{font:6px var(--font-mono);padding-top:5px;position:absolute;top:100%}.engineering-profile i small{color:var(--deep);font:7px var(--font-mono);position:absolute;top:5px;left:6px}.engineering-profile>p{font:7px var(--font-mono);color:#ffffff8c;margin:24px 0 0}@keyframes academySignal{0%{left:0}to{left:100%}}@keyframes waterPulse{0%{left:-20%}to{left:105%}}@media (prefers-reduced-motion:reduce){.signal-rail i,.pipe i{animation:none}}.engineering-depth{border-left:1px solid var(--line);border-right:1px solid var(--line);background:#e8eee9}.engineering-depth details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:25px;padding:30px clamp(24px,4vw,48px);list-style:none;display:flex}.engineering-depth summary::-webkit-details-marker{display:none}.engineering-depth summary span{gap:7px;display:grid}.engineering-depth summary b,.engineering-depth-body>*>span{font:8px var(--font-mono);letter-spacing:.12em;color:var(--green)}.engineering-depth summary strong{font-size:clamp(24px,3vw,38px)}.engineering-depth summary small{color:var(--muted);font-size:10px;line-height:1.55}.engineering-depth summary>i{font-size:34px;font-style:normal;transition:transform .2s}.engineering-depth details[open] summary>i{transform:rotate(45deg)}.engineering-depth-body{grid-template-columns:1fr 1fr;gap:16px;padding:0 clamp(24px,4vw,48px) 46px;display:grid}.engineering-depth-body>header,.engineering-depth-body>section,.engineering-depth-body>aside{background:#fff;padding:25px}.engineering-depth-body>header{grid-column:1/-1}.engineering-depth-body>header>strong{margin:14px 0;font-size:clamp(20px,2.4vw,31px);line-height:1.25;display:block}.engineering-depth-body li,.engineering-depth-body p{color:var(--muted);font-size:10px;line-height:1.65}.engineering-depth-body ol{padding:0;list-style:none}.engineering-depth-body ol li{border-bottom:1px solid var(--line);grid-template-columns:30px 1fr;gap:9px;padding:10px 0;display:grid}.engineering-depth-body ol b{font:8px var(--font-mono);color:var(--green)}.failure-table{grid-column:1/-1}.failure-table>div>header,.failure-table article{grid-template-columns:1fr 1fr 1.2fr;display:grid}.failure-table>div>header b,.failure-table article p{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px}.failure-table>div>header b{background:var(--deep);color:#fff;font:7px var(--font-mono);margin-top:15px}.engineering-depth-body>aside{background:var(--yellow);border-left:5px solid var(--forest);grid-column:1/-1}.engineering-depth-body>aside b{font:8px var(--font-mono);color:var(--forest)}@media (max-width:760px){.diagram-stage{min-height:420px;margin-inline:-4px;padding:18px}.ami-field,.ami-platform,.water-nodes,.meter-chain,.ev-feeder{width:100%;overflow-x:auto}.ami-platform{margin-top:90px}.system-node{min-width:120px}.water-nodes .system-node{width:auto;min-width:120px}.bess-diagram{grid-template-columns:1fr}.bess-sources,.bess-loads{grid-template-columns:1fr 1fr}.ev-diagram aside{grid-template-columns:1fr}.ev-diagram aside span{grid-column:1}.charger-bank{grid-template-columns:1fr}.metering-diagram{grid-template-columns:1fr;overflow-x:auto}.meter-chain,.metering-diagram aside{grid-column:1}.single-line{min-width:760px}.electrical-diagram{overflow-x:auto}.engineering-depth-body{grid-template-columns:1fr}.engineering-depth-body>header,.failure-table,.engineering-depth-body>aside{grid-column:1}.failure-table>div>header{display:none}.failure-table article{grid-template-columns:1fr}.failure-table article p:before{font:7px var(--font-mono);color:var(--green);display:block}.failure-table article p:first-child:before{content:"OBSERVED SIGNAL"}.failure-table article p:nth-child(2):before{content:"POSSIBLE CAUSE"}.failure-table article p:nth-child(3):before{content:"DISCRIMINATING TEST"}}@media (prefers-reduced-motion:reduce){.lesson-sequence a,.lesson-index a{scroll-behavior:auto}}
