:root{color-scheme:light;--ink:#152e41;--muted:#456171;--accent:#087567;--paper:#f5f7f8;--rule:#d2dde2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:#066b83;text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:4px}*:focus-visible{outline:3px solid #ac5915}header.hero{background:#101d2c;color:#fff;padding:4.5rem max(1.5rem,calc((100vw - 1100px)/2)) 3rem}.eyebrow{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:#70e0cc}.hero h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;margin:.8rem 0;max-width:880px}.hero p{color:#c6d4df;max-width:720px}.hero nav{display:flex;gap:1.5rem;flex-wrap:wrap}.hero a{color:#fff} .layout{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:3rem;padding:3rem 1.5rem}.toc{align-self:start;position:sticky;top:1rem;max-height:90vh;overflow:auto;font-size:.86rem;line-height:1.5}.toc ul{list-style:none;padding-left:.6rem}.toc>ul{padding:0}.toc li{margin:.45rem 0}.toc a{text-decoration:none}.toc strong{color:var(--accent)}main{min-width:0;max-width:820px}main>h1{font-family:Georgia,serif;font-size:2.4rem;line-height:1.2;padding-top:1.5rem;border-top:1px solid var(--rule);margin-top:3.5rem}main>h1:first-child{margin-top:0;padding-top:0;border:0}h2{font-size:1.35rem;line-height:1.35;margin-top:2rem}p{margin:1rem 0}table{border-collapse:collapse;width:100%;font-size:.85rem;line-height:1.45;margin:1.2rem 0;display:block;overflow-x:auto}th,td{padding:.65rem .7rem;border-bottom:1px solid var(--rule);vertical-align:top;min-width:90px}th{background:#e8eef1;text-align:left}pre{overflow-x:auto;font-size:.78rem;line-height:1.5;background:#edf2f5;padding:1rem;border-radius:5px}code{font-family:Consolas,monospace;font-size:.88em;overflow-wrap:anywhere}math{font-size:1.1em}span.math.display{display:block;overflow-x:auto;padding:.8rem 0}.laboratory{border:1px solid #b9cdd3;border-radius:12px;overflow:hidden;background:#fff;margin:1.8rem 0}.lab-heading{padding:1rem 1.3rem;background:#e9f2f1}.lab-heading h3{margin:0;font-size:1.1rem}.model-label{font-size:.8rem;margin:.3rem 0 0;color:#315b5b}.static-figure{margin:0;padding:1rem;background:#101d2c;color:#d4e2eb}.static-figure img{width:100%;display:block}.static-figure figcaption{font-size:.78rem;margin-top:.5rem;line-height:1.5}.scene-host:empty{display:none}.scene-host{background:#101d2c;min-height:300px}.scene-host canvas{width:100%;height:300px;display:block}.active-scene .static-figure{display:none}.controls{padding:1rem 1.3rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.control{display:flex;flex-direction:column;font-size:.86rem}.control .input-pair{display:flex;gap:.5rem;align-items:center}.input-pair input[type=range]{min-width:60px;flex:1}.input-pair input[type=number]{width:5.7rem;padding:.25rem}.controls select{padding:.3rem;max-width:100%}.actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1.3rem}.actions button{border:1px solid #8aa8b6;background:#fff;border-radius:6px;padding:.4rem .65rem;font-size:.8rem;color:var(--ink)}.actions button:first-child{background:#087567;color:#fff;border-color:#087567}.readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:1rem 1.3rem;margin:0}.readout div{border-top:1px solid var(--rule);padding-top:.5rem}.readout dt{font-size:.75rem;color:var(--muted)}.readout dd{margin:0;font-size:1.05rem;font-weight:bold;overflow-wrap:anywhere}.lab-description{padding:.6rem 1.3rem 1rem;font-size:.85rem;line-height:1.5;margin:0}.energy-chart{width:100%;height:auto;padding:.5rem;background:#f0f5f7}.announce{padding:0 1.3rem;font-size:.8rem;color:#315b5b}.preset{margin:1rem 5%;width:90%;height:12rem;font-family:monospace;font-size:.8rem}.proof-card{border-left:4px solid #087567;background:#ecf3f1;padding:1rem 1.2rem;margin:1.6rem 0;font-size:.85rem;line-height:1.5;break-inside:avoid}.proof-card h3{margin:0 0 .6rem;font-size:1rem}.proof-card p{margin:.6rem 0}.proof-meta{font-size:.75rem;color:#355b53;overflow-wrap:anywhere}.proof-card summary{cursor:pointer;font-weight:bold}.print-only{display:none}.skip{position:absolute;left:-10000px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:20}footer{padding:2rem 1.5rem;text-align:center;font-size:.8rem;color:var(--muted)}
@media(max-width:850px){.layout{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.toc{position:static;max-height:none}.toc>ul>li>ul{display:none}.hero{padding:3rem 1.5rem!important}.readout{grid-template-columns:repeat(2,minmax(0,1fr))}main>h1{font-size:2rem}}
@media(max-width:460px){.controls{grid-template-columns:1fr}body{font-size:16px}.actions button{min-height:44px}.readout dd{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@page{size:A4;margin:18mm 18mm 20mm}
@media print{body{background:#fff;font-size:10pt;line-height:1.45;color:#162d3e}header.hero{padding:22mm 0 15mm;background:#fff;color:#162d3e}.hero h1{font-size:38pt;max-width:170mm}.hero p,.eyebrow{color:#315d63}.hero nav,.toc,.skip,footer,.controls,.actions,.scene-host,.readout,.announce,.preset,.energy-chart,.lab-description{display:none!important}.layout{display:block;max-width:none;padding:0}main{max-width:none}main>h1{break-before:page;border:0;margin:0;padding:0;font-size:24pt}h2{font-size:14pt;break-after:avoid;margin-top:4mm}p{orphans:3;widows:3;margin:2.5mm 0;break-inside:avoid}a{color:#075b70}table{display:table;font-size:8.5pt;overflow:visible;break-inside:avoid}th,td{min-width:0;padding:2mm;overflow-wrap:anywhere}thead{display:table-header-group}tr{break-inside:avoid}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:7.4pt}span.math.display{overflow:visible;font-size:10pt}.laboratory{break-inside:avoid;border-radius:3mm;margin:6mm 0}.lab-heading{padding:3mm}.static-figure,.active-scene .static-figure{display:block!important;background:#101d2c;padding:3mm;print-color-adjust:exact}.static-figure img{max-height:63mm}.proof-card{break-inside:avoid;padding:3mm;margin:4mm 0;font-size:9pt}.proof-meta{font-size:7.5pt}.proof-card details{display:none}.print-only{display:block}}

.equation{max-width:100%;overflow-x:auto;padding:.6rem 0}
@media print{.equation{overflow:visible;padding:2mm 0}main>h1{break-before:auto;break-after:avoid;margin-top:8mm}main>h1:first-child,#checked-source-appendix{break-before:page}#checked-source-appendix{margin-top:0}}

.scene-legend{padding:.6rem 1.3rem;font-size:.85rem;line-height:1.5}.scene-legend:empty{display:none}
@media print{.scene-legend{display:none}}

main img{max-width:100%;height:auto}#evidence-viewer .scene-host canvas{height:360px}
@media print{#evidence-viewer{display:none!important}main img{max-height:95mm;object-fit:contain}}
@media print{figure:has(.evidence-figure){margin:4mm 0;break-inside:avoid}.evidence-figure{width:100%;max-height:155mm}}

[data-advanced] .scene-host canvas{height:420px}
@media print{.advanced-lesson .static-figure img{max-height:125mm}.advanced-lesson .static-figure{background:#fff;color:#152e41}.advanced-lesson .static-figure figcaption{font-size:9pt}}

@media print{.keep-together{break-inside:avoid}}
/* Atomic inline equations prevent a superscript fragment escaping its paragraph. */
math[display="inline"]{display:inline-block;white-space:nowrap;break-inside:avoid}
/* Keep MathML semantics while drawing matrix fences independently of font glyphs. */
.matrix-fenced>mo{opacity:0}
.matrix-fenced>mtable{border-left:1px solid currentColor;border-right:1px solid currentColor;background:linear-gradient(currentColor,currentColor) left top/.3em 1px no-repeat,linear-gradient(currentColor,currentColor) right top/.3em 1px no-repeat,linear-gradient(currentColor,currentColor) left bottom/.3em 1px no-repeat,linear-gradient(currentColor,currentColor) right bottom/.3em 1px no-repeat}
.print-inline-equation{display:none}
@media print{.print-safe-inline{display:inline-block;white-space:nowrap;break-inside:avoid}.print-safe-inline>math{display:none}.print-inline-equation{display:inline;font-family:Georgia,serif;font-size:1.1em}.print-inline-equation sup{font-size:.71em;line-height:0}}
/* Explicit lifecycle avoids whitespace-only Pandoc containers becoming viewports. */
.scene-host[hidden]{display:none}.scene-toolbar{display:block}.scene-toolbar button{min-height:48px}.scene-notice{font-size:.85rem;line-height:1.45;margin:.5rem 0}.scene-host{min-height:0}.scene-error{padding:1rem;color:#fff}.scene-error p{margin:.25rem 0 1rem}.scene-error pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}
.property-scene svg{display:block;width:100%;max-height:440px}.property-lesson[data-enhanced=true]>.static-figure{display:none}.property-lesson .readout dd{overflow-wrap:anywhere}.property-lesson .preset{width:100%;min-height:180px}
.material-lesson .property-scene svg{max-height:none}.material-lesson .property-scene{padding:1rem}
@media print{.property-scene{display:none}.property-lesson[data-enhanced=true]>.static-figure{display:block}}

.property-lesson>h3,.property-lesson>.model-label,.property-lesson>p:not(.announce){margin-left:1.3rem;margin-right:1.3rem}.property-lesson .preset{width:90%}
@media print{.property-lesson .static-figure{background:#fff;color:#162d3e}.property-lesson .static-figure img{max-height:75mm}}

.property-lesson:not([data-enhanced=true])>.property-description{display:none}
@media print{.property-lesson>.property-description{display:none}}

/* Print text has an explicit size; nested code must not compound reductions. */
.print-equation-rows{display:none}
@media print{
 body{font-size:10.5pt}
 .layout{max-width:174mm}
 p,table,pre,code,.proof-card,.proof-meta,.model-label,.static-figure figcaption,
 .advanced-lesson .static-figure figcaption,figcaption{font-size:10.5pt}
 pre code,pre code span,.proof-card pre code{font-size:inherit}
 pre,pre code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
 .proof-card{break-inside:auto}
 .proof-card h3{break-after:avoid}
 .print-reflowed>math{display:none}
 .print-reflowed>.print-equation-rows{display:block}
 .print-equation-rows math{margin:1mm 0}
 main img[src*="dense-qualification/"]{width:100%;max-height:155mm;object-fit:contain}
 figure:has(img[src*="dense-qualification/"]){margin:4mm 0;break-inside:avoid}
 main img[src="assets/property-serial.svg"],main img[src="assets/property-dissipative.svg"]{width:100%;max-height:155mm;object-fit:contain}
 figure:has(img[src="assets/property-serial.svg"]),figure:has(img[src="assets/property-dissipative.svg"]){margin:4mm 0;break-inside:avoid}
}
@media print{.projection-interactive{display:none!important}main img[src="assets/pressure-projection.svg"]{width:100%;max-height:155mm;object-fit:contain}}
.nonuniform-reference img{display:block;width:100%}
@media print{figure.nonuniform-reference{margin:4mm 0;break-inside:avoid}main img[src="assets/nonuniform-volume.svg"]{width:100%;max-height:155mm;object-fit:contain}}
@media(max-width:700px){.projection-interactive iframe{height:2600px!important}}

/* Shared light editorial language, verified against Rheon's projection lab. */
@media screen{
 :root{--paper:#fafaf5;--ink:#18363d;--muted:#52676d;--accent:#067d91;--rule:#d8e1df}
 body{font-family:system-ui,sans-serif}a{color:var(--accent)}
 header.hero{background:var(--paper);color:var(--ink);padding:38px max(24px,calc((100vw - 1280px)/2)) 32px;border-bottom:1px solid var(--rule)}
 .hero h1{font:43px/1.18 Georgia,serif}.hero p{color:var(--muted)}.eyebrow,.hero a{color:var(--accent)}
 .layout{max-width:1440px;grid-template-columns:250px minmax(0,1fr);padding:36px 28px;gap:48px}main{max-width:980px}
 .toc{font-size:13px;line-height:1.35}.toc a{color:var(--muted)}
 main>h1{font-size:32px}h2{font:25px/1.18 Georgia,serif}
 .proof-card{background:white;border:1px solid var(--rule);border-left:3px solid var(--accent);padding:14px 18px;font-size:14px}
 .proof-card h3{font:18px/1.25 Georgia,serif}.proof-card p{margin:.4rem 0}.proof-card pre{background:#f1f5f2}
 .claim-toggle{padding:7px 10px;margin:.5rem 0;background:var(--paper);color:var(--accent);border:1px solid var(--rule);border-radius:4px;font:inherit;cursor:pointer}
 .proof-card>details{font-size:13px;margin-top:.5rem}.proof-appendices{border-top:1px solid var(--rule);padding:18px 0}.proof-appendices>summary{font:22px Georgia,serif;color:var(--accent);cursor:pointer;padding:12px 0}
 .chapter-example{padding:20px;border:1px solid var(--rule);border-radius:8px;background:white;margin:28px 0}.chapter-example h2{margin-top:0}.chapter-example p{font-size:14px}.example-evidence{color:var(--accent);font-size:12px!important}.example-scope{color:var(--muted)}
 .chapter-example button{font:inherit;font-size:14px;padding:9px 12px;background:var(--accent);color:white;border:0;border-radius:4px;margin-right:12px}.chapter-example a{font-size:14px}.chapter-example-frame{width:100%;height:1020px;border:1px solid var(--rule);margin-top:18px;background:var(--paper)}
 @media(min-width:1200px){.chapter-example-frame{height:890px}}@media(max-width:850px){.layout{display:block;padding:20px}.toc{position:static;max-height:280px;margin-bottom:28px}.hero h1{font-size:34px}.chapter-example{padding:12px}.chapter-example-frame{height:1120px}}
}
@media print{
 .claim-technical[hidden]{display:block!important}.claim-toggle,.chapter-example button,.chapter-example-host{display:none!important}
 .proof-appendices{display:block!important}.proof-appendices>summary{display:none}.chapter-example{break-inside:avoid;font-size:10.5pt;border-top:1px solid #d8e1df;padding-top:3mm}.chapter-example h2{font-size:14pt}
}
.proof-appendices h1,.proof-appendices h2,.proof-appendices p{overflow-wrap:anywhere}
