/* 08—17：沿用前七项的浅色实验台，仅在欧姆定律页面生效。 */
.app-shell:has(.is-ohm-lab){width:min(1600px,100%)}
.is-ohm-lab .experiment-layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}
.is-ohm-lab .information-column,.is-ohm-lab .data-grid{display:block}
.is-ohm-lab .explanation-panel,.is-ohm-lab .feedback-panel{display:none}
.is-ohm-lab .operation-panel{padding:16px}
.is-ohm-lab .experiment-canvas{display:block;min-height:0;background:#f5f9fe;overflow:hidden}
.is-ohm-lab .experiment-canvas>.fl-workspace{display:block;width:100%;min-width:0;justify-self:stretch;align-self:stretch}
.oh-board{width:100%;height:auto;max-height:none;min-height:420px;display:block;user-select:none;touch-action:pan-y;aspect-ratio:900/510}
.oh-board .fl-label{font-size:17px}
.oh-board .fl-label.tiny{font-size:14px}
.oh-board .oh-meter-value{font-size:17px;font-weight:800;fill:#24649f}
.is-ohm-lab .fl-topline{font-size:14px;padding:16px 18px 0}
.is-ohm-lab .fl-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.is-ohm-lab .fl-controls>.fl-actions,.is-ohm-lab .fl-controls>.fl-hint,.is-ohm-lab .fl-controls>.oh-tabs{grid-column:1/-1}
.is-ohm-lab .fl-range{flex-wrap:wrap;padding:10px 14px;background:#f7fafd;border:1px solid #e3edf7;border-radius:12px}
.is-ohm-lab .fl-range>span{flex:1 1 100%}
.is-ohm-lab .fl-range input{min-height:28px}
.oh-board [data-oh-action]{cursor:pointer;outline-offset:5px}
.oh-board [data-oh-drag]{cursor:grab;touch-action:none}
.oh-board [data-oh-drag]:active{cursor:grabbing}
.oh-flow{fill:none;stroke:#8bd4ff;stroke-width:3;stroke-dasharray:3 20;animation:oh-flow 1.5s linear infinite;pointer-events:none}
@keyframes oh-flow{to{stroke-dashoffset:-46}}
.oh-formula{background:#eaf3ff;color:#286da9;padding:14px;border-radius:12px;font-size:19px;font-weight:800;line-height:1.6}
.oh-records{padding:14px;border-top:1px solid #ddeaf6;background:#fff}
.oh-record-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.oh-chart{display:block;width:100%;background:#f7faff;border-radius:12px}
.oh-chart text{font:12px sans-serif;fill:#627f99}.oh-chart .oh-curve{fill:none;stroke:#3c94cf;stroke-width:2;stroke-dasharray:5 4}
.oh-tabs{display:flex;flex-wrap:wrap;gap:8px}.oh-tabs button{min-height:44px;font-size:13px;padding:8px 12px}
.oh-tabs button.selected{background:#287bc1;color:white;border-color:#287bc1}
.oh-meter-needle{transition:transform .18s ease-out;transform-box:fill-box}
.oh-note{margin:10px 0 0;color:#66809a;font-size:12px;line-height:1.6}
@media(max-width:1280px){.is-ohm-lab .experiment-layout{grid-template-columns:1fr}.is-ohm-lab .fl-readings{grid-template-columns:repeat(3,minmax(0,1fr))}.oh-formula{grid-column:1/-1}}
@media(max-width:760px){.is-ohm-lab .operation-panel{padding:10px}.oh-record-grid{grid-template-columns:1fr}.oh-board{min-height:0}.is-ohm-lab .fl-controls{grid-template-columns:1fr}.is-ohm-lab .fl-readings{grid-template-columns:repeat(2,minmax(0,1fr))}.is-ohm-lab .fl-topline{font-size:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.oh-flow{animation:none}.oh-meter-needle{transition:none}}
