.rock-switch {display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 24px;}
.rock-layout {display: grid; grid-template-columns: minmax(0,1fr) 305px;}
.rock-figure {margin: 0; padding: 12px 20px 22px; background: #f4efe6;}
.rock-figure svg {display: block; width: 100%; max-height: 590px; height: auto; font-family: var(--sans);}
.rock-figure figcaption {padding: 0 15px; font-size: 12px; line-height: 1.65; color: var(--ink-2);}
.rock-sidebar {padding: 24px; border-left: 1px solid var(--rule);}
.rock-sidebar h3 {font: 500 25px/1.15 var(--serif); margin: 12px 0;}
.rock-sidebar p {font-size: 13px; color: var(--ink-2);}
.rock-context {margin: 0 0 24px; display: grid; grid-template-columns: 92px 1fr; gap: 13px; align-items: center;}
.rock-context img {display: block; width: 100%; aspect-ratio: .72; object-fit: contain; background: var(--paper-2);}
.rock-context figcaption {font-size: 10px; line-height: 1.5; padding-top: 7px; color: var(--ink-2);}
.rock-selection {display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 15px 0;}
.rock-selection .lab-button {font-size: 12px; padding-inline: 8px;}
.rock-readout {border-block: 1px solid var(--rule); padding: 12px 0; margin: 15px 0;}
.rock-readout p {margin-bottom: 4px;}
.rock-readout strong {font-weight: 500; font-size: 22px; color: var(--forest);}
.rock-controls {padding: 18px 24px; border-top: 1px solid var(--rule); display: grid; grid-template-columns: 1fr 1fr; gap: 20px 40px;}
.rock-controls .lab-range {margin: 0;}
.rock-controls .lab-range label {font-size: 13px;}
.rock-controls .rock-actions {grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center;}
.rock-legend {border: 0; margin: 15px 0; padding: 0;}
.rock-legend .unknown {background: repeating-linear-gradient(-45deg,#ddc9b2,#ddc9b2 3px,#bfa88f 3px,#bfa88f 4px);}
.rock-unit-list {display: flex; flex-direction: column; gap: 8px; margin: 18px 0;}
.rock-unit-list .lab-button {text-align: left; display: flex; align-items: center; gap: 10px;}
.rock-unit-list .unit-dot {font: 12px var(--mono); width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid currentColor; flex: 0 0 auto;}
.rock-units-caption {display: flex; justify-content: space-between; gap: 20px; padding: 12px 22px; border-top: 1px solid var(--rule); font-size: 12px; color: var(--ink-2);}
.rock-static-grid {display: grid; grid-template-columns: .85fr 1.15fr; gap: 25px; align-items: start;}
.rock-static-grid figure {margin: 0;}
.rock-static-grid img {width: 100%; background: var(--paper-2);}
.rock-static-grid figcaption {font-size: 12px; padding-top: 12px; color: var(--ink-2);}
@media (max-width: 850px) {
 .rock-layout {grid-template-columns: 1fr;}
 .rock-sidebar {border-left: 0; border-top: 1px solid var(--rule); display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px;}
 .rock-sidebar .rock-detail {grid-column: 2; grid-row: 1 / 3;}
 .rock-context {margin: 0;}
 .rock-sidebar .rock-selection {margin: 0;}
 .rock-unit-list {grid-column: 1;}
 .rock-figure svg {max-height: 560px;}
}
@media (max-width: 500px) {
 .rock-figure {padding: 12px 0 18px;}
 #section-figure text {font-size: 20px;}
 #section-figure .section-meta {display: none;}
 #section-figure .section-foot {font-size: 15px;}
 #regional-figure text {display: none;}
 #regional-figure .regional-count text {display: block; font-size: 25px;}
 #regional-figure circle {r: 20px;}
 .rock-sidebar {display: block; padding: 20px;}
 .rock-context {display: grid; grid-template-columns: 95px 1fr; gap: 12px; align-items: center; margin-bottom: 20px;}
 .rock-context img {aspect-ratio: .72;}
 .rock-selection {margin-bottom: 18px !important;}
 .rock-controls {grid-template-columns: 1fr; gap: 16px; padding: 18px 20px;}
 .rock-static-grid {grid-template-columns: 1fr;}
 .rock-units-caption {display: block; padding: 15px;}
}
@media print {.rock-static-grid {grid-template-columns: 1fr 1fr;} .rock-static-grid img {max-height: 350px;} }
