/* Physics uses the existing maths tokens/components; these additions are scoped. */
.ph [hidden] { display: none !important; }
.ph-breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; padding-top: 1.2rem; font-size: .85rem; color: var(--ink-60); }
.ph-notice { border: 1px solid var(--line-hot); border-left: 3px solid var(--cy); padding: 1rem 1.25rem; margin-bottom: 1.5rem; background: var(--cy-dim); }
.ph-notice p + p { margin-top: .65rem; }
.ph-notice p { max-width: 85ch; color: var(--ink-80); line-height: 1.6; }
.ph-filter { margin-bottom: 1.5rem; }
.ph-filter .me-note { flex-basis: 100%; margin-bottom: .5rem; }
.ph-scope-key { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; gap: .5rem 1rem; margin: 1.5rem 0; }
.ph-scope-key dt { color: var(--cy); font-weight: 600; }
.ph-scope-key dd { color: var(--ink-80); }
.ph-unit { margin: 2.5rem 0 3.5rem; }
.ph-unit .section-head h3 { font-size: clamp(1.3rem, 2.2vw, 1.8rem); max-width: 35ch; }
.ph-explanation, .ph-example, .ph-assessment { padding-block: 1rem; border-top: 1px solid var(--line); }
.ph-explanation p:not(.micro), .ph-example p:not(.micro), .ph-assessment p:not(.micro) { max-width: 85ch; color: var(--ink-80); line-height: 1.65; margin-top: .6rem; }
.ph-example { background: var(--surface); padding: 1rem 1.1rem; margin-bottom: 1.1rem; }
.ph-answer { margin-top: .75rem; margin-bottom: 0; }
.ph-assessment { margin-bottom: .8rem; }
.ph-list { list-style: disc; margin: 1rem 0 1.5rem; padding-left: 1.2rem; color: var(--ink-80); }
.ph-list li { margin: .5rem 0; }
.ph .me-plan p { color: var(--ink-80); line-height: 1.6; }
.ph .me-plan p + p { margin-top: .75rem; }
.ph .me-prac caption { text-align: left; padding: .6rem; color: var(--ink-80); }
.ph .me-prac tbody th { text-transform: none; letter-spacing: 0; font: inherit; color: var(--ink); }
.ph .section-head { align-items: start; flex-wrap: wrap; gap: .6rem; }
.ph .me-lec h2 { font-size: clamp(1.3rem, 2.1vw, 1.9rem); margin: .5rem 0 1rem; }
.ph .me-lec, .ph .me-more__body > div { min-width: 0; overflow-wrap: anywhere; }
.ph .me-more summary { min-height: 44px; display: list-item; }
.ph a:focus-visible, .ph summary:focus-visible, .ph select:focus-visible { outline: 2px solid var(--cy); outline-offset: 4px; }
@media (max-width: 640px) { .ph-scope-key { grid-template-columns: 1fr; } .ph-scope-key dd { margin-bottom: .6rem; } .ph-breadcrumbs { font-size: .78rem; } .ph-filter select { max-width: 100%; } }
@media print { .ph-filter { display: none; } .ph-notice { border: 1px solid #888; } }

@media (max-width: 640px) { .ph .me-top__in { height: auto; min-height: 60px; flex-wrap: wrap; padding-block: .7rem; gap: .7rem; } .ph .me-top nav { width: 100%; flex-wrap: wrap; overflow: visible; gap: .8rem; } .ph .me-top nav a:nth-child(n+4) { display: inline; } }
