/* Scope the new sensor lessons; preserve the rest of the course. */
.sensor-slide .pot-panel { box-shadow:0 5px 18px rgba(11,36,71,.035); }
.sensor-slide .pot-panel h3 { font-size:clamp(19px,2.2cqw,27px); }
.sensor-slide .pot-panel p { font-size:clamp(17px,1.93cqw,23px); line-height:1.4; }
.sensor-slide .pot-callout { font-size:clamp(16px,1.65cqw,20px); line-height:1.4; }
.sensor-slide .sensor-menu { display:inline; color:#0b2447; font-weight:850; }
.sensor-slide .pot-stack { gap:clamp(10px,1.15cqw,17px); }
.sensor-slide .pot-image-area { padding:clamp(12px,2.1cqw,28px); }
.sensor-challenge-cols { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); }
.sensor-code-layout { height:100%; min-height:0; display:grid; grid-template-rows:minmax(0,1.15fr) minmax(0,.85fr); gap:16px; }
.sensor-code .pot-image-area { padding:12px; }
.sensor-code .pot-notes { align-items:start; }
.sensor-code .pot-notes .pot-panel { height:100%; }
.sensor-program { height:100%; min-width:0; min-height:0; display:flex; flex-direction:column; border:1px solid #c1d5e9; border-radius:18px; background:#f4f8fd; overflow:hidden; }
.sensor-program header { padding:15px 18px; background:#e8f1fb; border-bottom:1px solid #cbdced; color:#0b2447; font-weight:850; font-size:clamp(19px,2.05cqw,26px); }
.sensor-program ol { margin:0; padding:14px; display:grid; gap:10px; list-style:none; flex:1; min-height:0; align-content:center; counter-reset:program-step; }
.sensor-program li { position:relative; padding:12px 13px 12px 47px; background:#fff; border:1px solid #d1e0ef; border-left:4px solid #0b63ce; border-radius:11px; counter-increment:program-step; min-width:0; }
.sensor-program li::before { content:counter(program-step); position:absolute; left:11px; top:13px; font-size:16px; font-weight:850; color:#0b63ce; }
.sensor-program code { display:block; width:auto; color:#0b2447; background:none; font-size:clamp(16px,1.7cqw,21px); line-height:1.3; font-weight:800; font-family:"Segoe UI",Arial,sans-serif; white-space:normal; overflow-wrap:break-word; }
.sensor-program li>span { display:block; color:#334b66; font-size:clamp(15px,1.6cqw,19px); line-height:1.4; margin-top:5px; }
.sensor-program footer { flex:none; border-top:1px solid #d1e0ef; padding:10px 14px; color:#334b66; font-size:clamp(12px,1.2cqw,15px); }
.sensor-states-slide { display:flex; flex-direction:column; gap:18px; justify-content:center; }
.sensor-states { border:1px solid #c4d7e9; border-radius:18px; overflow:hidden; background:#fff; }
.sensor-state-head, .sensor-state-row { display:grid; grid-template-columns:1fr 1fr 1.75fr; align-items:center; gap:14px; padding:19px; }
.sensor-state-head { background:#eaf3fd; font-size:clamp(18px,2.1cqw,26px); }
.sensor-state-row { border-top:1px solid #d7e3ef; font-size:clamp(18px,2cqw,25px); line-height:1.3; }
.sensor-state-row>span { display:flex; align-items:center; gap:10px; color:#0b2447; }
.sensor-state-row p { margin:0; color:#334b66; font-size:inherit; }
.sensor-state-row i { width:1.15em; height:1.15em; border:2px solid #64748b; border-radius:50%; flex:none; }
.sensor-state-row i.is-black { background:#111827; border-color:#111827; }
.sensor-state-row i.is-white { background:#fff; }
@media(min-width:781px){
 .slide-stage:has(.slide.active .sensor-slide){aspect-ratio:auto; height:clamp(660px,47vw,800px); min-height:660px;}
 .slide-stage:has(.slide.active .sensor-slide):fullscreen{width:100vw;height:100vh;min-height:0;}
 .slide:has(.sensor-slide) .slide-title{font-size:clamp(26px,2.2vw,36px);line-height:1.16;}
}
@media(min-width:781px) and (max-width:1190px){
 .sensor-slide .pot-connection-columns{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);}
 .sensor-challenge-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);}
 .sensor-slide .pot-panel{padding:13px;}
 .sensor-program ol{gap:8px;padding:10px;}
 .sensor-program li{padding:9px 10px 9px 36px;}
 .sensor-program li::before{left:9px;top:10px;}
 .sensor-code-layout{grid-template-rows:minmax(0,1fr) minmax(0,1.1fr);}
 .sensor-state-row,.sensor-state-head{gap:10px;padding:16px 13px;}
}
@media(max-width:780px){
 .sensor-slide .pot-columns{grid-template-columns:1fr;}
 .sensor-program{height:auto;min-height:460px;}
 .sensor-program code{font-size:18px;}
 .sensor-program li>span{font-size:17px;}
 .sensor-code-layout{height:auto;grid-template-rows:auto auto;}
 .sensor-code-visual .pot-image-area{height:auto;aspect-ratio:2.7;}
 .sensor-code-visual{min-height:0;}
 .sensor-states-slide{height:auto;}
 .sensor-state-row,.sensor-state-head{font-size:16px;gap:9px;padding:13px 9px;grid-template-columns:1fr 1fr 1.2fr;}
 .sensor-state-row>span{gap:6px;flex-wrap:wrap;}
 .sensor-slide .pot-live-lab{height:510px;}
}
