@charset "UTF-8";
:root{--ink:#20383d;--muted:#52676b;--teal:#227279;--coral:#ce5d44;--paper:#f5f2ea;--line:#d7ded8;--green:#367d55;--font:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:22px;line-height:1.45}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bd592e;outline-offset:4px}button{border:0}a{color:var(--teal)}.topbar{max-width:1700px;margin:auto;padding:12px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:700;display:flex;align-items:center;gap:10px}.brand-mark{font-size:32px;color:var(--teal)}.top-tools{display:flex;gap:24px}.text-button{background:none;padding:8px 4px;font-size:22px;white-space:nowrap;color:var(--muted)}.text-button:hover{color:var(--teal)}main{max-width:1700px;margin:auto;padding:18px 30px 8px}.heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px}.eyebrow{margin:0 0 2px;font-size:22px;font-weight:600;color:var(--teal)}h1{font-size:clamp(32px,3vw,48px);line-height:1.2;letter-spacing:-1px;margin:0;font-weight:800}h1 span{color:var(--coral)}.steps{display:flex;align-self:flex-end;gap:10px}.steps button{background:transparent;padding:10px 14px;border-bottom:3px solid transparent;white-space:nowrap;font-size:22px;color:var(--muted)}.steps button[aria-current]{color:var(--teal);border-color:var(--teal);font-weight:700}.steps b{margin-right:6px;font-size:22px;font-variant-numeric:tabular-nums;color:var(--teal)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;min-height:510px}.stage{background:#eaf0e9;border:1px solid #d7e0d9;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;position:relative}.stage-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:8px;color:var(--muted);font-size:22px}.stage-tool{border:1px solid #b9ccc4;border-radius:100px;background:#f5f7f1;padding:6px 14px;font-size:22px;white-space:nowrap}.stage-tool[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.flasks{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0}.flask-card{min-width:0;display:flex;flex-direction:column;position:relative;padding:0 10px}.flask-card+.flask-card{border-left:1px solid #d4dfd6}.flask-title{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;min-height:42px;z-index:2}.flask-title h2{font-size:24px;margin:0;font-weight:700}.flask-letter{background:var(--teal);width:32px;height:32px;text-align:center;border-radius:50%;color:white;font-size:22px;line-height:32px;font-weight:700}.flask-letter.coral{background:var(--coral)}.state-pill{padding:2px 9px;border-radius:6px;color:var(--muted);font-size:22px}.state-pill.clear{background:#d9ebe0;color:#275f41}.state-pill.cloudy{background:#d95c3d;color:#fff;font-weight:700}.flask-art{flex:1;position:relative;min-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden}.flask-art svg{width:100%;height:100%;max-height:350px;overflow:visible}.flask-reading{text-align:center;font-size:22px;font-weight:600;min-height:40px;padding:2px 4px 8px;color:var(--teal)}.flask-reading.cloudy{color:#ab482e}.time-track{display:flex;align-items:center;gap:18px;margin:0 20px;padding:12px 0;border-top:1px solid #cfdbd2;font-size:22px}.track-line{flex:1;height:5px;background:#cfdbd2;min-width:20px;border-radius:3px}.track-line i{display:block;height:100%;width:0;background:var(--teal);border-radius:3px;transition:width .6s}.simulation{color:var(--muted)}.control{background:#fffcf6;border:1px solid #e0e1d7;border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:12px}.control .kicker{margin:0;color:var(--teal);font-size:22px;font-weight:700}.control h2{font-size:30px;line-height:1.28;margin:0;letter-spacing:-.5px}.control p{margin:0;font-size:24px;line-height:1.5}.control .body-copy{color:var(--muted)}.choices{display:flex;flex-direction:column;gap:10px;margin:4px 0}.choice{border:1px solid #ccd8d1;border-radius:14px;padding:13px 14px;text-align:left;background:#fffefa;font-size:25px;line-height:1.4;display:flex;align-items:center;gap:12px;min-height:70px}.choice .choice-mark{flex-shrink:0;width:25px;height:25px;border:2px solid #aebeb5;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:22px}.choice.selected{border-color:var(--teal);background:#eaf3ed;box-shadow:inset 0 0 0 1px var(--teal)}.choice.selected .choice-mark{background:var(--teal);border-color:var(--teal);color:white}.primary{background:var(--teal);color:white;border-radius:14px;padding:14px 12px;font-size:26px;font-weight:700;min-height:60px;width:100%;box-shadow:0 4px 0 #15545b;transition:transform .15s,box-shadow .15s}.primary:hover:not(:disabled){background:#195f68}.primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #15545b}.secondary{background:#f2f4ed;border:1px solid #cdd8d0;border-radius:14px;padding:11px;font-size:23px;min-height:54px;width:100%}.secondary:hover{background:#e4ece3}.control .actions{margin-top:auto;display:grid;gap:10px}.control .feedback{font-size:22px;padding:12px;background:#edf2e9;border-radius:12px;line-height:1.5}.control .feedback.correct{color:#275e41;background:#dcecdc}.control .feedback.retry{color:#a34931;background:#f9e5d9}.process{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:23px;color:var(--teal);font-weight:600}.process span{padding:6px 10px;background:#eaf1e9;border-radius:9px}.insight{display:flex;align-items:center;gap:14px;margin-top:12px;background:#e5ebe2;border-radius:16px;padding:9px 18px;min-height:60px}.insight-mark{color:var(--teal);font-size:34px}.insight p{margin:0;flex:1;font-size:24px;font-weight:600}.insight button{font-size:22px}footer{display:flex;align-items:center;justify-content:space-between;padding:4px 5px;color:var(--muted);font-size:22px}footer button{color:var(--teal)}dialog{width:min(1050px,calc(100% - 30px));max-height:90dvh;overflow:auto;border:1px solid #d1dace;border-radius:24px;background:#fffcf6;color:var(--ink);padding:24px;font-family:var(--font);font-size:24px}dialog::backdrop{background:#20383d90;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-24px;background:#fffcf6;z-index:3;padding:12px 0}.dialog-head h2{margin:0;font-size:32px}.dialog-head button{background:#e7ede4;border-radius:10px;padding:8px 14px;font-size:22px}.source-content h3{font-size:26px;margin:24px 0 10px}.source-content p{margin:10px 0;font-size:23px;overflow-wrap:anywhere}.source-content summary{cursor:pointer;font-size:24px;color:var(--teal)}.micro-note{font-size:22px;color:var(--muted);margin:0 0 14px}.micro-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.micro-card{text-align:center}.micro-card h3{font-size:28px;margin:0 0 14px}.micro-card p{font-size:24px;margin:10px 0}.micro-card svg{width:100%;max-height:320px}.cloud-overlay{opacity:0;transition:opacity 1.1s}.is-cloudy .cloud-overlay{opacity:1}.germ{fill:#386343;stroke:#20492e;stroke-width:1.5}.is-cloudy .germ{fill:#2b5838}.dust{fill:#a06644;stroke:#6e4730;stroke-width:1}.air-path{fill:none;stroke:#258fa2;stroke-width:4;stroke-dasharray:9 10;animation:flow 2s linear infinite}.bubble{fill:#fff6db;opacity:.8;animation:bubble 1.4s ease-in-out infinite}.heat-flame{animation:flame .6s ease-in-out infinite alternate;transform-origin:center bottom}.micro-organism{animation:swim 4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.dust-moving{animation:dustfall 2.6s linear infinite}.germ-flash{animation:germpop .5s ease-out both}.neck-piece{transform-origin:164px 140px;transition:opacity .6s,transform .6s}.is-broken .neck-piece{opacity:0;transform:translate(24px,28px) rotate(9deg)}.glass-body{transition:fill .7s}.liquid-fill{transition:fill 1s}.large-observe{cursor:pointer}.svg-caption{font-family:var(--font);font-size:27px;fill:var(--ink);font-weight:600}.svg-caption.coral-text{fill:#a6472d}.micro-link{fill:#f7fbf4;stroke:#7d9d88;stroke-width:2}.micro-link.hot{fill:#eaf2d7;stroke:#ce5d44;stroke-width:3}.micro-surface{fill:#d7e6c4}.micro-density{fill:#2f633e;font-family:var(--font);font-size:24px;font-weight:700}.control .evidence-item{display:flex;align-items:center;gap:10px;font-size:23px}.evidence-item strong{font-size:24px}.evidence-dot{color:var(--green);font-size:26px}.verdict{font-size:29px!important;font-weight:700;color:var(--teal)}.step-controls{display:flex;gap:8px}.step-controls .secondary{font-size:22px}.tip-tag{color:var(--coral);font-weight:700}.reset-confirm{display:flex;gap:10px}.reset-confirm button{flex:1}
@keyframes flow{to{stroke-dashoffset:-38}}@keyframes bubble{0%{transform:translateY(3px);opacity:.3}80%{opacity:.9}100%{transform:translateY(-28px);opacity:0}}@keyframes flame{to{transform:scale(.92,1.12)}}@keyframes swim{to{transform:translate(7px,-6px) rotate(9deg)}}@keyframes dustfall{from{opacity:0;transform:translate(8px,-12px)}20%{opacity:1}to{opacity:.8;transform:translate(-2px,5px)}}@keyframes germpop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 400px;min-height:580px}.flask-art svg{max-height:430px}.control{padding:26px}.control h2{font-size:34px}.control p{font-size:26px}.choice{font-size:27px}.insight p{font-size:26px}}
@media(max-height:820px) and (min-width:1000px){.topbar{padding-top:6px;padding-bottom:6px}main{padding-top:10px}.heading{margin-bottom:12px}.workspace{min-height:475px}.control{padding:17px;gap:10px}.control h2{font-size:28px}.choice{padding:10px;min-height:64px}.flask-art svg{max-height:300px}.stage-top{padding:9px 16px}.insight{margin-top:10px}.primary{padding:10px}.control p{font-size:23px}footer{padding-top:0}}
@media(max-width:1100px){.topbar{padding-left:20px;padding-right:20px}main{padding-left:20px;padding-right:20px}.heading{align-items:flex-start;flex-direction:column;gap:14px}.steps{align-self:auto}.workspace{grid-template-columns:minmax(0,1fr) 320px}.stage-top{flex-wrap:wrap}.flask-title{gap:4px}.flask-title h2{font-size:22px}.flask-title .state-pill{width:100%;text-align:center}.time-track{flex-wrap:wrap;gap:8px}.time-track .simulation{width:100%}.control p{font-size:22px}.control h2{font-size:27px}.choice{font-size:23px;padding:12px}.flask-art svg{max-height:340px}.flask-reading{font-size:22px}}
@media(max-width:800px){.workspace{grid-template-columns:1fr;min-height:0}.stage{min-height:480px}.control{gap:14px}.control h2{font-size:30px}.control p{font-size:24px}.control .actions{margin-top:6px}.heading h1{font-size:36px}.steps{width:100%;justify-content:space-between;gap:2px}.steps button{padding:8px 4px;font-size:21px}.steps b{display:block;margin:0;font-size:22px}.insight{align-items:flex-start;flex-wrap:wrap}.insight p{font-size:23px}.insight button{margin-left:auto}.micro-grid{gap:12px}.flask-art svg{max-height:310px}.flask-art{min-height:250px}footer{flex-wrap:wrap;gap:6px}}
@media(max-width:480px){body{font-size:21px}.topbar{padding:8px 12px;gap:10px;align-items:flex-start}.brand{font-size:21px;gap:6px}.brand-mark{font-size:26px}.top-tools{gap:10px}.text-button{font-size:20px}.top-tools button{padding:6px 0}main{padding:16px 12px 8px}.heading h1{font-size:34px}.eyebrow{font-size:21px}.steps button{font-size:20px}.workspace{gap:12px}.stage{min-height:0;border-radius:18px}.stage-top{padding:12px;gap:10px;font-size:21px}.stage-tool{font-size:20px}.flasks{grid-template-columns:1fr}.flask-card{padding:6px 8px 0}.flask-card+.flask-card{border-left:0;border-top:1px solid #d4dfd6}.flask-title .state-pill{width:auto}.flask-title h2{font-size:23px}.flask-art{height:280px;flex:auto;min-height:280px}.flask-art svg{max-height:280px;max-width:330px}.flask-reading{font-size:21px}.time-track{font-size:21px;margin:0 14px;padding:12px 0}.time-track .simulation{font-size:20px}.control{padding:20px;border-radius:18px}.control .kicker{font-size:21px}.control h2{font-size:29px}.control p{font-size:23px}.choice{font-size:24px}.insight{padding:12px;gap:8px}.insight p{font-size:23px}.insight-mark{font-size:28px}.micro-grid{grid-template-columns:1fr}.micro-card h3{font-size:25px}dialog{padding:18px}.dialog-head{top:-18px}.dialog-head h2{font-size:27px}.source-content p{font-size:22px}footer{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.svg-caption{font-size:36px}.flask-art svg{view-transition-name:none}.air-path{stroke-width:3.5}.cloud-overlay{transition:none}.control .primary:disabled{box-shadow:none}.stage.growing{border-color:#b78054}.flask-art svg .neck-piece{pointer-events:none}
@media(min-width:801px) and (max-width:1100px){.workspace{grid-template-columns:1fr}.stage{min-height:460px}.control{min-height:0}.control .actions{margin-top:12px}.control .choices{display:grid;grid-template-columns:1fr 1fr}.control h2 br{display:none}.flask-title .state-pill{width:auto}.time-track .simulation{width:auto}.control .evidence-item{font-size:24px}}
@media(max-height:760px) and (min-width:1101px){.topbar{padding-top:4px;padding-bottom:4px}.top-tools .text-button{padding-top:6px;padding-bottom:6px}.heading h1{font-size:36px}.heading{margin-bottom:10px}.stage-top{padding-top:7px;padding-bottom:7px}.stage-tool{padding-top:4px;padding-bottom:4px}.flask-art{min-height:240px}.flask-art svg{max-height:280px}.workspace{min-height:460px}.insight{padding-top:6px;padding-bottom:6px;min-height:60px}.insight-mark{font-size:30px}}
.insight .feedback.correct{color:#275e41}.insight .feedback.retry{color:#a34931}
