:root{--bg:#edf0e8;--paper:#faf8ef;--ink:#2f4238;--soft:#738074;--line:#d9ded3;--orange:#bf643f;--teal:#448783;--serif:"Songti SC","Noto Serif CJK SC","Noto Serif SC",SimSun,serif;--sans:Inter,"PingFang SC","Microsoft Yahei",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}button,select,textarea{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button{border:0;background:none}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button:hover:not(:disabled){filter:brightness(.93)}.site-header{height:94px;border-bottom:1px solid #d6dcd0;display:flex;align-items:center;justify-content:space-between;padding:0 3.1%;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand>span{font-family:var(--serif);font-size:24px;letter-spacing:3px;font-weight:bold;line-height:1.35}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:1.65px;font-weight:500;margin-top:5px}.top-nav{display:flex;gap:32px;height:100%;align-items:center}.nav-link{height:100%;position:relative;font-size:13px;padding:0 3px;color:#6d776d}.nav-link.active{color:var(--ink);font-weight:600}.nav-link.active:after{content:"";height:2px;background:var(--ink);position:absolute;bottom:-1px;left:4px;right:4px}.tiny{font-size:15px;margin-left:5px}.level-select{display:flex;align-items:center;gap:8px;background:#e2e8dd;border-radius:6px;padding:8px 12px;font-size:12px}.level-dot{width:6px;height:6px;border-radius:50%;background:#66816d}.level-select select{border:0;background:none;max-width:150px;outline-offset:8px}.app-shell{display:grid;grid-template-columns:227px minmax(0,1fr);max-width:1600px;margin:0 auto;padding:0 3.1%;gap:34px}.sidebar{padding:37px 23px 28px 0;border-right:1px solid #d6dcd0}.sidebar-label{font-size:10px;letter-spacing:1.5px;color:#788377}.toc-heading h2{font-family:var(--serif);font-size:18px;font-weight:600;margin:7px 0 2px}.toc-heading>span{font-size:8px;letter-spacing:2px;color:#8a9387}.progress-summary{margin:26px 0 21px;font-size:10px}.progress-summary>div:first-child{display:flex;justify-content:space-between}.progress-summary strong{font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}.progress-track{height:3px;background:#d9e0d2;margin-top:9px}.progress-track i{display:block;background:#64866e;height:100%;transition:width .3s}#lessonList{display:flex;flex-direction:column;gap:3px}.lesson-nav{display:flex;align-items:center;text-align:left;gap:11px;width:100%;font-size:12px;padding:13px 10px;border-radius:4px;position:relative;color:#6b766b}.lesson-nav .lesson-num{font-family:Georgia,serif;font-size:13px;color:#879080;font-style:italic;min-width:19px}.lesson-nav .completion{margin-left:auto;font-size:12px}.lesson-nav.current{background:#dae3d4;color:#2c4836;font-weight:600}.lesson-nav.current:before{position:absolute;left:0;top:13px;bottom:13px;width:2px;background:#597259;content:""}.lesson-nav.current .lesson-num{color:#48654e}.lesson-group{margin:19px 10px 6px;color:#8d9687;font-size:9px;letter-spacing:1.5px}.sidebar-note{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding:24px 5px 8px;margin-top:22px;color:#74846a}.sidebar-note p{font-family:var(--serif);font-size:14px;line-height:1.8}.sidebar-note p span{font-size:12px;color:#8b9383}.source-button{font-size:9px;color:#818b7e;padding-left:5px}main{min-width:0;padding-top:27px}.chapter-header{display:flex;align-items:center;justify-content:space-between;margin:0 2px 20px;gap:10px}.eyebrow{font-size:9px;letter-spacing:2px;color:#81907c;font-weight:500}.chapter-header h1{font-size:17px;margin:4px 0 0;font-weight:500;letter-spacing:.5px}.chapter-meta{display:flex;align-items:center;gap:13px;font-size:10px;color:#88917e}.tag{border:1px solid #d1dac9;border-radius:3px;padding:3px 8px;color:#6e8268;font-size:10px}.toc-toggle{display:none}.book{display:grid;grid-template-columns:43% 57%;position:relative;border-radius:4px 9px 9px 4px;box-shadow:0 3px 2px #d0d4c5,0 7px 0 -2px #eae9dd,0 10px 0 -3px #c5cbbd,0 23px 35px -13px #58664a45;background:var(--paper);isolation:isolate}.book:before{content:"";position:absolute;z-index:-1;left:-5px;right:-7px;top:4px;bottom:-10px;background:#6b8064;border-radius:5px 12px 10px 5px}.page{position:relative;padding:27px 30px 36px;min-width:0;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.035' filter='url(%23noise)'/%3E%3C/svg%3E")}.reading-page{border-radius:4px 0 0 4px;background-color:#f9f7ee;box-shadow:inset -17px 0 21px -24px #605d46}.experiment-page{border-left:1px solid #dedbc9;border-radius:0 9px 9px 0;background-color:#fcfaf2;box-shadow:inset 20px 0 26px -30px #635f45;padding:23px 25px 36px}.page-kicker{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px;color:#a6a18b;min-height:17px}.page-kicker #stamp{font-size:9px;border:1px solid #7d987d;padding:2px 5px;color:#628261;letter-spacing:0;transform:rotate(-7deg);white-space:nowrap}.step-tabs{display:flex;gap:15px;margin:24px 0 24px;border-bottom:1px solid #dddccf}.step-tabs button{padding:0 0 9px;font-size:10px;white-space:nowrap;color:#a29e8c;position:relative}.step-tabs button span{margin-left:5px}.step-tabs button[aria-selected=true]{color:#a85f3e}.step-tabs button[aria-selected=true]:after{height:2px;position:absolute;bottom:-1px;left:0;right:0;background:#b96c43;content:""}.lesson-title{font-family:var(--serif);font-size:clamp(25px,2.4vw,36px);line-height:1.5;font-weight:500;letter-spacing:1px;margin:0 0 16px}.lesson-desc{font-size:12px;line-height:2;color:#798073;margin:0 0 22px;max-width:32em}.question-card{border-top:1px solid #e3dece;border-bottom:1px solid #e3dece;padding:18px 0;margin-top:20px}.mini-label{font-size:9px;letter-spacing:1px;color:#a57858;display:flex;align-items:center;gap:7px}.mini-label:before{content:"";width:5px;height:5px;background:#c48b5c;transform:rotate(45deg)}.question-card h3{font-size:13px;line-height:1.9;font-weight:500;margin:10px 0 14px}.answers{display:grid;gap:7px}.answer{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e1e0d2;border-radius:4px;text-align:left;font-size:11px;background:#fffdf64d;line-height:1.7}.answer .letter{border:1px solid #d8d8c9;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;font-family:Georgia,serif;font-size:10px;flex-shrink:0;color:#939782}.answer.selected{border-color:#82957b;background:#e9eddf}.answer.selected .letter{background:#617b60;color:white;border-color:transparent}.answer.correct{border-color:#709276;background:#e8efe0}.answer.wrong{border-color:#bc805e;background:#f3e6da}.button{border:1px solid #cfd4c4;padding:9px 14px;border-radius:4px;font-size:11px;line-height:1.5;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:36px}.button.primary{background:#365340;color:#f9f8ef;border-color:#365340}.button.outline{background:transparent;border-color:#abb69b}.continue-button{margin-top:17px;font-size:11px;display:flex;align-items:center;justify-content:space-between;width:100%;color:#5d7251;padding:4px 0}.continue-button span:last-child{font-size:21px}.hint{font-size:10px;color:#9b9886;line-height:1.7;margin:10px 0 0}.page-number{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-family:Georgia,serif;font-size:9px;color:#ada68f;letter-spacing:2px}.scene-header{display:flex;justify-content:space-between;align-items:center;font-size:10px}.scene-label{display:flex;align-items:center;gap:6px;font-weight:500}.scene-label i{background:#859d73;width:5px;height:5px;border-radius:50%}.scene-label span{font-weight:400;font-size:7px;letter-spacing:1px;margin-left:4px;color:#a19e87}.quiet-button{font-size:9px;color:#989581;padding:2px}.canvas-wrap{position:relative;margin-top:5px;height:285px;background:radial-gradient(ellipse at 55% 62%,#ecebdc33,transparent 65%)}#scene{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}#scene:active{cursor:grabbing}.scene-corner{position:absolute;top:13px;left:4px;font-size:8px;color:#a5a08a;display:flex;gap:8px;align-items:center;pointer-events:none}.scene-corner i{width:27px;height:1px;background:#d3d0bd}.scene-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:9px;color:#a5a18d;pointer-events:none}.scene-hint span{padding:0 8px;color:#c5bfaa}.object-picker{display:flex;gap:6px;justify-content:center;margin:-1px 0 16px;flex-wrap:wrap}.object-picker:empty{display:none}.object-button{padding:5px 9px;border:1px solid #dedfcd;border-radius:20px;font-size:10px;background:#f8f7ed}.object-button.selected{background:#e5ebda;border-color:#97aa84;color:#4e6a40}.object-dot{display:inline-block;border:1px solid currentColor;border-radius:50%;width:6px;height:6px;margin-right:5px}.experiment-console{background:#eeefe3b3;border:1px solid #dfe1d1;border-radius:5px;padding:12px 14px}.console-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;margin-bottom:10px}.reset-note{font-size:8px;color:#9a9d89;font-weight:400}.slider-row{display:grid;grid-template-columns:75px minmax(40px,1fr) 68px;gap:9px;align-items:center;font-size:10px;margin:9px 0}.slider-row label{color:#77816b}.slider-row output{text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:#5e7155}.slider-row input{width:100%;accent-color:#667e55;height:16px;cursor:pointer}.run-controls{display:flex;align-items:center;gap:7px;border-top:1px solid #dadfcb;margin-top:12px;padding-top:11px}.run-controls .primary{padding:7px 12px;min-height:32px;font-size:10px}.icon-button{padding:4px 9px;font-size:18px;min-height:32px}.speed-label{display:flex;align-items:center;gap:3px;font-size:8px;color:#9b9e88;margin-left:auto}.speed-label select{background:transparent;border:0;font-size:10px;max-width:52px;padding:0}#timeReadout{font-size:9px;font-variant-numeric:tabular-nums;min-width:45px;text-align:right;color:#92977e}.readouts{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin-top:17px;gap:5px}.readout{border-right:1px solid #e3dfcf;padding-right:4px;padding-left:12px;min-width:0}.readout:first-child{padding-left:0}.readout:last-child{border-right:0}.readout label{display:block;font-size:8px;color:#96927f;margin-bottom:2px}.readout strong{font-family:Georgia,var(--serif);font-size:20px;font-weight:400;color:#55705f;font-variant-numeric:tabular-nums}.readout strong.text-metric{font-family:var(--sans);font-size:14px}.readout small{font-size:8px;color:#9c9984;margin-left:4px}.energy-monitor{margin-top:16px}.energy-heading{display:flex;justify-content:space-between;font-size:9px;color:#8b8e79;margin-bottom:7px}.energy-heading button{font-size:9px;color:#7b896d;padding:0}.energy-track{height:7px;display:flex;background:#e8e6d8;border-radius:2px;overflow:hidden;gap:1px}.energy-segment{height:100%;min-width:0;transition:width .05s}.energy-legend{display:flex;flex-wrap:wrap;gap:4px 13px;margin-top:6px}.energy-legend span{display:flex;align-items:center;font-size:8px;color:#8d8d7b;gap:4px;white-space:nowrap}.energy-legend i{width:5px;height:5px;border-radius:1px}.energy-legend b{font-weight:400;font-variant-numeric:tabular-nums}.energy-info{font-size:10px;color:#8a8977;margin:3px 0}.energy-monitor #sceneState{font-size:8px;color:#a19d88;margin:6px 0 0;min-height:14px}.under-book{display:flex;align-items:center;justify-content:space-between;margin-top:29px;gap:10px}.under-book>p{font-family:var(--serif);font-size:11px;color:#8e987f;margin:0}.under-book>p>span{font-size:17px;color:#a6b395;vertical-align:middle;margin-right:5px}.pagination{display:flex;align-items:center;gap:17px;font-size:10px}.pagination button{font-size:10px;padding:6px 0;color:#6a7d60}.pagination>span{font-family:Georgia,serif;color:#95a087;font-size:10px}.model-note{margin:23px 0 29px;display:flex;align-items:baseline;gap:10px;font-size:9px;color:#94a088;line-height:1.8}.model-note>span{white-space:nowrap;border:1px solid #d9e0d1;padding:0 4px}.model-note p{margin:0}.site-footer{display:flex;justify-content:space-between;gap:10px;max-width:1600px;margin:auto;border-top:1px solid #d9dfd3;padding:18px 3.1%;font-size:9px;color:#9ba58e}.site-footer a{text-decoration:none;border-bottom:1px solid #c6d0ba}.muted{padding:0 8px;color:#c4cbbb}.stage-heading{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.5;margin:0 0 16px}.experiment-instructions{list-style:none;padding:0;counter-reset:steps;margin:24px 0}.experiment-instructions li{counter-increment:steps;display:flex;gap:11px;font-size:12px;line-height:1.9;margin:16px 0;color:#6a7863}.experiment-instructions li:before{content:counter(steps,decimal-leading-zero);font-family:Georgia,serif;color:#a99876;font-size:12px;padding-top:1px}.goal-card{padding:12px 15px;background:#eaf0df94;border-left:2px solid #a7b797;font-size:11px;color:#71816a;line-height:1.9;margin:17px 0}.goal-card strong{font-weight:500;display:block;color:#54714d;font-size:10px;margin-bottom:4px}.formula{font-family:Georgia,var(--serif);font-size:22px;color:#406c63;border-block:1px solid #dcdcc9;padding:18px 0;margin:15px 0 10px;line-height:1.7;word-break:break-word}.formula-note{font-size:10px;color:#8b8b76;line-height:1.85}.pitfall{font-size:11px;line-height:1.9;color:#a37b55;margin-top:18px;padding-left:12px;border-left:2px solid #d3b898}.pitfall strong{font-size:9px;display:block;font-weight:600;color:#b08b64;margin-bottom:3px}.feedback{font-size:11px;line-height:1.9;margin:13px 0 0;color:#637e58}.feedback.error{color:#ae704f}.quiz-card{padding:14px 0 0;margin-top:16px}.quiz-card .answer{padding:7px 10px}.quiz-card h3{font-size:11px;margin:8px 0 10px}.explanation{font-size:12px;line-height:2;color:#70806a}.guide-tabs{display:flex;gap:8px}.chapter-link{font-size:12px;color:#5a7551;border-bottom:1px dashed #93a084;padding:0}.stage-note{font-size:10px;color:#929781;line-height:1.8}.skip{position:fixed;top:-60px;left:10px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}dialog{padding:28px 32px;border:1px solid #cbd3bf;border-radius:9px;background:#faf9f0;color:var(--ink);width:min(760px,calc(100vw - 24px));max-height:87vh;box-shadow:0 20px 90px #182a1d44}dialog::backdrop{background:#263c344b;backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #dce0d0;padding-bottom:16px;margin-bottom:22px}.dialog-header h2{font-family:var(--serif);font-weight:500;font-size:26px;margin:5px 0 0}.close-button{font-size:26px;color:#8f9a83;line-height:1;padding:5px 8px}.dialog-copy{font-size:13px;line-height:2;color:#73816a}.dialog-copy h3{font-size:15px;font-weight:500;color:#3c5942;margin:23px 0 7px}.dialog-copy li{margin:8px 0}.dialog-copy a{color:#3a756c}.dialog-copy table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}.dialog-copy td,.dialog-copy th{padding:10px;border-bottom:1px solid #dce1ce;text-align:left}.note-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.note-toolbar select{background:#eef0e4;border:1px solid #cbd7bd;padding:8px;font-size:12px;max-width:100%}.notes-textarea{display:block;width:100%;min-height:150px;resize:vertical;border:1px solid #d5dac7;background:#fffef7;border-radius:4px;padding:15px;font-size:12px;line-height:2;margin:18px 0 6px}.notes-status{color:#96a285;font-size:10px;min-height:17px}.record-row{font-size:11px;padding:12px 0;border-bottom:1px solid #e4e6d7}.record-row strong{font-weight:500}.record-row small{color:#8c987c;display:block;margin-top:3px}.notes-empty{font-size:12px;color:#8c987c;text-align:center;padding:26px 10px;border:1px dashed #d4ddc7;margin-top:17px}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#355340;color:#f4f7ee;padding:10px 19px;border-radius:5px;font-size:12px;box-shadow:0 6px 20px #213b2a22;transition:.2s;max-width:90vw;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}.noscript{padding:25px;background:#fff5db;position:fixed;bottom:0;width:100%}@media(min-width:1450px){.canvas-wrap{height:310px}.page{padding-left:37px;padding-right:37px}.experiment-page{padding-left:30px;padding-right:30px}.lesson-desc{font-size:13px}.question-card h3{font-size:14px}.answer{font-size:12px}}@media(max-width:1180px){.app-shell{grid-template-columns:190px minmax(0,1fr);gap:22px;padding:0 25px}.sidebar{padding-right:15px}.sidebar-label{font-size:9px}.toc-heading h2{font-size:16px}.lesson-nav{font-size:11px;gap:7px;padding-left:7px}.page{padding-left:22px;padding-right:22px}.step-tabs{gap:10px}.step-tabs button{font-size:9px}.canvas-wrap{height:270px}.scene-label span{display:none}.reset-note{display:none}.run-controls{gap:5px}.speed-label{font-size:0}.speed-label select{font-size:10px}.site-header{padding:0 25px}.top-nav{gap:22px}.book{grid-template-columns:44% 56%}.readout strong{font-size:18px}}@media(max-width:960px){.sidebar{display:none;position:fixed;left:0;top:80px;bottom:0;background:#edf0e8;padding:25px;z-index:20;overflow:auto;width:260px;box-shadow:20px 10px 40px #30432a22}.sidebar.open{display:block}.app-shell{display:block;max-width:880px;padding:0 25px}.toc-toggle{display:block;font-size:11px;border:1px solid #cfd9c6;border-radius:4px;padding:5px 9px;background:#e5eadf}.site-header{height:80px}.chapter-meta>span:last-of-type{display:none}.book{grid-template-columns:44% 56%}.top-nav{gap:20px}.brand>span{font-size:22px}.brand small{font-size:7px}.level-select{padding:7px 9px}.level-select select{font-size:11px}.scene-label span{display:inline}}@media(max-width:680px){.site-header{height:77px;gap:12px;padding:0 18px;flex-wrap:wrap}.brand{gap:7px}.brand>svg{width:30px;height:30px}.brand>span{font-size:21px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1px}.top-nav{margin-left:auto;gap:18px}.nav-link{font-size:11px}.top-nav #bookNav{display:none}.top-nav #guideNav .tiny{display:none}.level-select{display:none}.app-shell{padding:0 15px}.chapter-header{margin-bottom:17px}.chapter-header h1{font-size:17px}.chapter-meta{gap:7px}.chapter-meta .tag{display:none}main{padding-top:20px}.book{grid-template-columns:1fr}.page{padding:24px 25px 32px}.reading-page{border-radius:5px 5px 0 0;box-shadow:none}.experiment-page{border-left:0;border-top:1px solid #e4ddc8;border-radius:0 0 7px 7px;padding-top:20px;box-shadow:inset 0 13px 30px -30px #635f45}.page-kicker{font-size:8px}.step-tabs{margin:18px 0;gap:25px}.step-tabs button{font-size:10px}.lesson-title{font-size:30px;line-height:1.5;margin-bottom:12px}.lesson-desc{font-size:12px;line-height:1.9;margin-bottom:12px}.question-card{margin-top:16px;padding:14px 0}.question-card h3{font-size:12px;margin:8px 0 10px}.answers{gap:6px}.answer{font-size:12px;padding:10px}.continue-button{margin-top:12px}.canvas-wrap{height:290px}.console-heading{font-size:11px}.slider-row{font-size:11px;grid-template-columns:80px minmax(40px,1fr) 64px;gap:6px;margin:12px 0}.run-controls .primary{min-height:40px;font-size:11px}.icon-button{min-height:40px;width:39px}.speed-label{font-size:8px}.scene-label span{display:inline}.readout strong{font-size:22px}.readout label{font-size:10px}.readout small{font-size:9px}.energy-heading{font-size:10px}.energy-heading button{font-size:10px}.energy-legend span{font-size:9px}.energy-monitor #sceneState{font-size:9px}.under-book{margin-top:24px;flex-wrap:wrap;justify-content:center;gap:16px}.under-book>p{width:100%;text-align:center;font-size:12px}.pagination{width:100%;justify-content:space-between;padding:0 7px}.pagination button{font-size:12px;min-height:40px}.pagination>span{font-size:12px}.model-note{font-size:10px;margin-bottom:20px;gap:7px}.site-footer{font-size:9px;flex-direction:column;align-items:center;padding:20px 15px;text-align:center}.sidebar{top:77px}.dialog-header h2{font-size:23px}dialog{padding:22px 20px}.explanation{font-size:12px}.stage-heading{font-size:28px}.pitfall{font-size:12px}.source-button{min-height:40px}.object-button{padding:8px 12px;min-height:36px}.quiet-button{font-size:10px;padding:5px}.scene-hint{font-size:10px}.lesson-nav{font-size:13px;padding:13px}.page-number{font-size:8px}.readout strong.text-metric{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.site-header,.sidebar,.under-book,.site-footer,canvas,.run-controls,.step-tabs,.toc-toggle,.toast{display:none}.app-shell{display:block}.book{box-shadow:none}.book:before{display:none}.page{break-inside:avoid}dialog[open]{position:static;max-height:none;width:100%;box-shadow:none}}

.timeline-row{display:grid;grid-template-columns:49px 1fr 32px;align-items:center;gap:8px;margin-top:10px;font-size:8px;color:#929a81}.timeline-row input{width:100%;height:12px;accent-color:#97a689;cursor:pointer}.timeline-row output{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:680px){.timeline-row{font-size:10px;margin-top:14px;grid-template-columns:55px 1fr 34px}.timeline-row input{height:22px}}

.mobile-dock{display:none}@media(max-width:680px){body{padding-bottom:64px}.lesson-desc,.explanation,.experiment-instructions li{font-size:14px}.answer,.question-card h3{font-size:14px}.step-tabs button{font-size:12px}.hint{font-size:11px}.quiz-card h3{font-size:13px}.goal-card,.pitfall,.formula-note{font-size:12px}.mobile-dock{display:flex;position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:18;box-shadow:0 5px 24px #273e3340;background:#f8f8ef;border:1px solid #cad6bf;border-radius:30px;padding:4px;gap:3px}.mobile-dock button{font-size:12px;min-height:39px;padding:8px 20px;white-space:nowrap;border-radius:25px}.mobile-dock #mobileLab{background:#365340;color:#f6f8ee}body:has(dialog[open]) .mobile-dock{display:none}.toast{bottom:78px}.canvas-wrap{height:295px}.site-footer{padding-bottom:25px}}

.lesson-desc{color:#6d7869}.explanation{color:#62745d}.slider-row label{color:#66765b}.hint{color:#858670}
