/* Visual baseline: 隔板法/index.html. Keep shared tokens and layout in sync. */

:root{color-scheme:light;--paper:#f5f4ee;--ink:#20352f;--muted:#66766d;--line:#d6dcd1;--teal:#246b55;--wash:#e8eee4;--amber:#9a642e;--white:#fffef8;font-family:"PingFang SC","Hiragino Sans GB","STHeiti",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.8}main{max-width:1180px;margin:auto;padding:30px 40px 72px}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button{cursor:pointer}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button{color:var(--ink)}[hidden]{display:none!important}.eyebrow{font-size:.75rem;color:var(--muted);letter-spacing:.12em;margin:0}.mast{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px}header{padding:26px 0 23px;display:flex;align-items:end;justify-content:space-between;gap:20px}h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.2;font-weight:600;letter-spacing:-.05em;margin:0 0 10px}header p{margin:0;color:var(--muted);font-size:1rem}.download{font-size:.85rem;white-space:nowrap}video{display:block;width:100%;aspect-ratio:16/9;background:#0c171e;border-radius:4px}.error{color:#8d4027;background:#f8eade;padding:12px 18px;margin:0}.chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0 38px;border-block:1px solid var(--line)}.chapters button{background:none;text-align:left;border:0;border-top:2px solid transparent;padding:14px 14px 16px;font-size:.88rem;line-height:1.5;min-width:0}.chapters button span{display:block;font: .68rem/1.5 Menlo,monospace;color:var(--muted);margin-bottom:7px}.chapters button[aria-current="step"]{background:var(--wash);border-top-color:var(--teal)}.chapters button:hover{background:var(--wash)}h2{font-size:clamp(1.3rem,3vw,1.65rem);line-height:1.5;font-weight:600;margin:0 0 12px;letter-spacing:-.03em}.lead{margin:0 0 22px;color:var(--muted);max-width:46em}.lead strong{color:var(--ink);font-weight:600}.section-title{display:flex;align-items:baseline;gap:14px}.index{font: .75rem Menlo,monospace;color:var(--teal);flex:none}.lab{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);border:1px solid var(--line);background:var(--white)}.apparatus{padding:24px 26px}.switch{display:flex;gap:8px;flex-wrap:wrap}.switch button{border:1px solid var(--line);border-radius:3px;background:none;padding:9px 15px;font-size:.88rem}.switch button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}.diagram-wrap{margin:14px 0 0}.diagram{width:100%;height:auto;display:block}.groups{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:10px 0;margin:8px 0 14px}.groups p{margin:0;text-align:center;color:var(--muted);font-size:.82rem}.groups strong{display:block;color:var(--ink);font-size:1.7rem;line-height:1.5;font-weight:500}.example-controls{display:flex;justify-content:space-between;align-items:center;gap:14px}.example-controls p{font-size:.75rem;color:var(--muted);margin:0}.example-controls button{background:none;border:0;padding:5px 0;font-size:.85rem;text-decoration:underline;text-underline-offset:5px}.explanation{border-left:1px solid var(--line);background:var(--wash);padding:25px 28px;display:flex;flex-direction:column;justify-content:center}.explanation .kicker{font-size:.8rem;color:var(--teal);margin:0 0 10px}.explanation h3{margin:0;font-size:1.25rem;font-weight:600}.explanation .big{font-size:3.5rem;line-height:1.25;font-weight:500;letter-spacing:-.05em;color:var(--teal);margin:12px 0 4px;font-variant-numeric:tabular-nums}.big span{font-size:.85rem;letter-spacing:0;margin-left:10px;color:var(--muted)}.formula{font-family:"Times New Roman","STHeiti",serif;font-size:1.4rem;color:var(--ink);white-space:normal}.explanation p{margin:6px 0;color:var(--muted);font-size:.9rem}.explanation .formula{color:var(--ink);font-size:1.25rem}.trap{margin:22px 0 0;border-left:3px solid #bd9764;padding:2px 0 2px 18px;max-width:58em}.trap h3{font-size:.95rem;margin:0 0 6px}.trap p{margin:0;font-size:.91rem;color:var(--muted)}.trap strong{color:var(--ink)}.lesson-block{margin-top:42px;padding-top:30px;border-top:1px solid var(--line)}.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin:21px 0}.rule{border-top:2px solid var(--teal);padding-top:15px}.rule:last-child{border-color:#bd9764}.rule h3{font-size:1rem;margin:0 0 8px}.rule .formula{margin:0 0 9px;font-size:1.65rem}.rule p:last-child{margin:0;color:var(--muted);font-size:.88rem}.conditions{display:flex;gap:8px 20px;flex-wrap:wrap;padding:12px 0;border-block:1px solid var(--line);font-size:.86rem}.conditions strong{font-weight:500}.conditions span::before{content:'✓';color:var(--teal);margin-right:7px}.boundary{font-size:.84rem;color:var(--muted);margin:15px 0 0;max-width:65em}.quiz{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px}.quiz .lead{font-size:.94rem;margin-bottom:0}.quiz strong{color:var(--ink)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:.85rem;color:var(--muted);padding:0;margin-bottom:10px}.options{display:grid;gap:8px}.options label{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:9px 3px;cursor:pointer;font-size:.95rem}.options input{accent-color:var(--teal);width:18px;height:18px;margin:0;flex:none}.check{margin-top:16px;background:var(--teal);color:#fff;border:0;border-radius:3px;padding:10px 22px;font-size:.9rem}.feedback{font-size:.91rem;margin:16px 0 0;padding-left:13px;border-left:3px solid var(--teal)}.feedback[data-state="incorrect"]{border-color:#bd9764;color:#825224}.transcript{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 46px;margin-top:24px}.transcript article{padding:10px 0 8px 16px;border-left:2px solid transparent;min-width:0}.transcript article[data-current="true"]{border-color:var(--teal);background:#e8eee455}.transcript h3{font-size:.98rem;line-height:1.6;font-weight:600;margin:0 0 10px}.transcript button{border:0;background:none;text-align:left;padding:0;line-height:inherit}.transcript button span{display:inline-block;font: .65rem Menlo,monospace;color:var(--teal);margin-right:10px}.transcript p{font-size:.91rem;color:var(--muted);margin:0 0 9px}.transcript strong{font-weight:600;color:var(--ink)}.section-sub{color:var(--muted);font-size:.83rem;margin:0}
@media(max-width:850px){main{padding:20px 22px 50px}.lab{grid-template-columns:1fr}.explanation{border-left:0;border-top:1px solid var(--line);display:block;padding:22px 24px}.explanation .big{float:right;font-size:3.1rem;margin:0 0 10px 15px}.explanation:after{content:'';display:block;clear:both}.explanation .formula{margin-top:12px}.quiz{gap:25px;grid-template-columns:1fr}.transcript{gap:18px 26px}}
@media(max-width:560px){main{padding:16px 18px 40px}.mast{gap:12px}header{display:block;padding-top:23px}header p{font-size:.94rem;max-width:20em}.download{display:inline-block;margin-top:14px}video{border-radius:2px}.chapters{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:29px}.chapters button{padding:12px 9px;font-size:.84rem}.apparatus{padding:17px 14px}.switch button{font-size:.81rem;padding:8px 11px}.explanation{padding:20px}.rules{grid-template-columns:1fr;gap:20px}.rule .formula{font-size:1.5rem}.lesson-block{margin-top:30px;padding-top:24px}.transcript{grid-template-columns:1fr;gap:10px}.transcript p{font-size:.96rem}.lead{font-size:.95rem}.section-title{gap:10px}.conditions{gap:6px 15px}.boundary{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.note-block{margin:0 0 18px}.note-block h3{font-size:.8rem;color:var(--muted);margin:0 0 5px}.note-block p{margin:0;color:var(--muted);font-size:.94rem}.note-block strong{color:var(--ink)}.comparisons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.comparison{border-top:2px solid var(--teal);padding-top:14px}.comparison h3{font-size:.9rem;margin:0}.comparison .result{font-size:2.7rem;line-height:1.3;color:var(--teal);margin:10px 0}.comparison .result span{font-size:.85rem;margin-left:8px}.comparison .formula{font-size:1.25rem;margin:0}.comparison p:last-child{font-size:.85rem;color:var(--muted)}@media(max-width:850px){.notes{grid-template-columns:1fr;gap:25px}}

/* Shared adaptations for complete S-class lessons. No topic may redefine these tokens. */
:root{--surface:var(--white);--soft:var(--wash);--warm:var(--amber);--serif:"Times New Roman","STHeiti",serif;--sans:"PingFang SC","Hiragino Sans GB","STHeiti",sans-serif}
html{scroll-padding-top:24px}body{font:16px/1.8 var(--sans)}main{max-width:1180px;padding:30px 40px 72px;overflow-wrap:anywhere}button,select,input{min-height:44px}button{border-radius:3px}button:disabled{cursor:default;opacity:.5}a{color:inherit}h1,h2,h3{font-family:var(--sans)}h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.2;font-weight:600;letter-spacing:-.05em;margin:0 0 10px}h2{font-size:clamp(1.3rem,3vw,1.65rem);line-height:1.5;font-weight:600;letter-spacing:-.03em;margin:0 0 12px}h3{font-size:1.05rem;line-height:1.6;font-weight:600;margin:20px 0 10px}p{margin:0 0 16px}.mast-links{display:flex;gap:20px;align-items:baseline;font-size:.75rem;color:var(--muted)}.mast-links a{white-space:nowrap}.lesson-heading{padding:26px 0 23px;gap:24px}.lesson-heading p{max-width:46em}.lesson-heading .download{min-height:44px;display:flex;align-items:end;flex:none}.lesson-video{padding:0;border:0}.lesson-video video{border-radius:4px}.lesson-chapters{display:grid;grid-template-columns:repeat(var(--chapter-columns,4),minmax(0,1fr));gap:0;margin:20px 0 38px}.lesson-chapters button{background:none;color:var(--ink);border:0;border-top:2px solid transparent;border-radius:0;font-size:.88rem;line-height:1.5;padding:14px 14px 16px;text-align:left}.lesson-chapters button span{display:block;font:.68rem/1.5 Menlo,monospace;color:var(--muted);margin:0 0 7px}.lesson-chapters button[aria-current=step]{background:var(--wash);color:var(--ink);border-top-color:var(--teal)}.lesson-chapters button:hover{background:var(--wash)}.lesson-block{padding:30px 0 0;margin-top:42px;border-bottom:0;border-top:1px solid var(--line)}#lesson-case{border-top:0;padding-top:0;margin-top:0}.section-title{align-items:baseline;gap:14px}.section-title h2{min-width:0}.index{font:.75rem Menlo,monospace;color:var(--teal);flex:none}.lab{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr)}.apparatus{min-width:0;padding:24px 26px}.apparatus>p:first-child{margin-top:0}.apparatus .kicker{font-size:.85rem}.apparatus .controls{margin-bottom:0}.apparatus .controls button{font-size:.88rem}.apparatus .controls button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.demo-output{background:transparent;border:0;border-block:1px solid var(--line);padding:18px 0;margin-top:16px;min-height:0}.explanation .big{font-size:clamp(2rem,4vw,3.5rem);overflow-wrap:anywhere}.explanation h3{font-size:1.16rem;margin:0 0 12px}.explanation p:last-child{font-size:.85rem}.two-col,.grid{gap:40px}.two-col>.panel,.two-col>.card{padding:0;border:0;background:none;border-radius:0}.panel,.card{border-radius:0;background:transparent}.example,.exercise{padding:20px 0;background:none;border:0;border-top:2px solid var(--teal);border-radius:0;margin:22px 0 0}.example:first-of-type,.exercise:first-of-type{margin-top:22px}.example+.example,.exercise+.exercise{margin-top:28px}.example>h3:first-child,.exercise>h3:first-child{margin-top:0}.example>.kicker,.example>.level{font-size:.8rem}.formula,.equation,.math-line{font-family:"Times New Roman","STHeiti",serif;color:var(--ink);font-size:1.4rem;line-height:2;max-width:100%;min-width:0;overflow-x:auto;white-space:normal;padding:6px 0}.formula-block{padding:14px 20px;background:var(--wash);border:0;border-left:2px solid var(--teal)}.callout{border:0;border-left:2px solid var(--teal);background:transparent;border-radius:0;padding:2px 0 2px 18px;margin:22px 0}.warning,.pitfall{border-left:3px solid #bd9764;background:transparent;padding:2px 0 2px 18px}.callout p:last-child,.warning p:last-child{margin-bottom:0}.lead{font-size:1rem;max-width:60em}.lesson-context{margin:0 0 20px}.lesson-context .eyebrow{display:none}.lesson-context .tag{font-size:.75rem;background:none;border:0;padding:0;margin:0 16px 4px 0;color:var(--muted)}.lesson-context .small{font-size:.82rem;color:var(--muted)}.small,.hint{font-size:.85rem}.steps li{padding:6px 0 6px 4px}details{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:14px 0;margin:14px 0 0}summary{font-size:.9rem;min-height:44px;padding:6px 2px}details[open] summary{color:var(--teal)}table{font-size:.9rem}th{background:var(--wash)}td,th{padding:11px 14px}.lesson-transcript{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 46px;margin-top:24px}.lesson-transcript article{padding:10px 0 8px 16px;background:transparent;border-left:2px solid transparent;margin:0;min-width:0}.lesson-transcript article+article{margin:0}.lesson-transcript article[data-current=true]{border-color:var(--teal);background:#e8eee455}.lesson-transcript h3{font-size:.98rem;line-height:1.6;margin:0 0 10px}.lesson-transcript button{border:0;border-radius:0;background:none;color:var(--ink);padding:0;text-align:left;font-weight:600;line-height:1.6}.lesson-transcript button span{display:inline-block;font:.65rem Menlo,monospace;color:var(--teal);margin-right:10px}.lesson-transcript p{font-size:.91rem;color:var(--muted);margin:0 0 9px}.section-sub,.media-notes{font-size:.83rem;color:var(--muted)}.media-notes p:last-child{margin:0}.media-error{color:#8d4027;background:#f8eade;padding:12px 18px;margin:0}.lesson-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:36px;font-size:.8rem;color:var(--muted)}.anchor-alias{display:block;position:relative}.skip-link:focus{top:10px}
@media(max-width:850px){main{padding:20px 22px 50px}.lab{grid-template-columns:1fr}.explanation{padding:22px 24px}.explanation .big{float:none;margin:0 0 12px;font-size:2.5rem}.lesson-transcript{gap:18px 26px}}
@media(max-width:560px){main{padding:16px 18px 40px}.mast-links{gap:12px}.mast{align-items:baseline}.mast .eyebrow{font-size:.68rem;letter-spacing:.05em}.mast-links{font-size:.68rem}.lesson-heading{display:block;padding:23px 0}.lesson-heading p{max-width:none;font-size:.94rem}.lesson-heading .download{display:inline-flex;margin-top:10px;align-items:center}.lesson-chapters{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:29px}.lesson-chapters button{padding:12px 9px;font-size:.84rem}.apparatus{padding:17px 14px}.explanation{padding:20px}.two-col,.grid{grid-template-columns:1fr;gap:20px}.lesson-block{margin-top:30px;padding-top:24px}.lesson-transcript{grid-template-columns:1fr;gap:10px}.lesson-transcript p{font-size:.96rem}.lead{font-size:.95rem}.section-title{gap:10px}.formula,.equation,.math-line{font-size:1.2rem}.example,.exercise{padding:16px 0}.explanation .big{font-size:2.3rem}.lesson-footer{gap:12px}td,th{padding:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{main{padding:0}.mast-links,.download,.lesson-chapters,.controls,.skip-link{display:none}.lab{display:block}.explanation{border-left:0;border-top:1px solid var(--line)}.lesson-transcript{display:block}video{max-height:300px}.lesson-block{break-inside:auto}}
/* The original reference's unfilled-button reset must not lower contrast on primary actions. */
.mast .eyebrow{font-weight:400}.apparatus .controls button:not(.secondary){background:var(--teal);color:#fff}
