.physical-characteristics-unit { margin: 2.25rem 0; color: #102d49; }
.physical-intro, .physical-reference, .physical-surfaces, .physical-practice { margin: 1.5rem 0; padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #c7e1ee; border-radius: 1.5rem; background: #fff; }
.physical-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .9fr); align-items: center; gap: 2rem; background: linear-gradient(125deg, #073654, #0d607d); color: #fff; }
.physical-intro h2, .physical-reference h2, .physical-practice h2 { margin-top: .3rem; }
.physical-intro figure, .physical-reference figure { margin: 0; }
.physical-intro img { display: block; width: 100%; height: 28rem; object-fit: contain; border-radius: 1rem; background: #fff; }
.physical-intro figcaption, .physical-reference-visuals figcaption, .physical-surface-grid figcaption { margin-top: .7rem; font-size: .92rem; line-height: 1.4; }
.physical-colours { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.physical-colours span { padding: .38rem .6rem; border-radius: 999px; background: var(--c); color: #fff; font-size: .82rem; font-weight: 800; text-shadow: 0 1px 1px #0005; }
.physical-reference-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1rem; }
.physical-table { overflow: auto; border: 1px solid #d3e5ed; border-radius: .85rem; background: #fbfdff; }
.physical-table:first-child { grid-row: span 2; }
.physical-table h3 { margin: 0; padding: .9rem 1rem; background: #edf8fc; font-size: 1rem; }
.physical-table table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.physical-table th, .physical-table td { padding: .48rem .72rem; text-align: left; border-top: 1px solid #dbeaf0; vertical-align: middle; }
.physical-table th { font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; color: #49687b; }
.shape-symbol { display: inline-block; min-width: 5rem; font-size: 1.2rem; letter-spacing: .08em; color: #095d7d; }
.physical-reference-visuals, .physical-surface-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.physical-reference-visuals figure, .physical-surface-grid figure { margin: 0; padding: 1rem; border: 1px solid #d3e5ed; border-radius: 1rem; background: #fbfdff; }
.physical-reference-visuals img, .physical-surface-grid img { display: block; width: 100%; height: 22rem; object-fit: contain; border-radius: .75rem; background: #fff; }
.physical-surfaces { background: #f7fcff; }
.physical-practice { background: #f7fcff; }
.physical-activity { margin-top: 1.5rem; padding: 1.25rem; border-radius: 1rem; background: #fff; border: 1px solid #d5e9f1; }
.physical-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.physical-task { display: grid; gap: .55rem; padding: 1rem; border: 1px solid #d7e6ee; border-radius: .8rem; background: #fff; transition: background .2s, border-color .2s; }
.physical-identify .physical-task { margin-top: .75rem; }
.physical-task p { margin: 0; line-height: 1.55; }
.physical-task select { width: 100%; min-height: 2.8rem; padding: .55rem 2.25rem .55rem .75rem; border: 1px solid #90b9ce; border-radius: .65rem; color: #12324c; background: #f9fdff; font: inherit; font-weight: 700; }
.physical-task.correct { border-color: #46af77; background: #edfbf2; }
.physical-task.incorrect { border-color: #ebac58; background: #fff8eb; }
.physical-score { color: #315d72; font-weight: 700; }
@media (max-width: 720px) { .physical-intro, .physical-reference-grid, .physical-reference-visuals, .physical-surface-grid, .physical-task-grid { grid-template-columns: 1fr; } .physical-table:first-child { grid-row: auto; } .physical-intro img, .physical-reference-visuals img, .physical-surface-grid img { height: auto; max-height: 32rem; } }
