/* 全站最终布局规则：覆盖历史分组的尺寸差异，36 项实验使用同一断点。 */
.app-shell{width:min(1600px,100%)!important}
.page-layout{grid-template-columns:226px minmax(0,1fr)}
.experiment-main{min-width:0;padding:18px}
.experiment-main .experiment-layout{grid-template-columns:minmax(0,1fr) 250px!important;gap:16px!important;align-items:start}
.experiment-main .operation-panel{padding:16px!important;min-width:0}
.experiment-main .experiment-canvas{display:block!important;min-height:0!important;width:100%;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.experiment-canvas>div{width:100%;min-width:0;justify-self:stretch}
.experiment-canvas :is(.simple-board-svg,.s2-board,.fl-board,.oh-board,.pl-board,.ml-board){display:block;width:100%;height:auto;min-height:0!important;max-height:none!important;touch-action:pan-x pan-y pinch-zoom!important}
.experiment-main .information-column{min-width:0}
.fl-topline,.simple-workspace-header,.s2-workspace-bar{flex-wrap:wrap;gap:8px}
button{touch-action:manipulation}
.action-button,.option-button,.nav-stage-toggle{min-height:44px}
.record-table-wrap{max-width:100%;overflow-x:auto}
.data-item,.fl-reading,.simple-reading,.s2-reading{min-width:0;overflow-wrap:anywhere}
.ml-explanation,.fl-conclusion,.fl-hint{overflow-wrap:anywhere}
.simple-reading strong,.s2-reading strong,.fl-reading strong,.data-value{font-variant-numeric:tabular-nums}
.simple-voltage-control,.s2-voltage-row,.fl-range{min-width:0;flex-wrap:wrap}
.simple-voltage-control input,.s2-voltage-row input,.fl-range input{min-width:70px}
@media(max-width:1280px){
 .experiment-main .experiment-layout{grid-template-columns:minmax(0,1fr)!important}
 .experiment-main .information-column{display:block!important}
 .simple-measurement-display,.experiment-main:has(#statesBoard) .s2-data,.is-foundation-lab .fl-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .simple-state-chip,.simple-data-help,.s2-status,.s2-data-tip,.s2-danger-help,.s2-overvoltage{grid-column:1/-1}
}
/* 平板竖屏和手机横屏：导航上移，不再挤压实验画布。 */
@media(max-width:1024px){
 .page-layout{display:block!important}
 .experiment-sidebar{position:static;max-height:none;padding:10px 14px;border-right:0!important;border-bottom:1px solid #dce6f0;overflow:visible}
 .sidebar-heading{display:none}
 .experiment-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow:visible}
 .nav-stage{min-width:0;gap:0}
 .nav-stage-toggle{grid-template-columns:1fr 14px;padding:9px;font-size:13px}
 .nav-stage-toggle small{display:none}
 .nav-stage.open{grid-column:1/-1;order:1}
 .nav-stage.open .nav-stage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:155px;overflow:auto;padding:8px!important;gap:6px;scrollbar-width:thin}
 .nav-stage-list .nav-button{min-width:0;min-height:44px}
 .experiment-main{padding:14px}
 .site-header{min-height:60px;padding:15px 20px}
}
@media(max-width:600px){
 .site-header{min-height:54px;padding:13px 16px}.brand-copy h1{font-size:23px}
 .experiment-main{padding:10px}.experiment-main .operation-panel{padding:10px!important}
 .experiment-sidebar{padding:8px 10px}.experiment-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nav-stage.open .nav-stage-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:150px}
 .nav-stage-toggle{font-size:14px}.nav-stage-list .nav-label{font-size:12px}
 .experiment-canvas :is(.simple-board-svg,.s2-board,.fl-board,.oh-board,.pl-board,.ml-board){width:720px;max-width:none}
 .experiment-canvas:has(svg)::before{content:"↔ 左右滑动实验区查看完整电路；横屏观看更清晰";display:block;position:sticky;left:0;padding:8px 10px;font-size:12px;color:#52789b;background:#eef5fc}
 .pl-controls,.ml-controls,.is-ohm-lab .fl-controls{grid-template-columns:minmax(0,1fr)}
 .fl-actions,.record-actions,.button-row{flex-wrap:wrap;gap:8px}
 .fl-actions button,.button-row button{max-width:100%;white-space:normal}
 .fl-range>output{margin-left:auto}
 .is-power-lab .fl-readings,.is-ohm-lab .fl-readings,.ml-readings{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pl-device-grid{grid-template-columns:minmax(0,1fr)}
 .panel-heading h3{font-size:17px}.live-indicator{font-size:11px}
 .pl-summary strong,.fl-reading strong,.simple-reading strong,.s2-reading strong{font-size:20px}
 .training-choices{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.nav-stage-list{transition:none}}
