.enzan-lab {min-width:0; margin-block:18px 10px; border:1px solid var(--rule,#ccd0ce); border-radius:7px; overflow:hidden; background:var(--paper-hi,#fafaf6)}
.lab-controls {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:13px; padding:18px}
.lab-control {display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;font:550 12px/1.35 -apple-system,BlinkMacSystemFont,sans-serif;color:var(--dim,#4b525a)}
.lab-control input,.lab-control select {width:100%;min-width:0;font-variant-numeric:tabular-nums}
.lab-field {position:relative;display:flex;align-items:center}
.lesson-main .lab-field input[type=number] {padding:8px 43px 8px 10px;appearance:textfield;-moz-appearance:textfield}
.lab-field input::-webkit-inner-spin-button {-webkit-appearance:none}
.lab-unit {position:absolute;right:10px;pointer-events:none;font:11px var(--mono,monospace)}
.lab-surface {background:#202830;color:#e9eced;padding:20px 22px 18px}
.lab-topline,.lab-yticks,.lab-xticks,.lab-date small,.lab-arrow span {font:10px/1.35 var(--mono,monospace);color:#c0cbd3}
.lab-topline {display:flex;justify-content:space-between;gap:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:20px}
.lab-chart {display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 9px}
.lab-yticks {display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-variant-numeric:tabular-nums;font-size:10px}
.lab-plot {position:relative;height:clamp(160px,21vw,235px);margin:5px 3px;border-bottom:1px solid #71808a;border-left:1px solid #71808a;background-image:linear-gradient(to right,#64737e55 1px,transparent 1px),linear-gradient(to bottom,#64737e66 1px,transparent 1px);background-size:25% 100%,100% 50%}
.lab-plot svg {position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lab-xticks {display:flex;justify-content:space-between;line-height:1}
.lab-values {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid #414d56}
.lab-value {min-width:0}.lab-value>span {display:flex;gap:6px;align-items:center;color:#d1d8dc;font-size:12px}.lab-value i {width:13px;border-top:3px solid var(--swatch);flex:none}
.lab-value strong {font:500 clamp(11px,1.8vw,17px)/1.7 var(--mono,monospace);overflow-wrap:anywhere}
.lab-selected>span {color:white;font-weight:650}
.lab-readout {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px 12px;color:var(--graphite,#3a414a)}
.lab-readout>div>span,.lab-readout small {display:block;font:500 11px/1.6 var(--mono,monospace)}
.lab-readout strong {font:500 clamp(21px,3vw,31px)/1.3 var(--serif,Georgia,serif);color:var(--ink,#20262b)}
.lab-readout p {margin:0;font:18px/1.35 var(--serif,Georgia,serif);overflow-wrap:anywhere}
.lab-readout small {margin-top:5px;color:var(--dim,#525b63)}
.lab-caption,.lab-error {padding:0 22px 15px;margin:0;font-size:12px;color:var(--dim,#525b63)}
.lab-error {color:#803c21}.lab-num {font-variant-numeric:tabular-nums}
.lab-timeline {display:grid;grid-template-columns:minmax(0,1fr) minmax(32px,.7fr) minmax(0,1fr);align-items:center;gap:7px;padding:20px 0}
.lab-date:last-child{text-align:right}.lab-date small,.lab-date span {display:block}.lab-date strong {display:block;font:500 clamp(17px,2.8vw,31px)/1.5 var(--serif,Georgia,serif);overflow-wrap:anywhere}
.lab-date span,.lab-timeline-note {font-size:12px;color:#cbd6db}.lab-arrow {display:grid;place-items:center}.lab-arrow b{font:30px/1 var(--serif,serif);color:#a7bdcf}
.lab-timeline-note {border-top:1px solid #52606a;padding-top:12px;margin:14px 0 0}
@media(max-width:580px){
  .lab-controls,.lab-surface {padding:14px}.lab-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lab-value strong {font-size:14px}.lab-readout{padding:16px 14px 10px}.lab-caption,.lab-error{padding:0 14px 14px}.lab-topline,.lab-date small{font-size:9px}
}
