.lesson{position:absolute;left:220px;top:190px;width:610px;height:447px;color:#173a30;font-family:jpk-kaiti,serif;font-size:30px;line-height:1.35;box-sizing:border-box}.lesson *{box-sizing:border-box}.lesson p,.lesson h2,.lesson h3{margin:0}.lesson button,.lesson input,.lesson select,.lesson textarea{font:inherit;color:inherit}.lesson button,.lesson select{cursor:pointer}.lesson button{border:1.5px solid #27624b;border-radius:8px;background:#fffdf4;padding:7px 15px;font-size:25px;line-height:1.2;min-height:43px}.lesson button:hover,.lesson button:focus-visible{background:#e6f2de;outline:3px solid #d8ad45;outline-offset:2px}.lesson button.active,.lesson button.primary{background:#246647;color:#fff}.lesson input,.lesson select,.lesson textarea{border:1.5px solid #547e67;border-radius:7px;background:#fffef8;padding:7px 10px;line-height:1.3;min-width:0}.lesson input{font-family:jpk-arial,monospace;font-size:27px}.lesson textarea{font-size:24px;resize:none}.lesson .eyebrow{font-family:jpk-heiti,sans-serif;font-size:23px;letter-spacing:1px;color:#54765f}.lesson .big{font-family:jpk-heiti,sans-serif;font-size:41px;line-height:1.4}.lesson .lead{font-size:32px}.lesson .small{font-size:24px;line-height:1.35}.lesson .mono{font-family:jpk-arial,monospace;font-variant-numeric:tabular-nums}.lesson .muted{color:#567564}.lesson .bar{border-left:5px solid #cea63a;padding:10px 0 10px 20px}.lesson .stack{display:flex;flex-direction:column;gap:16px}.lesson .row{display:flex;align-items:center;gap:12px}.lesson .spread{justify-content:space-between}.lesson .feedback{padding:12px 15px;border-left:4px solid #618e6c;background:#e9f1df;font-size:25px;line-height:1.35;min-height:88px}.lesson .feedback.bad{border-color:#ae5a30;background:#fff0de}.lesson .feedback.good{border-color:#25754b;background:#e2efdc}.lesson .foot{position:absolute;bottom:0;left:0;font-size:24px;line-height:1.3}.route{display:grid;grid-template-columns:1fr 1fr;gap:16px}.route button{text-align:left;min-height:110px;border:0;border-bottom:2px solid #b9c9af;border-radius:0;background:transparent;padding:10px}.route b{display:block;color:#739047;font:22px jpk-arial;margin-bottom:7px}.route span{font:29px jpk-kaiti}.octets{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.octet{text-align:center;border-top:4px solid #4d8053;padding-top:12px}.octet strong{display:block;font:44px jpk-arial;color:#246647}.octet code{display:block;font:23px jpk-arial;letter-spacing:.5px;padding:13px 0}.octet span{font-size:26px}.bit-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.bit-grid label{font:23px jpk-arial;text-align:center;color:#5e7664}.bit-grid button{font:38px jpk-arial;padding:7px 0;width:100%;height:61px}.sum{font:27px jpk-arial;min-height:37px;color:#385e44}.value-pair{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #adbea3;padding:6px 0 13px}.value-pair output{font:48px jpk-arial}.choices{display:grid;gap:11px}.choices button{text-align:left;font-size:28px;min-height:52px}.device{border:2px solid #779172;border-radius:9px;text-align:center;padding:13px 12px;width:270px;background:#f8f8e9}.device.selected{border:4px solid #328455;padding:11px 10px;background:#e3efd7}.device b{display:block;font:28px jpk-kaiti;margin-bottom:8px}.device span{font:28px jpk-arial}.bracket{height:19px;border:2px solid #4d8053;border-top:0;margin:2px 6px 7px}.terminal{background:#142b27;color:#eaf1dd;border-radius:8px;padding:18px;font:23px/1.5 jpk-arial,monospace;white-space:pre-line}.terminal .command{display:block;color:#e6cd74;margin-bottom:5px}.immersive.lesson{inset:0;width:1280px;height:720px;background:#f6f6e9;padding:42px 58px;color:#173a30}.immersive header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.immersive h2{font:42px jpk-heiti}.lab-note{font-size:25px;margin-bottom:15px!important}.lab-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:25px}.lab-table th{text-align:left;font-size:24px;font-weight:normal;color:#59745c;padding:6px 12px;border-bottom:2px solid #52795d}.lab-table td{padding:7px 12px;border-bottom:1px solid #cbd4c0;height:66px}.lab-table input{width:100%;font-size:27px}.lab-table .result{font-size:24px;line-height:1.2}.lab-table .ok{color:#226541}.lab-table .error{color:#9c4629}.lab-controls{display:flex;gap:12px;margin-top:15px}.lab-total{min-height:62px;margin-top:13px;font-size:26px;line-height:1.3}.rules{display:grid;grid-template-columns:155px 1fr;gap:15px 20px;align-items:center}.rules b{font-size:28px;color:#3d7752}.rules span{font-size:27px}.evidence-line{display:grid;grid-template-columns:105px 1fr;gap:12px;align-items:center}.evidence-line label{font-size:27px}.evidence-line input{width:100%}.checklist{font-size:27px;display:grid;gap:12px}.checklist label{display:flex;align-items:center;gap:12px}.checklist input{width:22px;height:22px}.lesson .quiz-progress{font:23px jpk-heiti;color:#668057}.lesson .divider{height:2px;background:#b0c4a2;margin:10px 0}.lesson a{color:#225c41}.lesson .badge{display:inline-block;font:24px jpk-heiti;color:#567849;border-bottom:3px solid #cfa74a;padding-bottom:6px}

.immersive.lesson{padding:30px 58px}.immersive header{margin-bottom:10px}.lab-note{margin-bottom:10px!important}.lab-table td{height:58px;padding:5px 12px}.lab-table input{padding:5px 10px}.lab-table .result{font-size:23px;line-height:1.2}.lab-controls{margin-top:12px}.lab-total{min-height:49px;margin-top:9px}.reflection-stack .checklist{font-size:24px;line-height:1.2;gap:6px}.reflection-stack .small{font-size:22px;line-height:1.3}

.structure-stack .bar{font-size:27px;padding-top:7px;padding-bottom:7px}.structure-stack .octet code{padding:9px 0}.structure-stack .octet{padding-top:8px}.records-stack .small{font-size:22px}.records-stack .feedback{font-size:23px;padding:10px 13px}.quiz-stack .choices{gap:8px}.quiz-stack .choices button{font-size:24px;min-height:43px;padding:7px 12px}.quiz-stack .lead{font-size:27px;line-height:1.3}.quiz-stack .feedback{font-size:23px;padding:10px 13px}.homework-stack .bar{font-size:28px;padding:8px 0 8px 20px}

/* 评课重构：三段问题、编码观察、逐台操作。 */
.classroom-scene{display:flex;gap:12px;align-items:center}.classroom-scene .device{width:265px}.classroom-scene .device span{font-size:25px}.problem-path{display:grid;gap:14px;margin-bottom:18px}.problem-path button{display:flex;gap:16px;text-align:left;border:0;border-bottom:2px solid #bdcdb3;background:transparent;border-radius:0;padding:8px 0}.problem-path b{font:34px jpk-heiti;color:#8b8e4d}.problem-path span{font-size:30px}.problem-path small{display:block;font-size:23px;margin-top:5px;color:#54745f}.period-links{display:flex;gap:12px;margin-bottom:15px}.period-links button{font-size:23px}.flow{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-block:2px solid #bfd0b3}.flow span{font-size:29px}.flow b{color:#8a9c61}.encode-octets{margin:16px 0 10px}.encode-octets .octet{padding-top:8px}.encode-octets .octet code{font-size:32px;padding:6px 0}.encode-octets .octet strong{font-size:42px}.encode-octets .octet span{font-size:23px}.encode-bridge{font-size:27px;text-align:center;margin-bottom:15px!important}.encode-feedback{min-height:62px!important;margin:12px 0;font-size:25px!important}.encode-octets~.row #octet-input{width:115px}.encode-octets~.row button{font-size:24px}.lesson #optional-bits{margin-top:10px}.lesson #optional-bits .bit-grid{gap:15px}.lesson #optional-bits .bit-grid div{text-align:center}.lesson #optional-bits .bit-grid button{height:44px;font-size:30px;padding:4px}.lesson #optional-bits .sum{margin-top:9px}.prediction-row{margin:8px 0 12px;font-size:25px}.prediction-row select{font-size:24px;width:610px}.lesson button:disabled{opacity:.45;cursor:not-allowed}.lab-table td{height:53px}.lab-table .result{font-size:23px}.lab-controls button{font-size:24px}.lab-total{min-height:62px;font-size:25px;padding-right:100px}.lab-footer{font-size:23px!important}.lesson [hidden]{display:none!important}

.problem-path button{width:100%;min-width:0}.problem-path span{min-width:0;flex:1}

.flow{padding:16px 0}

.card-stack #period-one{height:142px;font-size:24px}.reflection-stack{gap:8px!important}.reflection-stack .lead{font-size:28px;line-height:1.25}.reflection-stack #reflection{height:160px;font-size:22px;line-height:1.3}.reflection-stack .checklist{font-size:22px;gap:5px}.reflection-stack #saved{font-size:21px;line-height:1.2}

.encoding-workbench{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:14px}.encoding-workbench section{min-width:0;min-height:510px}.encoding-workbench h3{font:31px jpk-heiti;margin-bottom:10px}.calculator{padding-right:22px;border-right:2px solid #becdb0}.encoding-workbench .small{font-size:22px}.calculator .bit-grid{gap:6px;margin-top:15px}.calculator .bit-grid div{text-align:center}.calculator .bit-grid label{font-size:21px}.calculator .bit-grid button{font-size:34px;height:53px}.calculator .value-pair{font-size:27px;margin-top:14px}.calculator .value-pair output{font-size:45px}.calculator .sum{font-size:22px;min-height:65px;padding-top:10px;line-height:1.35;overflow-wrap:anywhere}.calculator .row button{font-size:24px}.calc-feedback{font-size:24px;line-height:1.35;min-height:91px;background:#e6eedc;border-left:4px solid #6b946a;padding:12px;margin:14px 0}.target-address{gap:10px;margin-bottom:9px}.target-address input{width:300px;font-size:25px}.target-address button{font-size:23px}.verify-rows{display:grid;gap:5px;margin-bottom:11px}.verify-line{display:grid;grid-template-columns:65px 1fr 100px;gap:10px;align-items:center}.verify-line label{font:29px jpk-arial;text-align:center}.verify-line input{font:25px jpk-arial;min-width:0;width:100%;padding:6px 10px}.verify-line button{font-size:23px;padding:6px 10px}.verify-status{font-size:21px;line-height:1.25;min-height:26px;margin:4px 0 0 75px!important;color:#617657}.verify-status.good{color:#1f6c42}.verify-status.bad{color:#9e4929}.verification-total{font-size:23px;line-height:1.35;min-height:64px;margin-top:9px!important}.workbench-footer{font-size:22px!important;margin-top:10px!important}

.verify-status{font-size:20px;line-height:1.1;min-height:22px;margin-top:2px!important}.verification-total{min-height:56px}

.calculator .sum{min-height:38px}

/* One lesson, two tasks: a concrete room and one connected inquiry. */
.classroom-intro header{margin-bottom:10px}.classroom-intro h2{font-size:38px}.classroom-intro .eyebrow{font-size:23px}.room-context{font-size:25px;line-height:1.3;margin-bottom:14px!important}.room-board{display:grid;grid-template-columns:896px 244px;gap:24px;height:394px}.room-existing{border:2px solid #8fa88d;border-radius:10px;padding:12px;background:#fffef7}.room-teacher{display:flex;align-items:center;gap:22px;height:44px;margin-bottom:12px;padding:0 13px;background:#e5ecd9;border-radius:5px}.room-teacher b{font-size:25px}.room-teacher .mono{font-size:26px;font-weight:bold}.room-teacher>span:last-child{font-size:21px;margin-left:auto;color:#567564}.student-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,55px);gap:8px}.existing-student{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #c0ccad;border-radius:5px;background:#f4f6eb}.existing-student span{font:19px/1.15 jpk-kaiti}.existing-student code{font:19px/1.2 jpk-arial;color:#265d46;white-space:nowrap}.room-additions{position:relative;display:flex;flex-direction:column;gap:8px}.room-switch{position:relative;background:#385b48;color:#fffef4;text-align:center;border-radius:7px;padding:8px 4px}.room-switch::before{content:'';position:absolute;left:-24px;top:27px;width:24px;height:3px;background:#648668}.room-switch b{display:block;font:26px/1.15 jpk-heiti}.room-switch span{display:block;font:16px/1.3 jpk-kaiti;margin-top:4px}.new-connected{text-align:center;font:21px/1.2 jpk-kaiti;color:#48714e}.room-new-card{border:2px dashed #b69a44;border-radius:7px;background:#f5eed3;padding:8px 12px;display:grid;gap:3px}.room-new-card b{font:23px/1.15 jpk-heiti}.room-new-card span{font:21px/1.25 jpk-kaiti}.room-new-note{font-size:20px;text-align:center;color:#6d7347;margin-top:2px!important}.room-question{display:grid;grid-template-columns:700px 1fr;gap:30px;align-items:center;margin-top:15px;padding-left:18px;border-left:5px solid #b49a45;min-height:87px}.room-question>p{font:32px/1.3 jpk-heiti}.room-question>div{font-size:22px;line-height:1.3}.room-question b,.room-question span{display:block}.room-question b{font:23px/1.2 jpk-heiti;margin-bottom:6px;color:#527257}.room-boundary{font-size:20px;line-height:1.3;color:#567564;margin-top:10px!important}
.inquiry-plan{display:grid;gap:8px}.inquiry-scope{font:19px/1.2 jpk-heiti;color:#567564}.inquiry-main{border-left:4px solid #b49a45;padding-left:15px}.inquiry-main .eyebrow{font-size:20px;line-height:1.2;margin-bottom:5px}.inquiry-main>p:last-child{font-size:28px;line-height:1.25}.inquiry-plan .problem-path{gap:6px;margin-bottom:0}.inquiry-plan .problem-path button{padding:7px 0;gap:14px;min-height:72px}.inquiry-plan .problem-path b{font-size:29px}.inquiry-plan .problem-path span{font-size:27px;line-height:1.15}.inquiry-plan .problem-path small{font-size:21px;line-height:1.2;margin-top:5px}.inquiry-plan .period-links{gap:9px;margin-bottom:0}.inquiry-plan .period-links button{font-size:22px;min-height:39px;padding:6px 11px}

.address-lab header{margin-bottom:8px}.address-lab .lab-note{font-size:23px;line-height:1.2;margin-bottom:6px!important}.address-lab .prediction-row{margin-top:6px;margin-bottom:8px}.address-lab .prediction-row select{font-size:23px;padding:5px 10px}.address-lab .lab-table th{padding-top:4px;padding-bottom:4px}.address-lab .lab-table td{height:51px;padding:3px 12px}.address-lab .lab-table input{font-size:25px;padding:4px 10px}.address-lab .lab-table .result{font-size:23px;line-height:1.2}.address-lab .lab-controls{margin-top:10px}.address-lab .lab-total{min-height:38px;font-size:23px;line-height:1.25;margin-top:7px}.address-lab .lab-footer{font-size:21px!important;line-height:1.2}
