:root{--ink:#203c3a;--muted:#7c8b87;--green:#166b60;--lime:#d8ebd2;--orange:#d98254;--line:#e1e7e1;--bg:#f6f7f2;--white:#fff;--shadow:0 10px 40px #233c3910}*{box-sizing:border-box}body{margin:0;font:14px/1.6 'PingFang SC','Microsoft YaHei',system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b7d5cc;outline-offset:3px}button{border:0;background:none;color:inherit}a{color:var(--green);text-decoration:none}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;padding:34px 22px;background:#edf1e9;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-size:26px;font-weight:700;letter-spacing:3px}.brandmark{height:45px;width:45px;border:1px solid #166b60;border-radius:12px;display:grid;place-items:center;font-size:25px;background:var(--green);color:#fff;box-shadow:4px 4px 0 #d4ded2}.brand small{font-size:9px;letter-spacing:2px;display:block;font-weight:500}.side-label{font-size:10px;color:var(--muted);letter-spacing:2px;margin:46px 10px 14px}.nav{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;margin:5px 0;border-radius:9px;text-align:left;font-weight:600}.nav span{font-size:20px}.nav b{margin-left:auto;font-size:10px;font-weight:400;opacity:.5}.nav.active{background:var(--green);color:#fff;box-shadow:0 5px 14px #166b6020}.nav:not(.active):hover{background:#e2e9df}.route{display:flex;gap:12px;padding:14px 11px;font-size:12px}.route small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.route-dot,.statusdot{display:inline-block;width:7px;height:7px;background:#3a977d;border-radius:50%;flex-shrink:0}.route-dot{margin-top:7px}.orange{background:var(--orange)}.side-bottom{margin-top:auto;font-size:11px;color:var(--muted);padding:16px 12px 0}.side-bottom .statusdot{margin-right:4px}.version{float:right}.side-bottom p{font-size:16px;color:#7c8c7d;line-height:1.9;border-top:1px solid #d6dfd2;padding-top:18px}.workspace{margin-left:228px}header{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 42px;background:#fafbf7}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{margin:0 15px;color:#c5cdc5}.breadcrumb strong{color:var(--ink);font-weight:500}.header-right{display:flex;align-items:center;gap:20px}.region{font-size:11px;color:#7b8b81}.iconbtn{border:1px solid #cfd9cf;border-radius:50%;width:24px;height:24px;font-size:12px}.avatar{display:grid;place-items:center;background:#e1e8da;border:3px solid #fff;width:35px;height:35px;border-radius:50%;font-size:12px}main{max-width:1600px;margin:auto;padding:35px 42px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:2px;color:#729085;font-weight:600}h1{font-size:34px;letter-spacing:-1px;line-height:1.4;margin:10px 0 8px;font-weight:650}.intro p{margin:0;color:#7b8981;font-size:13px}.intro-note{display:flex;gap:14px;align-items:center;background:#edf1e5;border:1px solid #e0e5d6;border-radius:12px;padding:16px 20px;font-size:12px}.intro-note>span{font-size:28px;color:#81986b}.intro-note small{display:block;color:#8b9883;font-size:10px;margin-top:3px}.catalog-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.segmented{display:flex;background:#e7ece4;border-radius:8px;padding:4px}.segmented button{padding:8px 18px;font-size:12px;border-radius:6px}.segmented .selected{background:#fff;box-shadow:0 2px 5px #34463412;color:var(--green);font-weight:600}.select-wrap{color:var(--muted);font-size:11px;display:flex;gap:7px;align-items:center}select{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:8px;max-width:180px}.secondary{border:1px solid #dce3d9;background:#fff;padding:8px 13px;border-radius:6px;font-size:12px}.secondary:hover{border-color:#86ada0}.search{margin-left:auto;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 12px}.search span{font-size:24px;color:#8a9b8a}.search input{width:145px;border:0;outline:0;font-size:11px;background:none}.chapter-tabs{display:flex;gap:22px;margin:20px 0 24px;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}.chapter-tabs button{padding:0 0 12px;color:#8b968b;font-size:12px;border-bottom:2px solid transparent}.chapter-tabs button.selected{color:var(--green);font-weight:600;border-color:var(--green)}.section-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0}h2{margin:0;font-size:16px;font-weight:650}h2 span{font-size:10px;font-weight:400;color:var(--muted);margin-left:12px}.tiny{font-size:10px;color:var(--muted)}.tiny .statusdot{width:5px;height:5px;margin-right:5px}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:18px}.lab-main,.controls,.observation,.notebook{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.lab-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 23px}.lab-heading h3{font-size:18px;margin:6px 0 0}.pill{font-size:9px;color:var(--green);background:#eaf3eb;padding:4px 8px;border-radius:4px}.orange-pill{color:#a96c3c;background:#fff1e1}.textbtn{color:var(--green);font-size:11px;padding:4px}.textbtn:hover{text-decoration:underline}.canvas-wrap{height:328px;position:relative;margin:0 14px;border:1px solid #e6ece4;border-radius:8px;background:#f8faf5;overflow:hidden}canvas{width:100%;height:100%;display:block}.canvas-label{position:absolute;top:15px;left:18px;color:#99a997;font-size:8px;letter-spacing:2px}.canvas-caption{position:absolute;bottom:13px;left:18px;font-size:10px;color:#83927e;pointer-events:none}.transport{display:flex;align-items:center;gap:10px;padding:16px 20px}.play,.primary{background:var(--green);color:#fff;border-radius:6px;padding:9px 16px;font-size:12px}.play:hover,.primary:hover{background:#0e524b}.transport label{font-size:10px;color:var(--muted);margin-left:auto}.transport select{padding:3px;border:0;font-size:11px}.time{font:11px ui-monospace,monospace;color:#798d7b;min-width:63px}.readings{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#fdfefa;padding:16px 0}.reading{padding:0 18px;border-right:1px solid var(--line)}.reading:last-child{border:0}.reading small{display:block;font-size:10px;color:var(--muted)}.reading strong{font:600 22px/1.7 ui-monospace,monospace;letter-spacing:-1px}.reading em{font-size:10px;margin-left:5px;font-style:normal;color:#8b9789}.controls{padding:20px;box-shadow:none}.control-heading{border-bottom:1px solid var(--line);padding-bottom:15px}.control-heading h3{margin:0;font-size:14px}.control-heading span{font-size:10px;color:var(--muted)}.param{display:block;margin:18px 0 24px;font-size:12px}.param output{float:right;font-size:11px;font-family:ui-monospace,monospace;color:var(--green)}input[type=range]{display:block;width:100%;accent-color:var(--green);margin:13px 0 5px;cursor:pointer;height:4px}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#a0aa9d}.formula{background:#f0f4ea;border:1px solid #e2e8d9;border-radius:7px;padding:13px 12px}.formula small{display:block;font-size:9px;color:#8b9983}.formula strong{display:block;font-size:18px;font-family:Georgia,serif;letter-spacing:1px;margin:5px 0}.formula p{font-size:10px;color:#7f8e78;margin:0}.insight{font-size:11px;color:#7a897a;margin-top:17px;line-height:1.8}.insight b{display:block;color:#658574;margin-bottom:5px}.below-lab{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:18px}.observation,.notebook{padding:15px 20px;box-shadow:none;min-height:160px}.below-lab .section-line{margin-top:0}.prompt{font-size:11px;margin:9px 0;display:flex;gap:10px}.prompt span{color:#90a189;font:11px monospace}.empty-record{font-size:11px;color:#9aa699;margin:25px 0;text-align:center}.record-row{border-top:1px solid var(--line);padding:7px 0;font-size:10px;display:flex;justify-content:space-between;gap:10px}.record-row small{color:var(--muted)}.catalog-title{margin-top:28px}.model-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.model-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;text-align:left;transition:transform .2s,border-color .2s}.model-card:hover{transform:translateY(-3px);border-color:#9bbeaa}.model-card.selected{border-color:#6eab95}.model-icon{height:65px;background:#f1f5ec;display:flex;align-items:center;justify-content:center;border-radius:6px;margin-bottom:12px;font-size:35px;color:#4c8b79}.model-card h3{font-size:13px;margin:6px 0}.model-card p{font-size:10px;color:var(--muted);margin:4px 0}.card-footer{display:flex;justify-content:space-between;font-size:9px;color:#7e927d;margin-top:12px}.hidden{display:none!important}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:35px;padding:22px 0;color:#95a092;font-size:10px}.question-banner{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:24px;background:#ebf1e6;border-radius:12px}.question-banner h2{font-size:23px;margin:12px 0 6px}.question-banner p{font-size:12px;color:#7b8b79;margin:0}.question-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;margin-top:24px}.question-list{display:flex;flex-direction:column;gap:10px}.question-item{padding:18px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:9px}.question-item.selected{border-color:#83ac94;background:#edf3e8}.question-item h3{font-size:13px;margin:8px 0}.question-item small{font-size:10px;color:var(--muted)}.question-detail{background:#fff;padding:26px;border-radius:12px;border:1px solid var(--line)}.question-detail h2{font-size:20px;margin:12px 0}.question-detail p{font-size:13px;white-space:pre-line}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.option{border:1px solid var(--line);padding:13px;text-align:left;border-radius:7px;font-size:12px}.option.selected{background:#e7f0e1;border-color:#77a591}.option.correct{border-color:#247c5d;background:#e5f3e6}.option.wrong{background:#fff0e8;border-color:#d68b63}.question-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.answer-box{border:1px solid #dbe8d8;background:#f2f7ee;padding:18px;border-radius:8px}.answer-box h3{margin:0;font-size:13px}.answer-box p{font-size:12px;line-height:1.9}.feature-note{padding:20px;font-size:11px;color:var(--muted);background:#eef1e9;border-radius:8px;margin-top:22px}.explore-tabs{display:flex;gap:12px;margin:0 0 25px}.explore-tabs button{padding:9px 20px;border-radius:6px;border:1px solid var(--line);font-size:12px}.explore-tabs .selected{background:var(--green);color:#fff}.game-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.game-head h2{font-size:25px;margin:8px 0}.game-head p{font-size:12px;color:var(--muted)}.score{font-size:11px;color:var(--muted)}.score strong{display:block;font-size:36px;color:var(--green);text-align:right}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px}.game-canvas{height:440px;border:1px solid var(--line);background:#f0f5e9;border-radius:12px;overflow:hidden}.game-controls{border:1px solid var(--line);padding:22px;background:#fff;border-radius:12px}.game-controls h3{margin:0 0 20px;font-size:16px}.game-controls label{display:block;font-size:12px;margin:25px 0}.game-controls output{float:right;color:var(--green)}.game-controls p{font-size:12px;line-height:2;color:var(--muted)}.game-controls .check{font-size:11px;display:flex;gap:5px;margin:15px 0}.game-controls button{display:block;width:100%;margin:12px 0}.game-feedback{font-size:12px;color:var(--green);margin-top:20px;line-height:1.8}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:22px}.timeline article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:30px}.year{font:60px Georgia,serif;color:#a8bca0;margin-bottom:15px}.timeline h3{font-size:18px}.timeline p{font-size:13px;color:#73836e;line-height:2}.timeline .tiny{font-size:11px}.timeline a{display:block;font-size:11px;margin-top:20px}.myth-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.myth-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px}.myth-card h3{font-size:16px}.myth-card p{font-size:12px;color:var(--muted)}.myth-card details{font-size:12px;border-top:1px solid var(--line);padding-top:15px;line-height:1.9}.myth-card summary{cursor:pointer;color:var(--green)}dialog{border:1px solid var(--line);border-radius:16px;width:min(760px,94vw);max-height:85vh;padding:30px;color:var(--ink);box-shadow:0 30px 100px #173c3a40}dialog::backdrop{background:#203e3766;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:22px}.close{font-size:26px;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;line-height:1}.muted{font-size:12px;color:var(--muted)}.dir-book{margin:22px 0}.dir-book h3{font-size:14px}.dir-chapter{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0;flex-wrap:wrap;font-size:12px}.dir-chapter>span{width:180px;color:#7c8977}.dir-chapter button{font-size:11px;color:var(--green);background:#edf4e8;padding:5px 10px;border-radius:5px}.dir-chapter small{font-size:10px;color:#a5ada1}form label{display:block;font-size:12px;margin:18px 0}form input,form textarea,form select{display:block;width:100%;max-width:none;border:1px solid var(--line);border-radius:6px;padding:10px;margin-top:7px;background:#fafcf8;color:var(--ink)}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);color:white;background:#245f52;padding:12px 22px;opacity:0;pointer-events:none;transition:.2s;border-radius:8px;font-size:12px;z-index:20}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(min-width:1500px){.canvas-wrap{height:380px}}@media(max-width:1150px){.sidebar{width:190px;padding:30px 15px}.workspace{margin-left:190px}main{padding:28px 25px 0}header{padding:0 25px}.intro-note{display:none}.lab-layout{grid-template-columns:minmax(0,1fr) 240px}.lab-heading{padding:16px}.model-cards{grid-template-columns:repeat(3,1fr)}.search{margin-left:0}.myth-cards{grid-template-columns:1fr 1fr}}@media(max-width:850px){.sidebar{width:76px;padding:22px 10px}.brand{justify-content:center}.brand>span:last-child,.side-label,.route,.side-bottom,.nav b{display:none}.brandmark{font-size:23px;height:40px;width:40px}.sidebar nav{margin-top:30px}.nav{font-size:0;justify-content:center;padding:12px 5px}.nav span{font-size:24px}.workspace{margin-left:76px}.lab-layout{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:15px}.control-heading{grid-column:1/-1}.param{margin:14px 0 20px}.insight{margin:0}.below-lab{grid-template-columns:1fr}.question-layout{grid-template-columns:1fr}.question-list{display:grid;grid-template-columns:repeat(3,1fr)}.game-layout{grid-template-columns:1fr}.game-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px}.game-controls h3{grid-column:1/-1}.game-controls label{margin:10px 0}.game-controls p{margin:0}.game-controls button{margin:0}.timeline{grid-template-columns:1fr}}@media(max-width:560px){header{height:60px;padding:0 15px}.region{display:none}.header-right{gap:12px}main{padding:24px 14px 0}h1{font-size:27px}.intro p{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1px}.catalog-bar{gap:9px}.segmented button{padding:8px 10px;font-size:11px}.search{width:100%}.search input{width:100%}.select-wrap select{max-width:124px}.chapter-tabs{gap:16px}.lab-heading h3{font-size:16px}.canvas-wrap{height:280px;margin:0 8px}.transport{padding:12px 10px;gap:7px}.transport label{font-size:0}.transport select{font-size:10px}.play{padding:8px 12px}.transport .secondary{padding:8px}.reading{padding:0 11px}.reading strong{font-size:17px}.reading small{font-size:9px}.controls{padding:16px;display:block}.model-cards{grid-template-columns:1fr 1fr}.model-card{padding:11px}.model-icon{height:50px}.section-line h2 span{display:none}.question-banner{display:block;padding:18px}.question-banner h2{font-size:20px}.question-banner .primary{margin-top:15px}.question-list{grid-template-columns:1fr}.question-item{padding:12px}.question-detail{padding:18px}.options{grid-template-columns:1fr}.game-controls{display:block}.game-controls label{margin:25px 0}.game-controls button{margin:12px 0}.game-canvas{height:300px}.game-head h2{font-size:22px}.score{margin-left:12px;white-space:nowrap}.myth-cards{grid-template-columns:1fr}.explore-tabs{gap:7px}.explore-tabs button{padding:8px 12px}.timeline article{padding:22px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 8px}dialog{padding:20px}.dir-chapter>span{width:100%}footer{font-size:9px;gap:10px}}
.curriculum-note{font-size:10px;color:#8a9685;margin:10px 0 0}.chapter-summary{display:flex;align-items:center;justify-content:space-between;border:1px solid #dae5d3;background:#eef3e8;padding:13px 17px;border-radius:8px;gap:12px;margin-bottom:20px}.chapter-summary b{font-size:14px}.chapter-summary small{font-size:10px;color:#7f9276}.chapter-summary .count{color:var(--green);font-size:12px}.model-cards{margin-bottom:22px}.model-card .model-icon{height:40px;font-size:26px}.model-cards{grid-template-columns:repeat(4,1fr)}.param .param-value{display:flex;justify-content:space-between;gap:6px;align-items:center}.param input[type=number]{width:90px;padding:3px 5px;border:1px solid #dde5d7;border-radius:4px;font-size:11px;font-family:ui-monospace,monospace;color:var(--green)}.param .unit{font-size:9px;color:var(--muted)}.param input[type=range]{margin-top:12px}.graph-head{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 0;font-size:11px;border-top:1px solid var(--line)}.graph-head small{font-size:9px;color:var(--muted)}.graph-wrap{height:185px;margin:0 10px;background:#fff}.time-scrub{display:flex;gap:12px;align-items:center;padding:0 20px 12px;font-size:10px;color:var(--muted)}.time-scrub label{white-space:nowrap}.time-scrub input{margin:0;flex:1}.time-scrub output{min-width:60px;font-family:ui-monospace,monospace}.time-scrub.disabled{opacity:.4}.chapter-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.chapter-navigation span{font-size:11px;color:var(--muted)}.q-model-preview{margin-top:20px;border:1px solid #dbe4d4;border-radius:8px;background:#f4f7f0;padding:14px;font-size:11px;color:#7d8f74}.q-model-preview b{color:var(--green)}.question-item .q-complete{float:right;color:#247c5d;font-size:10px}.question-list{max-height:700px;overflow:auto}.dir-book details{border:1px solid var(--line);border-radius:8px;margin:8px 0;padding:10px 12px}.dir-book summary{cursor:pointer;display:flex;justify-content:space-between;font-size:12px}.dir-book summary small{font-size:10px;color:var(--muted)}.dir-models{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 0}.dir-models button{text-align:left;background:#eef4e9;padding:8px;border-radius:5px;color:var(--green);font-size:10px}.dir-models small{display:block;color:#8a9781;font-size:9px}button:disabled{cursor:default;opacity:.5}.selected-model-status{font-size:9px;color:var(--muted)}.readings{grid-template-columns:repeat(3,minmax(0,1fr))}.reading strong{font-size:20px}.reading small{min-height:24px}.transport .time{margin-left:auto}.search input{width:125px}@media(max-width:1100px){.model-cards{grid-template-columns:repeat(3,1fr)}.catalog-bar{gap:8px}.search{margin-left:0}.question-layout{grid-template-columns:215px minmax(0,1fr)}}@media(max-width:850px){.question-layout{grid-template-columns:1fr}.question-list{max-height:none;grid-template-columns:repeat(2,1fr)}.chapter-summary{align-items:flex-start}.chapter-summary .count{text-align:right;white-space:nowrap}}@media(max-width:560px){.model-cards{grid-template-columns:1fr 1fr;gap:9px}.question-list{grid-template-columns:1fr}.graph-head small{display:none}.chapter-summary b{font-size:12px}.chapter-summary small{display:block}.chapter-summary .count{font-size:10px}.reading strong{font-size:16px}.dir-models{grid-template-columns:1fr}.time-scrub{padding:0 12px 12px}.chapter-navigation span{font-size:9px}.chapter-navigation button{font-size:10px;padding:8px}.controls{display:block}}
/* Apparatus-first stage: diagrams occupy the primary surface, charts are optional. */
.scene-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:0 20px 14px}.scene-layers{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:#789087}.scene-layers label{cursor:pointer;display:flex;gap:5px;align-items:center}.scene-layers input{accent-color:var(--green);margin:0;width:12px;height:12px}.canvas-wrap{height:480px;margin:0 14px;background:#f3f7f4;border-color:#dce8e1}.canvas-wrap canvas{touch-action:none;cursor:grab}.canvas-wrap canvas:active{cursor:grabbing}.canvas-caption{position:static;padding:12px 21px 0;font-size:10px;line-height:1.8;color:#81928b;pointer-events:auto}.canvas-label{top:12px;left:16px;font-size:8px;letter-spacing:1px;color:#9db4a7}.experiment-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 20px}.experiment-steps div{display:flex;align-items:flex-start;gap:6px;padding:9px 8px;border-radius:6px;background:#f0f5ed;font-size:10px;color:#748878}.experiment-steps span{display:grid;place-items:center;flex-shrink:0;border:1px solid #cad8c5;border-radius:50%;height:17px;width:17px;color:var(--green);font-size:9px}.clock-type{padding:0 20px;font-size:9px;color:#9b9b82}.transport{flex-wrap:wrap;padding:13px 20px}.transport .time{margin-left:auto}.transport button{font-size:11px;padding:8px 10px}.canvas-wrap.expanded{position:fixed;inset:70px 30px 50px 248px;width:auto;height:auto;z-index:10;margin:0;box-shadow:0 0 0 100vmax #edf3eee8,0 20px 70px #284b4335}.scene-toolbar:has(+.canvas-wrap.expanded){position:fixed;top:32px;left:268px;right:48px;z-index:11;background:#edf3ee;padding:8px 12px;border-radius:6px}.graph-head{padding-top:6px;padding-bottom:6px}.graph-head button{font-size:11px}.reading strong{font-size:19px}.lab-layout{grid-template-columns:minmax(0,1fr) 275px}.controls{background:#fcfef9}.lab-main{box-shadow:0 10px 30px #2443380b}@media(min-width:1600px){.canvas-wrap{height:560px}.lab-layout{grid-template-columns:minmax(0,1fr) 290px}}@media(max-width:1100px){.canvas-wrap{height:420px}.scene-toolbar{padding:0 16px 12px;align-items:flex-start}.scene-layers{gap:9px}.lab-layout{grid-template-columns:minmax(0,1fr) 235px}}@media(max-width:850px){.lab-layout{grid-template-columns:1fr}.canvas-wrap{height:450px}.canvas-wrap.expanded{inset:75px 18px 35px 90px}.scene-toolbar:has(+.canvas-wrap.expanded){left:110px;right:30px;top:25px}.controls{display:block}}@media(max-width:560px){.canvas-wrap{height:320px;margin:0 6px}.scene-toolbar{display:block;padding:0 12px 10px}.scene-toolbar>.textbtn{margin-top:5px}.scene-layers{font-size:9px;gap:10px}.experiment-steps{grid-template-columns:1fr;padding:9px 12px;gap:5px}.experiment-steps div{padding:6px 9px}.transport{padding:10px 12px;gap:5px}.transport button{font-size:10px;padding:7px 8px}.transport label{margin-left:0;font-size:9px}.canvas-caption{padding:9px 12px 0;font-size:9px}.canvas-wrap.expanded{inset:115px 5px 25px 5px}.scene-toolbar:has(+.canvas-wrap.expanded){left:8px;right:8px;top:20px;padding:10px}.reading strong{font-size:15px}}
/* Force studio extends the chapter workbench without changing other topics. */
.force-topic{margin:0 18px 14px;padding:16px;background:linear-gradient(125deg,#eff6ed,#f7faf4);border:1px solid #dce8dc;border-radius:10px}.force-topic-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.force-topic-head .eyebrow{font-size:10px;letter-spacing:1px;color:#327866}.force-topic-head small{font-size:11px;color:#849388}.force-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:13px 0}.force-nav button{font-size:12px;padding:10px 9px;text-align:left;border:1px solid #dbe6dc;border-radius:6px;background:#ffffffae;line-height:1.5}.force-nav button.selected,.force-actions .selected{background:#246e5f;color:#fff;border-color:#246e5f}.force-presets,.force-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.force-presets>span{font-size:10px;color:#8b9b89}.force-topic .secondary,.force-topic .primary{font-size:11px;padding:8px 10px}.force-topic .textbtn{font-size:11px}.force-actions>span{font-size:10px;color:#809185}.force-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}.force-stages button{font-size:11px;padding:10px 6px;border:1px solid #d8e4d7;background:#fff;border-radius:7px;line-height:1.6}.force-stages b{display:block;font-size:10px;font-family:monospace;color:#8ba397}.force-stages button.selected{background:#dbeee0;border-color:#78aa90;color:#215e4c}.force-lesson{margin:14px 18px 0;padding:16px 18px;border:1px solid #dce7dd;border-radius:9px;background:#fbfdf9;font-size:12px;line-height:1.9}.force-explanation{display:grid;grid-template-columns:1fr 1fr;gap:18px}.force-explanation small{font-size:10px;letter-spacing:1px;color:#6b8e78}.force-explanation p{margin:4px 0 0;color:#335d50}.force-reason{color:#748a78;margin:12px 0}.force-lesson details{border-top:1px solid #e0e9df;padding-top:10px}.force-lesson summary{cursor:pointer;color:#286d58;font-size:12px}.force-lesson details p{padding:10px 12px;background:#eaf3e7;border-radius:6px;color:#3b6653}.force-table-head{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.force-table-head small{font-size:10px;color:#8a9988}.force-table-scroll{overflow-x:auto}.force-lesson table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap;margin-top:6px}.force-lesson caption{text-align:left;color:#839682;font-size:10px;padding-bottom:6px}.force-lesson th,.force-lesson td{text-align:left;padding:8px;border-bottom:1px solid #e0e9df}.force-lesson th{color:#6f8c74;background:#eff5eb;font-weight:500}.force-lesson .force-invalid{color:#b36b3a}.force-topic button:focus-visible,.force-lesson summary:focus-visible{outline:3px solid #dba66a;outline-offset:3px}.force-topic .primary{background:#246e5f;color:#fff}.force-topic .secondary{background:#fff}.force-topic .secondary.selected{background:#246e5f;color:#fff}@media(max-width:1100px){.force-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.force-topic-head{display:block}.force-topic-head small{display:block;margin-top:4px}}@media(max-width:560px){.force-topic{margin:0 8px 10px;padding:12px}.force-nav button{font-size:11px;padding:8px}.force-stages{grid-template-columns:1fr 1fr}.force-lesson{margin:10px 8px 0;padding:12px}.force-explanation{grid-template-columns:1fr;gap:10px}.force-table-head{display:block}.force-table-head small{display:block}.force-topic .eyebrow{font-size:9px}.force-lesson th,.force-lesson td{padding:7px}.force-actions .primary{min-height:36px}}
/* v0.5: hands-on actions and auxiliary-circle construction. */
.force-bench{margin:14px 18px 0;padding:18px;border:1px solid #d7e4dd;border-radius:10px;background:#f4f8f2;font-size:12px}.force-bench-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.force-bench-title>b{font-size:14px;color:#285f50}.force-bench-title>span{font-size:10px;color:#809284}.force-detail-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:13px}.force-detail-steps button{padding:12px 9px;text-align:left;font-size:12px;line-height:1.7;background:#fff;border:1px solid #d1e0d6;border-radius:7px}.force-detail-steps button b{display:block;font:10px sans-serif;color:#8da393;margin-bottom:5px}.force-detail-steps button.selected{background:#246e5f;color:#fff;border-color:#246e5f}.force-detail-steps button.selected b{color:#c1decf}.force-detail-steps button:hover{border-color:#79a58c}.verify-progress{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.verify-progress span{background:#e9eee7;border:1px solid #dde5d9;padding:4px 8px;border-radius:20px;font-size:10px;color:#8a9789}.verify-progress .done{color:#246e5f;background:#e0efdf;border-color:#b7d6b9}.verify-reading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:15px;padding:13px;background:#fff;border:1px solid #dce6da;border-radius:8px}.verify-reading label{font-size:12px;color:#48715c}.verify-estimate{display:flex;gap:7px;align-items:center}.verify-estimate input{width:105px;min-height:35px;border:1px solid #c9dacd;padding:6px 8px;border-radius:5px;background:#fbfdf8;color:#235d4e}.force-bench .secondary,.force-bench .primary{font-size:11px;padding:8px 10px;border-radius:5px}.force-bench .secondary{background:#fff;border:1px solid #d3e0d4}.force-bench .selected{background:#246e5f;color:#fff}.verify-feedback{min-height:26px;color:#2a7159;line-height:1.9;margin:12px 0 0}.force-detail-note{color:#829382;font-size:11px;line-height:1.9;margin:10px 0 0}.force-bench button:focus-visible{outline:3px solid #d6a16a;outline-offset:3px}@media(max-width:850px){.verify-reading{flex-wrap:wrap}.force-detail-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.force-bench{margin:10px 8px 0;padding:12px}.force-bench-title{display:block}.force-bench-title>span{display:block;margin-top:5px}.force-detail-steps{grid-template-columns:1fr 1fr}.force-detail-steps button{font-size:11px;padding:10px 8px}.verify-reading{display:block}.verify-estimate{margin-top:12px}.verify-estimate input{flex:1;width:130px}.verify-progress{gap:5px}.verify-progress span{font-size:9px}}
.question-source-image{margin:20px 0;padding:10px;background:#fff;border:1px solid #dce5d6;border-radius:8px}.question-source-image img{display:block;width:100%;height:auto}.question-source-image a{display:block;cursor:zoom-in}.question-source-image figcaption{font-size:10px;color:#8b9986;margin-top:8px;text-align:right}
/* Chapter 2 / 3 studios */
.chapter-studio{padding:18px;border:1px solid #cbd9c5;border-radius:14px;background:#f3f6ed;margin-bottom:16px}.studio-head{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.studio-head b{font-size:15px}.studio-group{display:grid;grid-template-columns:122px 1fr;gap:9px;padding:9px 0;border-top:1px solid #dce5d6}.studio-group small{padding-top:8px;color:#658177}.studio-group>div{display:flex;gap:6px;flex-wrap:wrap}.studio-group button{padding:7px 10px;background:white;border:1px solid #d8e2d2;border-radius:8px;font-size:12px;color:#46675f;text-align:left}.studio-group button.selected{background:#287562;color:white;border-color:#287562}.mechanics-tools{padding:3px 0 12px}.mechanics-tools .force-presets{flex-wrap:wrap}.mechanics-hint{font-size:13px;color:#6d8378;margin:9px 0 0}.mechanics-report{padding:18px;background:#f5f7f0;border:1px solid #dce5d4;border-radius:12px;margin:14px 0}.mechanics-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mechanics-summary>div{background:white;border-radius:9px;padding:12px}.mechanics-summary small{display:block;color:#728577;font-size:12px;margin-bottom:6px}.mechanics-summary b{font-size:16px;color:#2f6555}.mechanics-current{font-size:14px;line-height:1.8;color:#3b6256;margin:12px 0}.mechanics-report details{border-top:1px solid #dce6d5;padding:12px 0 4px;font-size:13px;line-height:1.8}.mechanics-report summary{cursor:pointer;font-weight:600;color:#456959}.mechanics-report p{margin:9px 0}.mechanics-table{overflow-x:auto}.mechanics-table table{border-collapse:collapse;width:100%;min-width:380px;font-size:12px;text-align:left}.mechanics-table th,.mechanics-table td{padding:8px 9px;border-bottom:1px solid #dfe7d8;vertical-align:top}.mechanics-table th{color:#6b8275;font-weight:500}.mechanics-table .textbtn{font-size:12px;white-space:nowrap}.mechanics-tools .selected{background:#e1eedb;border-color:#92b59e}.mechanics-tools .force-actions{flex-wrap:wrap;gap:8px}
@media(max-width:650px){.chapter-studio{padding:12px}.studio-group{grid-template-columns:1fr;gap:2px}.studio-group small{padding-top:0}.mechanics-report{padding:12px}.mechanics-summary{gap:7px}.mechanics-summary b{font-size:14px}.mechanics-tools .force-actions{align-items:stretch}.mechanics-tools button{font-size:12px}}
.pursuit-range{border-top:1px solid #dce6d5;padding-top:13px;margin-top:10px;font-size:13px}.pursuit-range .force-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:9px}.pursuit-range input{width:80px;border:1px solid #cddbc6;border-radius:6px;padding:6px;background:white;color:#345f51}.pursuit-range .secondary{font-size:12px;padding:6px 10px}

.lecture-entry{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid #9bb9a6;border-radius:9px;color:#205c4a;background:#f4f8ee;text-decoration:none;font-size:13px;font-weight:600}.lecture-entry:hover{background:#e1eddf}@media(max-width:700px){.study-switch small{display:none}.lecture-entry{font-size:10px;padding:6px;min-height:36px}}

.lecture-nav{text-decoration:none;margin-top:6px}.lecture-nav:hover{background:#e5efdf}


footer{gap:12px;flex-wrap:wrap}footer .beian a{color:inherit;text-decoration:none}footer .beian a:hover{text-decoration:underline}