
:root{font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:#183142;background:#f5f5f0;font-synthesis:none;--ink:#183142;--muted:#66767e;--orange:#d55b32;--navy:#122d3e;--line:#dce1dd;--paper:#fff;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d55b3277;outline-offset:3px}button{border:0;background:none}p{line-height:1.85}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}h2{font-size:28px;line-height:1.4}h3{line-height:1.55}input,textarea,select{min-width:0}.site-header{height:86px;background:#fbfcf8;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4.5%;gap:5%;position:relative;z-index:5}.brand{display:flex;align-items:center;text-align:left;gap:12px;font-size:23px;font-weight:750;white-space:nowrap;padding:0}.brand-sub{display:block;font-size:11px;letter-spacing:.16em;font-weight:450;margin-top:2px}.brand-symbol{width:39px;height:39px;display:inline-flex;flex:none}.brand-symbol svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.6;fill:none}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px;height:100%}.site-header nav>*{height:100%;display:flex;align-items:center;padding:0;position:relative;white-space:nowrap}.site-header nav .active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--orange)}.header-status{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px;background:#4c947e;border-radius:50%;display:inline-block;flex:none}.home{max-width:1600px;margin:auto}.hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:620px}.hero-copy{padding:69px 8% 45px 9%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.7;color:var(--orange);margin-bottom:15px}.hero h1{font-size:clamp(36px,3.4vw,60px);font-weight:750;line-height:1.34;margin:24px 0}.hero h1 span{color:var(--orange)}.hero-copy>p{max-width:490px;font-size:15px;color:var(--muted);margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:25px}.primary,.secondary,.completed-button,.light-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:12px 21px;font-size:13px;line-height:1.5;font-weight:600}.primary{background:var(--orange);color:white}.primary:hover{background:#b84723}.secondary{background:#fff;border:1px solid #cad3d3}.completed-button{background:#e6f0e8;color:#2f745b}.text-link{font-size:13px;font-weight:600;padding:10px 0}.hero-stats{display:flex;margin-top:47px;gap:0;border-top:1px solid var(--line);padding-top:25px}.hero-stats>div{flex:1;border-right:1px solid var(--line);padding-left:20px}.hero-stats>div:first-child{padding-left:0}.hero-stats>div:last-child{border:0}.hero-stats strong{display:block;font-size:30px;font-weight:500;font-variant-numeric:tabular-nums}.hero-stats small{font-size:15px}.hero-stats span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.hero-model{background:#e9eeeb;position:relative;min-width:0;overflow:hidden}.hero-model .viewer{height:100%;min-height:620px}.scene-caption{position:absolute;top:28px;left:30px;right:30px;z-index:2;display:flex;justify-content:space-between;gap:12px;font-size:11px;pointer-events:none}.scene-caption span:first-child{font-weight:650}.scene-caption span:last-child{color:var(--muted)}.scene-entry{position:absolute;bottom:63px;right:30px;background:#fff;padding:16px 22px;display:flex;align-items:center;gap:24px;font-size:13px;border:1px solid #d2dcda;z-index:3}.scene-entry:hover{color:var(--orange)}.scene-foot{position:absolute;bottom:29px;left:30px;font-size:10px;letter-spacing:.06em;color:var(--muted);pointer-events:none}.hero-model .axis-key{display:none}.learning-route{padding:34px 4.5% 38px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-kicker{font-size:10px;letter-spacing:.13em;font-weight:600;color:var(--muted);margin-bottom:22px}.route-items{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.route-items>div{position:relative;padding-left:32px;border-right:1px solid var(--line)}.route-items>div:last-child{border:0}.route-items span{position:absolute;left:0;top:3px;color:var(--orange);font-size:11px;font-weight:700}.route-items b{font-size:14px}.route-items p{font-size:10px;color:var(--muted);margin:8px 0 0}.catalog-section,.atlas-section{padding:65px 4.5% 60px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2{margin-bottom:10px}.section-heading p{font-size:13px;color:var(--muted);margin:0;max-width:680px}.search{display:flex;gap:14px;border-bottom:1px solid #aab9b9;align-items:center;width:270px;padding:10px 0}.search span{font-size:25px}.search input{border:0;outline:0;background:transparent;font-size:12px;width:100%}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:23px}.filters button{font-size:11px;padding:10px 15px;border:1px solid #d2dbd7}.filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.lesson-list{border-top:1px solid #bcc9c8}.lesson-row{width:100%;display:grid;grid-template-columns:60px 1fr 110px;gap:19px;text-align:left;padding:25px 12px 25px 0;border-bottom:1px solid var(--line);background:none}.lesson-row:hover{background:#edf0e9}.lesson-number{font-size:27px;color:#a5b4b7;font-weight:450;line-height:1.6}.row-meta{font-size:10px;color:var(--muted);letter-spacing:.02em}.lesson-row h3{font-size:18px;margin:6px 0 9px;font-weight:650}.lesson-row p{font-size:12px;color:var(--muted);max-width:950px;margin:0 0 10px;line-height:1.85}.row-tags{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:#536975}.row-tags>span+span:before{content:"·";margin-right:16px;color:#a4b4b9}.row-end{align-self:center;text-align:right;font-size:12px}.done-badge{color:#398065}.atlas-section{background:#e9eeea}.outline-label{border:1px solid #abbcba;font-size:11px;padding:8px 13px;white-space:nowrap}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.model-card{padding:0;text-align:left;background:#fbfcf8;overflow:hidden;border:1px solid #d5deda}.model-image{aspect-ratio:1.45;position:relative;overflow:hidden;background:#e9eeeb}.model-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.model-card:hover img{transform:scale(1.05)}.model-image>span{position:absolute;left:13px;top:11px;font-size:10px;font-weight:600;color:#6a7d83}.model-card-body{padding:19px 16px}.model-card h3{font-size:14px;margin-bottom:8px}.model-card p{font-size:10px;color:var(--muted);margin-bottom:16px}.model-card-body>span{font-size:10px;color:var(--orange);font-weight:700}.source-band{background:var(--navy);color:#e7efed;display:grid;grid-template-columns:1.6fr 1fr;gap:15%;padding:50px 4.5%;align-items:center}.source-band h2{font-size:25px}.source-band .eyebrow{color:#edac8c}.source-band p{font-size:12px;color:#b4c7cc;margin:0}.source-band>div:last-child{display:flex;align-items:flex-start;flex-direction:column;gap:19px;font-size:12px}.light-button{background:#edf1e9;color:var(--navy)}.record-tools{display:flex;gap:18px;font-size:11px;color:#adc3ca}.record-tools button{padding:0;color:inherit;font-size:inherit}.record-tools label,.import-label{cursor:pointer}.record-tools input,.import-label input{display:none}.site-footer{display:flex;align-items:center;padding:30px 4.5%;border-top:1px solid var(--line);gap:20px;font-size:10px;background:#fbfcf8;color:var(--muted)}.site-footer>div{display:flex;align-items:center;gap:10px;color:var(--ink)}.site-footer .brand-symbol{width:25px;height:25px}.site-footer p{margin:0 auto}.site-footer a{white-space:nowrap}.course-layout{display:grid;grid-template-columns:245px minmax(0,1fr);max-width:1800px;margin:auto}.course-rail{padding:28px 15px 40px 22px;background:#edf0e9;border-right:1px solid var(--line)}.rail-title{font-size:14px;font-weight:700;display:flex;justify-content:space-between;margin-bottom:13px}.rail-title span{font-size:11px;color:var(--muted);font-weight:400}.progress-track{height:3px;background:#d3ddd5;margin-bottom:27px}.progress-track i{display:block;height:100%;background:#558a71}.rail-group{margin-bottom:23px}.rail-group h3{font-size:10px;color:#75867f;font-weight:500;margin-bottom:10px;line-height:1.6}.rail-group button{display:flex;width:100%;gap:9px;padding:10px 8px;text-align:left;align-items:flex-start;margin-bottom:2px}.rail-group button>span{font-size:10px;color:#8a9997;line-height:1.8;flex:none}.rail-group b{font-size:11px;font-weight:500;line-height:1.8}.rail-group button.active{background:white;box-shadow:inset 3px 0 var(--orange)}.rail-group button.active b{font-weight:700}.rail-group em{font-size:10px;color:#548a70;font-style:normal;margin-left:auto}.rail-home{font-size:12px;padding:10px 0;border-top:1px solid var(--line);width:100%;text-align:left}.lesson-main{padding:25px 28px 50px;min-width:0}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin-bottom:25px}.breadcrumb button{padding:0;font-size:inherit}.mobile-menu{display:none}.lesson-heading{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.lesson-heading>div{max-width:1000px}.lesson-heading h1{font-size:28px;line-height:1.5;margin-bottom:13px}.lesson-heading .eyebrow{margin-bottom:5px}.lesson-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.9}.lesson-heading>button{flex:none;margin-top:19px;font-size:11px}.lab{border:1px solid #cbd7d5;background:white;scroll-margin-top:15px}.lab-top{height:45px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 17px;font-size:11px;gap:12px}.lab-top .status-dot{margin-right:6px;background:#91bfa7}.lab-top>span{color:#b7c9ce;font-size:10px}.stage-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px}.stage{position:relative;min-width:0}.view-controls{display:flex;align-items:center;gap:3px;background:#eef1ee;padding:7px 10px;flex-wrap:wrap}.view-controls button{font-size:10px;padding:5px 9px;border:1px solid transparent}.view-controls button:hover{background:#fff;border-color:#cbd5d2}.view-controls button:nth-last-child(2){margin-left:auto}.viewer{height:425px;position:relative;overflow:hidden;min-width:0;background:#eef1ee}.canvas-host{position:absolute;inset:0}.canvas-host canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.marker-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.model-marker,.flow-marker{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);border:1px solid #9faeac;border-radius:50%;background:#fffffff0;font-size:9px;min-width:22px;height:22px;padding:2px;color:var(--ink);box-shadow:0 1px 4px #0002}.model-marker.selected{background:var(--orange);color:#fff;border-color:var(--orange)}.axis-key{position:absolute;bottom:12px;left:13px;display:flex;gap:5px;font-size:9px;align-items:center;pointer-events:none}.axis-key b{font-weight:600}.axis-key .x{color:#a85143}.axis-key .y{color:#50906b}.axis-key .z{color:#4b83aa}.axis-key span{margin-left:5px;color:#6c8185}.webgl-error{position:absolute;inset:20%;background:#fff;padding:20px;font-size:12px;line-height:1.9}.visual-disclaimer{background:#f3f4ee;border-top:1px solid #dce3dc;padding:8px 14px;font-size:9px;color:#7b877f;line-height:1.7}.toggle-controls{display:flex;gap:5px;padding:10px 12px;flex-wrap:wrap;border-top:1px solid var(--line)}.toggle-controls button{font-size:10px;border:1px solid #ccd7d2;padding:7px 10px}.toggle-controls button.active{background:var(--navy);color:white;border-color:var(--navy)}.slider-row{display:flex;align-items:center;gap:12px;padding:9px 15px;font-size:10px;white-space:nowrap}.slider-row input{flex:1;accent-color:var(--orange);min-width:30px;cursor:pointer}.disassembly{padding:12px 14px 15px;background:#f8f8f2;border-top:1px solid var(--line)}.disassembly-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.disassembly-head select{font-size:10px;padding:7px 8px;border:1px solid #c4d1cb;background:white;max-width:58%}.disassembly .slider-row{padding-left:0;padding-right:0}.disassembly>p{font-size:10px;color:var(--muted);margin:9px 0 0;line-height:1.8}.stepper{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stepper button{border:1px solid #c9d5cd;padding:7px 10px;background:white;font-size:10px}.stepper span{font-size:10px;color:var(--muted)}.stepper button:last-child{margin-left:auto}.parts-panel{border-left:1px solid #d7dfda;min-width:0;display:flex;flex-direction:column}.parts-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:13px;background:#f4f6ef;border-bottom:1px solid var(--line)}.parts-title span{font-size:9px;color:var(--muted)}.part-buttons{max-height:250px;overflow-y:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.part-buttons button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:9px 12px;border-bottom:1px solid #eef0eb}.part-buttons button span{font-size:9px;color:#91a29e}.part-buttons button b{font-size:10px;line-height:1.7;font-weight:450}.part-buttons button small{margin-left:auto;font-size:8px;color:var(--orange);white-space:nowrap}.part-buttons button.active{background:#f7eadd;box-shadow:inset 3px 0 var(--orange)}.part-buttons button.active b{font-weight:700}.part-detail{padding:17px 15px;max-height:460px;overflow:auto;scrollbar-width:thin}.part-detail .eyebrow{font-size:8px;margin:0 0 6px}.part-detail h3{font-size:15px;margin-bottom:7px}.part-category{display:inline-block;font-size:9px;padding:3px 7px;background:#edf1e8}.part-detail dl{margin:15px 0}.part-detail dt{font-size:9px;color:#667c7c;font-weight:700;margin:12px 0 4px}.part-detail dd{font-size:10px;line-height:1.85;margin:0}.small{font-size:10px;min-height:30px;padding:7px 11px}.part-empty{padding:35px 22px;color:#7a8d8b;text-align:center}.part-empty>span{display:block;font-size:40px;margin-bottom:15px}.part-empty b{font-size:13px}.part-empty p{font-size:11px;margin:10px 0}.show-all{padding:11px;font-size:10px;color:var(--orange)}.lesson-content{margin-top:26px;border:1px solid var(--line);background:#fff}.content-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:#f7f8f2;overflow-x:auto;scrollbar-width:thin}.content-tabs button{font-size:12px;padding:17px 19px;white-space:nowrap;position:relative}.content-tabs button.active{background:white;font-weight:700}.content-tabs button.active:after{position:absolute;content:"";height:3px;background:var(--orange);bottom:0;left:15px;right:15px}.content-pad{padding:29px}.content-pad h2{font-size:20px;margin-bottom:22px}.content-pad>h2:not(:first-child){margin-top:35px}.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;margin-bottom:30px}.objectives{list-style:none;padding:0;margin:0}.objectives li{display:flex;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8}.objectives span{font-size:10px;color:var(--orange);padding-top:1px}.tool-box{background:#f1f4ed;padding:21px}.tool-box h3{font-size:13px;margin-bottom:13px}.tool-box ul{font-size:11px;padding-left:16px;line-height:2.2}.tool-box p{font-size:9px;color:var(--muted);margin-bottom:0}.key-points{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.key-points p{font-size:12px;border-top:1px solid var(--line);padding:16px 0;margin:0;display:flex;gap:15px;line-height:1.9}.key-points span{font-size:10px;color:#8fa09b;padding-top:2px}.next-action{margin-top:20px}.step-intro p,.muted{font-size:11px;color:var(--muted);line-height:1.9}.work-steps{display:grid;grid-template-columns:220px 1fr;gap:28px;margin-top:22px}.step-list button{display:flex;gap:10px;width:100%;padding:12px 10px;text-align:left;font-size:11px;line-height:1.8;border-bottom:1px solid var(--line)}.step-list button span{font-size:10px;color:#8c9e99}.step-list button.active{background:#f5e9dc;color:#944c2c;box-shadow:inset 3px 0 var(--orange)}.step-article{min-width:0}.step-article h3{font-size:20px;margin-bottom:18px}.step-article>p{font-size:12px;line-height:2}.multiline{white-space:pre-line;overflow-wrap:anywhere}.explain-block,.check-block,.warning-block{padding:15px 18px;background:#f0f4ee;margin:15px 0;border-left:3px solid #99b5a1}.explain-block{background:#edf3f4;border-color:#8eafb8}.warning-block{background:#fbf2e6;border-color:#d7ab77}.explain-block b,.check-block b,.warning-block b{font-size:11px}.explain-block p,.check-block p,.warning-block p{font-size:11px;margin:7px 0 0;line-height:1.9}.linked-parts{display:flex;flex-wrap:wrap;gap:6px}.linked-parts button{font-size:10px;border:1px solid var(--line);padding:6px 9px;color:#4c716e}.step-nav{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.9;min-width:550px;text-align:left}thead{background:#edf2ed}th,td{padding:15px;border-bottom:1px solid var(--line);vertical-align:top}thead th{font-size:11px}tbody th{width:22%;font-weight:600}.faults article{display:grid;grid-template-columns:40px 1fr;gap:15px;padding:23px 0;border-top:1px solid var(--line)}.fault-number{font-size:21px;color:#a6b6b1}.faults h3{font-size:16px;margin-bottom:13px}.faults dl{margin:0;display:grid;grid-template-columns:85px 1fr;gap:10px;font-size:12px;line-height:1.9}.faults dt{font-size:10px;color:#80918d}.faults dd{margin:0}.question{padding:24px 0;border-top:1px solid var(--line)}.question h3{font-size:15px;display:flex;gap:15px;margin-bottom:20px}.question h3>span{color:var(--orange);font-size:12px}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-options label{display:flex;align-items:center;gap:10px;font-size:12px;border:1px solid #d8e0db;padding:14px;line-height:1.8;cursor:pointer}.answer-options label.selected{border-color:#c4815b;background:#fbf3e9}.answer-options label.correct{border-color:#70a88a;background:#eff7ed}.answer-options input{accent-color:var(--orange)}.answer-options label>span{font-size:10px;color:var(--muted)}.quiz-result{padding:15px;background:#f9eee5;font-size:11px;margin-top:12px}.quiz-result.correct{background:#edf6e9}.quiz-result p{margin:7px 0 0}.source-entry{padding:20px 0;border-top:1px solid var(--line)}.source-entry>span{font-size:10px;color:var(--orange)}.source-entry h3{font-size:13px;margin:10px 0;overflow-wrap:anywhere}.source-entry>b{font-size:10px;color:#568078;font-weight:500}.source-entry p{font-size:11px;color:var(--muted);margin:10px 0 0}.source-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.policy{background:#f3f4ed;padding:20px}.policy b{font-size:12px}.policy p{font-size:11px;color:var(--muted);margin:10px 0 0}textarea{display:block;resize:vertical;width:100%;min-height:270px;background:#fafbf6;border:1px solid #cad6cd;padding:20px;font-size:13px;line-height:2}.note-actions{display:flex;align-items:center;gap:12px;margin-top:17px}.note-actions>span{margin-right:auto;font-size:10px;color:var(--muted)}.lesson-footer{display:flex;align-items:center;justify-content:space-between;margin-top:28px;font-size:11px}.model-context{margin-top:28px;background:white;border:1px solid var(--line);padding:30px}.model-context h2{font-size:21px}.model-context>p{font-size:12px;color:var(--muted)}.related-lessons{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173343;color:white;padding:14px 24px;box-shadow:0 3px 18px #0002;z-index:100;font-size:12px;max-width:90vw}.empty{padding:35px;color:var(--muted);font-size:13px}
@media(min-width:1650px){.viewer{height:520px}.stage-grid{grid-template-columns:minmax(0,1fr) 320px}.part-buttons{max-height:300px}.part-detail{max-height:490px}.hero h1{font-size:58px}}
@media(max-width:1200px){.site-header{padding:0 3%;gap:4%}.site-header nav{gap:20px}.header-status{display:none}.hero-copy{padding:55px 7%}.hero h1{font-size:42px}.hero{min-height:590px}.hero-model .viewer{min-height:590px}.course-layout{grid-template-columns:210px minmax(0,1fr)}.lesson-main{padding:23px 20px 40px}.stage-grid{grid-template-columns:minmax(0,1fr) 235px}.content-pad{padding:23px}.work-steps{grid-template-columns:185px 1fr;gap:20px}.content-tabs button{padding:15px 14px;font-size:11px}.hero-stats>div{padding-left:12px}.model-grid{gap:15px}.model-card h3{font-size:12px}.model-card-body{padding:16px 12px}.source-band{gap:8%}.stepper{gap:6px}.stepper button{font-size:9px;padding:7px 8px}.stage .viewer{height:365px}.toggle-controls button{padding:6px 8px;font-size:9px}}
@media(max-width:980px){.site-header{height:75px}.brand{font-size:21px}.site-header nav{margin-left:auto;font-size:12px;gap:20px}.hero{grid-template-columns:1fr 1fr;min-height:550px}.hero-copy{padding:45px 8%}.hero h1{font-size:35px}.hero-copy>p{font-size:12px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:11px}.hero-stats{margin-top:35px}.hero-stats strong{font-size:26px}.hero-model .viewer{min-height:550px}.scene-caption{left:20px;right:20px;flex-direction:column;gap:5px}.route-items{gap:15px}.route-items b{font-size:12px}.route-items p{font-size:9px}.model-grid{grid-template-columns:repeat(3,1fr)}.course-layout{grid-template-columns:185px minmax(0,1fr)}.course-rail{padding:25px 10px 30px 14px}.rail-group b{font-size:10px}.stage-grid{grid-template-columns:minmax(0,1fr)}.parts-panel{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr}.parts-title{grid-column:1/-1}.part-buttons{max-height:240px;border-right:1px solid var(--line);border-bottom:0}.part-detail{max-height:240px;padding:16px}.part-empty{padding:25px 20px}.show-all{grid-column:1/-1}.part-detail dl{margin:10px 0}.part-detail dt{margin-top:7px}.stage .viewer{height:410px}.overview-grid{grid-template-columns:1fr;gap:20px}.tool-box{padding:18px}.key-points{grid-template-columns:1fr}.work-steps{grid-template-columns:1fr}.step-list{display:flex;gap:5px;overflow-x:auto;padding-bottom:8px}.step-list button{min-width:155px;max-width:155px;font-size:10px;border:1px solid var(--line);padding:10px}.answer-options{grid-template-columns:1fr}.lesson-heading h1{font-size:25px}.lesson-heading{gap:12px}.lesson-heading>button{padding:9px 12px;font-size:10px}.hero-actions .primary{font-size:11px;padding:11px 15px}.view-controls button:nth-last-child(2){margin-left:auto}}
@media(max-width:700px){.site-header{height:72px;padding:0 5%;flex-wrap:wrap;gap:0;align-content:center}.brand{font-size:19px;gap:8px}.brand-symbol{width:30px;height:30px}.brand-sub{font-size:9px}.site-header nav{gap:17px;font-size:10px}.site-header nav>*{height:50px}.site-header nav>a:last-child{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:39px 6% 30px}.hero .eyebrow{font-size:9px}.hero h1{font-size:43px;line-height:1.3;margin:22px 0}.hero-copy>p{font-size:13px;max-width:550px}.hero-actions .primary{font-size:12px;padding:12px 20px}.hero-actions .text-link{font-size:12px}.hero-stats{margin-top:32px;padding-top:21px}.hero-stats strong{font-size:27px}.hero-stats span{font-size:10px}.hero-model{min-height:355px}.hero-model .viewer{min-height:355px;height:355px}.scene-caption{top:18px;left:20px;right:20px;flex-direction:row;font-size:9px}.scene-entry{bottom:40px;right:20px;font-size:11px;padding:11px 15px}.scene-foot{bottom:15px;left:20px;font-size:8px}.learning-route{padding:27px 6%}.route-items{grid-template-columns:1fr 1fr;gap:24px 14px}.route-items>div:nth-child(2){border:0}.route-items b{font-size:11px}.route-items p{font-size:8px;white-space:normal}.catalog-section,.atlas-section{padding:40px 6%}.section-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:22px}.section-heading h2{font-size:24px;margin-bottom:9px}.section-heading p{font-size:11px}.section-heading .eyebrow{font-size:9px}.search{width:100%;padding:2px 0 7px}.search input{font-size:11px}.filters{gap:6px;margin-bottom:17px}.filters button{padding:8px 10px;font-size:9px}.lesson-row{grid-template-columns:31px 1fr;gap:10px;padding:20px 0}.lesson-number{font-size:21px}.row-meta{font-size:8px}.lesson-row h3{font-size:15px}.lesson-row p{font-size:10px}.row-tags{font-size:8px;gap:6px 11px;line-height:1.8}.row-tags>span+span:before{margin-right:11px}.row-end{grid-column:2;text-align:left;font-size:10px}.model-grid{grid-template-columns:1fr 1fr;gap:12px}.model-card h3{font-size:12px}.model-card-body{padding:13px 10px}.model-card p{font-size:8px;margin-bottom:12px;line-height:1.9}.model-card-body>span{font-size:8px}.model-image>span{left:9px;top:7px;font-size:8px}.outline-label{font-size:9px;padding:7px 9px}.source-band{padding:33px 6%;grid-template-columns:1fr;gap:26px}.source-band h2{font-size:24px}.source-band p{font-size:11px}.source-band>div:last-child{gap:15px}.site-footer{padding:25px 6%;flex-wrap:wrap;gap:15px}.site-footer>div{font-size:11px}.site-footer p{order:3;width:100%;font-size:9px}.site-footer a{margin-left:auto;font-size:9px}.course-layout{display:block}.course-rail{display:none}.course-rail.open{display:block;position:absolute;left:0;right:20%;top:72px;z-index:20;border:1px solid #ced8d2;box-shadow:10px 10px 30px #0002}.rail-group b{font-size:12px}.rail-group h3{font-size:10px}.rail-group button{padding:10px}.lesson-main{padding:20px 4% 35px}.breadcrumb{font-size:9px;margin-bottom:20px}.breadcrumb .mobile-menu{display:block;margin-left:auto;font-size:10px;padding:5px 0;color:var(--orange)}.lesson-heading{flex-direction:column;margin-bottom:20px}.lesson-heading h1{font-size:24px;line-height:1.5;margin-bottom:10px}.lesson-heading p{font-size:11px}.lesson-heading>button{margin-top:0;align-self:flex-end;padding:7px 11px;min-height:32px}.lesson-heading .eyebrow{font-size:9px}.lab-top{padding:11px 12px;height:auto;align-items:flex-start;font-size:10px}.lab-top>div{flex:1;line-height:1.8}.lab-top>span{font-size:8px;white-space:nowrap;line-height:2}.stage .viewer{height:350px}.view-controls{padding:7px;gap:1px}.view-controls button{font-size:9px;padding:5px 6px}.view-controls button:nth-last-child(2){margin-left:0}.visual-disclaimer{font-size:8px;padding:8px 11px}.toggle-controls{padding:9px;gap:4px}.toggle-controls button{font-size:9px;padding:6px 8px}.disassembly{padding:12px 10px}.disassembly-head{font-size:11px}.disassembly-head select{font-size:9px;padding:7px;max-width:62%}.slider-row{font-size:9px;gap:8px}.disassembly>p{font-size:9px}.stepper{gap:5px}.stepper button{font-size:9px;padding:7px}.stepper span{font-size:9px}.stepper button:last-child{margin-left:0}.parts-panel{grid-template-columns:.95fr 1.1fr}.parts-title{padding:10px;font-size:10px}.part-buttons button{padding:9px 8px;gap:5px}.part-buttons button b{font-size:9px}.part-buttons button span{font-size:8px}.part-buttons button small{display:none}.part-detail{padding:13px 10px;max-height:260px}.part-detail h3{font-size:12px}.part-detail dd{font-size:9px}.part-detail dt{font-size:8px}.part-buttons{max-height:260px}.part-empty{padding:20px 13px}.part-empty p{font-size:9px}.part-empty b{font-size:11px}.content-pad{padding:21px 16px}.content-pad h2{font-size:18px;line-height:1.6;margin-bottom:17px}.content-tabs button{font-size:10px;padding:14px 12px}.objectives li{font-size:11px;gap:12px}.objectives span{font-size:9px}.key-points p{font-size:11px;gap:12px;padding:14px 0}.key-points span{font-size:9px}.step-intro p,.muted{font-size:10px}.step-article h3{font-size:19px}.step-article>p{font-size:11px}.explain-block,.check-block,.warning-block{padding:13px}.explain-block p,.check-block p,.warning-block p{font-size:10px}.step-nav .primary,.step-nav .secondary{padding:10px 14px;font-size:11px}.faults article{grid-template-columns:24px 1fr;gap:8px}.fault-number{font-size:17px}.faults h3{font-size:14px}.faults dl{grid-template-columns:1fr;gap:5px;font-size:11px}.faults dd{margin-bottom:8px}.faults dt{font-size:9px}.question h3{font-size:13px;gap:10px}.answer-options label{font-size:11px;padding:12px;gap:7px}.source-entry h3{font-size:11px}.source-entry p{font-size:10px}.source-actions .primary,.source-actions .secondary{font-size:11px;padding:10px 15px}.policy{padding:16px}.policy p{font-size:10px}.note-actions{flex-wrap:wrap;gap:10px}.note-actions>span{width:100%;font-size:9px}.note-actions .secondary{font-size:10px;padding:8px 12px;min-height:35px}textarea{font-size:11px;padding:15px;min-height:250px}.lesson-footer .primary{font-size:11px;padding:10px 16px}.lesson-footer .text-link{font-size:11px}.model-context{padding:22px 17px}.model-context h2{font-size:19px}.model-context>p{font-size:11px}.related-lessons .secondary{font-size:10px;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.model-image img{transition:none}}

.scene-switch{display:flex;align-items:center;gap:14px;margin:0 0 12px;font-size:11px}.scene-switch select{padding:9px;background:white;border:1px solid #ccd5cf;font-size:11px;max-width:65%}.scene-switch>span{font-size:10px;color:#71837d}.deliverables,.boundary{padding:20px;background:#f3f5ef;margin-bottom:25px}.deliverables h3,.boundary b{font-size:13px}.deliverables ul{font-size:12px;line-height:2;padding-left:18px;margin-bottom:0}.boundary p{font-size:11px;line-height:1.9;margin:10px 0 0;color:#677c77}@media(max-width:700px){.scene-switch{gap:8px;font-size:10px;flex-wrap:wrap}.scene-switch select{font-size:10px;max-width:72%}.scene-switch>span{display:none}.deliverables,.boundary{padding:16px}.deliverables ul{font-size:11px}}.hero-model .uav-viewer .viewer-status,.hero-model .uav-viewer .axis-key{display:none}.hero-model .uav-viewer{min-height:100%}
@media(max-width:700px){.hero h1{font-size:clamp(30px,9.5vw,40px)}}@media(max-width:360px){.site-header{height:108px;align-content:center;gap:5px}.site-header .brand{width:100%}.site-header nav{height:32px;margin-left:0;gap:25px}.site-header nav>*{height:32px}.course-rail.open{top:108px}.scene-caption{font-size:8px}}
@media(max-width:700px){.lesson-heading p,.step-article>p,.key-points p,.objectives li{font-size:12px}.toggle-controls button{font-size:10px;min-height:32px}.view-controls button{font-size:10px;min-height:29px}.part-buttons button b,.part-detail dd{font-size:11px}.part-detail dt{font-size:10px}.part-detail h3{font-size:14px}.part-detail,.part-buttons{max-height:290px}.stepper button{font-size:10px;min-height:32px}.disassembly>p{font-size:10px}.content-tabs button{font-size:11px;padding:15px 12px}.explain-block p,.check-block p,.warning-block p,.source-entry p,.policy p{font-size:11px}.answer-options label{font-size:12px}.faults dl{font-size:12px}textarea{font-size:12px}}
.experience-tabs{display:flex;align-items:stretch;gap:7px;margin:2px 0 17px;border-bottom:1px solid #cbd6d2;padding-bottom:12px}.experience-tabs button{padding:12px 20px;font-size:13px;border:1px solid #c6d2cc;background:#fff}.experience-tabs button.active{background:#183b4d;border-color:#183b4d;color:#fff}.experience-tabs span{font-size:11px;align-self:center;color:#72837f;margin-left:auto}.hero-actions{flex-wrap:wrap}.hero-actions .control-entry{font-size:12px;color:#b64e29;border:1px solid #cdbdad;padding:11px 15px}.control-lab{border:1px solid #c9d7d2;background:#fff;margin-bottom:25px;scroll-margin-top:15px}.control-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 24px 23px}.control-intro .eyebrow{font-size:9px;margin-bottom:8px}.control-intro h2{font-size:25px;margin-bottom:9px}.control-intro p{font-size:12px;color:#71827e;margin-bottom:0}.control-intro select{background:#f1f5ee;padding:12px;border:1px solid #bfcfc6;font-size:12px;max-width:40%;font-weight:600}.control-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #dde5de;border-bottom:1px solid #d5dfd7;padding:12px 16px;background:#f5f7f0}.mode-buttons{display:flex;gap:4px}.mode-buttons button{font-size:12px;padding:10px 14px;border:1px solid #c7d4cb;background:#fff}.mode-buttons button.active{background:#183b4d;color:white;border-color:#183b4d}.control-status{font-size:10px;color:#55766c;display:flex;align-items:center;gap:6px}.control-status i{width:6px;height:6px;border-radius:50%;background:#6b9a7b}.control-status.fault{color:#b34f2b}.control-status.fault i{background:#c97640}.control-toolbar>button{font-size:10px;color:#667e75;margin-left:auto;padding:6px}.control-help{padding:12px 24px;background:#f1f5e9;border-bottom:1px solid #c7d7c4}.control-help p{font-size:12px;line-height:1.9;margin:8px 0}.control-main{display:grid;grid-template-columns:minmax(0,1fr) 385px}.flight-panel{min-width:0}.control-viewbar{display:flex;gap:3px;align-items:center;padding:10px;background:#edf2ec}.control-viewbar button{font-size:10px;padding:7px 10px;border:1px solid transparent}.control-viewbar button.active{background:white;border-color:#cad7cf}.control-viewbar span{font-size:9px;color:#799088;margin-left:auto}.control-scene{height:440px;min-height:380px}.control-scene .control-scene-toolbar{font-size:10px}.attitude-strip{display:flex;align-items:center;gap:22px;background:#163444;color:#eaf2ed;padding:15px 20px}.attitude-strip>div:not(.mini-horizon){flex:1;min-width:0}.attitude-strip span{display:block;font-size:9px;color:#a7c2bd;margin-bottom:8px;line-height:1.6}.attitude-strip strong{font-size:22px;font-weight:450;font-variant-numeric:tabular-nums}.mini-horizon{width:60px;height:60px;border-radius:50%;border:2px solid #a7bdb2;overflow:hidden;position:relative;flex:none;background:#a0bdc4}.mini-horizon>div{position:absolute;width:220%;height:220%;left:-60%;top:-60%;background:linear-gradient(#80b0c1 0 49.5%,#cbd9d2 49.5% 50.5%,#9b9076 50.5%);transition:transform .05s linear}.mini-horizon i{position:absolute;inset:0;display:grid;place-items:center;color:#fff6b8;font-size:15px;font-style:normal;text-shadow:0 1px 2px #0005}.response-explain{padding:13px 17px;background:#f2f5ec;font-size:11px;color:#5b7567;line-height:1.9;border-bottom:1px solid #dce5d8}.transmitter{border-left:1px solid #ccd8cf;padding:18px;background:#e5ebe4;position:relative;min-width:0}.transmitter-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:16px}.transmitter-title>span{font-size:9px;letter-spacing:.06em;color:#6f8276}.transmitter-screen{background:#213e48;border:5px solid #c7d3cb;color:#e7f4e7;padding:12px;text-align:center;margin-bottom:20px;box-shadow:inset 0 0 12px #0002}.transmitter-screen>span{display:block;color:#9eb9aa;font-size:8px;letter-spacing:.18em;margin-bottom:7px}.transmitter-screen>b{font:600 10px/1.6 "Segoe UI",sans-serif;letter-spacing:.04em}.transmitter-screen>i{display:block;font-style:normal;font-size:9px;color:#a0d7ac;margin-top:8px}.transmitter-screen>i.lost{color:#ffa986}.sticks{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stick-unit{text-align:center;min-width:0}.stick-top{font-size:12px;font-weight:700;margin-bottom:10px;line-height:1.7}.stick-top span{display:block;font-size:9px;font-weight:400;color:#73887b}.stick-top-label,.stick-bottom-label{font-size:9px;color:#718678;line-height:1.7;margin:5px -3px 7px}.stick-bottom-label{min-height:31px;margin-top:10px;font-size:8px}.stick-well{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 43% 40%,#f2f5ef 0,#cbd5cc 54%,#8b9d90 95%);position:relative;box-shadow:inset 0 2px 9px #1f40282c,0 0 0 5px #f6f7ef,0 0 0 6px #b3c1b4;touch-action:none;cursor:grab;user-select:none;isolation:isolate}.stick-well:active{cursor:grabbing}.stick-well:focus-visible{outline:3px solid #d17446;outline-offset:6px}.stick-axis{position:absolute;background:#8a9f8e75;pointer-events:none}.stick-axis.horizontal{height:1px;top:50%;left:12%;right:12%}.stick-axis.vertical{width:1px;left:50%;top:12%;bottom:12%}.stick-neutral{position:absolute;width:20px;height:20px;left:calc(50% - 10px);top:calc(50% - 10px);border:1px solid #92a88c;border-radius:50%;pointer-events:none}.stick-knob{position:absolute;width:34px;height:34px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 36% 30%,#657976,#243c3b 75%);box-shadow:3px 4px 5px #1a3e3a40,inset 1px 1px 2px #ffffff66;display:grid;place-items:center;pointer-events:none;z-index:2}.stick-knob i{width:15px;height:15px;border-radius:50%;border:2px solid #97b3a5;background:#d07842}.stick-side{position:absolute;top:calc(50% - 4px);font-size:7px;color:#8d9e91;writing-mode:vertical-rl;pointer-events:none}.stick-side.left{left:2%}.stick-side.right{right:2%}.transmitter-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.transmitter-actions button{font-size:10px;padding:9px 11px;background:#fff;border:1px solid #bfcfc1;flex:1;white-space:nowrap}.transmitter-actions button:last-child{color:#a44e2c}.channel-details{margin-top:16px;padding:13px 0;border-top:1px solid #c2d1c1;border-bottom:1px solid #c2d1c1}.channel-details summary{font-size:11px;color:#3b5f4b;cursor:pointer}.channel-details>p{font-size:9px;color:#6f8576;line-height:1.8;margin:12px 0}.channel-details label{display:flex;align-items:center;gap:9px;margin:13px 0;font-size:9px}.channel-details label>span{width:80px;flex:none}.channel-details input{min-width:20px;flex:1;accent-color:#c56839;cursor:pointer}.channel-details label>b{width:39px;text-align:right;font-size:9px;font-weight:450;font-variant-numeric:tabular-nums}.fault-control{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;margin:16px 0}.fault-control select{font-size:10px;border:1px solid #b1c5b7;background:#f4f7ee;padding:8px;max-width:65%}.transmitter-note{font-size:9px;color:#7c8b7c;line-height:1.7;margin:12px 0 0}.signal-path{display:grid;grid-template-columns:1fr 20px 1fr 20px 1.25fr 20px 1fr;gap:12px;padding:27px 24px;background:#f8f9f3;border-top:1px solid #d3dfd4;border-bottom:1px solid #d3dfd4}.signal-path article{min-width:0}.path-number{font-size:9px;color:#ce7241;font-weight:700;letter-spacing:.09em}.signal-path h3{font-size:13px;margin:8px 0 14px}.signal-path p{font-size:10px;color:#6b8076;line-height:1.9;margin-bottom:8px}.path-arrow{align-self:center;color:#94ae9d;font-size:21px}.channel-readouts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.channel-readouts>div{display:flex;flex-direction:column;gap:5px}.channel-readouts span{font-size:9px;color:#8b9e90}.channel-readouts b{font-size:16px;font-weight:450;font-variant-numeric:tabular-nums}.effective-roll{font-size:9px;color:#6d8176;display:block;padding-top:9px;border-top:1px solid #d7e2d5}.effective-roll>b{font-size:14px;font-weight:500;margin-left:4px;color:#274d3a}.signal-path dl{display:grid;grid-template-columns:40px 1fr;gap:7px;font-size:9px;margin:0;line-height:1.8}.signal-path dt{color:#829787}.signal-path dd{margin:0;color:#3c6450}.motor-bars>div{display:flex;align-items:center;gap:7px;margin-bottom:9px}.motor-bars span{font-size:8px;flex:none;width:58px;color:#6b8474}.motor-bars i{height:6px;background:#dbe5d8;flex:1;position:relative;overflow:hidden}.motor-bars em{height:100%;display:block;background:#d07842}.motor-bars b{font-size:9px;font-weight:500;width:28px;text-align:right;font-variant-numeric:tabular-nums}.control-practices{padding:29px 24px}.control-practices>div:first-child .eyebrow{font-size:9px;margin-bottom:7px}.control-practices h3{font-size:21px;margin-bottom:10px}.control-practices>div>p{font-size:11px;color:#74877a;line-height:1.9}.practice-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.practice-choices button{border:1px solid #cedbce;background:#f8faf4;display:flex;align-items:center;gap:11px;padding:14px 12px;text-align:left;font-size:11px;line-height:1.8}.practice-choices button.active{background:#e7eee2;border-color:#87a48c;box-shadow:inset 3px 0 #c57643}.practice-choices button>span{font-size:9px;color:#9aa98f}.practice-choices button>b{margin-left:auto;font-size:14px;color:#9bb299;font-weight:450}.practice-detail{border:1px solid #c6d7c4;padding:22px;background:#f0f6e9}.practice-title{display:flex;align-items:center;gap:12px;justify-content:space-between}.practice-title h4{font-size:15px;margin:0}.practice-title>span{font-size:10px;color:#9c7a3f}.practice-title>span.observed{color:#448259}.practice-detail>p{font-size:12px;margin:15px 0}.practice-detail>div:not(.practice-title){display:grid;grid-template-columns:65px 1fr;gap:15px;font-size:11px;margin-top:12px}.practice-detail>div>b{font-size:10px;color:#688264;line-height:1.9}.practice-detail>div p{font-size:11px;margin:0;color:#557851}.practice-detail>button{font-size:10px;border-bottom:1px solid #9db397;padding:7px 0;margin-top:15px}.control-basis{background:#f6f7ef;border-top:1px solid #d9e2d3;padding:18px 24px}.control-basis summary{font-size:11px;cursor:pointer;color:#70836a}.control-basis p{font-size:11px;color:#718268;line-height:1.9}.control-basis a{font-size:10px;text-decoration:underline;color:#54744e;margin-right:20px}
@media(min-width:1700px){.control-scene{height:500px}.control-main{grid-template-columns:minmax(0,1fr) 420px}.transmitter{padding:24px}.stick-knob{width:40px;height:40px}.transmitter-title{font-size:17px}.stick-top{font-size:14px}.stick-top span,.stick-top-label{font-size:11px}}
@media(max-width:1250px){.control-main{grid-template-columns:minmax(0,1fr) 320px}.control-intro h2{font-size:22px}.control-scene{height:400px}.transmitter{padding:17px 14px}.sticks{gap:13px}.transmitter-actions{gap:4px}.transmitter-actions button{font-size:9px;padding:9px 7px}.attitude-strip{gap:13px;padding:14px}.attitude-strip strong{font-size:19px}.attitude-strip span{font-size:8px}.mini-horizon{width:50px;height:50px}.control-viewbar>span{display:none}.signal-path{gap:8px;padding:23px 18px;grid-template-columns:1fr 12px 1fr 12px 1.2fr 12px 1fr}.signal-path h3{font-size:11px}.signal-path p{font-size:9px}.signal-path dl{font-size:8px;grid-template-columns:32px 1fr;gap:5px}.motor-bars span{width:50px;font-size:7px}.motor-bars{min-width:0}.practice-choices button{font-size:10px;gap:8px;padding:12px 10px}}
@media(max-width:1080px){.control-main{grid-template-columns:1fr}.transmitter{border-left:0;border-top:1px solid #cbd9ce;display:grid;grid-template-columns:1fr 1.1fr;gap:0 28px;padding:23px}.transmitter-title{grid-column:1/-1}.transmitter-screen{grid-column:2;grid-row:2;height:max-content;margin-bottom:13px}.sticks{grid-column:1;grid-row:2/7;gap:18px;align-self:start}.transmitter-actions{grid-column:2;margin-top:0}.channel-details{grid-column:2}.fault-control{grid-column:2}.transmitter-note{grid-column:2}.stick-well{max-width:180px;margin:0 auto}.transmitter-title{font-size:16px}.stick-top{font-size:13px}.stick-top-label{font-size:9px}.control-scene{height:425px}.control-status{margin-left:auto}.control-toolbar>button{margin-left:0}.attitude-strip strong{font-size:23px}.attitude-strip span{font-size:10px}.signal-path{grid-template-columns:1fr 15px 1fr;gap:15px}.signal-path article:nth-of-type(3){grid-column:1}.signal-path>.path-arrow:nth-of-type(2){display:none}.signal-path h3{font-size:14px}.signal-path p,.signal-path dl{font-size:11px}.signal-path dl{grid-template-columns:50px 1fr}.motor-bars span{font-size:10px;width:75px}.motor-bars b{font-size:11px}.practice-choices{grid-template-columns:1fr 1fr}.experience-tabs span{display:none}}
@media(max-width:700px){.experience-tabs{gap:5px;flex-wrap:wrap;margin-bottom:13px}.experience-tabs button{font-size:12px;padding:12px 17px;flex:1}.control-intro{padding:22px 17px;align-items:flex-start;flex-direction:column;gap:16px}.control-intro h2{font-size:24px;line-height:1.5}.control-intro p{font-size:12px}.control-intro select{max-width:100%;width:100%;font-size:12px;padding:13px}.control-intro .eyebrow{font-size:8px}.control-toolbar{padding:10px 12px;gap:12px;justify-content:space-between}.mode-buttons{gap:5px;flex:1}.mode-buttons button{font-size:12px;padding:11px 12px;flex:1;white-space:nowrap}.control-status{font-size:10px;margin-left:0;flex:1;order:2}.control-toolbar>button{font-size:10px;order:3}.control-main{display:flex;flex-direction:column}.control-scene{height:340px;min-height:310px}.control-viewbar{gap:4px;padding:8px}.control-viewbar button{font-size:10px;padding:9px}.attitude-strip{gap:12px;padding:14px 10px}.mini-horizon{width:42px;height:42px}.attitude-strip strong{font-size:19px}.attitude-strip span{font-size:8px;line-height:1.8;margin-bottom:5px}.response-explain{font-size:11px;padding:12px;line-height:1.9}.transmitter{display:block;padding:22px 18px}.transmitter-title{font-size:17px;margin-bottom:16px}.transmitter-title>span{font-size:9px}.transmitter-screen{margin:0 10px 22px;padding:13px}.transmitter-screen>b{font-size:12px}.transmitter-screen>i{font-size:11px}.sticks{gap:22px;padding:0 6px}.stick-top{font-size:14px}.stick-top span{font-size:10px}.stick-top-label{font-size:9px;margin:7px 0 10px}.stick-bottom-label{font-size:9px;margin-top:12px}.stick-knob{width:35px;height:35px}.transmitter-actions{gap:6px;margin-top:15px}.transmitter-actions button{font-size:11px;padding:11px 8px;min-height:39px}.channel-details summary{font-size:12px;padding:3px 0}.channel-details>p{font-size:10px}.channel-details label{font-size:11px;gap:10px;margin:17px 0}.channel-details label>span{width:90px}.channel-details label>b{font-size:10px}.fault-control{font-size:11px;margin:17px 0}.fault-control select{font-size:11px;padding:11px}.transmitter-note{font-size:10px}.signal-path{grid-template-columns:1fr;gap:12px;padding:23px 18px}.signal-path>.path-arrow{display:none}.signal-path article{border-bottom:1px solid #dbe4d4;padding-bottom:17px}.signal-path article:last-child{border-bottom:0;padding-bottom:0}.signal-path h3{font-size:15px;margin:6px 0 12px}.signal-path p{font-size:12px}.channel-readouts{grid-template-columns:repeat(4,1fr);gap:9px}.channel-readouts span{font-size:10px}.channel-readouts b{font-size:20px}.signal-path dl{font-size:11px;grid-template-columns:56px 1fr;gap:9px}.effective-roll{font-size:11px}.effective-roll>b{font-size:16px}.motor-bars span{font-size:11px;width:92px}.motor-bars i{height:8px}.motor-bars b{font-size:12px;width:36px}.motor-bars>div{gap:10px;margin:14px 0}.control-practices{padding:25px 17px}.control-practices h3{font-size:22px}.control-practices>div>p{font-size:12px}.practice-choices{grid-template-columns:1fr;gap:8px}.practice-choices button{padding:14px;font-size:12px;gap:13px}.practice-choices button>span{font-size:10px}.practice-detail{padding:18px 15px}.practice-title{align-items:flex-start;flex-direction:column;gap:10px}.practice-title h4{font-size:16px}.practice-title>span{font-size:11px}.practice-detail>p{font-size:12px}.practice-detail>div:not(.practice-title){grid-template-columns:1fr;gap:4px}.practice-detail>div>b{font-size:11px}.practice-detail>div p{font-size:12px}.practice-detail>button{font-size:11px;padding-top:10px}.control-basis{padding:18px}.control-basis summary{font-size:12px;line-height:1.8}.control-basis p{font-size:11px}.control-help{padding:12px 17px}.control-help p{font-size:11px}}
@media(max-width:360px){.control-scene{height:310px;min-height:290px}.control-intro h2{font-size:21px}.attitude-strip{gap:9px}.attitude-strip strong{font-size:16px}.attitude-strip span{font-size:7px}.mini-horizon{width:35px;height:35px}.transmitter{padding:20px 13px}.sticks{gap:18px;padding:0 3px}.stick-top-label,.stick-bottom-label{font-size:8px}.stick-knob{width:31px;height:31px}.transmitter-actions button{font-size:10px}.control-viewbar button{font-size:9px;padding:8px}.practice-choices button{font-size:11px}.mode-buttons button{font-size:11px;padding:11px 9px}}
.control-lab .control-scene{height:440px}.active-practice-banner{display:flex;gap:18px;align-items:center;padding:12px 17px;background:#f9f1df;border-bottom:1px solid #e2d8bd;font-size:11px;line-height:1.9}.active-practice-banner>b{color:#946338;flex:none}.active-practice-banner>span{color:#928064}.lesson-main:has(.control-lab) .lesson-heading p{display:none}.lesson-main:has(.control-lab) .lesson-heading{margin-bottom:17px}.lesson-main:has(.control-lab) .breadcrumb{margin-bottom:15px}.control-intro{padding-top:20px;padding-bottom:18px}@media(max-width:700px){.control-lab .control-scene{height:350px}.active-practice-banner{flex-direction:column;gap:4px;align-items:flex-start;font-size:11px}.control-intro h2{font-size:23px}}
@media(max-width:700px){.control-lab .flight-panel{position:sticky;top:0;z-index:8;background:#edf2ec;box-shadow:0 5px 12px #173f3d1a}.control-lab .control-scene{height:230px;min-height:210px}.control-viewbar{padding:5px 7px}.control-viewbar button{padding:6px 8px;font-size:9px}.control-lab .attitude-strip{padding:9px 10px;gap:10px}.control-lab .mini-horizon{width:34px;height:34px}.control-lab .attitude-strip strong{font-size:18px}.control-lab .attitude-strip span{font-size:7px;margin-bottom:3px}.control-lab .response-explain{font-size:10px;padding:7px 10px;max-height:52px;overflow:auto}.control-scene-key span{display:none}.control-lab .transmitter{padding:18px 15px}.transmitter-screen{display:flex;align-items:center;justify-content:space-between;border-width:2px;padding:7px;margin:0 0 18px;gap:8px}.transmitter-screen>span{display:none}.transmitter-screen>b{font-size:8px}.transmitter-screen>i{font-size:9px;margin:0}.transmitter-title{font-size:15px;margin-bottom:12px}.stick-top{font-size:12px}.stick-top span{font-size:9px}.stick-top-label{font-size:8px}.stick-bottom-label{font-size:8px}.sticks{gap:20px}.channel-details{margin-top:13px}.control-help{font-size:11px}}

.control-feedback{margin:-7px 0 18px;padding:11px 12px;background:#f4f7ef;border:1px solid #c4d3c3;font-size:11px;line-height:1.7}.control-feedback>b{font-size:11px;color:#315c4c}.control-feedback p{font-size:11px;margin:4px 0 0;color:#527362}.control-feedback.blocked{background:#fff4e8;border-color:#d7b58f}.control-feedback.blocked>b{color:#a34e29}.control-feedback button{display:block;width:100%;padding:9px 12px;background:#183b4d;color:#fff;font-size:12px;margin-top:8px;text-align:center}.control-feedback.ready{border-left:3px solid #649781}@media(max-width:700px){.control-feedback{padding:8px 10px;margin:-6px 0 15px}.control-feedback p{font-size:10px}}

.motion-readout{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;padding:12px 17px;background:#f7f6ef;border-top:1px solid #d3ddce;border-bottom:1px solid #d3ddce;min-width:0}.motion-map svg{display:block;width:110px;height:100px}.motion-map text{font:9px "Microsoft YaHei",sans-serif;fill:#6c8074}.motion-copy{min-width:0}.motion-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;color:#8a8b76;letter-spacing:.08em}.motion-topline button{font-size:10px;color:#955137;text-align:right;padding:3px 0;letter-spacing:0}.motion-command{font-size:12px;color:#b35c31;font-weight:650;line-height:1.7;margin:4px 0}.motion-command>span{display:block;font-size:10px;font-weight:450;color:#886b4c}.motion-copy h3{font-size:15px;color:#764698;font-weight:650;line-height:1.6;margin:3px 0 5px}.motion-actual{font-size:10px;color:#5f7469;margin:4px 0;line-height:1.6}.motion-actual b{font-weight:500}.motion-note{font-size:9px;color:#7b8574;margin:3px 0 0;line-height:1.7}.motion-readout:not(.active) .motion-copy h3{color:#64766f}
@media(max-width:700px){.motion-readout{grid-template-columns:66px minmax(0,1fr);gap:7px;padding:6px 9px}.motion-map svg{width:66px;height:68px}.motion-topline,.motion-actual,.motion-note{display:none}.motion-command{font-size:10px;line-height:1.5;margin:0}.motion-command>span{font-size:9px;display:inline;margin-left:7px}.motion-copy h3{font-size:11px;line-height:1.5;margin:3px 0 0}.control-lab .control-scene{height:210px;min-height:190px}.control-lab .response-explain{display:none}}

@media(max-width:700px){.motion-actual{display:block;font-size:9px;line-height:1.5;margin:2px 0 0}.control-lab .attitude-strip{display:none}}

/* A shared cockpit keeps the aircraft next to the controls without a sticky
   canvas covering the sticks. The source order remains useful on desktop. */
.control-lab button,.control-lab select,.control-lab summary{min-height:44px}
.control-lab button,.control-lab select{touch-action:manipulation}
.control-lab summary{display:list-item;box-sizing:border-box;padding-top:12px;padding-bottom:12px}
.control-lab .channel-details input[type=range]{min-height:44px}
.control-lab .stick-hold-note{font-size:10px;line-height:1.7;color:#526b5f;margin:10px 0 0}
.control-lab .stick-well{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain}
.control-lab .control-basis a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:900px){
 .control-lab{scroll-margin-top:8px}
 .control-lab .control-intro{padding:14px 12px;gap:10px;align-items:stretch;flex-direction:column}
 .control-lab .control-intro .eyebrow{font-size:9px;margin-bottom:4px}
 .control-lab .control-intro h2{font-size:20px;line-height:1.4;margin:0 0 6px}
 .control-lab .control-intro p{font-size:12px;line-height:1.65}
 .control-lab .control-intro select{max-width:100%;width:100%;font-size:12px;padding:10px}
 .control-lab .control-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:6px 8px;gap:2px 8px}
 .control-lab .mode-buttons{grid-column:1/-1;gap:6px;min-width:0}
 .control-lab .mode-buttons button{font-size:12px;padding:8px 6px;flex:1;min-width:0;white-space:normal;line-height:1.4}
 .control-lab .control-status{grid-column:1;font-size:11px;min-width:0;line-height:1.5;margin:0}
 .control-lab .control-toolbar>button{grid-column:2;min-width:76px;margin:0;font-size:11px;padding:8px 4px}
 .control-lab .control-help{padding:8px 12px}
 .control-lab .control-help p{font-size:12px;line-height:1.8}
 .control-lab .control-main{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0}
 .control-lab .flight-panel,.control-lab .transmitter{display:contents;position:static;box-shadow:none;border:0;padding:0}
 .control-lab .control-main>.flight-panel>*,.control-lab .control-main>.transmitter>*{grid-column:1;grid-row:auto;min-width:0;box-sizing:border-box}
 .control-lab .control-viewbar{order:1;display:flex;gap:2px;padding:3px 6px}
 .control-lab .control-viewbar button{flex:1;min-width:0;min-height:44px;font-size:11px;padding:7px 3px;line-height:1.4}
 .control-lab .control-viewbar>span{display:none}
 .control-lab .control-scene{order:2;height:clamp(200px,31dvh,260px);min-height:200px;position:relative}
 .control-lab .control-scene-buttons{top:6px;right:6px;gap:4px}
 .control-lab .control-scene-buttons button{min-height:44px;min-width:44px;padding:7px;font-size:10px}
 .control-lab .control-scene-state{top:56px;font-size:9px}
 .control-lab .control-scene-key span{display:block;font-size:9px;line-height:1.5}
 .control-lab .control-scene-key{font-size:9px;padding:4px 6px;bottom:6px}
 .control-lab .transmitter-title{order:3;margin:0;padding:7px 14px 3px;background:#e5ebe4;font-size:12px;line-height:1.5}
 .control-lab .transmitter-title>span{font-size:10px}
 .control-lab .transmitter-screen,.control-lab .control-feedback.ready{display:none}
 .control-lab .sticks{order:4;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:5px 18px 4px;margin:0;background:#e5ebe4;width:100%;justify-self:center}
 .control-lab .stick-top{font-size:12px;line-height:1.4;margin:0 0 3px}
 .control-lab .stick-top span{font-size:10px;line-height:1.4}
 .control-lab .stick-top-label,.control-lab .stick-bottom-label{font-size:10px;line-height:1.4;margin:3px 0 7px;min-height:0}
 .control-lab .stick-bottom-label{margin:8px 0 1px}
 .control-lab .stick-well{width:100%;max-width:140px;min-width:0;margin:0 auto}
 .control-lab .stick-side{font-size:8px;top:calc(50% - 8px)}
 .control-lab .stick-knob{width:34px;height:34px}
 .control-lab .transmitter-actions{order:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:7px 10px;margin:0;background:#e5ebe4}
 .control-lab .transmitter-actions button{min-height:44px;padding:7px 3px;font-size:12px;line-height:1.4;white-space:normal}
 .control-lab .stick-hold-note{order:6;margin:0;padding:0 12px 9px;background:#e5ebe4;font-size:11px;line-height:1.65}
 .control-lab .motion-readout{order:7;grid-template-columns:68px minmax(0,1fr);gap:8px;padding:9px 10px}
 .control-lab .motion-map svg{width:68px;height:72px}
 .control-lab .motion-topline{display:flex;font-size:10px;line-height:1.5;letter-spacing:0;flex-wrap:wrap}
 .control-lab .motion-topline button{font-size:11px;min-height:44px;padding:6px 0;text-align:left;line-height:1.4}
 .control-lab .motion-command{font-size:11px;line-height:1.6;margin:0}
 .control-lab .motion-command>span{font-size:10px;display:block;margin-left:0}
 .control-lab .motion-copy h3{font-size:12px;line-height:1.6;margin:3px 0}
 .control-lab .motion-actual,.control-lab .motion-note{display:block;font-size:10px;line-height:1.6;margin:3px 0}
 .control-lab .attitude-strip{display:none}
 .control-lab .response-explain{order:8;display:block;max-height:none;overflow:visible;padding:9px 12px;font-size:12px;line-height:1.75}
 .control-lab .control-feedback.blocked{order:9;margin:0;padding:10px 12px;border-width:1px 0;background:#fff4e8}
 .control-lab .control-feedback.blocked>b,.control-lab .control-feedback.blocked p{font-size:12px;line-height:1.65}
 .control-lab .control-feedback.blocked button{min-height:44px}
 .control-lab .channel-details{order:10;margin:0;padding:4px 12px 8px;border-width:1px 0}
 .control-lab .channel-details summary{font-size:12px}
 .control-lab .channel-details>p{font-size:11px;line-height:1.7}
 .control-lab .channel-details label{font-size:11px;gap:8px;margin:6px 0}
 .control-lab .channel-details label>span{width:84px}
 .control-lab .channel-details label>b{font-size:11px;width:40px}
 .control-lab .fault-control{order:11;margin:0;padding:8px 12px;font-size:12px;gap:8px}
 .control-lab .fault-control select{font-size:12px;padding:7px;max-width:63%;min-width:0}
 .control-lab .transmitter-note{order:12;margin:0;padding:4px 12px 12px;font-size:11px;line-height:1.7}
 .control-lab .active-practice-banner{padding:9px 12px;font-size:12px;line-height:1.7;gap:4px;flex-direction:column;align-items:flex-start}
 .control-lab .signal-path{padding:16px 12px}
 .control-lab .control-practices{padding:18px 12px}
 .control-lab .control-basis{padding:12px}
 .control-lab .control-basis summary{font-size:12px;line-height:1.7}
}
@media(max-width:360px){
 .control-lab .sticks{gap:24px;padding-right:15px;padding-left:15px}
 .control-lab .control-scene{height:200px;min-height:200px}
 .control-lab .stick-well{max-width:124px}
 .control-lab .motion-topline{font-size:9px}
 .control-lab .control-scene-buttons button{font-size:9px;padding:6px}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:500px){
 .control-lab .control-main{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,1fr);align-items:start}
 .control-lab .flight-panel{display:flex;flex-direction:column;grid-column:1;grid-row:1;position:static;box-shadow:none;min-width:0}
 .control-lab .transmitter{display:flex;flex-direction:column;grid-column:2;grid-row:1;padding:6px 10px;border:0;border-left:1px solid #cbd9ce;background:#e5ebe4;min-width:0}
 .control-lab .control-scene{height:240px;min-height:240px}
 .control-lab .control-viewbar{padding:3px}
 .control-lab .control-viewbar button{font-size:10px;padding:6px 2px}
 .control-lab .transmitter-title{padding:0 2px 3px;font-size:12px;min-height:22px;margin:0}
 .control-lab .sticks{gap:24px;padding:3px 8px 0;max-width:none}
 .control-lab .stick-well{max-width:108px}
 .control-lab .stick-top{font-size:11px}
 .control-lab .stick-top span,.control-lab .stick-top-label,.control-lab .stick-bottom-label{font-size:9px}
 .control-lab .transmitter-actions{padding:7px 0 5px;gap:5px}
 .control-lab .transmitter-actions button{font-size:11px}
 .control-lab .stick-hold-note{padding:0 2px 6px;font-size:10px;line-height:1.6}
 .control-lab .motion-readout{padding:8px;grid-template-columns:60px minmax(0,1fr)}
 .control-lab .motion-map svg{width:60px;height:68px}
 .control-lab .control-feedback.blocked{margin-top:5px;padding:8px}
 .control-lab .channel-details{padding:3px 0}
 .control-lab .fault-control{padding:5px 0}
 .control-lab .transmitter-note{padding:5px 0}
}
@media(max-width:900px){
 .control-lab input:not([type=range]),.control-lab select,.control-lab textarea{font-size:16px}
}
.workshop-lab{--ws-navy:#183b4d;--ws-orange:#c66037;--ws-line:#d3ddd5;--ws-muted:#708178;background:#fff;border:1px solid #cbd8d1;margin-bottom:28px;color:#213f48;scroll-margin-top:18px}.workshop-lab button,.workshop-lab select,.workshop-lab input{font:inherit}.workshop-lab button:focus-visible,.workshop-lab input:focus-visible,.workshop-lab select:focus-visible,.workshop-lab summary:focus-visible{outline:3px solid #d77c4c80;outline-offset:3px}.workshop-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:26px;padding:28px 25px 23px}.workshop-intro>div:first-child{min-width:0;max-width:780px}.workshop-eyebrow{font-size:9px;letter-spacing:.13em;font-weight:700;color:var(--ws-orange);line-height:1.8;margin-bottom:9px}.workshop-intro h2{font-size:25px;line-height:1.5;margin:0 0 10px}.workshop-intro p{font-size:12px;line-height:1.9;color:var(--ws-muted);margin:0}.workshop-scenario{display:flex;flex-direction:column;gap:7px;flex:0 1 300px;min-width:220px}.workshop-scenario label{font-size:10px;color:#60776c;font-weight:600}.workshop-scenario select{width:100%;font-size:12px;background:#f4f7ef;border:1px solid #becfc1;padding:11px 10px;color:#2d4e50}.workshop-scenario>span{font-size:9px;line-height:1.7;color:#87978a}.workshop-brief{display:flex;align-items:flex-start;gap:17px;background:#f3f6ed;border-top:1px solid #e1e7dd;padding:15px 24px}.workshop-brief>span{flex:none;font-size:10px;color:#bc6b3e;padding-top:2px;font-weight:700}.workshop-brief p{font-size:11px;line-height:1.9;color:#60786a;margin:0;flex:1;min-width:0}.workshop-brief>b{flex:none;font-size:9px;line-height:1.8;color:#83937b;font-weight:500}.workshop-stages{display:flex;align-items:stretch;border-top:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line);background:#f9faf5;overflow-x:auto;scrollbar-width:thin}.workshop-stages button{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-width:118px;padding:16px 12px;border-right:1px solid #e1e7dd;font-size:11px;position:relative;color:#718275}.workshop-stages button:last-child{border-right:0}.workshop-stages button>span{font-size:10px;color:#9bac97}.workshop-stages button>b{font-weight:500;white-space:nowrap}.workshop-stages button>small{display:none}.workshop-stages button.active{background:#fff;color:var(--ws-navy)}.workshop-stages button.active:after{content:'';position:absolute;bottom:0;left:15px;right:15px;height:3px;background:var(--ws-orange)}.workshop-stages button.active>b{font-weight:700}.workshop-stages button.complete>span{color:#4e9263}.workshop-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.61fr);align-items:start}.workshop-visual{min-width:0;background:#f6f8f0;border-right:1px solid var(--ws-line);scroll-margin-top:12px}.workshop-model-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ws-navy);color:#edf5ee;padding:14px 15px}.workshop-model-heading>div{display:flex;align-items:center;gap:8px;min-width:0}.workshop-model-heading b{font-size:12px;line-height:1.7;font-weight:600}.workshop-model-heading i{width:6px;height:6px;background:#9faeaa;border-radius:50%;flex:none}.workshop-model-heading i.on{background:#93c89a;box-shadow:0 0 7px #95ce9190}.workshop-model-heading>span{font-size:9px;line-height:1.8;color:#bfd1c8;flex:none;max-width:42%;text-align:right}.workshop-view-tools{display:flex;gap:4px;align-items:center;flex-wrap:wrap;background:#edf2e9;padding:8px 11px}.workshop-view-tools button{font-size:9px;padding:7px 9px;border:1px solid transparent;color:#678072}.workshop-view-tools button.active,.workshop-view-tools button:hover{border-color:#c1d2c2;background:white;color:#264d4c}.workshop-lab .workshop-visual .viewer{height:430px;min-height:360px}.workshop-model-caption{display:flex;gap:15px;flex-wrap:wrap;font-size:9px;padding:10px 14px;border-top:1px solid #d9e2d8;border-bottom:1px solid #d9e2d8;background:#f7f9f0;color:#74886f;line-height:1.8}.workshop-model-caption>span:before{content:'○';margin-right:5px;color:#97a898}.workshop-model-caption>span:nth-child(2):before{content:'●';color:#b97a48}.workshop-model-caption>b{margin-left:auto;font-weight:600;color:#4f7159}.workshop-visual-feedback{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border-left:3px solid #9bb6a0;background:#eef5e9;font-size:10px;line-height:1.9;color:#597452;min-height:49px;overflow-wrap:anywhere}.workshop-visual-feedback>b{flex:none;font-size:9px;color:#6e8b67;padding-top:1px}.workshop-visual-feedback.error{background:#fff2e7;border-left-color:#cf8450;color:#99613b}.workshop-visual-feedback.error>b{color:#b67846}.workshop-visual-feedback.success{background:#eaf5e8;border-left-color:#6d9f76;color:#477a51}.workshop-tray-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 15px 11px}.workshop-tray-heading>b{font-size:12px}.workshop-tray-heading>span{font-size:9px;color:#8a9a84}.workshop-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 13px 13px}.workshop-tray>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid #d4dfd0;min-width:0;min-height:90px;padding:11px 12px;gap:6px}.workshop-tray-number{font-size:9px;font-weight:600;color:#9daa94}.workshop-tray>button>b{font-size:11px;line-height:1.7;font-weight:500;overflow-wrap:anywhere}.workshop-tray>button>small{font-size:8px;line-height:1.6;color:#91a085;margin-top:auto}.workshop-tray>button.installed>small{color:#538b5d}.workshop-tray>button.active{background:#fbf0e5;border-color:#d2a780;box-shadow:inset 3px 0 #c77946}.workshop-tray>button.active>b{font-weight:700;color:#8c573b}.workshop-visual-note{font-size:9px;color:#8c9a84;line-height:1.9;margin:0;padding:0 15px 17px}.workshop-operation{min-width:0;background:#fff}.workshop-operation-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fafbf6;border-bottom:1px solid #dbe4d6;padding:19px 21px 17px}.workshop-operation-heading>div>span{display:block;font-size:9px;color:#97a48e;line-height:1.6;margin-bottom:5px;letter-spacing:.05em}.workshop-operation-heading h3{font-size:19px;line-height:1.4;margin:0}.workshop-operation-heading>button{font-size:9px;color:#b87345;padding:6px 0;white-space:nowrap}.workshop-operation-body{padding:22px 21px 24px}.workshop-operation-body>h4{font-size:17px;line-height:1.7;margin:0 0 13px}.workshop-item-title>span,.workshop-fixed-part>span,.workshop-normal-scenario>span{display:block;font-size:9px;color:var(--ws-orange);margin-bottom:9px}.workshop-item-title h4,.workshop-fixed-part h4,.workshop-normal-scenario h4{font-size:18px;line-height:1.65;margin:0 0 13px}.workshop-item-title p,.workshop-fixed-part p,.workshop-normal-scenario p{font-size:11px;line-height:1.95;color:#617a69;margin:0 0 14px;white-space:pre-line;overflow-wrap:anywhere}.workshop-part-links{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 17px}.workshop-part-links>button{font-size:9px;line-height:1.7;border:1px solid #d6e1ce;padding:5px 8px;color:#678263}.workshop-part-links>button.active{background:#eaf1e2;border-color:#91ad8c;color:#3f6947}.workshop-dependencies{padding:13px 14px;background:#f1f6ea;border-left:3px solid #acc29e;margin:16px 0}.workshop-dependencies>b,.workshop-check-note>b{font-size:10px;color:#557a4f}.workshop-dependencies ul{list-style:none;padding:0;margin:9px 0 0}.workshop-dependencies li{display:flex;gap:7px;font-size:10px;line-height:1.8;color:#98a28d;padding:3px 0}.workshop-dependencies li.met{color:#548250}.workshop-dependencies li>span{flex:none}.workshop-dependencies p{font-size:10px;line-height:1.9;color:#7b8b6d;margin:8px 0 0}.workshop-choices{min-width:0;border:0;padding:0;margin:21px 0 17px}.workshop-choices legend{font-size:11px;font-weight:600;margin-bottom:12px;line-height:1.8}.workshop-choices label{display:flex;align-items:flex-start;gap:9px;border:1px solid #d9e2d2;padding:12px 10px;margin-bottom:7px;background:#fff;cursor:pointer;font-size:10px;line-height:1.85;color:#627b5c;overflow-wrap:anywhere}.workshop-choices label.selected{background:#fcf2e7;border-color:#cfa57a;color:#8c5939}.workshop-choices input{accent-color:#c97643;flex:none;margin:3px 0 0;width:13px;height:13px}.workshop-choices label>span{min-width:0;flex:1}.workshop-check-note{padding:14px;background:#f1f5eb;margin:17px 0}.workshop-check-note p{font-size:10px;line-height:1.95;color:#6b8160;margin:8px 0 0;white-space:pre-line}.workshop-caution{font-size:10px;line-height:1.9;padding:13px 14px;background:#fff2e2;border-left:3px solid #dca164;color:#9b7447;margin:15px 0}.workshop-caution>b{font-size:11px}.workshop-caution p{font-size:10px;line-height:1.9;margin:8px 0 0}.workshop-action-row{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin:20px 0 9px}.workshop-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:40px;padding:10px 14px;font-size:11px;line-height:1.7;font-weight:600;border:1px solid #b9cdb8;cursor:pointer}.workshop-button.primary{background:#b9663f;border-color:#b9663f;color:#fff}.workshop-button.primary:hover{background:#a65836;border-color:#a65836}.workshop-button.secondary{background:#fbfdf7;border-color:#bfcfba;color:#476f4a}.workshop-button.quiet{background:transparent;border-color:transparent;color:#8e9a81;font-size:9px;padding-left:0;padding-right:0}.workshop-next-stage{display:block;margin-top:24px;width:100%;text-align:right;border-top:1px solid #dce5d3;color:#b16e41;font-size:10px;padding:15px 0 0}.workshop-lead{font-size:11px;line-height:1.95;color:#78906c;margin:0 0 18px;overflow-wrap:anywhere}.workshop-safety-list{margin:20px 0}.workshop-safety-list label{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.9;padding:12px 0;border-bottom:1px solid #e1e9d8;color:#4e714d;cursor:pointer}.workshop-safety-list input{flex:none;width:15px;height:15px;margin:3px 0 0;accent-color:#64936b}.workshop-safety-list span{min-width:0}.workshop-power-readiness{padding:15px;background:#fff5e6;border:1px solid #e7d2af;margin:20px 0;color:#967546}.workshop-power-readiness.ready{background:#edf5e5;border-color:#c1d4b4;color:#5a8251}.workshop-power-readiness>b{font-size:11px}.workshop-power-readiness ul{font-size:10px;line-height:2;padding-left:17px;margin:10px 0 0}.workshop-power-readiness p{font-size:10px;line-height:1.9;margin:8px 0 0}.workshop-tiny{font-size:9px;line-height:1.85;color:#8e9d80;margin:11px 0 0}.workshop-test-list{display:flex;flex-direction:column;gap:13px}.workshop-test{border:1px solid #d9e3cf;background:#fcfdf8;padding:15px;margin-bottom:12px;min-width:0}.workshop-test.passed{border-color:#a9c49c}.workshop-test.failed{border-color:#ddb787;background:#fffaf1}.workshop-test-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.workshop-overline{font-size:8px;color:#8a9b7a;line-height:1.7}.workshop-test h4{font-size:13px;line-height:1.7;margin:5px 0 0}.workshop-result-state{font-size:8px;line-height:1.6;white-space:nowrap;color:#a9a78e;padding-top:3px}.workshop-test.passed .workshop-result-state{color:#58884c}.workshop-test.failed .workshop-result-state{color:#bc884c}.workshop-prerequisite{font-size:9px;color:#90a07d;line-height:1.8;margin:0 0 12px}.workshop-test .workshop-button{min-height:33px;padding:7px 12px;font-size:9px}.workshop-reading{padding:13px;background:#eef5e4;border-left:2px solid #94b47c;margin-top:14px;overflow-wrap:anywhere}.workshop-test.failed .workshop-reading{background:#fcf0dc;border-color:#c89d68}.workshop-reading>b{font-size:9px;color:#6b8b58}.workshop-reading p{font-size:10px;line-height:1.9;margin:8px 0;color:#4f7447;white-space:pre-line}.workshop-test.failed .workshop-reading p{color:#a07745}.workshop-reading ul{font-size:10px;line-height:1.95;padding-left:15px;margin:10px 0;color:#617d52}.workshop-reading>span{display:block;font-size:8px;color:#9aaa88;margin-top:8px}.workshop-reading.stale{opacity:.65;border-style:dashed}.workshop-fault-banner{padding:17px;background:#fff3e1;border:1px solid #e7cfa7;margin-bottom:24px}.workshop-fault-banner>span{font-size:9px;color:#bc8a4f;line-height:1.7}.workshop-fault-banner h4{font-size:15px;line-height:1.7;margin:9px 0}.workshop-fault-banner p{font-size:10px;line-height:1.9;color:#a17e4d;margin:0}.workshop-fault-banner.quarantine{background:#fff0e8;border-color:#d4a78f}.workshop-fault-section{border-top:1px solid #dce4d1;padding:21px 0 2px;margin-top:20px}.workshop-section-number{font-size:9px;font-weight:700;color:#b87743;letter-spacing:.03em;display:block;margin-bottom:10px}.workshop-fault-section>h4{font-size:15px;line-height:1.75;margin:12px 0}.workshop-fault-section .workshop-choices{margin-top:15px}.workshop-evidence-list{list-style:none;padding:0;margin:12px 0 0}.workshop-evidence-list li{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid #d5e1cb;background:#f7faef;padding:13px 12px;margin-bottom:8px}.workshop-evidence-list li>div{min-width:0;flex:1}.workshop-evidence-list b{display:block;font-size:10px;line-height:1.8}.workshop-evidence-list span{font-size:8px;color:#91a57d;line-height:1.7}.workshop-evidence-list button{font-size:9px;color:#a97944;padding:6px 0;white-space:nowrap}.workshop-evidence-list p{flex-basis:100%;font-size:10px;line-height:1.85;color:#718c5f;margin:0;border-top:1px solid #e0e9d4;padding-top:9px;white-space:pre-line}.workshop-inline-power{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;background:#f2f5e9;border:1px solid #d6e1ca;font-size:10px}.workshop-inline-power span{min-width:0;line-height:1.8;color:#728961}.workshop-inline-power button{flex:none;font-size:9px;color:#ab7240;padding:5px 0}.workshop-final{padding:19px;background:#f4f7ec;border:1px solid #d5e3c8;margin-bottom:23px}.workshop-final>span{font-size:9px;color:#8fa779;line-height:1.7}.workshop-final h4{font-size:18px;line-height:1.7;margin:10px 0}.workshop-final p{font-size:11px;line-height:1.95;margin:0;color:#738e63}.workshop-final.accepted{background:#ecf6df;border-color:#aac994}.workshop-final.accepted>span{color:#639551}.workshop-final.quarantine{background:#fff2e7;border-color:#dfb99d}.workshop-final.quarantine h4{color:#a5683e}.workshop-final.quarantine p{color:#ac825b}.workshop-acceptance{margin:0}.workshop-acceptance>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e0e8d6;padding:13px 0}.workshop-acceptance dt{font-size:11px;color:#829771}.workshop-acceptance dd{font-size:12px;color:#4e7544;margin:0;text-align:right;line-height:1.8}.workshop-footer{border-top:1px solid var(--ws-line);background:#f7f9f0;padding:24px}.workshop-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px}.workshop-progress>div{border-right:1px solid #dbe5d1;padding-left:15px}.workshop-progress>div:first-child{padding-left:0}.workshop-progress>div:last-child{border:0}.workshop-progress b{font-size:24px;line-height:1.6;color:#6d8b58;font-weight:450;display:block}.workshop-progress small{font-size:12px;color:#a5b297}.workshop-progress span{display:block;font-size:9px;color:#8ea17b;margin-top:3px;line-height:1.7}.workshop-progress .finished>b{color:#4f8b51;font-size:20px}.workshop-history,.workshop-boundary{border-top:1px solid #dce6d1;padding:14px 0;font-size:10px;color:#7d936b}.workshop-history summary,.workshop-boundary summary{cursor:pointer;color:#658553;font-size:11px;line-height:1.8}.workshop-history ol{list-style:none;margin:15px 0 0;padding:0;max-height:300px;overflow-y:auto;scrollbar-width:thin}.workshop-history li{display:flex;align-items:flex-start;gap:12px;font-size:10px;padding:9px 0;border-bottom:1px solid #e3eadb}.workshop-history li>span{color:#a8b598;font-size:8px;padding-top:3px;flex:none}.workshop-history p,.workshop-boundary p{font-size:10px;line-height:1.95;margin:10px 0 0;white-space:pre-line;overflow-wrap:anywhere}.workshop-history li>p{margin:0;color:#6f8b5c}.workshop-boundary ul{font-size:10px;line-height:2;padding-left:17px;margin:12px 0;color:#8c9d7b;overflow-wrap:anywhere}
@media(min-width:1700px){.workshop-workspace{grid-template-columns:minmax(0,1fr) minmax(360px,.59fr)}.workshop-lab .workshop-visual .viewer{height:490px}.workshop-operation-body{padding:25px}.workshop-tray>button{min-height:100px}.workshop-tray>button>b{font-size:12px}}
@media(max-width:1250px){.workshop-workspace{grid-template-columns:minmax(0,1fr) 330px}.workshop-intro{gap:20px;padding:25px 21px}.workshop-intro h2{font-size:22px}.workshop-scenario{min-width:200px;flex-basis:250px}.workshop-brief{padding:13px 20px;gap:12px}.workshop-brief>b{display:none}.workshop-lab .workshop-visual .viewer{height:380px}.workshop-tray{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-model-heading{padding:12px}.workshop-model-heading b{font-size:11px}.workshop-model-heading>span{font-size:8px}.workshop-operation-heading{padding:17px}.workshop-operation-body{padding:19px 17px}.workshop-item-title h4{font-size:17px}.workshop-stages button{gap:7px;padding:15px 10px;min-width:103px;font-size:10px}.workshop-button{font-size:10px;padding:10px 12px}.workshop-model-caption{font-size:8px;gap:8px;padding:9px 11px}.workshop-visual-feedback{gap:9px;padding:12px 11px;font-size:9px}.workshop-visual-feedback>b{font-size:8px}.workshop-tray-heading{padding:15px 12px 10px}.workshop-tray-heading>span{font-size:8px}.workshop-view-tools{padding:7px}.workshop-view-tools button{font-size:8px;padding:6px 7px}}
@media(max-width:1030px){.workshop-workspace{grid-template-columns:minmax(0,1fr)}.workshop-visual{border-right:0;border-bottom:1px solid var(--ws-line)}.workshop-lab .workshop-visual .viewer{height:390px}.workshop-tray{display:flex;overflow-x:auto;scrollbar-width:thin;gap:8px;padding-bottom:14px}.workshop-tray>button{flex:0 0 155px;min-height:91px}.workshop-operation-body{padding:24px}.workshop-operation-heading{padding:19px 24px}.workshop-choices label{font-size:12px;padding:13px}.workshop-item-title p,.workshop-lead{font-size:12px}.workshop-test-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workshop-test{margin:0}.workshop-test h4{font-size:14px}.workshop-test-heading{flex-wrap:wrap;gap:6px}.workshop-result-state{padding-top:0}.workshop-test .workshop-button{font-size:10px}.workshop-reading p,.workshop-reading ul{font-size:11px}.workshop-dependencies li,.workshop-dependencies p,.workshop-check-note p{font-size:11px}.workshop-fault-section .workshop-test{margin-bottom:12px}.workshop-safety-list label{font-size:12px}.workshop-view-tools button{font-size:10px;padding:7px 10px}.workshop-visual-feedback{font-size:11px;padding:14px 16px}.workshop-visual-feedback>b{font-size:10px}.workshop-model-heading b{font-size:13px}.workshop-model-heading>span{font-size:10px}.workshop-tray-heading>b{font-size:13px}.workshop-tray-heading>span{font-size:10px}.workshop-model-caption{font-size:10px;padding:11px 15px}.workshop-tray>button>b{font-size:12px}.workshop-tray>button>small{font-size:9px}}
@media(max-width:700px){.workshop-intro{flex-direction:column;padding:23px 17px;gap:19px}.workshop-intro h2{font-size:24px}.workshop-intro p{font-size:12px}.workshop-eyebrow{font-size:8px}.workshop-scenario{flex:none;min-width:0;width:100%;gap:6px}.workshop-scenario label{font-size:10px}.workshop-scenario select{font-size:12px;padding:12px}.workshop-scenario>span{font-size:9px}.workshop-brief{padding:14px 17px;gap:10px}.workshop-brief>span{font-size:9px}.workshop-brief p{font-size:11px}.workshop-stages button{min-width:0;padding:14px 5px;gap:6px;flex-direction:column}.workshop-stages button>b{display:none}.workshop-stages button>small{display:block;font-size:11px}.workshop-stages button>span{font-size:10px}.workshop-stages button.active>small{font-weight:700}.workshop-stages button.active:after{left:10px;right:10px}.workshop-model-heading{padding:11px 12px;align-items:flex-start;gap:9px}.workshop-model-heading b{font-size:11px}.workshop-model-heading>span{font-size:8px;max-width:43%;line-height:1.9}.workshop-view-tools{gap:3px;padding:7px 8px}.workshop-view-tools button{font-size:9px;padding:6px 8px}.workshop-lab .workshop-visual .viewer{height:270px;min-height:240px}.workshop-model-caption{font-size:8px;padding:9px 11px;gap:5px 12px}.workshop-model-caption>b{font-size:8px}.workshop-visual-feedback{display:block;padding:11px 12px;min-height:0}.workshop-visual-feedback>b{display:block;font-size:9px;margin-bottom:5px}.workshop-visual-feedback>span{display:block;font-size:10px;line-height:1.85}.workshop-tray-heading{padding:15px 12px 11px;gap:8px}.workshop-tray-heading>b{font-size:12px}.workshop-tray-heading>span{font-size:8px}.workshop-tray{gap:7px;padding:0 11px 12px}.workshop-tray>button{flex-basis:135px;min-height:82px;padding:10px}.workshop-tray>button>b{font-size:10px;line-height:1.8}.workshop-tray>button>small{font-size:8px}.workshop-tray-number{font-size:8px}.workshop-visual-note{font-size:8px;padding:0 12px 13px}.workshop-operation-heading{padding:17px}.workshop-operation-heading h3{font-size:20px}.workshop-operation-heading>div>span{font-size:8px}.workshop-operation-heading>button{font-size:9px}.workshop-operation-body{padding:21px 17px 24px}.workshop-item-title h4{font-size:19px}.workshop-item-title p,.workshop-fixed-part p,.workshop-normal-scenario p{font-size:12px}.workshop-item-title>span,.workshop-fixed-part>span{font-size:10px}.workshop-part-links>button{font-size:10px;padding:6px 8px}.workshop-dependencies{padding:13px;margin:17px 0}.workshop-dependencies>b,.workshop-check-note>b{font-size:11px}.workshop-dependencies li,.workshop-dependencies p,.workshop-check-note p{font-size:11px}.workshop-choices legend{font-size:12px}.workshop-choices label{font-size:12px;padding:13px 11px;gap:10px;line-height:1.9}.workshop-choices input{width:15px;height:15px;margin-top:3px}.workshop-check-note{padding:14px}.workshop-action-row{gap:8px}.workshop-button{font-size:12px;padding:11px 14px;min-height:42px}.workshop-button.quiet{font-size:10px}.workshop-next-stage{font-size:11px;margin-top:24px;padding-top:16px}.workshop-lead{font-size:12px}.workshop-safety-list label{font-size:12px;gap:12px;padding:13px 0}.workshop-safety-list input{width:17px;height:17px}.workshop-power-readiness{padding:15px}.workshop-power-readiness>b{font-size:12px}.workshop-power-readiness ul,.workshop-power-readiness p{font-size:11px}.workshop-tiny{font-size:10px}.workshop-test-list{display:flex;gap:13px}.workshop-test{padding:15px}.workshop-test h4{font-size:15px}.workshop-overline{font-size:9px}.workshop-result-state{font-size:9px}.workshop-prerequisite{font-size:10px}.workshop-test .workshop-button{font-size:11px;min-height:37px;padding:8px 12px}.workshop-reading p,.workshop-reading ul{font-size:11px}.workshop-reading>b{font-size:10px}.workshop-reading>span{font-size:8px}.workshop-fault-banner h4{font-size:17px}.workshop-fault-banner>span,.workshop-fault-banner p{font-size:11px}.workshop-fault-section>h4{font-size:17px}.workshop-section-number{font-size:10px}.workshop-evidence-list li{padding:14px 12px}.workshop-evidence-list b{font-size:12px}.workshop-evidence-list span{font-size:9px}.workshop-evidence-list button{font-size:10px}.workshop-evidence-list p{font-size:11px}.workshop-inline-power{font-size:11px}.workshop-inline-power button{font-size:10px}.workshop-caution{font-size:11px}.workshop-caution>b{font-size:12px}.workshop-caution p{font-size:11px}.workshop-final h4{font-size:20px}.workshop-final>span{font-size:10px}.workshop-final p{font-size:12px}.workshop-acceptance dt{font-size:12px}.workshop-acceptance dd{font-size:12px}.workshop-footer{padding:21px 17px}.workshop-progress{gap:11px}.workshop-progress>div{padding-left:10px}.workshop-progress b{font-size:22px}.workshop-progress small{font-size:11px}.workshop-progress span{font-size:8px}.workshop-progress .finished>b{font-size:16px;line-height:2.2}.workshop-history summary,.workshop-boundary summary{font-size:12px}.workshop-history li>p,.workshop-boundary p,.workshop-boundary ul{font-size:11px}.workshop-history li{gap:9px}.workshop-history li>span{font-size:8px;padding-top:4px}}
@media(max-width:360px){.workshop-lab .workshop-visual .viewer{height:245px;min-height:225px}.workshop-operation-body{padding:19px 14px}.workshop-intro{padding:21px 14px}.workshop-intro h2{font-size:22px}.workshop-view-tools button{font-size:8px;padding:6px 7px}.workshop-visual-feedback>span{font-size:9px}.workshop-model-caption{font-size:7px;gap:5px 8px}.workshop-model-caption>b{font-size:7px}.workshop-tray>button{flex-basis:124px}.workshop-tray-heading>span{font-size:7px}.workshop-button{font-size:11px;padding:10px 12px}.workshop-progress{gap:8px}.workshop-progress b{font-size:20px}.workshop-progress .finished>b{font-size:14px}.workshop-progress span{font-size:7px}.workshop-intro p{font-size:11px}.workshop-scenario select{font-size:11px}.workshop-stages button>small{font-size:10px}}
.workshop-feedback-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:95;display:flex;align-items:flex-start;gap:16px;width:max-content;max-width:min(620px,calc(100vw - 30px));padding:15px 17px;border:1px solid #b7cdb2;border-left:4px solid #6f9f70;background:#f3faecf7;box-shadow:0 5px 28px #173f2426;backdrop-filter:blur(8px);color:#537a49}.workshop-feedback-toast.error{background:#fff5e9f7;border-color:#e1c6a5;border-left-color:#c98b50;color:#9b683b}.workshop-feedback-toast>div{min-width:0}.workshop-feedback-toast b{font-size:10px;line-height:1.8}.workshop-feedback-toast p{font-size:11px;line-height:1.9;margin:5px 0 0;overflow-wrap:anywhere;max-height:160px;overflow-y:auto}.workshop-feedback-toast>button{font-size:21px;line-height:1;flex:none;color:inherit;padding:0 0 0 5px}@media(max-width:700px){.workshop-feedback-toast{bottom:12px;max-width:calc(100vw - 22px);padding:12px 13px;gap:10px}.workshop-feedback-toast b{font-size:9px}.workshop-feedback-toast p{font-size:10px;max-height:140px;line-height:1.9}}
.workshop-model-dock{background:#f6f8f0}@media(min-width:1031px){.workshop-visual{align-self:stretch}.workshop-model-dock{position:sticky;top:12px;z-index:3;box-shadow:0 5px 12px #28442b0b}.workshop-lab .workshop-model-dock .viewer{height:clamp(250px,42vh,430px);min-height:240px}}
.workshop-tray-panel{scroll-margin-top:14px}.workshop-extra-detail{margin:14px 0;padding:11px 0;border-top:1px solid #e1e8d8;border-bottom:1px solid #e1e8d8}.workshop-extra-detail summary{font-size:10px;color:#7a906b;line-height:1.8;cursor:pointer}.workshop-extra-detail .workshop-check-note{margin-bottom:0}.workshop-extra-detail .workshop-part-links{margin-bottom:0}@media(max-width:700px){.workshop-extra-detail summary{font-size:11px}}

/* Compact workbench: the preview precedes the operation, so it never sits over
   a later tray. Only this short frame stays visible while instructions scroll. */
.workshop-step-picker,.workshop-inline-feedback{display:none}
.workshop-model-frame{min-width:0;scroll-margin-top:calc(var(--lab-sticky-top,0px) + 8px)}
@media(max-width:1030px){
  .workshop-lab{font-size:14px;overflow-wrap:anywhere;padding-bottom:env(safe-area-inset-bottom,0px)}
  .workshop-lab p,.workshop-lab li,.workshop-lab small,.workshop-lab dt,.workshop-lab dd{font-size:13px;line-height:1.8}
  .workshop-lab button{min-height:44px;font-size:14px;line-height:1.5;touch-action:manipulation}
  .workshop-lab input,.workshop-lab textarea{font-size:16px}
  .workshop-lab select{min-height:46px;max-width:100%;font-size:16px;line-height:1.5}
  .workshop-lab summary{min-height:44px;display:list-item;align-content:center;font-size:14px;line-height:1.7;padding:9px 0;cursor:pointer}
  .workshop-intro{display:grid;grid-template-columns:minmax(0,1fr);padding:20px 16px;gap:18px}
  .workshop-intro h2{font-size:23px}.workshop-intro p{color:#50695d}
  .workshop-scenario{min-width:0;width:100%;max-width:100%;gap:7px}
  .workshop-scenario label,.workshop-scenario>span,.workshop-eyebrow{font-size:12px;line-height:1.7}
  .workshop-brief{padding:14px 16px;display:block}.workshop-brief>span{display:block;font-size:13px;margin-bottom:5px}
  .workshop-brief p{font-size:14px}.workshop-brief>b{display:block;font-size:12px;margin-top:8px}
  .workshop-stages{scroll-margin-top:var(--lab-sticky-top,0px)}
  .workshop-stages button{min-height:54px;padding:10px 6px;gap:5px}
  .workshop-stages button>span{font-size:12px}.workshop-stages button>small{font-size:13px}
  .workshop-workspace{display:flex;flex-direction:column;align-items:stretch;position:relative}
  .workshop-visual,.workshop-model-dock{display:contents}
  .workshop-tray-panel{border-bottom:1px solid var(--ws-line);background:#f6f8f0}
  .workshop-tray-heading{padding:13px 14px 7px;display:block}
  .workshop-tray-heading>b{font-size:14px}.workshop-tray-heading>span{font-size:12px;display:block;line-height:1.7;margin-top:4px}
  .workshop-tray{display:none}
  .workshop-visual-note{font-size:12px!important;color:#62765b;padding:0 14px 13px}
  .workshop-model-frame{position:sticky;top:var(--lab-sticky-top,0px);z-index:3;flex:none;background:#edf2ed;box-shadow:0 4px 14px #183b4d14;border-bottom:1px solid #bfcfc6}
  .workshop-model-heading{padding:4px 12px;min-height:26px;justify-content:flex-end}
  .workshop-model-heading>div{display:none}
  .workshop-model-heading>span{font-size:12px;color:#edf5ee;max-width:100%;line-height:1.5;text-align:left}
  .workshop-step-picker{display:block;background:#183b4d;padding:0 8px 7px;margin:0}
  .workshop-step-picker>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .workshop-step-picker select{display:block;width:100%;height:44px;min-height:44px;background:#fffdf7;border:1px solid #c8d6c9;border-radius:4px;padding:7px 9px;color:#213f48;font-size:16px}
  .workshop-lab .workshop-model-frame .viewer{height:clamp(240px,34svh,290px);min-height:240px}
  .workshop-view-tools{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;padding:8px;scrollbar-width:thin;background:#eef3e9}
  .workshop-view-tools button{flex:none;font-size:13px;padding:9px 12px;border:1px solid #cbd9c7;background:#fff}
  .workshop-view-tools .workshop-tray-return{display:none}
  .workshop-model-caption{font-size:12px;gap:5px 12px;line-height:1.8;padding:10px 13px}
  .workshop-model-caption>b{font-size:12px;margin-left:0}
  .workshop-visual-feedback{padding:12px 14px;display:block;font-size:13px;line-height:1.8}
  .workshop-visual-feedback>b{font-size:12px;margin-bottom:4px}.workshop-visual-feedback>span{font-size:13px}
  .workshop-operation{scroll-margin-top:calc(var(--lab-sticky-top,0px) + 8px)}
  .workshop-operation-heading{padding:16px 14px;gap:8px;align-items:flex-start}
  .workshop-operation-heading>div>span{font-size:12px}.workshop-operation-heading h3{font-size:20px}
  .workshop-operation-heading>button{font-size:13px;padding:8px;min-width:88px;white-space:normal}
  .workshop-operation-body{padding:18px 14px 24px}
  .workshop-item-title>span,.workshop-fixed-part>span,.workshop-normal-scenario>span{font-size:13px;line-height:1.7}
  .workshop-item-title h4,.workshop-fixed-part h4,.workshop-normal-scenario h4{font-size:20px}
  .workshop-lab .workshop-item-title p,.workshop-lab .workshop-fixed-part p,.workshop-lab .workshop-normal-scenario p,.workshop-lab .workshop-lead{font-size:14px;line-height:1.85;color:#4f6b59}
  .workshop-lab .workshop-part-links>button{font-size:13px;line-height:1.6;padding:9px 11px;min-height:44px;text-align:left}
  .workshop-dependencies>b,.workshop-check-note>b{font-size:13px}
  .workshop-lab .workshop-dependencies li,.workshop-lab .workshop-dependencies p,.workshop-lab .workshop-check-note p{font-size:13px;line-height:1.8}
  .workshop-choices legend{font-size:14px;margin-bottom:10px}
  .workshop-lab .workshop-choices label,.workshop-lab .workshop-safety-list label{font-size:14px;min-height:48px;padding:12px;line-height:1.8;gap:12px;cursor:pointer}
  .workshop-lab input[type=radio],.workshop-lab input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:3px}
  .workshop-lab .workshop-button,.workshop-lab .workshop-test .workshop-button{font-size:14px;min-height:46px;padding:10px 14px;max-width:100%;white-space:normal}
  .workshop-action-row>.workshop-button{flex:1 1 100%}
  .workshop-lab .workshop-next-stage{font-size:14px;min-height:48px;padding:12px 0;margin-top:18px}
  .workshop-lab .workshop-tiny,.workshop-lab .workshop-prerequisite,.workshop-lab .workshop-caution{font-size:13px;line-height:1.8}
  .workshop-test-list{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  .workshop-test{padding:15px}.workshop-test h4{font-size:17px}
  .workshop-overline,.workshop-result-state,.workshop-reading>b,.workshop-reading>span{font-size:12px;line-height:1.7;white-space:normal}
  .workshop-lab .workshop-reading p,.workshop-lab .workshop-reading ul{font-size:14px;line-height:1.8}
  .workshop-fault-banner>span,.workshop-section-number{font-size:13px}.workshop-fault-banner h4{font-size:18px}
  .workshop-lab .workshop-fault-banner p{font-size:14px}
  .workshop-evidence-list li{align-items:flex-start;padding:13px}.workshop-evidence-list li>div{flex-basis:100%}
  .workshop-evidence-list b{font-size:14px}.workshop-evidence-list span{font-size:12px}
  .workshop-evidence-list button,.workshop-inline-power button{font-size:14px;padding:10px 12px;border:1px solid #c5d5b9;background:#fff;text-align:left}
  .workshop-inline-power{flex-wrap:wrap;font-size:14px}.workshop-inline-power button{white-space:normal}
  .workshop-final>span{font-size:13px}.workshop-final h4{font-size:21px}
  .workshop-inline-feedback{display:block;min-width:0;flex-basis:100%;margin:12px 0;padding:12px 13px;border-left:3px solid #7ea373;background:#edf5e8;color:#416940}
  .workshop-inline-feedback>b{font-size:13px}.workshop-inline-feedback p{font-size:14px;line-height:1.8;margin:5px 0 0;white-space:pre-line}
  .workshop-inline-feedback.error{border-color:#c57845;background:#fff1e3;color:#8d532f}
  .workshop-feedback-toast{display:none}
  .workshop-footer{padding:20px 14px calc(24px + env(safe-area-inset-bottom,0px))}
  .workshop-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
  .workshop-progress>div{padding-left:0;border-right:0}.workshop-progress b{font-size:26px}
  .workshop-progress span,.workshop-history li>span{font-size:12px;line-height:1.8}
  .workshop-history li{gap:10px}.workshop-lab .workshop-history li>p,.workshop-lab .workshop-boundary p,.workshop-lab .workshop-boundary ul{font-size:13px}
}
@media(min-width:640px) and (max-width:1030px) and (max-height:500px) and (orientation:landscape){
  .workshop-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  .workshop-visual{display:contents}
  .workshop-model-dock{display:block;grid-column:1;grid-row:2;align-self:stretch;min-width:0;border-right:1px solid var(--ws-line)}
  .workshop-tray-panel{grid-column:1/-1;grid-row:1;padding-top:4px}.workshop-tray-heading{padding-top:10px}
  .workshop-operation{grid-column:2;grid-row:2}
  .workshop-model-frame{top:var(--lab-sticky-top,0px)}
  .workshop-lab .workshop-model-frame .viewer{height:230px;min-height:230px}
  .workshop-operation-body{padding:16px 12px}.workshop-operation-heading{padding:15px 12px}
}
/* Extension navigation stays separate from the control and workshop panels. */
.scene-experience{min-width:0;scroll-margin-top:14px}
.scene-library .section-heading{align-items:flex-start}
.scene-library-tools{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:25px 0 16px}
.scene-search{display:flex;align-items:center;gap:10px;flex:1;max-width:610px;background:#fbfcf8;border:1px solid #bbc9c4;padding:0 15px;min-height:48px}
.scene-search>span{font-size:26px;color:#68817d;line-height:1}
.scene-search input{width:100%;font:inherit;font-size:13px;background:transparent;border:0;outline:0;min-width:0;padding:13px 0;color:var(--navy)}
.scene-search:focus-within{outline:2px solid var(--orange);outline-offset:2px}
.scene-activity{display:flex;align-items:center;gap:12px;flex:none;font-size:11px;color:#5d746e}
.scene-activity select{min-height:48px;padding:10px 35px 10px 13px;font:inherit;font-size:12px;border:1px solid #bbc9c4;background:#fbfcf8;color:var(--navy);max-width:260px}
.scene-categories{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px}
.scene-categories button{padding:10px 14px;border:1px solid #bdcdc5;background:#f8faf4;font-size:12px;min-height:43px;white-space:nowrap}
.scene-categories button span{margin-left:7px;color:#758c82;font-size:10px}
.scene-categories button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.scene-categories button.active span{color:#b9d3c7}
.scene-library button:focus-visible,.lesson-scenes button:focus-visible,.scene-activity select:focus-visible,.scene-switch select:focus-visible,.primary-model-notice button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.scene-results{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;color:#5f766f;min-height:35px;margin-bottom:17px}
.scene-results button{font-size:11px;color:#a34e2d;padding:5px 9px;border:1px solid #d3b79f}
.scene-results-hint{margin-left:auto;font-size:10px}
.scene-library .model-card{display:flex;flex-direction:column;height:100%;transition:border-color .2s,box-shadow .2s}
.scene-library .model-card:hover{border-color:#a7bfb2;box-shadow:0 7px 20px #153c3420}
.scene-library .model-image{width:100%;flex:none}
.scene-action-badge{position:absolute;bottom:10px;right:10px;background:#173d4ce8;color:#f3f7ef;font-size:10px;line-height:1.5;padding:5px 8px;border:1px solid #f3f7ef70;font-weight:550}
.scene-library .model-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%;padding:18px 16px 19px}
.scene-card-category{font-size:9px;letter-spacing:.07em;color:#7c8d81;margin:0 0 7px}
.scene-library .model-card h3{font-size:15px;margin:0 0 10px;line-height:1.65}
.scene-library .model-card .scene-card-description{font-size:11px;line-height:1.85;color:#5c746c;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 13px}
.scene-capabilities{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;margin-bottom:10px}
.scene-capabilities span{font-size:9px;padding:3px 6px;background:#e9eee6;border:1px solid #d5ded3;color:#597369;line-height:1.5}
.has-mechanism .scene-capabilities span:first-child{background:#f8e8d8;border-color:#e2c9ae;color:#975636}
.scene-library .model-card .scene-card-experiments,.scene-library .model-card .scene-card-lessons{font-size:10px;line-height:1.7;margin:0 0 7px;color:#698278}
.scene-library .model-card .scene-card-experiments{color:#8b623f}
.scene-library .model-card-body>span{font-size:11px;line-height:1.7;margin-top:5px}
.scene-library-empty{padding:40px 20px;text-align:center;background:#f5f7ef;border:1px dashed #b7c8bc;font-size:14px}
.scene-library-empty p{font-size:12px;color:#60796e;margin:12px 0 20px}
.lesson-scenes{min-width:0;margin:0 0 17px}
.lesson-experiments{padding:17px 18px 15px;background:#f7f2e7;border:1px solid #dccab2;border-left:3px solid var(--orange);margin-bottom:13px;min-width:0}
.lesson-experiments-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:12px}
.lesson-experiments-heading .eyebrow{display:block;font-size:8px;margin-bottom:3px}
.lesson-experiments-heading h2{font-size:17px;line-height:1.5;margin:0}
.lesson-experiments-heading h2 span{font-size:11px;margin-left:8px;color:#a87344}
.lesson-experiments-heading>p{font-size:10px;color:#8a7d66;margin:0;line-height:1.7;text-align:right}
.lesson-experiment-list{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 9px;scrollbar-width:thin;min-width:0}
.lesson-experiment-list>button{flex:1 0 235px;max-width:360px;min-width:0;text-align:left;border:1px solid #d6c9b8;background:#fffdf7;padding:12px 13px;scroll-snap-align:start}
.lesson-experiment-list>button.active{border-color:#ad7047;background:#fbecd9;box-shadow:inset 0 3px #b7784d}
.lesson-experiment-list>button>span{display:flex;justify-content:space-between;gap:9px;align-items:center;color:#ac693e;font-size:9px;line-height:1.5;margin-bottom:7px}
.lesson-experiment-list i{font-size:15px;font-style:normal}
.lesson-experiment-list b{font-size:12px;line-height:1.7;display:block;color:#24444d;margin-bottom:6px}
.lesson-experiment-list p{font-size:10px;color:#7c806e;line-height:1.7;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lesson-experiment-list small{font-size:9px;color:#9e7f59}
.lesson-scenes .scene-switch{margin:0;gap:12px;min-width:0}
.lesson-scenes .scene-switch>label{font-size:11px;font-weight:650;flex:none}
.lesson-scenes .scene-switch select{max-width:min(65%,680px);min-height:42px;min-width:0;font-size:12px;padding:9px 12px;text-overflow:ellipsis}
.lesson-scenes .scene-switch>span{font-size:10px;line-height:1.7}
.primary-model-notice{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 17px;background:#f8f2e7;border:1px solid #e3cfad;margin:18px 0}
.primary-model-notice p{font-size:11px;line-height:1.9;margin:0;color:#7d7059}
.primary-model-notice p b{color:#80562e}
.primary-model-notice button{flex:none;color:#a45f37;border:1px solid #cdae8d;background:#fffaf1;padding:10px 13px;font-size:11px;min-height:40px}
@media(max-width:1100px){.scene-library .model-card h3{font-size:14px}.scene-library-tools{gap:15px}.scene-results-hint{display:none}.lesson-experiments-heading>p{max-width:210px}.lesson-experiment-list>button{flex-basis:225px}.lesson-scenes .scene-switch>span{display:none}}
@media(max-width:700px){.scene-library-tools{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}.scene-search{max-width:none;min-height:46px;padding:0 12px}.scene-search input{font-size:12px}.scene-activity{justify-content:space-between;gap:10px}.scene-activity select{flex:1;max-width:none;min-height:42px;font-size:11px}.scene-categories{flex-wrap:nowrap;overflow-x:auto;padding:3px 2px 9px;scrollbar-width:thin;gap:6px;margin-bottom:6px}.scene-categories button{flex:none;padding:9px 11px;font-size:11px;min-height:41px}.scene-results{font-size:10px;gap:8px;margin-bottom:13px}.scene-results button{font-size:10px}.scene-library .section-heading{align-items:flex-start;gap:12px}.scene-library .outline-label{font-size:10px;padding:8px;white-space:normal;text-align:center;max-width:92px;flex:none}.scene-library .model-card-body{padding:12px 10px 14px}.scene-card-category{font-size:8px}.scene-library .model-card h3{font-size:12px;margin-bottom:8px;line-height:1.7}.scene-library .model-card .scene-card-description{font-size:10px;-webkit-line-clamp:3;margin-bottom:10px;line-height:1.8}.scene-action-badge{font-size:8px;padding:3px 5px;bottom:7px;right:6px}.scene-capabilities{gap:3px;margin-bottom:8px}.scene-capabilities span{font-size:8px;padding:3px 4px}.scene-library .model-card .scene-card-experiments,.scene-library .model-card .scene-card-lessons{font-size:9px;line-height:1.8}.scene-library .model-card-body>span{font-size:10px}.lesson-scenes{margin-bottom:13px}.lesson-experiments{padding:13px 11px 10px;margin-bottom:11px}.lesson-experiments-heading{display:block;margin-bottom:9px}.lesson-experiments-heading h2{font-size:16px}.lesson-experiments-heading>p{max-width:none;text-align:left;font-size:10px;margin-top:5px}.lesson-experiment-list{gap:8px}.lesson-experiment-list>button{flex:0 0 min(86%,290px);max-width:none;padding:11px}.lesson-experiment-list b{font-size:12px}.lesson-experiment-list p{font-size:10px}.lesson-scenes .scene-switch{gap:7px;align-items:center;flex-wrap:wrap}.lesson-scenes .scene-switch>label{font-size:10px}.lesson-scenes .scene-switch select{max-width:100%;flex:1;font-size:11px;padding:8px;min-height:42px}.primary-model-notice{display:block;padding:13px;margin-top:15px}.primary-model-notice p{font-size:11px;margin-bottom:10px}.primary-model-notice button{font-size:11px;width:100%}.scene-experience{scroll-margin-top:8px}}
@media(max-width:360px){.scene-library .model-grid{gap:9px}.scene-library .model-card-body{padding:11px 8px 12px}.scene-library .model-card h3{font-size:11px}.scene-library .model-card .scene-card-description{font-size:9px}.scene-library .model-card-body>span{font-size:9px}.scene-action-badge{font-size:7px}.lesson-scenes .scene-switch select{flex-basis:100%}}
.mechanism-lab{border:1px solid #c6d2cc;background:#fff;margin:0 0 30px;color:#183b4b}.mechanism-heading{padding:28px;display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid #d4ddd6}.mechanism-heading h2{margin:8px 0 10px;font-size:26px;line-height:1.4}.mechanism-heading p{margin:0;color:#687c80;line-height:1.8;font-size:13px;max-width:800px}.mechanism-badge{font-size:11px;white-space:nowrap;color:#8e5c3c;align-self:flex-start;background:#f6f0e5;border:1px solid #e1d3bf;padding:8px 12px}.mechanism-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}.mechanism-visual{min-width:0;background:#f0f3ec;border-right:1px solid #cbd8d0;align-self:start;position:sticky;top:10px}.mechanism-visual .uav-viewer{height:clamp(320px,48vh,530px);min-height:300px}.mechanism-tools{display:flex;flex-wrap:wrap;gap:5px;padding:10px;background:#e4ece6;border-bottom:1px solid #cbd8d0}.mechanism-tools button{font-size:11px;background:#fff;border:1px solid #becfc6;padding:8px 11px;color:#183b4b;cursor:pointer}.mechanism-tools button[aria-pressed=true]{background:#183b4b;color:#fff}.mechanism-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px;gap:12px;background:#173b4b;color:#fff}.mechanism-readings div{min-width:0}.mechanism-readings span,.mechanism-readings small{display:block;font-size:10px;color:#bdd0d4;line-height:1.7}.mechanism-readings strong{display:block;font-size:20px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.mechanism-state{margin:0;padding:12px 16px;color:#3d6a51;font-size:11px;line-height:1.8;border-bottom:1px solid #ccd9cd;background:#edf3e7}.mechanism-inputs{min-width:0;padding:23px;max-height:none}.mechanism-inputs h3{font-size:18px;margin:6px 0 22px}.mechanism-slider{display:block;margin:0 0 22px}.mechanism-slider>span:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:12px}.mechanism-slider output{font-size:22px;font-variant-numeric:tabular-nums;color:#a65e35;white-space:nowrap}.mechanism-slider input{display:block;width:100%;accent-color:#aa643e;margin:14px 0 4px;min-height:30px;cursor:pointer}.mechanism-slider-ends{display:flex;justify-content:space-between;color:#8a9695;font-size:10px}.mechanism-slider>small{font-size:10px;color:#798b8d;line-height:1.7}.mechanism-playback{display:flex;gap:8px;flex-wrap:wrap}.mechanism-playback button{font-size:12px;padding:11px 14px}.mechanism-tiny{color:#849392;font-size:10px;line-height:1.9;margin:13px 0 20px}.mechanism-presets{border-top:1px solid #d6dfd5;padding-top:16px;display:grid;gap:7px}.mechanism-presets>b{font-size:11px;margin-bottom:5px}.mechanism-presets button{padding:11px 13px;display:flex;justify-content:space-between;gap:10px;border:1px solid #c8d4c8;background:#f6f8f0;text-align:left;color:#254956;font-size:12px;cursor:pointer}.mechanism-presets button[aria-pressed=true]{border-color:#ac6a44;background:#f5ece0}.mechanism-presets p{color:#6b817d;font-size:11px;line-height:1.9;margin:8px 0}.mechanism-parts{border-top:1px solid #d6dfd5;margin-top:20px;padding-top:16px;font-size:11px}.mechanism-parts summary{cursor:pointer;line-height:1.8}.mechanism-parts>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.mechanism-parts button{background:#fff;border:1px solid #d1dbd2;padding:7px 9px;font-size:10px;color:#36545b;cursor:pointer}.mechanism-parts button[aria-pressed=true]{border-color:#b16b43;background:#f5eadc}.mechanism-part-detail{background:#f3f6ee;padding:14px;margin-top:16px;font-size:11px;line-height:1.8}.mechanism-part-detail h4{margin:0 0 8px}.mechanism-part-detail p{margin:4px 0 13px}.mechanism-content-tabs{display:flex;border-top:1px solid #ccd7ce;border-bottom:1px solid #ccd7ce;background:#edf2e8;overflow:auto}.mechanism-content-tabs button{border:0;border-right:1px solid #ccd7ce;white-space:nowrap;padding:17px 25px;background:transparent;color:#52716e;font-size:13px;cursor:pointer}.mechanism-content-tabs button[aria-pressed=true]{background:#fff;color:#173b4b;box-shadow:inset 0 -3px #a9633b}.mechanism-content-tabs span{display:inline-block;margin-left:8px;font-size:10px;color:#869d8f}.mechanism-observations{display:grid;grid-template-columns:280px minmax(0,1fr)}.mechanism-observation-list{background:#f4f6ee;border-right:1px solid #d3ddcf;padding:14px}.mechanism-observation-list button{display:flex;gap:13px;align-items:flex-start;text-align:left;padding:17px 12px;border:0;border-bottom:1px solid #d3ddcf;width:100%;background:transparent;color:#4b686c;cursor:pointer;font-size:12px;line-height:1.8}.mechanism-observation-list button[aria-pressed=true]{background:#e4ecdc;color:#183b4b}.mechanism-observation-list span{color:#9b7756;font-size:10px}.mechanism-observation{padding:28px;min-width:0;font-size:13px;line-height:1.95}.mechanism-observation h3{font-size:22px;line-height:1.5;margin:9px 0 14px}.mechanism-observation h4{margin:22px 0 8px;font-size:12px}.mechanism-observation p{margin:4px 0 14px}.mechanism-observation ul{padding-left:20px}.mechanism-goal{color:#6d827f}.mechanism-reason{padding:17px 20px;background:#eef3e7;border-left:3px solid #7e9b71;margin-top:22px;font-size:12px}.mechanism-reason p{margin:6px 0 0}.mechanism-faults,.mechanism-challenges{padding:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mechanism-faults article{border:1px solid #d2dccc;background:#fafbf6;padding:23px;line-height:1.9;font-size:12px;min-width:0}.mechanism-faults h3{font-size:19px;margin:8px 0 18px;line-height:1.6}.mechanism-faults h4{font-size:12px}.mechanism-faults summary{font-size:12px;color:#a15b32;cursor:pointer}.mechanism-faults dt{font-weight:700;margin-top:17px}.mechanism-faults dd{margin:4px 0}.mechanism-faults ul{padding-left:18px}.mechanism-challenges fieldset{min-width:0;border:1px solid #c8d5c8;padding:22px;line-height:1.8}.mechanism-challenges legend{font-size:14px;font-weight:700;padding:0 7px}.mechanism-challenges label{display:flex;gap:10px;padding:12px;margin-bottom:8px;font-size:12px;align-items:flex-start;border:1px solid #d8e0d2;background:#f8faf4;cursor:pointer}.mechanism-challenges input{margin-top:4px;accent-color:#a6653e;flex-shrink:0}.mechanism-challenges button{margin-top:9px;font-size:11px}.mechanism-answer{margin-top:14px;padding:15px;font-size:12px;line-height:1.9;border-left:3px solid #b7834f;background:#f9f1e6}.mechanism-answer.correct{border-color:#6d9b72;background:#edf5e8}.mechanism-answer p{margin:5px 0 0}.mechanism-boundary{padding:18px 26px;background:#f1f5eb;border-top:1px solid #cfdbcb;font-size:11px;line-height:1.9;color:#688078}.mechanism-boundary summary{cursor:pointer;color:#3f635d}.mechanism-boundary ul{padding-left:18px}.mechanism-sources{border-top:1px solid #d4dfcf;margin-top:18px}.mechanism-sources p{margin:15px 0}.mechanism-sources a{color:#365d62;font-weight:700}.mechanism-sources span,.mechanism-sources small{display:block;color:#7b8d84}.mechanism-unavailable{padding:24px;border:1px solid #d1daca}
@media(max-width:1120px){.mechanism-workspace{grid-template-columns:minmax(0,1.25fr) minmax(285px,1fr)}.mechanism-observations{grid-template-columns:230px minmax(0,1fr)}.mechanism-heading{padding:23px}.mechanism-heading h2{font-size:23px}.mechanism-badge{display:none}.mechanism-inputs{padding:18px}}
@media(max-width:900px){.mechanism-workspace{grid-template-columns:1fr}.mechanism-visual{position:static;border-right:0}.mechanism-visual .uav-viewer{height:360px;min-height:300px}.mechanism-inputs{padding:20px}.mechanism-readings{grid-template-columns:repeat(4,minmax(0,1fr))}.mechanism-readings strong{font-size:17px}.mechanism-readings small{font-size:9px}.mechanism-observations{grid-template-columns:1fr}.mechanism-observation-list{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #d3ddcf;padding:8px}.mechanism-observation-list button{min-width:190px;max-width:230px;border-bottom:0;border-right:1px solid #d3ddcf;padding:12px}.mechanism-faults,.mechanism-challenges{grid-template-columns:1fr}.mechanism-playback button{flex:1}}
@media(max-width:540px){.mechanism-heading{padding:19px}.mechanism-heading h2{font-size:21px}.mechanism-heading p{font-size:12px}.mechanism-visual .uav-viewer{height:300px;min-height:280px}.mechanism-tools{padding:8px;gap:4px}.mechanism-tools button{padding:8px;font-size:10px}.mechanism-readings{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.mechanism-state{padding:11px 12px;font-size:10px}.mechanism-inputs{padding:19px 15px}.mechanism-inputs h3{font-size:17px;margin-bottom:16px}.mechanism-slider{margin-bottom:16px}.mechanism-content-tabs button{padding:14px 13px;font-size:12px}.mechanism-content-tabs span{margin-left:5px}.mechanism-observation{padding:20px;font-size:12px}.mechanism-observation h3{font-size:20px}.mechanism-faults,.mechanism-challenges{padding:16px;gap:17px}.mechanism-faults article{padding:17px}.mechanism-challenges fieldset{padding:15px}.mechanism-challenges legend{font-size:13px}.mechanism-challenges label{padding:10px;font-size:11px}.mechanism-boundary{padding:17px}.mechanism-slider output{font-size:21px}}

.mechanism-mobile-inputs{display:none}
@media(max-width:900px){.mechanism-mobile-inputs{display:block;padding:11px 16px;background:#f7f5ec;border-top:1px solid #cad7c9}.mechanism-mobile-inputs label{display:block;margin-bottom:10px}.mechanism-mobile-inputs label>span{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#35565e}.mechanism-mobile-inputs output{color:#a4653a;font-variant-numeric:tabular-nums}.mechanism-mobile-inputs input{display:block;width:100%;margin:8px 0 3px;min-height:25px;accent-color:#a6653e}.mechanism-mobile-inputs>div{display:flex;gap:7px;margin-top:5px}.mechanism-mobile-inputs button{border:1px solid #bdccbd;background:#fff;padding:7px 11px;color:#35565e;font-size:10px;cursor:pointer}.mechanism-inputs>h3,.mechanism-inputs>span.eyebrow,.mechanism-inputs>.mechanism-slider,.mechanism-inputs>.mechanism-playback,.mechanism-inputs>.mechanism-tiny{display:none}.mechanism-inputs{padding-top:6px}.mechanism-presets{border-top:0}}
@media(max-width:540px){.mechanism-mobile-inputs{padding:10px 12px}.mechanism-visual .uav-viewer{height:270px;min-height:250px}.mechanism-readings{gap:7px}.mechanism-readings strong{font-size:16px}.mechanism-state{font-size:10px}}

.mechanism-visual{scroll-margin-top:18px}

/* Touch layouts keep the input next to its model; secondary explanations are
   still available below the controls instead of shrinking the working text. */
.mechanism-compact-help{margin-top:8px}
.mechanism-lab button:focus-visible,.mechanism-lab input:focus-visible,.mechanism-lab summary:focus-visible{outline:3px solid #c5774680;outline-offset:3px}
@media(max-width:900px){
  .mechanism-lab{font-size:14px;min-width:0;overflow-wrap:anywhere;padding-bottom:env(safe-area-inset-bottom,0px)}
  .mechanism-lab button{min-height:44px;font-size:14px;line-height:1.5;touch-action:manipulation;max-width:100%}
  .mechanism-lab input,.mechanism-lab select,.mechanism-lab textarea{font-size:16px}
  .mechanism-lab p,.mechanism-lab li,.mechanism-lab dd{font-size:14px;line-height:1.85}
  .mechanism-lab small,.mechanism-lab .eyebrow{font-size:12px;line-height:1.7}
  .mechanism-heading{padding:20px 15px}.mechanism-heading h2{font-size:23px}.mechanism-heading p{font-size:14px;color:#536e70}
  .mechanism-workspace{grid-template-columns:minmax(0,1fr)}
  .mechanism-visual{position:static;min-width:0;scroll-margin-top:calc(var(--lab-sticky-top,0px) + 8px)}
  .mechanism-tools{flex-wrap:nowrap;overflow-x:auto;gap:7px;padding:7px 8px;scrollbar-width:thin}
  .mechanism-tools button{flex:none;min-height:44px;padding:9px 12px;font-size:13px;white-space:nowrap}
  .mechanism-visual .uav-viewer{height:clamp(250px,36svh,300px);min-height:250px}
  .mechanism-mobile-inputs{display:block;padding:12px 13px;background:#faf8ee}
  .mechanism-mobile-inputs>label{display:block;margin:0 0 7px}
  .mechanism-mobile-inputs label>span{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:14px;line-height:1.5;color:#294f59}
  .mechanism-mobile-inputs output{font-size:16px;font-weight:600;flex:none;color:#9b542e}
  .mechanism-mobile-inputs input[type=range]{width:100%;height:44px;min-height:44px;margin:0;cursor:pointer;touch-action:pan-y}
  .mechanism-mobile-inputs>.mechanism-compact-playback{display:flex;gap:8px;margin-top:6px}
  .mechanism-mobile-inputs button{flex:1;min-height:44px;padding:9px 10px;font-size:14px;line-height:1.5}
  .mechanism-mobile-inputs button[aria-pressed=true]{background:#183b4b;color:#fff;border-color:#183b4b}
  .mechanism-mobile-help{font-size:12px!important;line-height:1.75!important;color:#556d63;margin:9px 0 4px}
  .mechanism-compact-help{font-size:13px;color:#4e6d61;border-top:1px solid #d7dfcc}
  .mechanism-compact-help summary{font-size:13px;min-height:44px;padding:10px 0;line-height:1.7;cursor:pointer}
  .mechanism-compact-help p{font-size:13px;margin:5px 0 13px}.mechanism-compact-help p>b,.mechanism-compact-help p>span{display:block}
  .mechanism-readings{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;gap:12px}
  .mechanism-readings span,.mechanism-readings small{font-size:12px;line-height:1.65;color:#d0dfdf}
  .mechanism-readings strong{font-size:20px;line-height:1.5}
  .mechanism-state{font-size:14px!important;line-height:1.8;padding:13px}
  .mechanism-inputs{padding:15px}
  .mechanism-inputs>.mechanism-presets>b{font-size:14px}.mechanism-presets button{font-size:14px;padding:12px;text-align:left}
  .mechanism-presets p{font-size:13px;color:#536f66}
  .mechanism-parts summary{min-height:44px;font-size:14px;padding:10px 0;line-height:1.7}
  .mechanism-parts>div{display:grid;grid-template-columns:minmax(0,1fr)}
  .mechanism-parts button{font-size:14px;text-align:left;padding:10px 12px;min-height:44px}
  .mechanism-part-detail{font-size:14px;line-height:1.8}.mechanism-part-detail h4{font-size:17px}
  .mechanism-content-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
  .mechanism-content-tabs button{min-width:0;min-height:48px;padding:10px 5px;font-size:14px;white-space:normal}
  .mechanism-content-tabs span{font-size:12px;margin-left:4px}
  .mechanism-observation-list{padding:8px;gap:6px;scrollbar-width:thin}
  .mechanism-observation-list button{flex:0 0 215px;min-width:0;max-width:none;font-size:14px;padding:13px 11px;line-height:1.7}
  .mechanism-observation-list span{font-size:12px}
  .mechanism-observation{padding:20px 15px;font-size:14px;line-height:1.85}
  .mechanism-observation h3{font-size:22px}.mechanism-observation h4{font-size:15px}
  .mechanism-reason{font-size:14px;padding:15px}.mechanism-reason p{font-size:14px}
  .mechanism-faults,.mechanism-challenges{padding:16px 12px;grid-template-columns:minmax(0,1fr);gap:18px}
  .mechanism-faults article{padding:17px;font-size:14px}.mechanism-faults h4,.mechanism-faults summary{font-size:14px}
  .mechanism-faults summary{min-height:44px;padding:9px 0}
  .mechanism-faults dt{font-size:14px}
  .mechanism-challenges fieldset{padding:16px 12px}
  .mechanism-challenges legend{font-size:16px;line-height:1.7;overflow-wrap:anywhere;max-width:100%}
  .mechanism-challenges label{font-size:14px;padding:13px 11px;min-height:48px;gap:12px;line-height:1.8;cursor:pointer}
  .mechanism-challenges label:focus-within{border-color:#ac6a44;background:#f9f0e2}
  .mechanism-challenges input[type=radio]{width:20px;height:20px;min-width:20px;margin-top:3px}
  .mechanism-challenges button{min-height:44px;font-size:14px;padding:11px 14px;width:100%}
  .mechanism-answer,.mechanism-answer p{font-size:14px;line-height:1.85}
  .mechanism-boundary{padding:16px 15px calc(20px + env(safe-area-inset-bottom,0px));font-size:13px}
  .mechanism-boundary summary{min-height:44px;font-size:14px;padding:9px 0;line-height:1.8}
  .mechanism-boundary p,.mechanism-boundary li,.mechanism-sources span,.mechanism-sources small{font-size:13px;line-height:1.85}
  .mechanism-sources a{display:inline-block;min-height:44px;font-size:14px;padding:9px 0}
}
@media(min-width:640px) and (max-width:900px) and (max-height:500px) and (orientation:landscape){
  .mechanism-visual{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,1fr);align-items:start}
  .mechanism-tools{grid-column:1/-1}
  .mechanism-visual .uav-viewer{grid-column:1;grid-row:2;height:250px;min-height:250px}
  .mechanism-mobile-inputs{grid-column:2;grid-row:2;border-left:1px solid #c5d4c8;border-top:0;padding:11px 12px}
  .mechanism-readings,.mechanism-state{grid-column:1/-1}
  .mechanism-mobile-inputs>.mechanism-compact-playback{flex-wrap:wrap}
  .mechanism-mobile-inputs button{flex:1 1 120px}
  .mechanism-mobile-inputs output{font-size:15px}
}
/* Phone and small landscape layouts. Desktop rules stay in the module sheets. */
.mobile-studybar,.rail-close,.mobile-menu-scrim,.summary-toggle{display:none}
@media(max-width:900px){
  html{scroll-padding-top:62px}body{overflow-wrap:break-word;-webkit-text-size-adjust:100%}
  .site-header{height:64px;min-height:64px;padding:8px 12px;gap:8px;flex-wrap:nowrap;justify-content:space-between}
  .site-header .brand{width:auto;gap:7px;font-size:18px;min-width:0}.site-header .brand-symbol{width:28px;height:28px}.brand-sub{font-size:9px;letter-spacing:0;margin-top:1px}
  .site-header nav{height:44px;margin:0;gap:4px;font-size:12px;flex:none}.site-header nav>*{height:44px;min-width:44px;justify-content:center;padding:0 3px}.site-header nav>a:last-child,.header-status{display:none}
  .mobile-studybar{display:flex;position:sticky;top:0;z-index:22;gap:6px;padding:6px 12px;background:#f8fbf8f5;border-bottom:1px solid #c9d6d4;backdrop-filter:blur(8px)}
  .mobile-studybar button{flex:1;min-height:44px;font-size:13px;border:1px solid #c5d2d0;background:#fff;border-radius:6px;padding:8px 6px}.mobile-studybar .study-primary{background:#173d4d;color:#fff;border-color:#173d4d}
  .course-layout{display:block}.lesson-main{padding:16px 12px 32px;min-width:0}.breadcrumb{font-size:11px;margin-bottom:14px;gap:8px}.breadcrumb>button:first-child{min-height:36px}.breadcrumb .mobile-menu{display:none}
  .course-rail{display:none}.course-rail.open{display:block;position:fixed;inset:0 auto 0 0;top:0;width:min(350px,calc(100vw - 40px));height:100dvh;max-height:100dvh;overflow:auto;overscroll-behavior:contain;z-index:41;padding:calc(12px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));border:0;box-shadow:8px 0 32px #122d3e35}
  .mobile-menu-scrim{display:block;position:fixed;inset:0;z-index:40;width:100%;height:100%;background:#102a3c70;cursor:default}
  .rail-title{position:sticky;top:0;background:#edf0e9;z-index:2;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:10px;font-size:16px}.rail-title>span{margin-left:auto;font-size:12px}.rail-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #bfccc7;border-radius:5px;background:white;font-size:22px}
  .rail-group h3{font-size:12px;line-height:1.7}.rail-group button{min-height:48px;padding:11px 9px}.rail-group b{font-size:14px;line-height:1.6}.rail-group button>span{font-size:12px}.rail-home{min-height:44px;font-size:14px}
  .lesson-heading{gap:10px;margin-bottom:16px}.lesson-heading h1{font-size:23px;line-height:1.45;margin-bottom:10px}.lesson-heading .eyebrow{font-size:10px}.lesson-heading p{font-size:14px;line-height:1.75}.lesson-summary:not(.expanded){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.summary-toggle{display:inline-flex;min-height:44px;align-items:center;font-size:13px;color:#99532f;padding:6px 0}.lesson-heading>button{align-self:stretch;min-height:44px;font-size:13px;margin:0;padding:10px 14px}
  .experience-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px;margin-bottom:10px}.experience-tabs>button{flex:1 1 42%;min-height:48px;display:flex;align-items:center;justify-content:center;font-size:13px;padding:10px 8px;line-height:1.5}.experience-tabs>span{display:none}
  .scene-experience,.lesson-content,.model-context{scroll-margin-top:68px}.lesson-scenes .scene-switch{display:grid;grid-template-columns:1fr;gap:6px}.lesson-scenes .scene-switch>label{font-size:13px}.lesson-scenes .scene-switch select{font-size:16px;min-height:48px;width:100%;max-width:100%;padding:9px 10px}.lesson-experiments{padding:14px 12px}.lesson-experiments-heading h2{font-size:18px}.lesson-experiments-heading>p{font-size:12px}.lesson-experiment-list>button{min-height:130px;padding:13px;flex-basis:min(88%,310px)}.lesson-experiment-list b{font-size:14px}.lesson-experiment-list p{font-size:12px}.lesson-experiment-list small{font-size:11px}
  .stage-grid{display:block}.lab-top{min-height:44px;font-size:12px;padding:10px 12px}.lab-top>span{font-size:10px}.view-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px}.view-controls button{min-height:44px;padding:7px 4px;font-size:12px;border:1px solid #ccd7d2;background:#fff;border-radius:4px}.view-controls button:nth-last-child(2){margin-left:0}
  .visual-disclaimer{font-size:11px;line-height:1.65;padding:10px 12px}.toggle-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}.toggle-controls button{min-height:44px;font-size:13px;padding:9px 6px;line-height:1.4;border-radius:4px}.toggle-controls button:last-child{grid-column:1/-1}
  .disassembly{padding:14px 12px}.disassembly-head{display:grid;gap:8px;grid-template-columns:1fr;font-size:14px}.disassembly-head select{min-height:46px;font-size:16px;width:100%;max-width:100%;padding:9px}.slider-row{gap:8px;min-height:48px;font-size:12px}.slider-row input[type=range]{height:44px;min-width:40px;touch-action:pan-y}.disassembly .slider-row{flex-wrap:wrap}.disassembly .slider-row input{flex:1 1 60%;width:60%}.disassembly>p{font-size:12px;line-height:1.75}.stepper{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stepper button{min-height:44px;font-size:12px;padding:8px 5px}.stepper span{grid-column:1/-1;grid-row:1;font-size:12px;padding:4px 0}.stepper button:last-child{grid-column:1/-1;margin:0}
  .parts-panel{display:block;border-left:0;border-top:1px solid #cbd7d5}.parts-title{font-size:14px;padding:12px}.parts-title span{font-size:11px}.part-buttons{display:flex;overflow-x:auto;overflow-y:hidden;max-height:none;scroll-snap-type:x proximity;padding:8px;gap:6px;background:#f4f7f2}.part-buttons button{flex:0 0 min(76%,260px);min-height:56px;border:1px solid #d1dcd5;background:white;padding:10px;scroll-snap-align:start;gap:8px}.part-buttons button b{font-size:13px;line-height:1.6}.part-buttons button span{font-size:12px}.part-buttons button small{display:block;font-size:10px}.part-detail{max-height:none;overflow:visible;padding:18px 14px}.part-detail h3{font-size:18px}.part-detail dt{font-size:12px}.part-detail dd{font-size:14px;line-height:1.8}.part-category{font-size:12px}.part-detail .small,.show-all{min-height:44px;font-size:13px}.part-empty{padding:20px 16px}.part-empty>b{font-size:14px}.part-empty p{font-size:12px}
  .content-tabs{scroll-snap-type:x proximity;overscroll-behavior-x:contain}.content-tabs button{min-height:48px;font-size:14px;padding:12px 16px;scroll-snap-align:start}.content-pad{padding:22px 16px}.content-pad h2{font-size:20px;line-height:1.55}.content-pad h3{font-size:17px}.objectives li,.key-points p,.step-intro p,.step-article>p,.muted,.deliverables ul,.boundary p{font-size:14px;line-height:1.8}.overview-grid,.key-points,.work-steps{display:block}.tool-box{margin-top:22px;padding:18px}.tool-box h3{font-size:16px}.tool-box ul{font-size:14px}.tool-box p{font-size:12px}.deliverables,.boundary{padding:16px}.deliverables h3,.boundary b{font-size:15px}.step-list{display:flex;overflow-x:auto;gap:6px;margin-bottom:22px;padding-bottom:5px}.step-list button{flex:0 0 78%;min-height:52px;font-size:14px;border:1px solid #d1dcd5;padding:12px}.step-list button span{font-size:12px}.step-article h3{font-size:21px}.explain-block p,.check-block p,.warning-block p,.policy p,.source-entry p{font-size:14px;line-height:1.8}.explain-block b,.check-block b,.warning-block b{font-size:14px}.linked-parts button{min-height:44px;font-size:13px}.step-nav .primary,.step-nav .secondary{min-height:44px;font-size:13px}.faults h3{font-size:17px}.faults dl{display:block;font-size:14px;line-height:1.8}.faults dt{font-size:13px;margin:12px 0 5px}.faults dd{margin:0}.question h3{font-size:16px;line-height:1.8}.answer-options{grid-template-columns:1fr}.answer-options label{min-height:52px;font-size:14px;line-height:1.7;padding:12px}.answer-options input{width:20px;height:20px;flex:none}.quiz-result{font-size:14px;line-height:1.8}.source-entry h3{font-size:15px;overflow-wrap:anywhere}.source-entry b{font-size:12px}.source-actions{gap:8px}.source-actions a{font-size:14px;min-height:44px}.table-scroll{max-width:100%;overscroll-behavior-x:contain}table{font-size:14px;min-width:560px}thead th{font-size:13px}textarea{font-size:16px;line-height:1.8;min-height:260px}.note-actions{gap:8px;flex-wrap:wrap}.note-actions>span{width:100%;font-size:12px}.note-actions .secondary,.note-actions .import-label{min-height:44px;font-size:14px;padding:10px 14px}
  .lesson-footer{gap:8px}.lesson-footer button{min-height:44px;font-size:13px!important;padding:10px}.model-context{padding:22px 16px}.model-context h2{font-size:21px}.model-context>p{font-size:14px}.related-lessons{display:grid;grid-template-columns:1fr;gap:8px}.related-lessons .secondary{min-height:48px;font-size:14px;text-align:left;justify-content:flex-start}
  .scene-library .model-grid{grid-template-columns:1fr;gap:16px}.scene-library .model-image{aspect-ratio:1.6}.scene-library .model-card-body{padding:17px}.scene-library .model-card h3{font-size:18px;line-height:1.5}.scene-library .model-card .scene-card-description{font-size:14px;line-height:1.75;-webkit-line-clamp:3}.scene-card-category{font-size:12px}.scene-capabilities span{font-size:11px;padding:5px 8px}.scene-action-badge{font-size:11px;padding:5px 8px}.scene-library .model-card .scene-card-experiments,.scene-library .model-card .scene-card-lessons{font-size:12px}.scene-library .model-card-body>span{font-size:13px}.scene-search input,.scene-activity select,.search input{font-size:16px}.scene-categories button,.scene-results button,.filters button{min-height:44px;font-size:13px}.scene-results{font-size:12px}.scene-activity{font-size:13px}.scene-library .outline-label{font-size:12px}.section-heading p{font-size:14px;line-height:1.75}.section-heading{align-items:flex-start}.catalog-section,.atlas-section{padding:32px 14px}.section-heading h2{font-size:24px}.lesson-row{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:20px 0}.lesson-row h3{font-size:18px}.lesson-row p{font-size:14px;line-height:1.75}.row-meta,.row-tags{font-size:12px}.row-end{grid-column:2;text-align:left;font-size:14px}.filters{flex-wrap:nowrap;overflow-x:auto}.filters button{flex:none}.hero-copy{padding:30px 16px}.hero-copy>p{font-size:14px}.hero-actions{gap:12px;flex-wrap:wrap}.hero-stats{margin-top:25px;padding-top:18px}.hero-stats strong{font-size:26px}.hero-stats span{font-size:11px}.hero-model{min-height:360px}.hero-model .viewer{height:380px;min-height:360px}.scene-caption{font-size:10px;left:14px;right:14px}.scene-entry{min-height:44px;bottom:24px;right:14px;padding:11px 16px}.scene-foot{display:none}.learning-route{padding:26px 16px}.route-items{gap:16px}.route-items b{font-size:15px}.route-items p{font-size:12px}.source-band{padding:30px 16px;gap:22px}.source-band p{font-size:14px}.source-band>div:last-child{font-size:14px}.record-tools button,.record-tools label{min-height:44px;display:flex;align-items:center;font-size:13px}.site-footer{padding:24px 16px calc(24px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:12px;font-size:12px}.site-footer p{margin:0;width:100%;line-height:1.75}.site-footer a{min-height:44px;display:flex;align-items:center}.toast{max-width:calc(100vw - 24px);left:12px;right:12px;transform:none;bottom:calc(12px + env(safe-area-inset-bottom));font-size:14px;line-height:1.7}
}
@media(min-width:600px) and (max-width:900px){.scene-library .model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){.site-header{height:54px;min-height:54px;padding-block:4px}.mobile-studybar{padding-block:4px}.lesson-heading p{line-height:1.6}.scene-experience{scroll-margin-top:60px}}

@media(max-width:900px){:root{--lab-sticky-top:62px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){:root{--lab-sticky-top:60px}}

@media(max-width:900px){
 .site-header{height:calc(64px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top))}
 .site-header,.mobile-studybar,.lesson-main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .mobile-studybar{top:0;padding-top:calc(6px + env(safe-area-inset-top))}
}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){.site-header{height:calc(54px + env(safe-area-inset-top));padding-top:calc(4px + env(safe-area-inset-top))}.mobile-studybar{padding-top:calc(4px + env(safe-area-inset-top))}}
@media(max-width:900px){.control-viewbar,.mechanism-tools,.workshop-model-frame,.view-controls{scroll-margin-top:8px}.site-header .brand{min-height:44px}}
