.ec-unit{border-bottom:1px solid var(--line);padding:2.6rem 0}.ec-unit-head{border-top:2px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:.9rem;padding-top:.6rem;display:flex}.ec-unit-no{letter-spacing:.3em;color:var(--accent);font-size:.78rem}.ec-unit-head h2{letter-spacing:.06em;margin:0;font-size:1.35rem}.ec-unit-en{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:.78rem}.ec-unit-intro{color:var(--ink-2);max-width:44rem;margin:.9rem 0 1.4rem}.ec-lessons{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.ec-lessons li{border-bottom:1px solid var(--line)}.ec-lesson{grid-template-columns:4.2rem 1fr auto;align-items:baseline;gap:0 1.2rem;padding:1.15rem .4rem;display:grid}a.ec-lesson:hover{background:var(--paper-2)}a.ec-lesson:hover .ec-lesson-title{color:var(--accent)}.ec-lesson-no{letter-spacing:.14em;color:var(--accent);white-space:nowrap;font-size:.82rem}.ec-lesson-title{font-size:1.08rem;font-weight:700;line-height:1.55;display:block}.ec-lesson-lede{color:var(--soft);margin-top:.3rem;font-size:.92rem;line-height:1.8;display:block}.ec-lesson-tools{letter-spacing:.1em;color:var(--muted);margin-top:.35rem;font-size:.76rem;display:block}.ec-lesson-state{letter-spacing:.12em;color:var(--muted);white-space:nowrap;font-size:.78rem}.ec-lesson.is-pending .ec-lesson-title{color:var(--soft);font-weight:600}.ec-lesson.is-pending .ec-lesson-no{color:var(--muted)}.ec-method{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.4rem 2rem;margin:0;padding:0;list-style:none;display:grid}.ec-method li{border-top:1px solid var(--line-2);padding-top:.8rem}.ec-method b{margin-bottom:.3rem;font-size:.98rem;display:block}.ec-method span{color:var(--soft);font-size:.9rem;line-height:1.8}.ec-prose .katex{font-size:1.04em}.ec-prose .katex-display{margin:1.3em 0 1.5em;padding:.2em 0;overflow:auto hidden}.ec-prose table{font-family:Noto Sans SC,PingFang SC,system-ui,sans-serif;font-size:.88rem}.ec-prose thead th{border-bottom:1.5px solid var(--ink);text-align:left;font-weight:600}.ec-prose th,.ec-prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:.5em .75em}.ec-prose td:first-child,.ec-prose th:first-child{padding-left:0}.ec-prose strong{font-weight:700}.ec-prose h2+p,.ec-prose h2+table{margin-top:0}.ec-prose ul li{font-size:.93rem;line-height:1.75}.ec-lesson-meta{letter-spacing:.08em;font-size:.86rem}.ec-lab{border-top:2px solid var(--ink);border-bottom:1px solid var(--line-2);max-width:44rem;margin:2em 0 2.2em;padding:1.2rem 0 1rem;font-family:Noto Sans SC,PingFang SC,system-ui,sans-serif}.ec-lab-head{flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem;margin-bottom:1rem;display:flex}.ec-lab-kicker{letter-spacing:.3em;color:var(--accent);font-size:.72rem}.ec-lab-head b{font-family:Noto Serif SC,Source Han Serif SC,serif;font-size:1.02rem}.ec-lab-note{color:var(--muted);font-size:.78rem}.ec-lab-controls{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.7rem 1.6rem;margin-bottom:1rem;display:grid}.ec-lab-slider{color:var(--ink-2);font-size:.84rem;display:block}.ec-lab-slider-top{justify-content:space-between;gap:.6rem;display:flex}.ec-lab-slider i{color:var(--muted);font-family:Times New Roman,serif;font-style:italic}.ec-lab-slider output{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.ec-lab-slider input{width:100%;accent-color:var(--accent);margin:.35rem 0 0}.ec-lab-actions{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.ec-lab-actions button{font:inherit;border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;padding:.38rem .8rem;font-size:.8rem}.ec-lab-actions button:hover{border-color:var(--accent);color:var(--accent)}.ec-lab-svg{width:100%;height:auto;display:block;overflow:visible}.ec-lab-svg .grid{stroke:var(--line);stroke-width:1px}.ec-lab-svg .grid.base{stroke:var(--line-2);stroke-dasharray:3 3}.ec-lab-svg .axis{stroke:var(--ink-2);stroke-width:1px}.ec-lab-svg .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.ec-lab-svg .axis-label{fill:var(--soft);font-size:11px}.ec-lab-svg polyline{fill:none;stroke-linejoin:round;stroke-linecap:round}.ec-lab-svg .c-f{stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:5 4}.ec-lab-svg .c-sf{stroke:var(--accent);stroke-width:2.4px}.ec-lab-svg .c-be{stroke:var(--ink);stroke-width:1.8px}.ec-lab-svg .c-gr{stroke:var(--soft);stroke-width:1px;stroke-dasharray:2 3}.ec-lab-svg .c-star{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3}.ec-lab-svg .c-cons{stroke:var(--accent);stroke-width:3px;opacity:.28}.ec-lab-svg .dot{fill:var(--accent);stroke:#fff;stroke-width:1.5px}.ec-lab-svg .dot2{fill:#fff;stroke:var(--muted);stroke-width:1.5px}.ec-lab-svg .lab{fill:var(--ink-2);font-size:12px}.ec-lab-svg .lab.sf,.ec-lab-svg .lab.star,.ec-lab-svg .lab.cons{fill:var(--accent)}.ec-lab-svg .lab.f,.ec-lab-svg .lab.gr{fill:var(--soft);font-size:11px}.ec-lab-svg .lab.be{fill:var(--ink)}.ec-lab-readout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem 1.2rem;margin:.6rem 0 1.4rem;padding:.8rem 0;display:grid}.ec-lab-readout div{min-width:0}.ec-lab-readout dt{color:var(--muted);letter-spacing:.04em;font-size:.74rem}.ec-lab-readout dd{font-variant-numeric:tabular-nums;color:var(--ink);margin:.1rem 0 0;font-size:.95rem}.ec-lab-readout small{color:var(--soft);font-size:.74rem}.ec-lab-sub{color:var(--ink-2);margin:0 0 .4rem;font-size:.84rem}.ec-lab-foot{color:var(--soft);margin:.4rem 0 0;font-size:.8rem;line-height:1.7}.ec-lab-warn{color:var(--accent);font-size:.9rem}@media (max-width:760px){.ec-lesson{grid-template-columns:3.6rem 1fr}.ec-lesson-state{grid-column:2;margin-top:.4rem}.ec-lab-svg .tick,.ec-lab-svg .axis-label{font-size:19px}.ec-lab-svg .lab{font-size:20px}.ec-lab-svg .lab.f,.ec-lab-svg .lab.gr{font-size:18px}}.ec-lab-toggle{border:1px solid var(--line-2);border-radius:4px;flex-wrap:wrap;gap:0;width:fit-content;max-width:100%;margin:0 0 1rem;display:flex;overflow:hidden}.ec-lab-toggle button{font:inherit;color:var(--soft);cursor:pointer;background:0 0;border:0;padding:.42rem .85rem;font-size:.82rem}.ec-lab-toggle button+button{border-left:1px solid var(--line-2)}.ec-lab-toggle button[aria-pressed=true]{background:var(--ink);color:#fff}.ec-lab-slider[data-disabled]{opacity:.45}.ec-lab-foot b{color:var(--ink);font-weight:700}
