:root{--ink:#233b37;--muted:#7c8c86;--green:#315e4d;--lime:#c6d8a0;--paper:#f4f5f0;--border:#e0e5dc;--accent:#d79363}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:13px/1.6 'Segoe UI','Microsoft YaHei',sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);padding:8px 12px;transition:.15s}button:hover{border-color:#789985;background:#eff4eb}button.selected,button.primary{background:var(--green);border-color:var(--green);color:white}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{border:1px solid var(--border);border-radius:6px;background:white;padding:8px;color:var(--ink)}input[type=checkbox]{accent-color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:19px;font-weight:650;letter-spacing:.5px}h2{font-size:27px;font-weight:600;letter-spacing:1px}h3{font-size:17px}.rail{position:fixed;width:104px;inset:0 auto 0 0;background:#203c33;color:#eef1e6;z-index:10}.brand{text-align:center;margin:30px 0 42px;font-size:27px;font-weight:800;letter-spacing:3px}.brand span{color:#cfdda9}.brand small{display:block;font-size:7px;letter-spacing:1px;margin-top:4px;font-weight:400}nav button{display:block;border:0;border-radius:0;background:none;color:#a9c0b3;width:100%;font-size:25px;padding:18px 2px}nav button span{display:block;font-size:11px;margin-top:5px}nav button.active{background:#375347;color:#dae9ba;border-left:3px solid #c6d8a0}nav button:hover{background:#304d40}.rail-bottom{position:absolute;bottom:24px;text-align:center;width:100%;font-size:9px;line-height:2;color:#9fb7a8}.rail-bottom i,.board-status i{display:inline-block;background:#819488;width:6px;height:6px;border-radius:50%;margin-right:5px}main{margin-left:104px}header{height:93px;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fbfcf8}.eyebrow{font-size:9px;letter-spacing:2px;color:#8a9b84;font-weight:700;display:block;margin-bottom:4px}.header-right{display:flex;gap:9px;align-items:center}.tag{font-size:10px;color:#66836b;padding:5px 10px;border:1px solid #d5e2c9;border-radius:20px;margin-right:8px}.page{display:none;padding:24px 28px 40px}.page.active{display:block}.work-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.work-head p,.section-head p{color:var(--muted);margin-top:6px}.work-actions{display:flex;gap:8px;align-items:center}.workspace{display:grid;grid-template-columns:174px minmax(420px,1fr) 267px;gap:15px;align-items:start}.panel{background:#fcfdf9;border:1px solid var(--border);border-radius:9px;overflow:hidden}.panel-title{padding:14px 15px 10px;font-weight:650;display:flex;justify-content:space-between;font-size:12px}.panel-title span{font-size:9px;color:#8d9d91;font-weight:400}.library{padding-bottom:12px}.library input{margin:0 12px;width:calc(100% - 24px);font-size:11px}.subtle{color:#8a958b;font-size:10px}.library>.subtle{padding:9px 12px;font-size:9px}.part{width:calc(100% - 20px);margin:3px 10px;text-align:left;display:flex;gap:10px;align-items:center;padding:8px;background:#f5f7f0;border-color:#e9ede3}.part-icon{width:33px;height:37px;display:grid;place-items:center;border-radius:3px;box-shadow:1px 2px 3px #a4aca944;background:linear-gradient(125deg,#fff,#d2d7ce);font-weight:bold;border-left:5px solid var(--pc)}.part b{display:block;font-size:11px;font-weight:500}.part small{display:block;font-size:9px;color:#8c998d}.library-note{padding:12px;font-size:9px;color:#8b998b;border-top:1px solid var(--border);margin-top:10px}.toolbar{min-height:51px;padding:10px;display:flex;justify-content:space-between;gap:6px;border-bottom:1px solid var(--border);flex-wrap:wrap}.toolbar>div{display:flex;gap:3px}.toolbar button{padding:5px 7px;font-size:10px;border-color:transparent;background:transparent}.toolbar button.selected{background:#e0e9d6;color:#31553d}.toolbar .power{background:#e4ebdc;color:#3f5f3e;border:1px solid #d6dfca}.toolbar .power.live{background:#ac5947;color:white}.board-wrap{padding:17px 16px 0;background:#e8ebe6;perspective:1100px;overflow:hidden;min-height:420px}#board{display:block;width:100%;height:auto;max-height:650px;touch-action:none;transition:transform .4s;border:8px solid #b4bcc0;border-radius:4px;box-shadow:0 5px 12px #182d3133;background:#d9dce0}#board.tilt{transform:rotateX(17deg) rotateY(-8deg) scale(.97);box-shadow:15px 20px 15px #182d3144}.board-meta{padding:10px 0;font-size:10px;font-weight:600}.board-meta span{float:right;color:#89958b;font-weight:400;font-size:9px}.board-status{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:9px 12px;font-size:9px;color:#88968a}.board-status #runStatus{color:#507455}.board-status .live i{background:#69a96c;box-shadow:0 0 5px #69a96c}svg text{font-family:'Segoe UI','Microsoft YaHei',sans-serif;pointer-events:none}.device{cursor:grab}.device:active{cursor:grabbing}.terminal{cursor:crosshair}.terminal:hover{stroke:#df8c5b;stroke-width:4}.wire{cursor:pointer}.wire:hover{stroke-width:7}.inspector{display:flex;flex-direction:column;gap:12px}.task{padding-bottom:13px}.task-row{padding:6px 14px;font-size:11px;display:flex;gap:9px;align-items:center}.step-no{width:19px;height:19px;border:1px solid #d3dfcc;border-radius:50%;text-align:center;font-size:9px;line-height:18px;color:#7b9274}.step-no.done{color:#fff;background:#5d8359}.wide{width:calc(100% - 28px);margin:11px 14px 0}.feedback{font-size:10px;margin:9px 15px 0;color:#7c8c7b}.meter{padding-bottom:12px}.lcd{background:#dce5cb;border:5px solid #354339;border-radius:7px;margin:0 14px;padding:8px 11px;color:#2e4431;box-shadow:inset 1px 2px 5px #71857333}.lcd>span{font-size:8px;letter-spacing:2px;display:block}.lcd strong{font:30px/1.4 Consolas,monospace;display:block;white-space:nowrap;font-weight:400;letter-spacing:-1px}.lcd small{font:8px Consolas,monospace;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented{display:flex;margin:10px 14px 7px;gap:5px}.segmented button{flex:1;padding:4px}.probe-controls{display:flex;gap:4px;margin:0 14px}.probe-controls button{padding:4px 7px;font-size:9px}.probe-controls #redProbe{color:#b45d4a}.probe-controls #blackProbe{color:#4e5750}.probe-controls button.selected{background:#ebeee5;border-color:#74896c}.meter p{padding:6px 15px 0;font-size:9px}.metrics{display:flex;justify-content:space-between;padding:0 16px 8px}.metrics b{display:block;font:24px Consolas,monospace}.metrics small{font-size:9px;color:#7c907c}#scope{display:block;width:calc(100% - 24px);height:62px;background:#263d35;margin:0 12px;border-radius:4px}.scope-note{padding:3px 14px}#logic{display:block;width:calc(100% - 24px);height:85px;margin:4px 12px;background:#f0f4ea;border-radius:4px}#logic+.subtle{padding:0 14px 10px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:15px 0}.bottom-grid .panel{min-height:125px}#properties,#eventLog{padding:0 15px 14px;font-size:11px;color:#758776}#properties input{width:80px;padding:4px}#properties button{padding:4px 8px;font-size:10px}#eventLog{max-height:130px;overflow:auto}.log{border-bottom:1px solid #eff1e9;padding:3px 0;display:flex;gap:10px}.log time{font-family:Consolas;color:#9ba498}.section-head{padding:10px 0 30px}.section-head h2{font-size:33px}.section-head p{max-width:760px;margin:8px 0 16px}.course-filters{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px}.course-card{padding:22px;display:flex;flex-direction:column;min-height:220px}.course-card h3{margin:9px 0;font-size:17px}.course-card p{font-size:11px;color:#889783;flex:1}.course-card .eyebrow{letter-spacing:1px}.course-card footer{margin-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8a9987}.course-card.done{border-color:#7b9c70}.course-card .number{font:32px/1 Consolas;color:#a6b89b}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skill-card{padding:23px;cursor:pointer;min-height:170px}.skill-card.selected{border-color:#547850;background:#edf2e4}.skill-card h3{margin:10px 0}.skill-card p{color:#83917b;font-size:11px}.skill-stage{margin-top:22px;min-height:280px;padding:28px}.skill-stage h3{font-size:22px}.skill-stage p{color:#798a75;margin:10px 0}.skill-stage label{display:inline-block;margin:8px 20px 8px 0}.skill-stage input[type=range]{width:200px;vertical-align:middle}.skill-work{display:flex;gap:35px;align-items:center;flex-wrap:wrap;margin:22px 0}.wire-sample{width:320px;height:44px;background:linear-gradient(#adbbcb,#406a9c,#6c90b6);border-radius:8px;position:relative;box-shadow:0 5px 8px #28464122}.wire-sample:after{content:'';position:absolute;right:0;top:8px;height:28px;width:var(--strip,50px);background:repeating-linear-gradient(0deg,#bd8d4c 0,#edc27d 3px,#aa7d42 5px);border-radius:0 3px 3px 0}.terminal-demo{width:160px;height:74px;border-radius:9px;background:linear-gradient(#dfe6df,#9aa89e);border-left:50px solid #79a0b9;box-shadow:3px 4px 5px #34543b33;display:grid;place-items:center}.solder-demo{height:90px;width:260px;position:relative;background:linear-gradient(transparent 35%,#608663 35%,#608663 80%,transparent 80%);border-radius:8px}.solder-demo:after{content:'';position:absolute;top:35px;left:110px;width:var(--joint,30px);height:25px;background:radial-gradient(at 30% 20%,white,#b6c1c6 45%,#768588);border-radius:50%;box-shadow:0 0 15px var(--heat,transparent)}.label-demo{min-width:210px;padding:16px 23px;background:#f6edcf;box-shadow:0 3px 8px #173c3522;font:25px Consolas;letter-spacing:4px;color:#182f27}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.prose{padding:27px}.prose h3{margin:0 0 14px}.prose p{margin:0 0 18px;color:#768572;line-height:1.9}dialog{border:1px solid #d8dfd0;max-width:850px;width:90vw;border-radius:12px;padding:34px;background:#fbfcf7;color:var(--ink);max-height:88vh;overflow:auto}dialog::backdrop{background:#132e2866;backdrop-filter:blur(3px)}.modal-close{position:absolute;right:12px;top:12px;border:0;background:none;font-size:22px}.source{font-size:10px;word-break:break-all;color:#91a084;margin:10px 0}.excerpt{border-top:1px solid var(--border);padding:14px 0;line-height:1.9;font-size:12px;color:#63755e}.excerpt small{display:block;color:#9aa58d}.quiz{background:#eef2e5;padding:18px;margin:20px 0}.quiz label{display:block;padding:5px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:#264b3c;color:white;padding:12px 23px;border-radius:7px;z-index:100;transition:.2s;box-shadow:0 5px 20px #1236;max-width:80vw}#toast.show{transform:translateX(-50%) translateY(0)}.form-row{margin:14px 0}.form-row label{display:block;margin-bottom:5px}.form-row input,.form-row textarea{width:100%}.form-row textarea{height:100px}.chip{font-size:9px;background:#e8efdb;padding:3px 7px;border-radius:3px;color:#64805d}.instruction{border-left:3px solid #c99c63;padding:8px 14px;background:#f4f0e4;margin:15px 0;color:#7e744d;font-size:12px}
@media(min-width:1650px){.workspace{grid-template-columns:190px minmax(420px,1fr) 300px}.page{padding:28px 35px}.board-wrap{padding:23px 22px 0}}@media(max-width:1200px){.workspace{grid-template-columns:150px minmax(380px,1fr)}.inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.board-wrap{min-height:350px}.work-head{align-items:start;gap:15px}.work-actions{flex-wrap:wrap;justify-content:end}.tag{display:none}.skill-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.rail{width:70px}.brand{font-size:20px}.brand small{font-size:5px}main{margin-left:70px}header{height:auto;padding:15px;display:block}.header-right{margin-top:10px}.page{padding:18px 12px}.work-head{display:block}.work-actions{justify-content:start;margin-top:14px}.workspace{grid-template-columns:1fr}.library{display:none}.inspector{grid-template-columns:1fr}.bottom-grid,.guide-grid,.skill-grid{grid-template-columns:1fr}.board-wrap{min-height:280px}.board-status #toolHint{display:none}h1{font-size:16px}}
/* Industrial electrical workshop: graphite, enamel red, copper and instrument phosphor. */
:root{--ink:#e1e2d6;--muted:#8f9a97;--green:#a83d33;--lime:#deb26f;--paper:#151a1c;--border:#343e40;--accent:#c58e53}
body{background:#151a1c;background-image:linear-gradient(#60727209 1px,transparent 1px),linear-gradient(90deg,#60727209 1px,transparent 1px);background-size:36px 36px;color:var(--ink)}
button{background:#242c2e;border-color:#495355;color:#d7ddd6;border-radius:3px;box-shadow:inset 0 1px #ffffff08;font-weight:500}button:hover{background:#344041;border-color:#bd945b;color:#f4ddad}button.primary,button.selected{background:#a43b32;border-color:#d0634b;color:#fff0d4;box-shadow:inset 0 1px #efb69022,0 2px 5px #0003}input,select,textarea{background:#1c2426;color:#dae0d7;border-color:#485154;border-radius:3px}input::placeholder{color:#77847f}input[type=checkbox]{accent-color:#bd5544}a{color:#c8b087;text-underline-offset:3px}.rail{background:linear-gradient(90deg,#141d20,#202c2d);border-right:1px solid #4d5350;box-shadow:4px 0 12px #0003}.brand{color:#efe4cb;text-shadow:2px 3px #0006}.brand span{color:#e29b66}.brand:after{content:'★';display:block;color:#bd5140;font-size:14px;line-height:1;margin-top:12px}.brand small{color:#a0b0ab}.rail nav button{color:#849e9e;box-shadow:none;position:relative}.rail nav button.active{background:linear-gradient(90deg,#7c332e88,#4d322d33);border-left-color:#d45d46;color:#f0c796}.rail nav button:hover{background:#304041}.rail-bottom{color:#82938d}.rail-bottom i{background:#a94a3a}header{background:linear-gradient(110deg,#202b2e,#20292b 60%,#292b27);border-bottom:1px solid #515956;box-shadow:0 4px 12px #0002}header h1{letter-spacing:1px}.eyebrow{color:#b6a27b;letter-spacing:2px}.tag{color:#a6c5ad;border-color:#4d6358;background:#36544322}.panel{background:linear-gradient(120deg,#252e30,#20282b);border-color:#3c4849;border-radius:5px;box-shadow:0 3px 9px #0002,inset 0 1px #ffffff07}.panel-title{color:#d6d6c5;border-bottom:1px solid #ffffff05;letter-spacing:.8px}.panel-title span{color:#a3aa93}.panel-title:before{content:'';height:9px;width:3px;background:#b27b48;display:inline-block;position:absolute;margin:5px 0 0 -9px}.library .panel-title{margin-left:4px}.part{background:linear-gradient(110deg,#2c3638,#252e30);border-color:#424c4c}.part:hover{background:#39413b}.part-icon{background:linear-gradient(125deg,#d8ded2,#7f8e86);color:#253635;box-shadow:2px 3px 5px #0005}.part small{color:#8fa19a}.part b{color:#dde0d4}.library-note{border-color:#404a46;color:#91a19a}.subtle,.library>.subtle{color:#97a69c}.toolbar{background:#273234;border-color:#465354}.toolbar button{color:#c2d0c6}.toolbar button:hover{background:#3a4543}.toolbar button.selected{background:#9e4235;color:#ffe3b9;border:1px solid #b96546}.toolbar .power{background:#34473e;color:#bdd7b1;border-color:#60775e}.toolbar .power.live{background:#a43c31;border-color:#d56b4c;box-shadow:0 0 12px #a43c3144;color:#ffe2b3}.board-wrap{background:radial-gradient(at 50% 20%,#424c4b,#2a3537);border-bottom:1px solid #55615a}.board-meta{color:#c1c9b9}.board-meta span{color:#9daa9d}#board{border-color:#848f8d;box-shadow:0 7px 18px #0009}#board-status,.board-status{background:#202c2c;color:#8eaaa0}.board-status #runStatus{color:#adc098}.board-status .live{color:#e1bd78}.board-status .live i{background:#dbad54;box-shadow:0 0 7px #d79a46}.feedback{color:#b7c4ad}.step-no{border-color:#637367;color:#b2c2a6}.step-no.done{background:#ab493b;color:#ffe5b7;border-color:#c37a52}.lcd{background:linear-gradient(130deg,#b8c9a0,#8da581);border-color:#182427;box-shadow:inset 0 2px 7px #26351c88,0 0 0 1px #4d5b50,0 0 15px #92ad6f18}.lcd strong{color:#263a29;text-shadow:0 0 3px #314d3333}.segmented button{background:#34403c;border-color:#687867}.segmented button.selected{background:#885038;border-color:#b48051;color:#ffe9bd}.probe-controls button{background:#303b3c;border-color:#515f5b}.probe-controls #redProbe{color:#ec9a80}.probe-controls #blackProbe{color:#c0cfbe}.probe-controls button.selected{background:#4c3b30;border-color:#bb9163}.metrics{padding-top:8px}.metrics b{color:#c7cfa3;text-shadow:0 0 10px #b4c79411}.metrics small{color:#9daa98}#scope{border:1px solid #516652;box-shadow:inset 0 0 9px #0008}#logic{background:#bac4a7;opacity:.85}#properties,#eventLog{color:#aab9a9}.log{border-color:#3b4842}.log time{color:#91a59a}.course-card .number{color:#d09661}.course-card p,.skill-card p{color:#a6b4a7}.course-card.done{border-color:#a3824b}.course-card footer{color:#a2b397}.chip{color:#d6c398;background:#5a503244;border:1px solid #786a4255}.skill-card{color:#dddcca;min-height:165px;text-align:left}.skill-card.selected{background:linear-gradient(130deg,#73393066,#2a3331);border-color:#bb7550}.skill-grid{grid-template-columns:repeat(3,1fr)}.skill-stage p{color:#aab7a5}.skill-stage h3{color:#eed8b5}.instruction{background:#7a5b2920;border-color:#ba8950;color:#d0bd94}.prose p{color:#adb6a7}.prose h3{color:#dabd8e}dialog{background:linear-gradient(140deg,#263134,#1a2528);color:#e0dfcd;border-color:#666650;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#070e12b8}.excerpt{color:#b9c1b0;border-color:#445048}.source{color:#a6b399}.quiz{background:#45533833}.modal-close{color:#dbb78d}.workshop-banner{display:flex;align-items:center;gap:14px;border:1px solid #6b4639;background:linear-gradient(105deg,#82392e44,#2d302633);padding:9px 16px;margin:-2px 0 20px;position:relative;overflow:hidden}.workshop-banner:after{content:'';position:absolute;right:190px;top:0;width:80px;height:100%;background:repeating-linear-gradient(135deg,#b2844c18 0,#b2844c18 6px,transparent 6px,transparent 12px)}.banner-star{font-size:27px;color:#d16847;text-shadow:0 0 15px #bc583533}.workshop-banner b{font-size:13px;font-weight:500;letter-spacing:2px;color:#d9b895}.workshop-banner small{font-size:9px;display:block;color:#9caa9b;letter-spacing:2px}.bench-serial{margin-left:auto;color:#9f8d68;text-align:right;font:8px/1.8 Consolas;letter-spacing:2px}.grip-meter{height:12px;width:250px;background:#131d20;border:1px solid #4c5c56;margin:10px 0}.grip-meter span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#b7744d,#bac193)}#toast{background:#613c30;border:1px solid #ad8050;color:#f8e0b7}.physical-detail{margin-top:10px;font-size:10px;color:#bcaa88}.solder-demo{background:linear-gradient(transparent 35%,#466d5a 35%,#466d5a 80%,transparent 80%)}
@media(max-width:800px){.skill-grid{grid-template-columns:1fr}.bench-serial{display:none}.workshop-banner b{font-size:11px}.workshop-banner{margin-top:0}.rail nav button{padding:12px 2px}}
/* Single-scene desktop simulator. Manuals and terminals float over the bench. */
body.immersive{height:100vh;overflow:hidden}.immersive .rail{width:76px}.immersive .brand{font-size:22px;margin:20px 0 30px}.immersive .brand small{font-size:5px}.immersive .rail nav button{font-size:20px;padding:13px 2px}.immersive .rail nav button span{font-size:9px}.immersive main{height:100vh;margin-left:76px;display:flex;flex-direction:column;overflow:hidden}.immersive header{flex:0 0 65px;height:65px;padding:10px 20px}.immersive header h1{font-size:16px}.immersive .header-right button{font-size:10px;padding:6px 10px}.immersive .header-right .tag{font-size:8px}.immersive #lab{display:flex!important;flex-direction:column;padding:12px 16px 0;height:calc(100vh - 65px);min-height:0;gap:10px}.immersive .workshop-banner{margin:0;flex:0 0 34px;padding:3px 11px}.immersive .banner-star{font-size:20px}.immersive .workshop-banner b{font-size:10px;letter-spacing:2px}.immersive .workshop-banner small{display:inline;margin-left:16px;font-size:8px}.immersive .bench-serial{font-size:6px}.immersive .work-head{margin:0;flex:0 0 56px;min-height:0;gap:8px}.immersive .work-head h2{font-size:20px}.immersive .work-head p{font-size:10px;margin:0}.immersive .work-head .eyebrow{font-size:7px;margin:0}.immersive .work-actions button,.immersive .work-actions select{font-size:10px;padding:6px 8px}.immersive .workspace{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 275px;align-items:stretch;gap:12px}.immersive .board-panel{display:flex;flex-direction:column;min-height:0;border:1px solid #65716b;box-shadow:0 5px 12px #0008}.immersive .toolbar{min-height:42px;padding:6px 9px;flex:0 0 42px}.immersive .board-wrap{min-height:0;flex:1;padding:16px 22px 34px;position:relative;background:radial-gradient(ellipse at center,#53554c,#303b3c 70%);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 40px #0007}.immersive #board{width:100%;height:100%;max-height:none;object-fit:contain;border-width:5px;background:#bcc4bc}.immersive .board-meta{position:absolute;bottom:0;left:22px;right:22px;padding:8px 0;font-size:8px;pointer-events:none}.immersive .board-meta span{font-size:8px}.immersive .board-status{flex:0 0 26px;font-size:8px;padding:5px 12px}.immersive .inspector{overflow-y:auto;min-height:0;gap:9px;padding-right:4px;display:flex;scrollbar-width:thin;scrollbar-color:#626b57 #1a2628}.immersive .inspector>.panel{flex-shrink:0}.immersive .panel-title{font-size:10px;padding:10px 13px 7px}.immersive .task-row{font-size:9px;padding:4px 13px}.immersive .task .wide{margin-top:7px;padding:6px;font-size:10px}.immersive .task .feedback{font-size:9px}.immersive .meter{padding-bottom:6px}.immersive .lcd strong{font-size:25px}.immersive .lcd{margin:0 12px;padding:6px 10px}.immersive .segmented{margin:8px 12px 5px}.immersive .segmented button{padding:3px}.immersive .metrics b{font-size:20px}.immersive #logic{height:65px}.immersive #scope{height:55px}.immersive .physical-detail{font-size:9px}.immersive #properties,.immersive #eventLog{padding:7px 13px 10px;font-size:10px}.immersive #properties p{font-size:10px}.immersive #eventLog{max-height:110px}.immersive .rail-bottom{font-size:7px;bottom:15px}.immersive .page:not(#lab){display:none}.immersive .page.terminal-drawer.active{display:block;position:fixed;z-index:20;top:77px;left:94px;right:30px;bottom:25px;height:auto;max-width:1050px;padding:28px;background:linear-gradient(125deg,#202c2ff7,#172326fa);border:2px solid #7b7256;box-shadow:15px 20px 80px #000b,inset 0 0 0 5px #202829;overflow:auto;backdrop-filter:blur(12px);scrollbar-width:thin;scrollbar-color:#766a4b #1b292b}.terminal-drawer .section-head{padding-top:8px;padding-bottom:16px}.terminal-drawer .section-head h2{font-size:25px}.terminal-drawer .section-head p{font-size:11px}.drawer-close{position:sticky;top:-15px;float:right;z-index:2;background:#663c30;border-color:#a57b4e;color:#e8c792;font-size:10px}.terminal-drawer .course-grid{grid-template-columns:repeat(3,1fr);gap:12px}.terminal-drawer .course-card{padding:17px;min-height:180px}.terminal-drawer .course-card h3{font-size:15px}.terminal-drawer .skill-card{min-height:110px;padding:15px}.terminal-drawer .skill-card h3{font-size:15px;margin:5px 0}.terminal-drawer .skill-stage{padding:22px}.terminal-drawer .skill-stage h3{font-size:19px}.terminal-drawer .skill-stage p{font-size:11px}.terminal-drawer .guide-grid{grid-template-columns:1fr 1fr}.bench-zoom{position:absolute;right:30px;bottom:43px;display:flex;gap:3px;align-items:center;background:#18262bbb;padding:4px;border:1px solid #5e6c62;backdrop-filter:blur(5px);border-radius:3px}.bench-zoom button{padding:3px 8px;font-size:10px}.bench-zoom span{font-size:7px;margin:0 6px;color:#c5ceb5}
#inventoryDock{flex:0 0 176px;min-height:0;margin:0 -3px;border:1px solid #7d7258;border-bottom:0;border-radius:5px 5px 0 0;background:linear-gradient(#303a3a,#1a2628);box-shadow:0 -4px 10px #0005;overflow:hidden;transition:flex-basis .2s}#inventoryDock.stowed{flex-basis:37px}.dock-handle{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:5px 10px;background:linear-gradient(#4a4e43,#303b36);border-bottom:1px solid #686e54;height:36px;box-shadow:inset 0 1px #d6ce9c33}.dock-tabs{display:flex;gap:5px}.dock-tabs button{font-size:10px;padding:4px 20px;background:#263437;border-color:#667466;color:#c8d0b4}.dock-tabs button.selected{background:#914c35;color:#f3daac;border-color:#c59761}#handStatus{margin-left:auto;color:#c7caa3;font:9px Consolas,'Microsoft YaHei'}#stowTray{font-size:9px;padding:3px 10px;background:#283936}#traySurface{height:140px;padding:8px 10px;background:repeating-linear-gradient(105deg,#111e2211 0,#111e2211 1px,transparent 1px,transparent 5px);box-shadow:inset 0 0 25px #0005}.tray{height:100%;display:none;gap:8px}.tray.active{display:flex}.tray-item{height:118px;flex:1;min-width:75px;max-width:180px;background:radial-gradient(ellipse at 50% 40%,#3a4b49,#263638);border:1px solid #53635a;box-shadow:inset 0 0 9px #08131988,0 3px 4px #0004;display:flex;flex-direction:column;align-items:center;padding:3px 6px;color:#cfdbc4}.tray-item svg{width:100%;height:77px;filter:drop-shadow(4px 5px 2px #0008);transition:.15s}.tray-item:hover svg{transform:translateY(-4px) rotate(-3deg)}.tray-item span{font-size:10px}.tray-item small{font-size:8px;color:#90a799}.tray-item.picked{border-color:#d0a269;background:#584f3444}#componentTray .library{width:100%;background:none;border:0;box-shadow:none;padding:0;overflow:visible;display:flex;align-items:stretch;position:relative}#componentTray .library .panel-title,#componentTray .library>.subtle,#componentTray .library-note{display:none}#componentTray .library input{width:100px;height:30px;font-size:9px;margin:6px 10px 0 0;flex:0 0 100px}#componentTray #parts{display:flex;gap:6px;flex:1;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#6b785b transparent;padding-bottom:5px}#componentTray .part{width:auto;flex:1;min-width:85px;max-width:145px;margin:0;flex-direction:column;gap:5px;padding:9px 5px;text-align:center;background:radial-gradient(#3d4e49,#253638);border-color:#596957;box-shadow:inset 0 0 7px #07181977}#componentTray .part-icon{width:42px;height:53px;border-left-width:7px;font-size:16px;transform:perspective(300px) rotateX(10deg) rotateY(-8deg);box-shadow:4px 6px 4px #0006}#componentTray .part b{font-size:9px;white-space:nowrap}#componentTray .part small{font-size:7px}.immersive #modal{max-width:1000px}.immersive #modal:has(#threeStage){width:1000px}.immersive dialog .metrics{max-width:400px}.immersive .header-right .tag{display:inline-flex}
@media(max-width:1100px){.immersive .workspace{grid-template-columns:minmax(0,1fr) 245px}.immersive .work-head h2{font-size:16px}.immersive .workshop-banner small{display:none}.immersive .work-head p{max-width:320px}.immersive .work-actions{gap:4px}.immersive .terminal-drawer .course-grid{grid-template-columns:repeat(2,1fr)}#componentTray .library input{display:none}.tray-item small{display:none}.tray-item{min-width:65px}.immersive .tag{display:none!important}}
.activity-console{position:relative;margin:18px 0;background:#101c20;border:1px solid #66715b;border-radius:4px;box-shadow:inset 0 0 20px #0008}.activity-console canvas{display:block;width:100%;height:auto;max-height:360px}.activity-console #activityHud{position:absolute;right:16px;top:12px;font:11px Consolas,'Microsoft YaHei';color:#d3c48e;background:#162825dd;padding:6px 11px;border:1px solid #547064}.activity-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.activity-controls label{font-size:11px;display:flex;align-items:center;gap:9px}.activity-controls input[type=range]{width:160px;padding:0;accent-color:#b97c4e}.activity-controls b{color:#c7bd91;font:12px Consolas}.activity-controls button{font-size:11px}.activity-feedback{color:#cad3a9;font-size:12px;margin:10px 0}
.immersive main>.page:not(#lab).terminal-drawer.active{display:block}
.panel-play-grid{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:25px;margin:18px 0}.panel-play-grid #fabrication{width:100%;height:auto;touch-action:none;box-shadow:0 5px 15px #0005;border:5px solid #465c5d}.fabrication-control label{display:block;font-size:10px;margin:14px 0!important}.fabrication-control select{width:100%;margin-top:4px;font-size:10px}.fabrication-control button{font-size:10px;margin:5px 0}.fabrication-control p{font-size:11px}.fabrication-bin{display:flex;gap:7px;margin-top:12px}.fabrication-bin button{font-size:10px;touch-action:none}.fabrication-bin .picked{background:#986640;transform:translateY(-8px);cursor:grabbing}
.device path{pointer-events:none}
.immersive.embedded header{display:none}.immersive.embedded #lab{height:100vh}
.grid-tools{display:flex;align-items:center;gap:7px;padding:4px 10px;border-bottom:1px solid #52635c;background:#253633;min-height:33px;font-size:10px}.grid-tools button,.grid-tools select{padding:3px 6px;font-size:10px}.grid-tools>span:first-child{color:#d4bb85}.grid-tools #placementHint{margin-left:auto;color:#a9b8a5;max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-device{cursor:crosshair}.grid-device image{filter:drop-shadow(1px 2px 1px #10232477)}.grid-terminal:hover{fill:#bd8a46;stroke-width:1.2}.device-hit{pointer-events:all}#pointMenu{position:absolute;z-index:25;width:260px;padding:12px;background:linear-gradient(135deg,#263b3a,#172b2d);border:1px solid #a78a59;box-shadow:0 8px 28px #0009;border-radius:4px;color:#dfd4b1;font-size:11px}#pointMenu[hidden]{display:none}#pointMenu b,#pointMenu small{display:block}#pointMenu small{font-size:9px;color:#9db1a4;margin:5px 0}#pointMenu button{padding:6px 8px;font-size:10px;flex:1}#pointMenu>button{width:100%;margin:5px 0}.point-row{display:flex;gap:5px;margin:6px 0}#pointMenu label{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:9px 0}#pointMenu select{min-width:100px;padding:5px;font-size:11px}.immersive #componentTray #parts{display:flex;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;align-items:stretch;gap:7px}.immersive #componentTray .catalog-part{min-width:104px;width:104px;max-width:104px;margin:0;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.immersive #componentTray .catalog-part img{display:block;width:57px;height:68px;object-fit:contain;filter:drop-shadow(2px 3px 2px #0006)}.immersive #componentTray .catalog-part b{white-space:normal;font-size:9px;text-align:center;line-height:1.4}.immersive #componentTray .catalog-part small{font-size:8px;text-align:center}.immersive #componentTray #catalogGroup{max-width:145px;font-size:10px;align-self:center;height:31px}.immersive #componentTray #search{width:125px;margin:0 6px;align-self:center;height:31px}.immersive #componentTray .picked{border-color:#c59457;background:#4a4938}.io-debug{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
@media(max-height:760px){.immersive.embedded .workshop-banner{display:none}.immersive.embedded #inventoryDock{flex-basis:122px}.immersive.embedded #inventoryDock.stowed{flex-basis:37px}.immersive.embedded #traySurface{height:86px}.immersive.embedded .tray-item svg{height:42px}.immersive.embedded #componentTray .part-icon{height:35px;width:30px}.immersive.embedded #componentTray .part small{display:none}.immersive.embedded .board-wrap{padding:10px 14px 30px}}

@media(max-height:850px){.immersive .workshop-banner{display:none}.immersive #inventoryDock{flex-basis:132px}.immersive #inventoryDock.stowed{flex-basis:37px}.immersive #traySurface{height:96px}.immersive #componentTray .catalog-part img{height:48px}.immersive #componentTray .catalog-part small{display:none}.immersive header{height:49px;padding:6px 22px}.immersive header .eyebrow{display:none}.immersive #lab{height:calc(100vh - 49px)}.immersive.embedded #lab{height:100vh}.immersive .board-wrap{padding-top:7px}}

.auto-panel-bar{background:#142c2d;border:1px solid #776a43;padding:9px 12px;margin:0 0 8px;color:#d6c69b}.auto-panel-bar summary{cursor:pointer;font-size:13px}.auto-panel-actions{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.auto-panel-actions button,.auto-panel-actions select{font-size:11px;padding:5px 7px}.auto-panel-bar p{font-size:12px;line-height:1.6;margin:6px 0}

.auto-panel-bar{position:relative;z-index:22}.auto-panel-content{position:absolute;top:100%;left:0;right:0;background:#142c2d;padding:10px 12px;border:1px solid #887647;box-shadow:0 12px 24px #0008}
