.sensor-shell{--sensor-blue:#0964c7;--sensor-blue-dark:#163f75;--sensor-red:#d83a45;--sensor-yellow:#f0c20d;--sensor-ink:#172638;--sensor-muted:#617487;--sensor-line:#2444652e;min-height:100vh;color:var(--sensor-ink);background:linear-gradient(#254c730b 1px,#0000 1px) 0 0/40px 40px,linear-gradient(90deg,#254c730b 1px,#0000 1px) 0 0/40px 40px,linear-gradient(#f8fafc 0%,#edf2f6 58%,#f8fafb 100%);overflow:hidden}.sensor-shell *,.sensor-shell :before,.sensor-shell :after{box-sizing:border-box}.sensor-shell a{color:inherit;text-decoration:none}.sensor-shell button,.sensor-shell input,.sensor-shell select{font:inherit}.sensor-header{z-index:20;border-bottom:1px solid var(--sensor-line);background:#fcfdfeeb;justify-content:space-between;align-items:center;min-height:78px;padding:0 clamp(24px,5vw,76px);display:flex;position:relative;box-shadow:0 8px 30px #2339510f}.sensor-header:after{content:"";background:linear-gradient(90deg, var(--sensor-blue) 0 68%, var(--sensor-red) 68% 84%, var(--sensor-yellow) 84%);width:112px;height:4px;position:absolute;bottom:-1px;left:clamp(24px,5vw,76px)}.sensor-brand{align-items:center;gap:12px;display:flex}.sensor-brand-mark{color:#fff;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));letter-spacing:.08em;background:linear-gradient(145deg,#2277d3 0 62%,#d83a45 62% 78%,#f0c20d 78%);border:1px solid #3a5e81;place-items:center;width:42px;height:42px;font:900 13px/1 ui-monospace,monospace;display:grid;box-shadow:inset -5px -5px #132f4d29,5px 6px #1148851a}.sensor-brand>span:last-child{gap:2px;display:grid}.sensor-brand strong{letter-spacing:.12em;font-size:15px}.sensor-brand small{color:#73869a;letter-spacing:.2em;font:700 7px/1 ui-monospace,monospace}.sensor-header nav{align-items:center;gap:34px;display:flex}.sensor-header nav a{color:#566a7e;font-size:13px;font-weight:700;position:relative}.sensor-header nav a:hover,.sensor-header nav a.is-active{color:var(--sensor-blue)}.sensor-header nav a.is-active:after{content:"";background:var(--sensor-blue);height:2px;position:absolute;bottom:-12px;left:0;right:0}.catalog-hero{grid-template-columns:minmax(0,1.15fr) minmax(330px,.62fr);align-items:center;gap:clamp(48px,7vw,110px);max-width:1440px;min-height:580px;margin:auto;padding:82px clamp(24px,6vw,92px) 72px;display:grid;position:relative}.catalog-hero:before{content:"";border:1px solid #0e5ebb1a;border-radius:50%;width:470px;height:470px;position:absolute;top:90px;left:-80px;box-shadow:0 0 0 52px #0e5ebb06,0 0 0 104px #0e5ebb05}.catalog-intro{z-index:1;position:relative}.sensor-kicker{color:#5b7187;letter-spacing:.19em;align-items:center;gap:10px;font:800 10px/1.3 ui-monospace,monospace;display:flex}.sensor-kicker i{background:var(--sensor-red);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d83a451c}.catalog-intro h1{letter-spacing:-.055em;margin:22px 0 25px;font-size:clamp(48px,6.4vw,90px);line-height:.98}.catalog-intro h1 em{color:var(--sensor-blue);font-style:normal}.catalog-intro>p{max-width:680px;color:var(--sensor-muted);margin:0;font-size:17px;line-height:1.9}.catalog-actions{gap:12px;margin-top:34px;display:flex}.sensor-primary,.sensor-secondary{justify-content:center;align-items:center;min-height:50px;padding:0 22px;font-size:13px;font-weight:800;display:inline-flex}.sensor-primary{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));background:linear-gradient(110deg,#075dbd,#1a78d4);gap:22px;box-shadow:0 13px 28px #0a5cbb33;color:#fff!important}.sensor-secondary{border:1px solid var(--sensor-line);color:#3e566d;background:#ffffffb8}.catalog-status{border:1px solid #9caebe;border-top:6px solid var(--sensor-blue);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,22px 100%,0 calc(100% - 22px));background:linear-gradient(145deg,#fffffff7,#e4ebf1f5);padding:34px;position:relative;box-shadow:13px 15px #d5dde4,0 28px 62px #283c522b}.catalog-status:before{content:"";background:linear-gradient(var(--sensor-red) 0 62%, var(--sensor-yellow) 62%);width:6px;height:115px;position:absolute;top:70px;right:0}.status-header{color:#667c90;letter-spacing:.16em;justify-content:space-between;font:800 9px/1 ui-monospace,monospace;display:flex}.status-header i{color:#087451;background:#dff4e8;padding:5px 7px;font-style:normal}.catalog-status>strong{color:#184a82;letter-spacing:-.09em;margin-top:24px;font:900 clamp(70px,8vw,104px)/.9 ui-monospace,monospace;display:block}.catalog-status>p{color:#526b83;margin:12px 0 24px;font-size:13px;font-weight:800}.status-bars{border:1px solid var(--sensor-line);background:#e3e9ee;grid-template-columns:repeat(5,1fr);align-items:end;gap:5px;height:34px;padding:5px;display:grid}.status-bars i{background:#7ca8d3;height:45%;display:block}.status-bars i:nth-child(2){height:72%}.status-bars i:nth-child(3){height:56%}.status-bars i:nth-child(4){background:var(--sensor-blue);height:100%}.status-bars i:nth-child(5){background:var(--sensor-red);height:83%}.catalog-status dl{grid-template-columns:repeat(3,1fr);margin:24px 0 0;display:grid}.catalog-status dl div{border-right:1px solid var(--sensor-line);padding:0 12px}.catalog-status dl div:first-child{padding-left:0}.catalog-status dl div:last-child{border:0}.catalog-status dt{color:#7a8b9d;font-size:9px}.catalog-status dd{color:#233b53;margin:5px 0 0;font:900 17px/1 ui-monospace,monospace}.template-notice{border:1px solid var(--sensor-line);border-left:6px solid var(--sensor-red);background:#ffffffc4;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;max-width:1270px;margin:0 auto 80px;padding:24px 28px;display:grid;box-shadow:0 12px 28px #263a5012}.notice-index{color:var(--sensor-red);letter-spacing:.14em;font:900 10px/1 ui-monospace,monospace}.template-notice strong{color:#24384d}.template-notice p{color:#65788b;margin:0 0 0 8px;font-size:13px;line-height:1.8;display:inline}.template-notice>a{color:var(--sensor-blue);white-space:nowrap;font-size:12px;font-weight:900}.catalog-section,.lesson-section{max-width:1270px;margin:auto;padding:0 24px 100px;scroll-margin-top:88px}.catalog-heading,.lesson-section-title{justify-content:space-between;align-items:end;gap:36px;margin-bottom:32px;display:flex}.catalog-heading>div>span,.lesson-section-title>span{color:#617b93;letter-spacing:.19em;font:800 9px/1 ui-monospace,monospace}.catalog-heading h2,.lesson-section-title h2{letter-spacing:-.04em;margin:9px 0 0;font-size:clamp(30px,4vw,48px)}.catalog-heading>p,.lesson-section-title>p{max-width:560px;color:var(--sensor-muted);margin:0;font-size:13px;line-height:1.8}.catalog-toolbar{border:1px solid var(--sensor-line);box-shadow:inset 5px 0 0 var(--sensor-blue);background:#ffffffb3;grid-template-columns:1fr 250px 210px;gap:12px;padding:14px;display:grid}.catalog-toolbar>label{color:#718397;letter-spacing:.1em;gap:6px;font-size:9px;font-weight:800;display:grid}.catalog-toolbar select,.catalog-search{color:#334c64;background:#f8fafc;border:1px solid #2a4a6a2e;min-height:48px}.catalog-toolbar select{padding:0 13px}.catalog-search{grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:0 16px;display:flex!important}.catalog-search>span{color:var(--sensor-blue);font-size:22px}.catalog-search input{color:#253b51;background:0 0;border:0;outline:0;width:100%}.catalog-search input::placeholder{color:#8a98a7}.catalog-result-line{color:#6d8093;letter-spacing:.12em;align-items:center;gap:12px;margin:24px 0 15px;font:800 9px/1 ui-monospace,monospace;display:flex}.catalog-result-line i{background:var(--sensor-line);flex:1;height:1px}.catalog-result-line p{margin:0}.sensor-card-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.sensor-index-card{border:1px solid var(--sensor-line);clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,14px 100%,0 calc(100% - 14px));background:linear-gradient(145deg,#fff 0 82%,#e6ecf1 82%);flex-direction:column;min-height:325px;padding:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #273b510f}.sensor-index-card:before{content:"";background:#9aabba;width:44px;height:4px;position:absolute;top:0;left:0}.sensor-index-card.is-ready:before{background:linear-gradient(90deg, var(--sensor-blue) 0 70%, var(--sensor-red) 70% 85%, var(--sensor-yellow) 85%);width:94px}.sensor-index-card.is-ready:hover{border-color:#0964c77a;transform:translateY(-5px);box-shadow:0 18px 34px #233a5324}.sensor-card-top{color:#708397;letter-spacing:.1em;justify-content:space-between;font:800 8px/1 ui-monospace,monospace;display:flex}.sensor-card-top i{font-style:normal}.sensor-card-symbol{color:#778a9e;background:linear-gradient(145deg,#f8fafc,#e4eaef);border:1px solid #34537138;place-items:center;width:56px;height:56px;margin:26px 0 18px;font-size:22px;display:grid;box-shadow:inset -5px -5px #2e48610a}.sensor-index-card.is-ready .sensor-card-symbol{color:var(--sensor-blue);border-color:#0964c766}.sensor-index-card h3{color:#21364b;min-height:50px;margin:0;font-size:17px;line-height:1.5}.sensor-index-card>p{color:#748598;margin:8px 0 14px;font-size:11px;line-height:1.6}.sensor-card-tags{flex-wrap:wrap;gap:5px;display:flex}.sensor-card-tags span{color:#667d92;background:#edf2f6;padding:5px 7px;font:800 8px/1 ui-monospace,monospace}.sensor-index-card>code{color:#55728e;text-overflow:ellipsis;white-space:nowrap;margin-top:12px;font:700 9px/1.4 ui-monospace,monospace;display:block;overflow:hidden}.sensor-card-status{border-top:1px solid var(--sensor-line);color:#7a8b9c;align-items:center;gap:7px;margin-top:auto;padding-top:14px;font-size:9px;font-weight:800;display:flex}.sensor-card-status i{background:#9daab5;border-radius:50%;width:6px;height:6px}.sensor-card-status b{margin-left:auto;font-size:15px}.sensor-card-status.is-ready{color:var(--sensor-blue)}.sensor-card-status.is-ready i{background:#19a978;box-shadow:0 0 0 3px #19a9781f}.sensor-card-status.is-ready b{color:var(--sensor-red)}.load-more{min-width:240px;min-height:50px;color:var(--sensor-blue);cursor:pointer;background:#fff;border:1px solid #0964c759;justify-content:space-between;align-items:center;gap:30px;margin:28px auto 0;padding:0 20px;font-size:12px;font-weight:900;display:flex}.load-more span{color:var(--sensor-red);font:900 10px/1 ui-monospace,monospace}.catalog-empty{background:#ffffff8c;border:1px dashed #a8b5c1;align-content:center;place-items:center;gap:12px;min-height:250px;display:grid}.catalog-empty span{color:var(--sensor-red);font:900 10px/1 ui-monospace,monospace}.catalog-empty strong{font-size:22px}.catalog-empty button{border:1px solid var(--sensor-line);cursor:pointer;background:#fff;padding:9px 14px}.sensor-footer{border-top:1px solid var(--sensor-line);color:#6b7f92;background:#ffffff94;justify-content:space-between;align-items:center;gap:20px;min-height:100px;padding:0 clamp(24px,6vw,88px);font-size:11px;display:flex}.sensor-footer>span{color:#355979;letter-spacing:.18em;font:900 9px/1 ui-monospace,monospace}.sensor-footer a{color:var(--sensor-blue);font-weight:900}.tutorial-breadcrumb{color:#718396;align-items:center;gap:10px;max-width:1270px;margin:22px auto 0;padding:0 24px;font-size:10px;display:flex}.tutorial-breadcrumb a{color:var(--sensor-blue);font-weight:800}.tutorial-breadcrumb strong{color:#324c66}.tutorial-hero{grid-template-columns:minmax(0,1.05fr) minmax(390px,.75fr);align-items:center;gap:70px;max-width:1270px;min-height:570px;margin:auto;padding:66px 24px 75px;display:grid;position:relative}.tutorial-hero:after{content:"";background:linear-gradient(90deg, var(--sensor-blue) 0 62%, var(--sensor-red) 62% 72%, var(--sensor-yellow) 72% 79%, #d5dde4 79%);height:5px;position:absolute;bottom:0;left:24px;right:24px}.tutorial-title{z-index:1;position:relative}.tutorial-code{color:#7990a5;letter-spacing:.14em;margin:24px 0 8px;font:800 9px/1 ui-monospace,monospace}.tutorial-title h1{letter-spacing:-.055em;margin:0;font-size:clamp(48px,5.6vw,78px);line-height:1.02}.tutorial-title h1 span{color:var(--sensor-blue);letter-spacing:-.035em;margin-top:12px;font-size:.57em;display:block}.tutorial-title>p:not(.tutorial-code){max-width:700px;color:var(--sensor-muted);margin:24px 0 0;font-size:16px;line-height:1.9}.tutorial-badges{flex-wrap:wrap;gap:7px;margin-top:28px;display:flex}.tutorial-badges span{border:1px solid var(--sensor-line);color:#536c83;background:#ffffffb3;padding:8px 11px;font:800 9px/1 ui-monospace,monospace}.sonar-display{min-height:390px;position:relative}.sonar-screen{border:2px solid #345b7f;border-top:7px solid var(--sensor-blue);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,20px 100%,0 calc(100% - 20px));background:radial-gradient(circle at 50% 105%,#0964c724,#0000 68%),linear-gradient(#27537e14 1px,#0000 1px) 0 0/20px 20px,linear-gradient(90deg,#27537e14 1px,#0000 1px) 0 0/20px 20px,#f8fafb;position:absolute;inset:0 0 70px;overflow:hidden;box-shadow:13px 14px #d4dde5,0 24px 50px #233a5329}.sonar-screen:before{content:"";border:1px solid #0964c740;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-120px;left:50%;transform:translate(-50%)}.sonar-arc{border:1px solid #0964c73d;border-radius:50%;width:270px;height:270px;position:absolute;bottom:-75px;left:50%;transform:translate(-50%)}.sonar-arc.arc-b{width:180px;height:180px;bottom:-30px}.sonar-arc.arc-c{width:90px;height:90px;bottom:15px}.sonar-target{background:var(--sensor-red);border:3px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;top:32%;left:66%;box-shadow:0 0 0 6px #d83a4529,0 0 20px #d83a456b}.sonar-value{align-items:baseline;gap:8px;display:flex;position:absolute;top:30px;left:30px}.sonar-value strong{color:#174d82;font:900 44px/1 ui-monospace,monospace}.sonar-value small{color:#72899e;font:900 10px/1 ui-monospace,monospace}.sonar-screen>b{color:#16815e;letter-spacing:.16em;font:800 8px/1 ui-monospace,monospace;position:absolute;bottom:22px;right:27px}.module-face{z-index:2;background:linear-gradient(145deg,#fff,#dfe7ed);border:2px solid #365b7c;justify-content:space-around;align-items:center;width:230px;height:94px;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%);box-shadow:9px 10px #314d6721}.module-face i{background:radial-gradient(circle,#8295a6 0 15%,#dfe5ea 16% 42%,#8194a5 43% 47%,#edf1f4 48%);border:7px double #607991;border-radius:50%;width:63px;height:63px;display:block}.module-face span{color:#4e6579;letter-spacing:.15em;font:900 7px/1 ui-monospace,monospace;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.display-caption{color:#6e8296;letter-spacing:.12em;justify-content:space-between;font:800 8px/1 ui-monospace,monospace;display:flex;position:absolute;bottom:0;left:0;right:0}.lesson-jump{z-index:10;border:1px solid var(--sensor-line);background:#fcfdfef0;max-width:1222px;margin:0 auto 90px;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:0 10px 26px #253b5214}.lesson-jump a{border-right:1px solid var(--sensor-line);color:#5e7388;text-align:center;flex:1;min-width:max-content;padding:16px 15px;font-size:10px;font-weight:800}.lesson-jump a:hover{color:var(--sensor-blue);background:#eaf2fb}.lesson-section-title{align-items:start}.lesson-section-title>p{margin-top:22px}.overview-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.lesson-panel{border:1px solid var(--sensor-line);background:#ffffffd1;padding:30px;box-shadow:0 12px 28px #273c5212}.lesson-panel h3{margin:0 0 24px;font-size:18px}.objective-panel{border-top:5px solid var(--sensor-blue)}.objective-panel ol{gap:15px;margin:0;padding:0;list-style:none;display:grid}.objective-panel li{color:#50667c;gap:10px;font-size:13px;line-height:1.7;display:flex}.objective-panel li span{color:#13845f;font-weight:900}.materials-panel{border-top:5px solid var(--sensor-red)}.material-list{gap:10px;display:grid}.material-list>div{border-bottom:1px solid var(--sensor-line);align-items:center;gap:15px;padding:11px 0;display:flex}.material-list>div>b{width:34px;height:34px;color:var(--sensor-red);background:#fbe9eb;place-items:center;font:900 12px/1 ui-monospace,monospace;display:grid}.material-list span{gap:3px;display:grid}.material-list strong{color:#30475e;font-size:13px}.material-list small{color:#7a8b9c;font-size:10px}.course-meta{border:1px solid var(--sensor-line);color:#fff;background:#263a4d;grid-template-columns:repeat(3,1fr);margin-top:16px;display:grid}.course-meta div{border-right:1px solid #ffffff21;padding:17px 20px}.course-meta span{color:#9cb0c2;letter-spacing:.12em;font:800 8px/1 ui-monospace,monospace;display:block}.course-meta strong{margin-top:7px;font-size:12px;display:block}.principle-steps{grid-template-columns:repeat(4,1fr);gap:12px;display:grid;position:relative}.principle-steps:before{content:"";background:linear-gradient(90deg, var(--sensor-blue), var(--sensor-red));height:2px;position:absolute;top:31px;left:7%;right:7%}.principle-steps article{border:1px solid var(--sensor-line);background:#fffc;padding:21px;position:relative}.principle-steps article>span{z-index:2;color:#fff;background:var(--sensor-blue);place-items:center;width:23px;height:23px;font:900 8px/1 ui-monospace,monospace;display:grid;position:relative}.principle-steps article:nth-child(3)>span,.principle-steps article:nth-child(4)>span{background:var(--sensor-red)}.principle-steps h3{margin:27px 0 9px;font-size:17px}.principle-steps p{color:#65798d;margin:0;font-size:12px;line-height:1.75}.formula-card{border:1px solid #9baebe;border-left:7px solid var(--sensor-yellow);background:linear-gradient(110deg,#fff,#e7edf2);margin-top:16px;padding:28px 32px;position:relative;overflow:hidden}.formula-card:after{content:"÷ 2";color:#0964c712;font:900 84px/1 ui-monospace,monospace;position:absolute;top:4px;right:20px}.formula-card>span{color:#657d93;letter-spacing:.16em;font:800 8px/1 ui-monospace,monospace}.formula-card strong{color:#174f87;margin:11px 0 7px;font-size:clamp(20px,3vw,32px);display:block}.formula-card p{color:#64778a;margin:0;font-size:12px}.wiring-layout{grid-template-columns:.8fr 1.2fr;gap:16px;display:grid}.wiring-visual{border:1px solid var(--sensor-line);background-color:#f8fafb;background-image:linear-gradient(#2f53770f 1px,#0000 1px),linear-gradient(90deg,#2f53770f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;grid-template-columns:1fr 80px 1fr;align-items:center;min-height:350px;padding:25px;display:grid;position:relative}.wiring-module{background:#fff;border:2px solid #3d607f;gap:10px;padding:20px;display:grid;box-shadow:7px 8px #d4dde5}.wiring-module>strong{color:#2c4964;margin-bottom:8px;font:900 11px/1 ui-monospace,monospace}.wiring-module>span{color:#fff;background:#53718d;padding:7px 9px;font:900 9px/1 ui-monospace,monospace}.wiring-module .wire-vcc{background:#d43d47}.wiring-module .wire-trig{background:#d6a900}.wiring-module .wire-echo{background:#1871c9}.wiring-module .wire-gnd{background:#263746}.wire-lines{gap:24px;display:grid}.wire-lines i{background:#d43d47;height:3px}.wiring-board{color:#fff;background:#1265a9;border:2px solid #235986;padding:23px 16px;box-shadow:inset -9px -9px #00244724,7px 8px #d4dde5}.wiring-board>span{color:#b9ddf7;font:800 8px/1 ui-monospace,monospace;display:block}.wiring-board>strong{margin:5px 0 18px;font-size:23px;display:block}.wiring-board div{gap:10px;display:grid}.wiring-board i{color:#173a59;background:#edf6fc;padding:7px;font:900 9px/1 ui-monospace,monospace}.wiring-table-wrap{border:1px solid var(--sensor-line);background:#fffc;overflow-x:auto}.wiring-table,.result-table table{border-collapse:collapse;width:100%}.wiring-table th,.wiring-table td,.result-table th,.result-table td{border-bottom:1px solid var(--sensor-line);text-align:left;padding:17px 15px;font-size:11px;line-height:1.55}.wiring-table th,.result-table th{color:#698096;letter-spacing:.08em;background:#edf2f6;font:800 9px/1 ui-monospace,monospace}.wiring-table td{color:#5f7489}.wiring-table td b{color:var(--sensor-blue);font:900 12px/1 ui-monospace,monospace}.safety-callout{border-left:6px solid var(--sensor-yellow);background:#fff8d9;gap:18px;margin-top:16px;padding:20px 24px;display:flex}.safety-callout strong{color:#735c00;white-space:nowrap}.safety-callout p{color:#6e6340;margin:0;font-size:12px;line-height:1.7}.block-guide-grid{gap:13px;display:grid}.block-guide{border:1px solid var(--sensor-line);background:#ffffffd1;grid-template-columns:minmax(280px,.65fr) 1.35fr;min-height:190px;display:grid}.block-preview{border-right:1px solid var(--sensor-line);background-color:#e8eef3;background-image:linear-gradient(#2b4e710f 1px,#0000 1px),linear-gradient(90deg,#2b4e710f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;padding:30px;display:grid}.block-preview span{color:#fff;background:#3d9c55;border-radius:5px;padding:15px 20px;font-size:12px;font-weight:800;display:inline-block;position:relative;box-shadow:inset 0 -4px #0000001f,5px 6px #213c5321}.block-preview span:before{content:"";background:inherit;border-radius:5px 5px 0 0;width:18px;height:8px;position:absolute;top:-5px;left:20px}.block-guide:first-child .block-preview span,.block-guide:nth-child(3) .block-preview span{background:#8a55b5}.block-guide:nth-child(4) .block-preview span{background:#d2a400}.block-guide-copy>span{color:#71869b;letter-spacing:.14em;font:800 8px/1 ui-monospace,monospace}.block-guide-copy>code{float:right;color:var(--sensor-blue);font-size:9px}.block-guide-copy>p{color:#62778c;margin:0;font-size:12px;line-height:1.7}.block-guide-copy>small{color:#7a8c9d;margin-top:10px;display:block}.block-guide-copy dl{margin:15px 0 0}.block-guide-copy dl div{border-top:1px solid var(--sensor-line);grid-template-columns:70px 1fr;gap:12px;padding:8px 0;display:grid}.block-guide-copy dt{color:#5b7288;font-size:10px;font-weight:900}.block-guide-copy dd{color:#748699;margin:0;font-size:10px}.block-guide-copy dd b{color:var(--sensor-red);margin-right:8px}.compatibility-note{border:1px solid var(--sensor-line);border-left:6px solid var(--sensor-blue);background:#edf5fd;margin-top:14px;padding:20px 24px}.compatibility-note span{color:var(--sensor-blue);letter-spacing:.14em;font:900 8px/1 ui-monospace,monospace}.compatibility-note p{color:#5c7287;margin:8px 0 0;font-size:12px;line-height:1.7}.compatibility-note code{color:#164f88}.example-layout{grid-template-columns:1.05fr .95fr;gap:16px;display:grid}.block-workspace{background-color:#263a4d;background-image:linear-gradient(#6285a71f 1px,#0000 1px),linear-gradient(90deg,#6285a71f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #3b5d7d;min-height:560px;padding:0 25px 40px;position:relative;overflow:hidden;box-shadow:10px 12px #d5dde4}.workspace-head{color:#9bb0c3;letter-spacing:.12em;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;height:48px;margin:0 -25px 30px;padding:0 20px;font:800 8px/1 ui-monospace,monospace;display:flex}.workspace-head i{color:#76e4b1;font-style:normal}.block-stack{align-content:start;display:grid}.demo-block{color:#fff;background:#9b5ab8;border-radius:5px;width:fit-content;min-width:230px;padding:13px 18px;font-size:11px;font-weight:800;position:relative;box-shadow:inset 0 -4px #00000026,4px 5px #0000001f}.demo-block+.demo-block{margin-top:-1px}.demo-block:before{content:"";background:inherit;border-radius:4px 4px 0 0;width:17px;height:7px;position:absolute;top:-4px;left:22px}.demo-block.is-indent{margin-left:32px}.demo-block.tone-sensor{background:#43995a;margin-left:75px}.demo-block.tone-output{background:#9250aa}.demo-block.tone-control{background:#c79a00}.demo-block.tone-event{background:#b67b16;min-width:170px}.workspace-axis{color:#8da2b5;justify-content:space-between;font:700 7px/1 ui-monospace,monospace;display:flex;position:absolute;bottom:15px;left:20px;right:20px}.example-steps{border:1px solid var(--sensor-line);background:#ffffffd1;padding:25px}.example-steps>h3{margin:0 0 20px;font-size:18px}.example-steps article{border-top:1px solid var(--sensor-line);grid-template-columns:38px 1fr;gap:14px;padding:14px 0;display:grid}.example-steps article>span{color:#fff;background:var(--sensor-blue);place-items:center;width:30px;height:30px;font:900 9px/1 ui-monospace,monospace;display:grid}.example-steps strong{font-size:13px}.example-steps p{color:#5d7287;margin:5px 0;font-size:11px;line-height:1.6}.example-steps small{color:#8996a3;font-size:9px;line-height:1.5}.usage-explanation{border:1px solid var(--sensor-line);border-top:5px solid var(--sensor-red);background:#fff;margin-top:27px;padding:26px 30px 26px 150px;position:relative}.usage-explanation>span{color:var(--sensor-red);letter-spacing:.1em;font:900 9px/1 ui-monospace,monospace;position:absolute;top:30px;left:24px}.usage-explanation strong{color:#273e54;font-size:17px;display:block}.usage-explanation p{color:#64778a;margin:8px 0 0;font-size:12px;line-height:1.75}.usage-explanation code{color:var(--sensor-blue)}.result-table{border:1px solid var(--sensor-line);background:#ffffffd1;margin-top:16px;overflow-x:auto}.result-table h3{border-bottom:1px solid var(--sensor-line);margin:0;padding:18px 20px;font-size:15px}.result-table td{color:#60758a}.result-table td b{color:#164f86}.code-card{background:#1f3142;border:2px solid #345673;overflow:hidden;box-shadow:10px 12px #d4dde5}.code-card>div{color:#9eb1c2;letter-spacing:.14em;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:45px;padding:0 20px;font:800 8px/1 ui-monospace,monospace;display:flex}.code-card>div i{color:#eecf50;font-style:normal}.code-card pre{color:#88dcff;margin:0;padding:30px;font:500 13px/1.8 ui-monospace,Consolas,monospace;overflow-x:auto}.code-card code{white-space:pre}.debug-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.debug-grid article{border:1px solid var(--sensor-line);border-top:5px solid var(--sensor-red);background:#ffffffd1;padding:26px;position:relative}.debug-grid article>span{color:var(--sensor-red);letter-spacing:.14em;font:900 8px/1 ui-monospace,monospace}.debug-grid h3{margin:12px 0 17px;font-size:18px}.debug-grid p{color:#60758a;margin:8px 0 0;font-size:11px;line-height:1.7}.debug-grid p b{color:#344d65}.challenge-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.challenge-grid article{border:1px solid var(--sensor-line);background:linear-gradient(145deg,#fff 0 82%,#e5ebf0 82%);min-height:190px;padding:25px}.challenge-grid article:first-child{border-top:5px solid var(--sensor-blue)}.challenge-grid article:nth-child(2){border-top:5px solid var(--sensor-yellow)}.challenge-grid article:nth-child(3){border-top:5px solid var(--sensor-red)}.challenge-grid span{color:#657c91;letter-spacing:.12em;font:900 9px/1 ui-monospace,monospace}.challenge-grid h3{margin:28px 0 10px;font-size:20px}.challenge-grid p{color:#62768a;margin:0;font-size:12px;line-height:1.7}.assessment-panel{color:#fff;background:#263a4d;border:1px solid #405d78;grid-template-columns:230px 1fr;margin-top:15px;display:grid}.assessment-panel>div{border-right:1px solid #ffffff21;padding:28px}.assessment-panel span{color:#a6b8c8;font-size:11px}.assessment-panel strong{color:#78caff;margin-top:12px;font:900 16px/1 ui-monospace,monospace;display:block}.assessment-panel ul{grid-template-columns:repeat(2,1fr);align-content:center;gap:12px 24px;margin:0;padding:27px 35px;list-style:none;display:grid}.assessment-panel li{color:#d6e0e8;font-size:11px;line-height:1.55}.source-list{gap:10px;display:grid}.source-list>a,.source-list>article{border:1px solid var(--sensor-line);background:#fffc;grid-template-columns:120px 1fr auto;align-items:center;gap:18px;padding:20px 23px;display:grid}.source-list>a:hover{background:#fff;border-color:#0964c76b}.source-list>*>span{width:fit-content;color:var(--sensor-blue);background:#e7f1fb;padding:6px 8px;font:800 8px/1 ui-monospace,monospace}.source-list strong{color:#30485f;font-size:13px;display:block}.source-list small{color:#7c8d9d;margin-top:3px;font-size:9px;display:block}.source-list p{color:#687c90;margin:7px 0 0;font-size:10px;line-height:1.6}.source-list>*>b{color:var(--sensor-red);font:900 10px/1 ui-monospace,monospace}.revision-line{border-top:5px solid var(--sensor-blue);background:#e7edf2;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-top:15px;padding:22px;display:grid}.revision-line span{color:#55738e;letter-spacing:.12em;font:900 8px/1 ui-monospace,monospace}.revision-line p{color:#627588;margin:0;font-size:11px;line-height:1.7}.revision-line a{color:var(--sensor-blue);white-space:nowrap;font-size:11px;font-weight:900}@media (max-width:1050px){.sensor-card-grid{grid-template-columns:repeat(3,1fr)}.catalog-hero,.tutorial-hero{grid-template-columns:1fr 390px;gap:35px}.catalog-toolbar{grid-template-columns:1fr 200px 190px}.principle-steps{grid-template-columns:repeat(2,1fr)}.principle-steps:before{display:none}.wiring-layout,.example-layout{grid-template-columns:1fr}.block-workspace{min-height:500px}}@media (max-width:820px){.sensor-header{min-height:68px}.sensor-header nav{gap:16px}.sensor-header nav a:not(.is-active){display:none}.catalog-hero,.tutorial-hero{grid-template-columns:1fr;padding-top:56px}.catalog-status{max-width:500px}.sonar-display{min-height:410px}.template-notice{grid-template-columns:1fr;margin-inline:20px}.template-notice p{margin:7px 0 0;display:block}.catalog-heading,.lesson-section-title{flex-direction:column;align-items:start;gap:5px}.lesson-section-title>p{margin-top:5px}.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-search{grid-column:1/-1}.sensor-card-grid{grid-template-columns:repeat(2,1fr)}.overview-grid,.debug-grid,.course-meta{grid-template-columns:1fr}.course-meta div{border-bottom:1px solid #ffffff21;border-right:0}.lesson-jump{margin-inline:18px}.block-guide{grid-template-columns:1fr}.block-preview{border-right:0;border-bottom:1px solid var(--sensor-line);min-height:160px}.challenge-grid,.assessment-panel{grid-template-columns:1fr}.assessment-panel>div{border-bottom:1px solid #ffffff21;border-right:0}.assessment-panel ul{grid-template-columns:1fr}.source-list>a,.source-list>article{grid-template-columns:100px 1fr}.source-list>*>b{display:none}.revision-line{grid-template-columns:1fr}}@media (max-width:560px){.sensor-header{padding-inline:18px}.sensor-brand>span:last-child{display:none}.catalog-hero{min-height:0;padding-inline:20px}.catalog-intro h1{font-size:47px}.catalog-actions{flex-direction:column;align-items:stretch}.catalog-status{padding:27px 24px}.catalog-section,.lesson-section{padding-inline:18px;padding-bottom:80px}.catalog-toolbar{grid-template-columns:1fr}.catalog-search{grid-column:auto}.sensor-card-grid{grid-template-columns:1fr}.sensor-index-card{min-height:300px}.tutorial-breadcrumb{white-space:nowrap;overflow:hidden}.tutorial-hero{padding-inline:18px}.tutorial-title h1{font-size:43px}.tutorial-title>p:not(.tutorial-code){font-size:14px}.sonar-display{min-height:360px}.sonar-screen{bottom:60px}.sonar-value strong{font-size:35px}.module-face{width:205px}.module-face i{width:55px;height:55px}.lesson-jump{margin-bottom:70px}.overview-grid{gap:10px}.lesson-panel{padding:23px 20px}.principle-steps{grid-template-columns:1fr}.wiring-visual{grid-template-columns:1fr 45px 1fr;padding:14px}.wiring-module{padding:12px 9px}.wiring-board{padding:17px 9px}.wire-lines{gap:27px}.safety-callout{flex-direction:column;gap:7px}.block-guide-copy{padding:22px 18px}.block-guide-copy>code{float:none;margin-top:7px;display:block}.block-workspace{min-height:510px;padding-inline:16px}.workspace-head{margin-inline:-16px}.demo-block{min-width:205px;font-size:9px}.demo-block.is-indent{margin-left:16px}.demo-block.tone-sensor{margin-left:38px}.example-steps{padding:20px 17px}.usage-explanation{padding:65px 20px 24px}.usage-explanation>span{top:25px;left:20px}.code-card pre{padding:20px 17px;font-size:10px}.source-list>a,.source-list>article{grid-template-columns:1fr}.sensor-footer{flex-direction:column;justify-content:center;align-items:flex-start;padding-block:24px}}@media (prefers-reduced-motion:reduce){.sensor-shell *,.sensor-shell :before,.sensor-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.catalog-hero{min-height:450px;padding-top:50px;padding-bottom:48px}.catalog-intro h1{margin-block:17px 18px;font-size:clamp(46px,5.3vw,72px)}.catalog-intro>p{font-size:15px;line-height:1.75}.catalog-actions{margin-top:25px}.catalog-status{padding:25px 28px}.catalog-status>strong{margin-top:18px;font-size:clamp(62px,7vw,88px)}.catalog-status>p{margin:8px 0 16px;font-size:13px}.catalog-status dl{margin-top:17px}.template-notice{margin-bottom:50px;padding-block:18px}.catalog-section{padding-bottom:70px}.catalog-heading{margin-bottom:22px}.catalog-heading h2{font-size:clamp(28px,3vw,38px)}.catalog-heading>p{font-size:14px}.catalog-toolbar{grid-template-columns:1fr 220px}.taxonomy-path{color:#6c8093;background:#ffffffc7;border-left:4px solid #4aa968;align-items:center;gap:10px;margin:16px 0 12px;padding:11px 14px;font-size:12px;display:flex}.taxonomy-path span{color:#2e7350;font-weight:900}.taxonomy-path i{color:#9babb9;font-style:normal}.taxonomy-path strong{color:var(--sensor-blue)}.taxonomy-path b{color:#394f64}.catalog-browser{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:14px;display:grid}.taxonomy-tree{border:1px solid var(--sensor-line);background:#ffffffdb;border-top:5px solid #4aa968;position:sticky;top:12px;overflow:hidden;box-shadow:0 10px 24px #263c5212}.tree-heading{border-bottom:1px solid var(--sensor-line);background:#f4f7f9;gap:6px;padding:17px 16px 14px;display:grid}.tree-heading span{color:#708599;letter-spacing:.15em;font:800 8px/1 ui-monospace,monospace}.tree-heading strong{color:#2c6f4d;font-size:14px}.taxonomy-tree button{color:#536a80;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #24446514;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 13px 8px 18px;display:flex}.taxonomy-tree button:before{content:"";background:#e8eeea;border:1px solid #8da08f;flex:none;width:5px;height:5px;transform:rotate(45deg)}.taxonomy-tree button span{flex:1;font-size:12px;font-weight:700}.taxonomy-tree button b{color:#8293a3;font:800 9px/1 ui-monospace,monospace}.taxonomy-tree button:hover{color:#276947;background:#eff7f2}.taxonomy-tree button.is-active{color:#fff;background:#4aa968;box-shadow:inset 5px 0 #267547}.taxonomy-tree button.is-active:before{background:#fff;border-color:#fff}.taxonomy-tree button.is-active b{color:#fff}.catalog-results{min-width:0}.catalog-result-line{margin-top:1px}.catalog-browser .sensor-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sensor-index-card{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,11px 100%,0 calc(100% - 11px));min-height:214px;padding:16px}.sensor-card-top{font-size:7px}.sensor-index-card h3{text-overflow:ellipsis;white-space:nowrap;min-height:0;margin-top:19px;font-size:13px;line-height:1.45;overflow:hidden}.sensor-index-card>p{text-overflow:ellipsis;white-space:nowrap;margin:6px 0 10px;font-size:11px;overflow:hidden}.sensor-card-tags span{padding:4px 6px;font-size:7px}.sensor-index-card>code{margin-top:9px;font-size:8px}.sensor-card-status{padding-top:10px;font-size:8px}.tutorial-hero{min-height:430px;padding-top:38px;padding-bottom:48px}.tutorial-title .tutorial-code{margin-top:18px}.tutorial-title h1{font-size:clamp(34px,3.4vw,44px);line-height:1.08}.tutorial-title h1 span{margin-top:8px;font-size:.58em}.tutorial-title>p:not(.tutorial-code){margin-top:18px;font-size:16px;line-height:1.75}.tutorial-badges{margin-top:20px}.wiring-visual{align-items:start}.wiring-module,.wiring-board{min-width:0;padding:20px 16px}.wiring-module>span:first-child,.wiring-board>span{color:#6f879d;letter-spacing:.12em;background:0 0;padding:0;font:800 8px/1 ui-monospace,monospace}.wiring-module>strong,.wiring-board>strong{align-items:center;min-width:0;min-height:0;margin:0;font-size:clamp(14px,1.7vw,18px);line-height:1.15;display:flex;overflow:hidden}.wiring-module>strong{color:#2c4964}.wiring-module .wiring-pin,.wiring-board .wiring-pin{color:#fff;background:#53718d;align-items:center;min-width:0;padding:7px 9px;font:900 9px/1.25 ui-monospace,monospace;display:flex}.wire-lines{padding:20px 0}.wire-lines>span{display:block}.wire-lines>i{background:#4aa968;align-self:center;width:100%;height:3px}.wire-lines i.wire-line-0{background:#d43d47}.wire-lines i.wire-line-1{background:#d6a900}.wire-lines i.wire-line-2{background:#1871c9}.wire-lines i.wire-line-3{background:#263746}.wiring-check{border-left:4px solid var(--sensor-blue);background:#edf5fd;align-items:baseline;gap:15px;margin-top:14px;padding:13px 16px;display:flex}.wiring-check.has-warning{border-left-color:var(--sensor-red);background:#fff2f0}.wiring-check span{color:var(--sensor-blue);letter-spacing:.1em;white-space:nowrap;font:900 9px/1 ui-monospace,monospace}.wiring-check.has-warning span{color:var(--sensor-red)}.wiring-check p{color:#5e7387;margin:0;font-size:11px;line-height:1.6}.blockly-real-block{color:#fff;text-shadow:0 1px #0000002e;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;max-width:100%;padding:9px 12px;font-size:11px;font-weight:800;line-height:1.35;display:inline-flex;position:relative;box-shadow:inset 0 -3px #00000029,inset 0 1px #ffffff29,0 3px #1c2f4229}.blockly-real-block>span:first-child{min-width:0}.blockly-sensor{background:#4aa968}.blockly-comms{background:#8d5bb5}.blockly-program-colour{background:#d76b27}.blockly-control{background:#c49a2c}.blockly-real-block.blockly-statement{border-radius:4px}.blockly-real-block.blockly-statement:before{content:"";background:inherit;border-radius:5px 5px 0 0;width:23px;height:7px;position:absolute;top:-4px;left:17px;box-shadow:inset 0 1px #ffffff1f}.blockly-real-block.blockly-statement:after{content:"";z-index:2;background:inherit;border-radius:0 0 5px 5px;width:23px;height:7px;position:absolute;bottom:-4px;left:17px}.blockly-real-block.blockly-reporter{border-radius:17px}.blockly-real-block.blockly-boolean{clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);border-radius:4px}.blockly-real-block.is-indent{margin-left:28px}.blockly-real-block code{color:#ffffffad;letter-spacing:.04em;text-shadow:none;flex-basis:100%;font:700 7px/1.2 ui-monospace,monospace}.blockly-real-block .blockly-field{color:#273848;min-height:21px;text-shadow:none;background:#f5f7f8;padding:2px 6px;font-size:9px}.blockly-program-slot .blockly-real-block+.blockly-real-block{margin-top:6px}.blockly-program-slot .blockly-real-block.is-indent{margin-left:18px}.block-preview .blockly-real-block{max-width:100%}.block-preview .blockly-real-block>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-explanation-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:16px;display:grid}.code-source-details{min-width:0}.code-source-details .code-card{height:100%;margin:0}.code-guide-card{border:1px solid var(--sensor-line);background:#ffffffd6}.code-guide-head{border-bottom:1px solid var(--sensor-line);gap:7px;padding:20px 22px;display:grid}.code-guide-head span,.code-key-points>span{color:var(--sensor-blue);letter-spacing:.13em;font:900 9px/1 ui-monospace,monospace}.code-guide-head strong{color:#253d54;font-size:18px}.code-guide-steps{padding:0 22px}.code-guide-steps article{border-bottom:1px solid var(--sensor-line);grid-template-columns:31px 1fr;gap:12px;padding:17px 0;display:grid}.code-guide-steps article>span{color:#fff;background:var(--sensor-blue);place-items:center;width:26px;height:26px;font:900 9px/1 ui-monospace,monospace;display:grid}.code-guide-steps article strong{color:#263e55;font-size:13px}.code-guide-steps article code{color:#16558c;white-space:nowrap;background:#eef4f8;margin-top:6px;padding:7px 9px;font:700 10px/1.45 ui-monospace,monospace;display:block;overflow-x:auto}.code-guide-steps article p{color:#5f7488;margin:7px 0 0;font-size:11px;line-height:1.7}.code-key-points{background:#f7fafc;padding:18px 22px 21px}.code-key-points ul{color:#5f7488;gap:7px;margin:11px 0 0;padding-left:18px;font-size:11px;line-height:1.65;display:grid}.challenge-grid{align-items:start}.challenge-grid>article{min-height:0}.challenge-task{margin-bottom:14px!important}.challenge-solution{border:1px solid #145fa929;border-left:4px solid var(--sensor-blue);background:#f3f8fc;padding:14px 15px}.challenge-solution>strong{color:#16558c;font-size:12px}.challenge-solution>p{color:#5e7387;margin:7px 0 0;font-size:11px;line-height:1.7}.challenge-solution ol{color:#5e7387;gap:6px;margin:10px 0 0;padding-left:18px;font-size:11px;line-height:1.65;display:grid}.challenge-solution small{color:#49647d;margin-top:11px;font-size:10px;line-height:1.6;display:block}@media (max-width:900px){.code-explanation-layout{grid-template-columns:1fr}}@media (max-width:600px){.wiring-module,.wiring-board{padding-inline:9px}.wiring-check{flex-direction:column;align-items:flex-start;gap:6px}.blockly-real-block{font-size:9px}.blockly-real-block code{font-size:6px}.code-guide-steps,.code-key-points,.code-guide-head{padding-inline:15px}}.sonar-display{min-height:340px}.sonar-screen{bottom:65px}.module-face{bottom:25px}.lesson-jump{margin-bottom:55px}.lesson-jump a{padding-block:13px;font-size:11px}.lesson-section{padding-bottom:64px}.lesson-section-title{margin-bottom:22px}.lesson-section-title h2{font-size:clamp(27px,3vw,36px)}.lesson-section-title>p{margin-top:12px;font-size:14px;line-height:1.7}.lesson-panel{padding:23px}.lesson-panel h3{margin-bottom:17px}.objective-panel ol{gap:10px}.objective-panel li{font-size:14px;line-height:1.55}.material-list>div{padding-block:8px}.material-list strong{font-size:14px}.material-list small{font-size:11px}.course-meta div{padding-block:14px}.course-meta strong{font-size:13px}.principle-steps article{padding:17px}.principle-steps h3{margin-top:20px}.principle-steps p{font-size:13px;line-height:1.6}.formula-card{padding-block:21px}.formula-card p{font-size:13px}.wiring-visual{min-height:310px}.wiring-table th,.wiring-table td,.result-table th,.result-table td{padding:13px 12px;font-size:13px}.wiring-table th,.result-table th{font-size:10px}.safety-callout p{font-size:13px}.block-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.block-guide{grid-template-columns:1fr;min-height:0}.block-preview{border-right:0;border-bottom:1px solid var(--sensor-line);min-height:125px;padding:20px}.block-guide-copy{padding:19px 20px}.block-guide-copy h3{margin:9px 0 7px;font-size:15px}.block-guide-copy>p{font-size:13px;line-height:1.55}.block-guide-copy>small{font-size:11px}.block-guide-copy dl{margin-top:10px}.block-guide-copy dl div{padding:6px 0}.block-guide-copy dt,.block-guide-copy dd{font-size:11px}.blockly-statement,.blockly-reporter{color:#fff;text-shadow:0 1px #0000002e;font-weight:700;position:relative;box-shadow:inset 0 -3px #00000026,inset 0 1px #ffffff29,0 3px #1c2f4229}.blockly-statement{border-radius:4px;width:fit-content;min-width:205px;padding:10px 13px;font-size:12px}.blockly-statement:before{content:"";background:inherit;border-radius:5px 5px 0 0;width:24px;height:7px;position:absolute;top:-4px;left:18px;box-shadow:inset 0 1px #ffffff1f}.blockly-statement:after{content:"";z-index:2;background:inherit;border-radius:0 0 5px 5px;width:24px;height:7px;position:absolute;bottom:-4px;left:18px}.blockly-reporter{white-space:nowrap;border-radius:17px;align-items:center;gap:5px;padding:8px 13px;font-size:12px;display:inline-flex}.blockly-purple{background:#925ca6}.blockly-green{background:#5ca65c}.blockly-yellow{background:#a69e5c}.blockly-field,.blockly-shadow,.blockly-input{color:#273848;min-height:23px;text-shadow:none;background:#f5f7f8;border:1px solid #0000003d;border-radius:4px;align-items:center;padding:2px 7px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px 2px #0000001f}.blockly-shadow{background:#d9d3a8;border-radius:12px;margin-inline:4px}.blockly-input{color:#fffc;background:#ffffff1f;border-style:dashed;margin-left:6px}.blockly-program{color:#fff;text-shadow:0 1px #0000002e;background:#a66a5c;border-radius:7px;width:min(100%,440px);box-shadow:inset 0 -4px #00000029,5px 6px #00000029}.blockly-program-head{padding:12px 15px 8px;font-size:14px;font-weight:800}.blockly-program-slot{background:#263a4d;border-radius:0 6px 6px 0;margin-right:12px;padding:8px 10px 11px 35px;position:relative;box-shadow:inset 8px 0 #a66a5cfa}.blockly-program-slot+.blockly-program-slot{padding-bottom:16px}.blockly-program-slot>span{color:#ffe4dc;margin:0 0 8px -21px;font-size:11px;font-weight:800;display:block}.blockly-program-slot .blockly-statement+.blockly-statement{margin-top:3px}.blockly-print-block{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.blockly-print-block .blockly-reporter{flex-basis:100%;margin:4px 0 1px 22px}.block-preview .blockly-reporter,.block-preview .blockly-statement{max-width:100%}.block-workspace{min-height:465px}.block-workspace .blockly-program{margin:12px 0 0 15px}.workspace-head{margin-bottom:20px}.example-steps{padding:20px}.example-steps>h3{margin-bottom:12px}.example-steps article{padding:10px 0}.example-steps p{font-size:13px}.example-steps small{font-size:11px}.usage-explanation{margin-top:20px}.usage-explanation p{font-size:13px}.download-panel{border:1px solid var(--sensor-line);border-left:6px solid var(--sensor-blue);background:#fff;grid-template-columns:.7fr 1.3fr;align-items:center;gap:22px;margin-top:14px;padding:20px 22px;display:grid}.download-panel>div:first-child>span{color:var(--sensor-blue);letter-spacing:.14em;font:900 8px/1 ui-monospace,monospace}.download-panel>div:first-child>strong{margin-top:8px;font-size:17px;display:block}.download-panel>div:first-child>p{color:#63778a;margin:6px 0 0;font-size:13px;line-height:1.55}.download-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.download-actions>a{border:1px solid var(--sensor-line);background:#f4f7f9;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;min-height:66px;padding:10px 12px;display:grid}.download-actions>a:hover{background:#eaf3fc;border-color:#0964c773}.download-actions i{color:#fff;background:var(--sensor-blue);place-items:center;width:36px;height:36px;font:900 9px/1 ui-monospace,monospace;display:grid}.download-actions span{gap:3px;display:grid}.download-actions strong{color:#29425a;font-size:12px}.download-actions small{color:#718497;font-size:9px;line-height:1.4}.download-actions b{color:var(--sensor-red);font-size:19px}.result-table{margin-top:14px}.compact-details{border:1px solid var(--sensor-line);border-top:5px solid var(--sensor-blue);background:#ffffffd1}.compact-details summary{cursor:pointer;grid-template-columns:180px 1fr auto;align-items:center;gap:20px;min-height:70px;padding:14px 20px;list-style:none;display:grid}.compact-details summary::-webkit-details-marker{display:none}.compact-details summary>span{color:#617b93;letter-spacing:.14em;font:800 9px/1 ui-monospace,monospace}.compact-details summary>strong{font-size:20px}.compact-details summary>i{color:var(--sensor-blue);font-size:11px;font-style:normal;font-weight:900}.compact-details[open] summary{border-bottom:1px solid var(--sensor-line)}.compact-details .code-card{margin:18px}.source-details{border-top-color:var(--sensor-red)}.source-details .source-list{padding:12px}.debug-grid h3{font-size:17px}.debug-grid p,.challenge-grid p{font-size:13px}.assessment-panel li{font-size:12px}.source-section{padding-bottom:50px}.revision-line{margin-top:12px}@media (max-width:1120px){.catalog-browser .sensor-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:821px){.tutorial-title h1{white-space:nowrap}}@media (max-width:820px){.catalog-toolbar,.catalog-browser{grid-template-columns:1fr}.taxonomy-tree{border-top-width:1px;display:flex;position:static;overflow-x:auto}.tree-heading{border-right:1px solid var(--sensor-line);border-bottom:0;min-width:160px}.taxonomy-tree button{border-bottom:0;border-right:1px solid #24446514;min-width:max-content}.catalog-browser .sensor-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.block-guide-grid,.download-panel{grid-template-columns:1fr}.compact-details summary{grid-template-columns:1fr auto}.compact-details summary>span{grid-column:1/-1}}@media (max-width:560px){.catalog-browser .sensor-card-grid{grid-template-columns:1fr}.sensor-index-card{min-height:198px}.sensor-index-card h3{font-size:14px}.tutorial-title h1{font-size:31px}.lesson-section{padding-bottom:52px}.block-workspace{min-height:450px;padding-inline:10px}.block-workspace .blockly-program{margin-left:0}.blockly-statement{min-width:0;font-size:10px}.blockly-reporter{padding-inline:9px;font-size:9px}.blockly-program-slot{padding-left:28px}.blockly-field{padding-inline:5px}.download-actions{grid-template-columns:1fr}.compact-details summary{min-height:64px;padding-inline:15px}.compact-details summary>strong{font-size:17px}}.wiring-module,.wiring-board,.wire-lines{grid-template-rows:18px 84px repeat(var(--wiring-row-count), 34px);grid-auto-rows:34px;align-self:start;gap:0}.wiring-board{display:grid}.wiring-module .wiring-pin,.wiring-board .wiring-pin,.wire-lines .wire-line{grid-row:auto}.sensor-card-status.is-auto{color:#a56b13;background:#fff7df}.sensor-card-status.is-auto i{background:#d6a900}.tutorial-shell .lesson-section-title>p,.tutorial-shell .objective-panel li,.tutorial-shell .material-list small,.tutorial-shell .principle-steps p,.tutorial-shell .formula-card p,.tutorial-shell .wiring-table td,.tutorial-shell .wiring-check p,.tutorial-shell .safety-callout p,.tutorial-shell .block-guide-copy>p,.tutorial-shell .block-guide-copy>small,.tutorial-shell .block-guide-copy dd,.tutorial-shell .example-steps p,.tutorial-shell .example-steps small,.tutorial-shell .usage-explanation p,.tutorial-shell .debug-grid p,.tutorial-shell .challenge-grid p,.tutorial-shell .challenge-solution>p,.tutorial-shell .challenge-solution ol,.tutorial-shell .challenge-solution small,.tutorial-shell .code-guide-steps article p,.tutorial-shell .code-key-points ul,.tutorial-shell .source-list p,.tutorial-shell .revision-line p{font-size:14px}.tutorial-shell .wiring-table th,.tutorial-shell .result-table th{font-size:11px}.tutorial-shell .block-guide-copy dt,.tutorial-shell .block-guide-copy dd{font-size:12px}.tutorial-shell .code-guide-steps article p,.tutorial-shell .code-key-points ul,.tutorial-shell .challenge-solution>p,.tutorial-shell .challenge-solution ol,.tutorial-shell .challenge-solution small{font-size:13px}.tutorial-shell .source-list small{font-size:11px}@media (max-width:600px){.tutorial-shell .lesson-section-title>p,.tutorial-shell .objective-panel li,.tutorial-shell .principle-steps p,.tutorial-shell .formula-card p,.tutorial-shell .wiring-table td,.tutorial-shell .wiring-check p,.tutorial-shell .safety-callout p,.tutorial-shell .block-guide-copy>p,.tutorial-shell .example-steps p,.tutorial-shell .usage-explanation p,.tutorial-shell .debug-grid p,.tutorial-shell .challenge-grid p,.tutorial-shell .revision-line p{font-size:14px}}
