/* M09K09 · Compton interaction */
.cmp-hero,.cmp-foundation,.cmp-lab-section,.cmp-boundary{padding-block:clamp(4rem,8vw,7rem)}
.cmp-hero{scroll-margin-top:calc(var(--header-h) + 24px);display:grid;grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.cmp-hero-copy{min-width:0}.cmp-hero :is(h1,h2){font-size:clamp(3rem,7vw,6.2rem);line-height:.94;letter-spacing:-.055em;max-width:12ch;margin:.55rem 0 1.15rem;hyphens:manual}.cmp-hero :is(h1,h2) em{font-style:normal;color:var(--accent-2)}.cmp-hero p{max-width:76ch;color:var(--muted);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.7}.cmp-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.cmp-hero-card{border:1px solid var(--line);border-radius:1.35rem;padding:clamp(1.25rem,3vw,2rem);background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 86%,var(--accent-2) 14%),var(--panel));box-shadow:var(--shadow);min-width:0}.cmp-hero-card>span,.cmp-card>span,.cmp-boundary-grid article>span,.cmp-control-head span,.cmp-metric span,.cmp-reading>span{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.cmp-equation{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:clamp(.9rem,1.65vw,1.14rem);margin:.72rem 0;overflow-wrap:anywhere}.cmp-equation.large{font-size:clamp(1rem,2.2vw,1.5rem);color:var(--accent-2)}.cmp-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1.2rem}.cmp-mini-grid div{border:1px solid var(--line);border-radius:.8rem;padding:.78rem;min-width:0}.cmp-mini-grid span{display:block;color:var(--muted);font-size:.72rem}.cmp-mini-grid strong{display:block;margin-top:.2rem;font-size:.9rem;overflow-wrap:anywhere}
.cmp-foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.cmp-card{border:1px solid var(--line);border-radius:1rem;padding:1.25rem;background:var(--panel);min-width:0}.cmp-card.primary{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 84%,var(--accent-2) 16%),var(--panel))}.cmp-card h3{margin:.45rem 0 .55rem;font-size:1.12rem}.cmp-card p,.cmp-note p,.cmp-boundary-grid p{color:var(--muted);line-height:1.62;margin:0}.cmp-note{margin-top:1rem;border-left:3px solid var(--accent-2);padding:1rem 1.15rem;background:color-mix(in srgb,var(--panel) 80%,transparent);border-radius:0 .8rem .8rem 0}.cmp-note strong{display:block;margin-bottom:.35rem}
.cmp-lab-shell{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,2.22fr);gap:1rem;align-items:start;margin-top:2rem}.cmp-controls{position:sticky;top:92px;display:grid;gap:.82rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);min-width:0}.cmp-control-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.cmp-control-head strong{display:block}.cmp-status{padding:.28rem .55rem;border:1px solid var(--line);border-radius:999px;text-align:right;max-width:12rem;overflow-wrap:anywhere}.cmp-controls label{display:grid;grid-template-columns:1fr auto;gap:.35rem .6rem;align-items:center;min-width:0}.cmp-controls label>span{font-size:.82rem}.cmp-controls output{font:600 .78rem/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;color:var(--accent-2);max-width:10rem;text-align:right;overflow-wrap:anywhere}.cmp-controls input{grid-column:1/-1;width:100%;min-width:0}.cmp-presets{margin:0;padding:.72rem;border:1px solid var(--line);border-radius:.8rem;min-width:0}.cmp-presets legend{padding:0 .3rem;color:var(--muted);font-size:.76rem}.cmp-presets div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.cmp-presets button{min-width:0;padding:.58rem .48rem;border:1px solid var(--line);border-radius:.62rem;background:var(--panel-solid);color:var(--text);cursor:pointer}.cmp-presets button.is-active{border-color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-2)}.cmp-assumption{padding:.78rem;border-radius:.72rem;background:var(--panel-solid)}.cmp-assumption p{margin:.28rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}
.cmp-stage{min-width:0;display:grid;gap:1rem}.cmp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.cmp-check-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.cmp-metric,.cmp-check-grid>div{border:1px solid var(--line);border-radius:.72rem;background:var(--panel);padding:.75rem;min-width:0}.cmp-metric strong,.cmp-check-grid strong{display:block;margin-top:.22rem;font-size:.84rem;overflow-wrap:anywhere}.cmp-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cmp-panel,.cmp-reading,.cmp-boundary-grid article{border:1px solid var(--line);border-radius:1rem;background:var(--panel);padding:1rem;min-width:0}.cmp-panel h3{margin:0 0 .65rem;font-size:1rem}.cmp-panel svg{display:block;width:100%;height:auto;overflow:visible}.cmp-reading>strong{display:block;margin:.35rem 0 .5rem}.cmp-reading p{margin:0;color:var(--muted);line-height:1.62}.cmp-boundary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.cmp-boundary-grid strong{display:block;margin:.35rem 0 .45rem}.cmp-upcoming{margin-top:clamp(3rem,7vw,6rem)}
.cmp-svg-axis{stroke:var(--muted);stroke-width:1.5}.cmp-svg-grid{stroke:var(--line);stroke-width:1}.cmp-svg-main{fill:none;stroke:var(--accent-2);stroke-width:3}.cmp-svg-secondary{fill:none;stroke:var(--warm);stroke-width:2.5}.cmp-svg-thomson{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:7 6}.cmp-svg-guide{stroke:var(--muted);stroke-width:1.4;stroke-dasharray:5 5}.cmp-svg-ray{stroke:var(--warm);stroke-width:3}.cmp-svg-marker{fill:var(--panel-solid);stroke:var(--accent-2);stroke-width:3}.cmp-svg-marker-warm{fill:var(--panel-solid);stroke:var(--warm);stroke-width:3}.cmp-svg-label{fill:var(--text);font-size:15px;font-weight:700}.cmp-svg-small{fill:var(--muted);font-size:12px}.cmp-svg-accent{fill:var(--accent-2);font-size:13px;font-weight:700}.cmp-svg-warm{fill:var(--warm);font-size:13px;font-weight:700}.cmp-svg-green{fill:var(--accent-3);font-size:13px;font-weight:700}
@media(max-width:1120px){.cmp-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.cmp-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.cmp-hero,.cmp-lab-shell{grid-template-columns:1fr}.cmp-controls{position:static}.cmp-foundation-grid,.cmp-boundary-grid,.cmp-top-grid{grid-template-columns:1fr}}
@media(max-width:640px){.cmp-hero{padding-top:2.5rem}.cmp-hero :is(h1,h2){font-size:clamp(2.25rem,11.5vw,3.7rem);overflow-wrap:anywhere}.cmp-mini-grid,.cmp-metrics,.cmp-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-panel{padding:.65rem}.cmp-controls{padding:.85rem}.cmp-equation{font-size:.8rem}.cmp-equation.large{font-size:.9rem}.cmp-energy-svg,.cmp-polar-svg{aspect-ratio:1.5}}
@media(max-width:380px){.cmp-mini-grid,.cmp-metrics,.cmp-check-grid,.cmp-presets div{grid-template-columns:1fr}.cmp-controls output{max-width:8rem}.cmp-hero :is(h1,h2),.cmp-foundation .section-heading h2,.cmp-boundary .section-heading h2{overflow-wrap:anywhere}}
.cmp-controls,.cmp-control-head,.cmp-stage,.cmp-panel,.cmp-metrics,.cmp-top-grid,.cmp-foundation-grid,.cmp-boundary-grid{min-width:0;max-width:100%}.cmp-foundation .section-heading h2,.cmp-boundary .section-heading h2{min-width:0;overflow-wrap:anywhere;word-break:break-word}
