/* Metering modes: the lab's picture on the left, controls on the right */
.mm-lab{display:grid;gap:16px;padding-bottom:64px}
.mm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px}
.mm-head h2{margin:0}
.mm-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:24px 32px;align-items:start}
.mm-view{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px}
.mm-frame{position:relative;border-radius:10px;overflow:hidden;touch-action:pan-y;cursor:crosshair}
.mm-frame canvas{display:block;width:100%;height:auto;aspect-ratio:8/5}
.mm-frame::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #0006;border-radius:inherit}
.mm-frame svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mm-readout{display:flex;justify-content:space-between;gap:12px;font-family:var(--sans);font-size:17px;font-weight:700;color:var(--on-body);font-variant-numeric:tabular-nums}
.mm-readout span:last-child{color:var(--amber)}
.mm-view dd[data-state="ok"]{color:var(--sharp)}
.mm-view dd[data-state="bad"]{color:#F8C46A}

/* What each mode listens to, drawn over the picture */
.mm-frame .mm-zone{stroke:#ffffffa0;stroke-width:1.5;stroke-dasharray:6 8}
.mm-frame .mm-centre{fill:#7FD6BC1f;stroke:#7FD6BC;stroke-width:3;stroke-dasharray:10 8}
.mm-frame .mm-spot{fill:#F5A6231a;stroke:#F5A623;stroke-width:4;filter:drop-shadow(0 0 3px #000a)}
.mm-frame .mm-spot-cross{stroke:#F5A623;stroke-width:3}
.mm-frame .mm-label{fill:#fff;font:700 24px var(--sans);text-anchor:middle;paint-order:stroke;stroke:#000b;stroke-width:5}

.mm-controls{border-top:1px solid var(--rule)}
.mm-controls .control{padding:14px 0 12px}
.mm-modes{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px}
.mm-sub{margin-top:14px}
.mm-sub label{font-size:15px!important}
.mm-toggles{margin:14px 0 0}
.mm-say{margin-top:16px;padding:14px 16px;border-left:3px solid var(--amber);background:var(--paper-2);border-radius:0 12px 12px 0}
.mm-say-kicker{margin:0 0 4px;font:700 13px var(--sans);color:var(--muted)}
.mm-say p:last-child{margin:0;font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.45}
[hidden]{display:none!important}

/* The meter scale under the lab's readout, as in a viewfinder */
.mm-meter{max-width:330px;font-family:var(--sans)}
.mm-meter .meter-scale{position:relative;height:16px}
.mm-meter .meter-scale span{position:absolute;bottom:0;width:1.5px;height:6px;background:var(--amber-dim);transform:translateX(-50%)}
.mm-meter .meter-scale span.full{height:11px;background:var(--amber)}
.mm-meter .meter-nums{position:relative;height:16px;font-size:12px;font-weight:600;color:var(--amber)}
.mm-meter .meter-nums span{position:absolute;transform:translateX(-50%)}
.mm-meter .needle{position:absolute;top:-4px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--lcd);transform:translateX(-50%);transition:left .15s ease-out}
.mm-meter .needle.out{animation:mm-blink .7s steps(2) infinite}
@keyframes mm-blink{50%{opacity:0}}

/* Grey card lab: the real card beside what the camera records */
.gc-lab{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 32px;align-items:start}
.gc-view{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px 16px}
.gc-view figure{display:flex;flex-direction:column;justify-content:flex-end;margin:0}
.gc-view figcaption{margin-bottom:6px;font:600 13px var(--sans);color:var(--on-body-muted)}
.gc-view canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;border-radius:8px}
.gc-view .view-stats{grid-column:1/-1}
.gc-view dd[data-state="ok"]{color:var(--sharp)}
.gc-view dd[data-state="bad"]{color:#F8C46A}
.gc-controls{border-top:1px solid var(--rule)}
.gc-controls .control{padding:14px 0 12px}
.gc-tip{margin:14px 0;padding:12px 14px;border-left:3px solid var(--amber);background:var(--paper-2);border-radius:0 12px 12px 0;font-family:var(--sans);font-size:15px;line-height:1.45}
.gc-tip b{color:var(--ink)}

/* Sunny 16: the bright-sun row stands out */
tr.hl td{background:var(--paper-2)}
tr.hl td:first-child{padding-left:10px}
#sunny16 th:first-child,#sunny16 td:first-child{padding-left:10px}

/* The four modes */
.mm-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mm-cards article{padding:20px 22px;border:1.5px solid var(--rule);border-radius:16px;background:var(--paper-2)}
.mm-cards h3{margin:0;font-size:22px}
.mm-aka{margin:2px 0 12px;font:600 14px var(--sans);color:var(--muted)}
.mm-cards dl{margin:0}
.mm-cards dl div{padding:8px 0;border-top:1px solid var(--rule)}
.mm-cards dt{font:700 13px var(--sans);color:var(--muted)}
.mm-cards dd{margin:2px 0 0;font-size:16px;line-height:1.5}
.mm-rule{max-width:52em;margin:24px 0 0;padding:18px 20px;border-left:4px solid var(--amber);background:var(--paper-2)}

@media (max-width:900px){
  .mm-grid,.gc-lab{grid-template-columns:1fr}
  .mm-cards{grid-template-columns:1fr}
}
/* Phones and tablets: keep the picture and its readouts in view while using the controls below */
@media (max-width:900px) and (min-height:620px){
  .mm-view{position:sticky;top:calc(var(--header-h) + 8px);z-index:10;box-shadow:0 0 0 8px var(--paper),0 18px 24px -18px #0009}
}
.mm-tap-hint{display:none;flex-basis:100%;margin:0}
@media (max-width:560px){
  .mm-readout{font-size:14px}
  .mm-view{gap:6px;padding:10px 10px 12px}
  .mm-view .view-foot{display:none}
  .mm-tap-hint{display:block}
}
