:root{
  color-scheme:light;--blue:#2458f5;--ink:#192b48;--muted:#68778f;--line:#dce3ef;
  --paper:#f6f8fd;--probe-red:#b56651;--probe-black:#3b526b;
  font-family:DengXian,'Microsoft YaHei','PingFang SC',sans-serif;color:var(--ink);
  background:#fbfcfe;font-synthesis:none;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{height:100vh;height:100dvh}
[hidden]{display:none!important}
button,input,select,textarea,summary{font:inherit}
button,summary{-webkit-tap-highlight-color:transparent}
button{min-height:44px;min-width:44px;border:0;border-radius:6px;cursor:pointer;color:var(--ink)}
button:disabled{cursor:default;opacity:.5}
button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.record-scroll:focus-visible{outline:3px solid #ffad66;outline-offset:-3px}
button:active:not(:disabled){filter:brightness(.96)}
h1,h2,h3,p{margin:0}
p{text-wrap:pretty}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.boot-status{position:fixed;inset:0;z-index:50;background:#fbfcfe;display:grid;place-items:center;padding:30px;font-size:14px;text-align:center}
.prototype{height:100%;width:100%;display:grid;grid-template-rows:48px minmax(0,1fr) calc(232px + env(safe-area-inset-bottom,0px))}
.app-header{display:flex;align-items:center;gap:7px;min-width:0;padding:0 8px;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.brand{flex-shrink:0}
h1{font-size:15px;font-weight:650;white-space:nowrap;letter-spacing:.1px}
h1 span{font-size:11px;color:var(--muted);font-weight:400;margin-left:3px}
.save-indicator{font-size:10px;color:#477160;background:none;margin-left:auto;padding:0 4px;white-space:nowrap}
.save-indicator[data-state=error]{color:#a85542}
.save-indicator[data-update=true]{color:var(--blue)}
.preview-options{position:relative;flex-shrink:0}
.preview-options summary{width:44px;height:44px;display:flex;align-items:center;justify-content:center;list-style:none;border-radius:6px;color:var(--muted);cursor:pointer;font-size:25px;line-height:1}
.preview-options summary::-webkit-details-marker{display:none}
.preview-options[open] summary{background:#edf2ff;color:var(--blue)}
.preview-menu{position:absolute;right:0;top:47px;width:min(280px,calc(100vw - 20px));padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 26px #192b481f;max-height:calc(100dvh - 62px);overflow:auto;overscroll-behavior:contain}
.preview-menu strong{display:block;padding:8px;font-size:12px;overflow-wrap:anywhere}
.preview-menu button{display:block;width:100%;padding:10px 8px;text-align:left;background:none;color:var(--ink);font-size:13px;font-weight:400}
.preview-menu button:hover{background:#f5f7fc}
.preview-menu p{font-size:11px;color:var(--muted);line-height:1.7;padding:8px}
.preview-menu .menu-primary{background:var(--blue);color:#fff}
.preview-menu small{display:block;font:10px Consolas,monospace;color:var(--muted);padding:8px;overflow-wrap:anywhere}
.menu-divider{height:1px;background:#edf0f6;margin:4px 8px}
.measurement{position:relative;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 190px;background-color:#fbfcfe;background-image:radial-gradient(#e2e8f2 .7px,transparent .7px);background-size:22px 22px;isolation:isolate}
.test-leads{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.lead-halo{fill:none;stroke:#fbfcfe;stroke-width:4.4;stroke-linecap:round}
.lead{fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.lead-black{stroke:var(--probe-black)}
.lead-red{stroke:var(--probe-red)}
.circuit-stage{position:relative;min-height:0;min-width:0;z-index:2;margin:0 7px}
#circuit-art,#meter-art{position:absolute;inset:0;user-select:none}
#circuit-art>svg,#meter-art>svg{width:100%;height:100%;display:block}
#probe-layer{position:absolute;pointer-events:none;overflow:visible;z-index:3}
.node-hit,.probe-hit,.range-hit,.switch-hit{position:absolute;min-width:44px;min-height:44px;background:transparent;touch-action:none;border-radius:50%;padding:0}
.node-hit:focus-visible{background:#2458f512}
.probe-hit:focus-visible{background:#2458f518}
.switch-hit:focus-visible{border-radius:6px}
.observation{position:absolute;right:3px;top:5px;font-size:11px;line-height:18px;color:var(--muted);background:#fbfcfee8;padding:2px 5px;pointer-events:none;z-index:7}
.meter-stage{display:grid;grid-template-columns:minmax(0,1fr) 114px;gap:4px;padding:0 10px 0 9px;min-height:0;z-index:2;position:relative}
.meter-picture{min-width:0;min-height:0;position:relative;margin-bottom:clamp(18px,2.3vh,24px)}
.meter-zoom-hit{position:absolute;left:9%;top:5%;width:82%;height:68%;background:transparent;z-index:2;border-radius:12px}
.meter-zoom-hit:focus-visible{background:#2458f50a}
.contact-state{position:relative;align-self:center;display:flex;flex-direction:column;padding:0 0 2px 4px;min-width:0}
.measurement-caption{font-size:10px;color:var(--muted);line-height:16px;white-space:nowrap}
.contact-state>strong{font-family:Consolas,monospace;font-size:21px;letter-spacing:1px;font-weight:600;line-height:28px}
.contact-message{font-size:11px;line-height:18px;color:#477160;display:flex;align-items:center;gap:5px;margin-bottom:5px;min-height:18px}
.contact-message span{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.contact-message.incomplete{color:var(--muted)}
.contact-message.warning{color:#a85542}
.probe-state{display:flex;align-items:center;gap:7px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 9px;margin-bottom:4px;font-size:12px;text-align:left}
.probe-state.selected{border-color:#b8c8ff;background:#edf2ff}
.probe-state b{font:600 17px Consolas,monospace;margin-left:auto;color:var(--ink)}
.probe-mark{display:block;width:4px;height:20px;border-radius:3px}
.red-mark{background:var(--probe-red)}
.black-mark{background:var(--probe-black)}
.range-note{color:var(--muted);font-size:10px;line-height:16px;white-space:nowrap}
.records{min-height:0;padding:0 10px env(safe-area-inset-bottom,0px);display:grid;grid-template-rows:28px 44px minmax(0,1fr);background:#fff;border-top:1px solid var(--line);z-index:3}
.records-heading{display:flex;align-items:center;gap:7px;min-width:0}
.records-heading h2{font-size:14px;font-weight:650;line-height:20px}
.records-heading small{font-size:11px;color:var(--muted);font-weight:400;margin-left:5px}
.record-message{font-size:11px;color:var(--muted);margin-left:auto;text-align:right;line-height:16px}
.record-message.error{color:#a85542}
.current-record{display:flex;align-items:center;gap:8px;min-width:0}
.position-label{font:600 15px Consolas,monospace;min-width:46px;letter-spacing:.5px}
.current-record label{display:flex;align-items:center;gap:5px;flex:0 1 96px;min-width:0;min-height:44px;color:var(--muted);font-size:12px}
.current-record input{width:100%;min-width:0;height:32px;padding:4px 7px;border:1px solid var(--line);border-radius:5px;background:#fff;font:16px Consolas,'Microsoft YaHei',monospace;color:var(--ink)}
.current-record input::placeholder{font:12px DengXian,'Microsoft YaHei',sans-serif;color:#8a97aa}
.current-record input[aria-invalid=true]{border-color:#b56651}
.current-record input:disabled{background:#f6f8fd}
.primary{min-height:44px;min-width:54px;color:#fff;background:var(--blue);font-size:13px;padding:8px 12px}
.secondary{min-height:44px;background:#edf2ff;color:var(--blue);padding:8px 12px}
#record-button{position:relative;isolation:isolate;width:44px;min-width:44px;flex-shrink:0;padding:0 6px;background:none;font-size:12px}
#record-button::before{content:'';position:absolute;inset:6px 0;background:var(--blue);border-radius:5px;z-index:-1}
.judgement{min-width:54px;flex-shrink:0;margin-left:auto;padding:0 3px;background:none;color:var(--blue);font-size:12px;display:flex;align-items:center;justify-content:center;gap:5px;border:0}
.judgement span{font:18px Georgia,serif}
.record-scroll{overflow:auto;min-height:0;position:relative;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid #e6ebf3}
table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}
th{height:24px;line-height:20px;font-size:11px;font-weight:400;color:var(--muted);position:sticky;top:0;background:#f6f8fd;z-index:1;padding:2px 4px;text-align:left}
td{height:44px;border-bottom:1px solid #edf1f7;padding:4px;line-height:18px;text-align:left}
.record-scroll th:first-child,.record-scroll td:first-child{width:26px;text-align:center;color:var(--muted);font:11px Consolas,monospace}
.record-scroll th:nth-child(2){width:84px}
.record-scroll th:nth-child(3){width:65px}
.record-scroll td:nth-child(2){font:13px Consolas,'Microsoft YaHei',monospace}
.record-scroll td:last-child{padding:0;color:var(--muted);font-size:12px}
.record-note{background:none;width:100%;padding:4px 6px;text-align:left;color:var(--muted);font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.record-note.filled{color:var(--ink)}
.record-phase{display:block;font:10px/14px DengXian,sans-serif;color:var(--muted);margin-top:2px}
.numeric{font:15px Consolas,monospace;color:var(--ink);overflow-wrap:anywhere}
.empty-records{padding:14px 8px 18px;font-size:12px;text-align:center;color:var(--muted);line-height:1.8}
.empty-records strong{display:block;font-weight:400;color:var(--ink)}
.empty-records span{display:block;font-size:12px;margin-top:6px}
.prototype:not([data-stage=measure]){grid-template-rows:48px minmax(150px,30dvh) minmax(0,1fr)}
.prototype:not([data-stage=measure]) .measurement{grid-template-rows:minmax(0,1fr)}
.prototype:not([data-stage=measure]) .meter-stage,.prototype:not([data-stage=measure]) .test-leads,.prototype:not([data-stage=measure]) .records{display:none}
.prototype:not([data-stage=measure]) #probe-layer,.prototype:not([data-stage=measure]) .node-hit,.prototype:not([data-stage=measure]) .probe-hit,.prototype:not([data-stage=measure]) .switch-hit{display:none}
.flow-workspace{min-height:0;display:grid;grid-template-rows:44px minmax(0,1fr) auto;background:#fff;border-top:1px solid var(--line);z-index:3}
.flow-heading{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 10px;gap:8px}
.flow-heading h2{font-size:15px;font-weight:650;line-height:22px;flex:1}
.flow-heading h2:focus{outline:none}
.flow-heading>span{color:var(--muted);font:11px Consolas,monospace}
.back-button{background:none;color:var(--blue);font-size:12px;padding:0 8px 0 0;min-width:54px}
.flow-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:10px 12px 14px}
.flow-intro{font-size:12px;line-height:20px;color:var(--muted);margin-bottom:10px}
.field-pair{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}
.field-label{display:block;color:var(--ink);font-size:12px;font-weight:600;line-height:20px;min-width:0}
.field-label select,.field-label textarea,.field-label input{width:100%;display:block;margin-top:5px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px;font-size:16px;line-height:22px;font-weight:400}
.field-label select,.field-label input{height:44px}
.field-label textarea{min-height:62px;resize:vertical}
.field-label textarea::placeholder{font-size:12px;color:#8a97aa}
.evidence-group{min-width:0;margin:12px 0 0;padding:0;border:0}
.evidence-group legend{font-size:12px;font-weight:600;line-height:22px;padding:0 0 3px;width:100%}
.evidence-group legend span{font-weight:400;color:var(--muted);font-size:11px;float:right}
.evidence-row{display:grid;grid-template-columns:20px minmax(68px,1fr) 54px minmax(70px,1fr);gap:6px;align-items:center;min-height:44px;border-bottom:1px solid #e7edf5;font-size:12px;padding:3px 4px;border-radius:3px;cursor:pointer}
.evidence-row:has(input:checked){background:#f0f4ff}
.evidence-row input{margin:0;width:18px;height:18px;accent-color:var(--blue)}
.evidence-pair{font-family:Consolas,'Microsoft YaHei',monospace}
.evidence-row strong{font:15px Consolas,monospace;overflow-wrap:anywhere}
.evidence-row strong small{font:11px DengXian,'Microsoft YaHei',sans-serif;color:var(--muted)}
.evidence-note{font-size:11px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.no-evidence{font-size:12px;line-height:20px;color:var(--muted);padding:12px 0}
.explanation-label{margin-top:12px}
.optional{font-size:10px;color:var(--muted);font-weight:400;float:right}
.inline-error{font-size:12px;line-height:20px;color:#a85542;margin-top:8px}
.flow-footer{padding:6px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.flow-footer>span{font-size:10px;line-height:14px;color:var(--muted)}
.flow-footer .primary{width:100%;font-size:14px;flex-shrink:0;min-height:44px}
.judgment-summary{padding-bottom:12px;border-bottom:1px solid #e7edf5}
.section-caption{font-size:11px;line-height:18px;color:var(--muted);display:block}
.judgment-summary strong{font-size:16px;line-height:26px;display:block;font-weight:600}
.judgment-summary p{font-size:11px;line-height:19px;color:var(--muted);margin-top:3px}
.steps-title{font-size:12px;line-height:20px;font-weight:400;color:var(--muted);margin-top:10px}
.repair-steps{list-style:none;padding:0;margin:4px 0 0}
.repair-steps li{display:flex;align-items:center;gap:10px;min-height:62px;border-bottom:1px solid #e7edf5;padding:6px}
.step-number{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);font:12px Consolas,monospace;flex-shrink:0}
.repair-steps li.active{background:#f0f4ff;border-radius:6px}
.repair-steps li.active .step-number{background:var(--blue);color:#fff;border-color:var(--blue)}
.repair-steps li.done .step-number{color:var(--blue);border-color:#b8c8ff}
.repair-steps li>div{min-width:0}
.repair-steps strong{display:block;font-size:13px;line-height:21px;font-weight:600}
.repair-steps li>div>span{display:block;font-size:10px;line-height:17px;color:var(--muted)}
.step-status{font-size:10px;color:var(--muted);margin-left:auto;white-space:nowrap;font-weight:400}
.repair-steps .active .step-status{color:var(--blue)}
.result-heading{display:flex;align-items:flex-start;gap:9px}
.result-icon{width:28px;height:28px;background:#edf2ff;color:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px}
.result-heading>div{flex:1;min-width:0}
.result-heading h3{font-size:16px;line-height:24px;font-weight:600}
.result-heading p{font-size:11px;color:var(--muted);line-height:19px}
.text-action{background:none;color:var(--blue);font-size:11px;padding:0 2px;min-width:52px}
.result-operation{font-size:11px;line-height:20px;color:var(--muted);margin:10px 0}
.comparison-table th{height:28px;font-size:11px;position:static}
.comparison-table th:first-child{width:40%}
.comparison-table td{font-size:12px;height:42px}
.comparison-table td:last-child{color:var(--blue)}
.comparison-note{font-size:10px;color:var(--muted);line-height:18px;margin-top:5px}
.reflection-label{margin-top:12px}
.unrestored .result-icon{color:#a85542;background:#fff4ef}
.tool-dialog{width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;box-shadow:0 18px 80px #192b4833;overflow:auto;overscroll-behavior:contain}
.tool-dialog::backdrop{background:#192b4866;backdrop-filter:blur(2px)}
.dialog-heading{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:3}
.dialog-heading h2{font-size:16px;line-height:24px;flex:1;font-weight:600}
.dialog-heading button{background:none;color:var(--muted);font-size:25px;padding:0}
.dialog-content{padding:16px}
.dialog-content>p,.dialog-intro{font-size:12px;line-height:21px;color:var(--muted)}
.dialog-intro{padding:12px 16px 0}
.dialog-content .dialog-intro{padding:8px 0}
.dialog-bottom{display:block;width:calc(100% - 32px);margin:16px}
.dialog-content .dialog-bottom{width:100%;margin:16px 0 0}
.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.teacher-options{margin-top:16px;border-top:1px solid var(--line)}
.teacher-options summary{min-height:44px;display:flex;align-items:center;font-size:12px;color:var(--muted);cursor:pointer}
.teacher-options .field-label{margin-bottom:8px}
.teacher-options p{font-size:11px;color:var(--muted);line-height:19px}
#zoom-art{padding:12px 20px 0}
#zoom-art svg{display:block;width:100%;height:auto!important}
.meter-dialog .dialog-intro{text-align:center}
.scene-list{padding:8px 12px 14px}
.scene-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf1f7;padding:6px 0}
.scene-item>div{flex:1;min-width:0}
.scene-item strong{font-size:13px;display:block;overflow-wrap:anywhere;line-height:21px}
.scene-item small{font-size:11px;color:var(--muted);line-height:18px}
.scene-item button{background:#edf2ff;color:var(--blue);padding:7px 10px;font-size:12px;flex-shrink:0}
.help-copy{font-size:13px;line-height:1.9}
.help-copy ol{margin:0;padding-left:20px}
.help-copy li{padding:0 0 10px 2px}
.help-copy h3{font-size:13px;margin:14px 0 5px}
.help-copy p{font-size:12px;line-height:1.9}
body[data-updating=true] .prototype{pointer-events:none}
@media(min-height:820px) and (max-width:699px){
  .measurement{grid-template-rows:minmax(0,1fr) 212px}
  .meter-stage{grid-template-columns:minmax(0,1fr) 120px}
  .contact-state{padding-left:5px}
  .contact-state>strong{font-size:23px}
  .probe-state{font-size:13px}
  .range-note{font-size:11px}
}
@media(max-height:699px){
  .prototype{grid-template-rows:44px minmax(0,1fr) calc(222px + env(safe-area-inset-bottom,0px))}
  .measurement{grid-template-rows:minmax(0,1fr) 174px}
  .records{grid-template-rows:22px 44px minmax(0,1fr)}
  .records-heading h2{font-size:12px}
  .range-note{font-size:10px;line-height:14px}
  .contact-state>strong{font-size:19px;line-height:24px}
  .contact-message{line-height:16px;margin-bottom:3px}
  .probe-state{min-height:44px;margin-bottom:3px}
  .measurement-caption{line-height:15px}
  .prototype:not([data-stage=measure]){grid-template-rows:44px minmax(145px,29dvh) minmax(0,1fr)}
  .flow-intro{display:none}
  #evidence-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .evidence-row{grid-template-columns:20px minmax(0,1fr);grid-template-rows:18px 18px;align-content:center;min-height:52px;border:1px solid #e7edf5;padding:5px 7px;column-gap:6px}
  .evidence-row input{grid-column:1;grid-row:1 / 3}
  .evidence-pair{grid-column:2;grid-row:1;white-space:nowrap}
  .evidence-row strong{grid-column:2;grid-row:2;font-size:14px}
  .evidence-note{display:none}
}
@media(max-height:620px){
  .prototype{grid-template-rows:44px minmax(0,1fr) calc(178px + env(safe-area-inset-bottom,0px))}
  .observation{font-size:10px;top:3px}
  .meter-stage{grid-template-columns:minmax(0,1fr) 105px;padding-left:5px;padding-right:8px}
  .contact-state{padding-left:2px}
  .measurement-caption,.contact-message{font-size:10px}
}
@media(max-width:339px){
  .app-header{gap:5px;padding-left:6px;padding-right:4px}
  h1{font-size:14px}h1 span{font-size:10px;margin-left:1px}
  .brand{width:23px;height:23px}
  .save-indicator{font-size:9px}
  .meter-stage{grid-template-columns:minmax(0,1fr) 99px;gap:2px}
  .probe-state{padding:6px 7px;gap:6px}
  .records{padding-left:8px;padding-right:8px}
  .record-scroll th:nth-child(2){width:75px}
  .record-scroll th:nth-child(3){width:60px}
  .range-note{font-size:9px}
  .current-record{gap:5px}
  .position-label{min-width:40px}
  .judgement{min-width:57px}
  .evidence-row{column-gap:4px;padding-left:4px;padding-right:4px}
  .flow-scroll{padding-left:10px;padding-right:10px}
}
@media(min-width:700px){
  .prototype{grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:52px minmax(0,1fr);max-width:1300px;margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .app-header{grid-column:1 / -1;padding:0 16px}
  .brand{width:28px;height:28px}
  h1{font-size:17px}h1 span{font-size:12px}
  .save-indicator{font-size:12px}
  .measurement{grid-column:1;grid-row:2;grid-template-rows:minmax(0,1fr) min(33dvh,260px);padding-bottom:12px}
  .circuit-stage{margin:8px 16px 0}
  .meter-stage{width:min(480px,100%);justify-self:center;grid-template-columns:minmax(0,1fr) 140px}
  .contact-state>strong{font-size:26px;line-height:34px}
  .measurement-caption,.contact-message,.range-note{font-size:12px}
  .records{grid-column:2;grid-row:2;border-top:0;border-left:1px solid var(--line);padding:12px 12px 0;grid-template-rows:34px 50px minmax(0,1fr)}
  .records-heading h2{font-size:15px}
  .record-scroll{margin-top:8px}
  .current-record{gap:5px}
  .position-label{min-width:40px}
  .judgement{min-width:57px}
  .prototype:not([data-stage=measure]){grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:52px minmax(0,1fr)}
  .prototype:not([data-stage=measure]) .measurement{grid-template-rows:minmax(0,1fr);padding-bottom:0}
  .prototype:not([data-stage=measure]) .circuit-stage{margin:16px}
  .flow-workspace{grid-column:2;grid-row:2;border-top:0;border-left:1px solid var(--line)}
  #evidence-list{display:block}
  .evidence-row{display:grid;grid-template-columns:20px minmax(68px,1fr) 54px minmax(70px,1fr);grid-template-rows:auto;min-height:44px;border:0;border-bottom:1px solid #e7edf5;padding:4px}
  .evidence-row>*{grid-column:auto;grid-row:auto}
  .evidence-note{display:block}
  .flow-intro{display:block}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep scene identity in the header; current inspection tools stay by the ends. */
.lab-heading{min-width:0}
.lab-heading #scene-select{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:44px;padding:0 4px;background:none;text-align:left}
.lab-heading .lab-name{font-size:14px;line-height:20px;font-weight:650;color:var(--ink);margin:0;white-space:nowrap}
.lab-heading .scene-name{font-size:10px;line-height:16px;font-weight:400;color:var(--muted);margin:0}
.contact-state{padding:0}
.single-field{grid-template-columns:1fr}
.record-section{display:block;font:10px/14px DengXian,'Microsoft YaHei',sans-serif;color:var(--muted);overflow-wrap:anywhere}
.prototype[data-scene=parallel-two-lamps] .record-scroll th:nth-child(2){width:100px}
.prototype[data-scene=parallel-two-lamps] .record-phase{font-size:10px;line-height:14px;white-space:nowrap}
.prototype[data-scene=parallel-two-lamps] .observation{top:auto;bottom:2px;right:3px}
.method-switch{display:flex;gap:3px;height:44px;flex-shrink:0}
.method-switch button{position:relative;isolation:isolate;flex:1;min-width:44px;min-height:44px;padding:0 3px;background:none;font-size:11px;color:var(--muted)}
.method-switch button::before{content:'';position:absolute;inset:6px 0;border:1px solid transparent;border-radius:5px;z-index:-1}
.method-switch button[aria-pressed=true]{color:var(--blue);font-weight:600}
.method-switch button[aria-pressed=true]::before{background:#edf2ff;border-color:#d5dfff}
.contact-summary{height:24px;display:flex;align-items:center;justify-content:space-between;gap:4px}
.contact-summary>strong{font:600 17px/24px Consolas,'Microsoft YaHei',monospace;white-space:nowrap}
.contact-summary .contact-message{font-size:10px;line-height:16px;margin:0;min-height:0;gap:3px;white-space:nowrap}
.contact-summary .contact-message span{width:4px;height:4px}
.contact-state>.probe-state:last-of-type{margin-bottom:0}
.prototype[data-method=wire] .measurement{grid-template-rows:minmax(0,1fr) 164px}
.prototype[data-method=wire]:not([data-stage=measure]) .measurement{grid-template-rows:minmax(0,1fr)}
.wire-guide{position:relative;align-self:center;min-width:0;padding:4px 7px}
.wire-observation{display:grid;grid-template-columns:42px minmax(0,1fr);gap:4px;align-items:center;min-height:22px;font-size:11px;line-height:18px}
.wire-observation>span{color:var(--muted)}
.wire-observation strong{font-size:12px;font-weight:500;line-height:18px}
.wire-observation:nth-child(2) strong{color:var(--blue)}
#wire-toggle{margin-top:5px;min-width:100px;font-size:13px}
#wire-toggle[aria-pressed=true]{background:#edf2ff;color:var(--blue);box-shadow:inset 0 0 0 1px #cbd8ff}
#wire-message{font-size:11px;line-height:17px;color:var(--muted);margin-top:5px}
#wire-message.warning{color:#a85542}
.prototype[data-method=wire] .probe-mark{background:#587f89}
.prototype[data-method=wire] .lead-red{stroke:#587f89}
.prototype[data-method=wire] .lead[data-applied=false]{stroke-dasharray:5 4}
.prototype[data-method=wire] #wire-entry{flex:0 1 144px}
#wire-observation{width:100%;height:32px;min-width:0;border:1px solid var(--line);border-radius:5px;padding:3px 4px;background:#fff;color:var(--ink);font-size:16px;line-height:24px}
#wire-observation:invalid{color:var(--muted)}
.record-scroll th:nth-child(3){width:104px}
.record-scroll .numeric::after{content:' V';font:10px DengXian,sans-serif;color:var(--muted)}
.record-outcome{font-size:11px;line-height:16px;overflow-wrap:anywhere}
.wire-evidence{grid-template-columns:20px 66px minmax(0,1fr)}
.wire-evidence strong{font-size:12px;line-height:17px}
.wire-evidence .evidence-note{display:none}
.comparison-method{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:11px;color:var(--muted);margin-bottom:5px}
.comparison-method select{font:14px/20px DengXian,'Microsoft YaHei',sans-serif;height:32px;padding:3px 6px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}
#experiment-scenes{padding:8px 0}
#experiment-scenes .scene-item strong{font-size:15px}
#experiment-scenes .scene-item small{display:block;margin-top:4px}
@media(max-height:699px){
  .contact-summary>strong{font-size:16px}
  .wire-guide{padding:2px 4px}
  .wire-observation{min-height:20px}
  .wire-observation strong{font-size:11px}
  #wire-toggle{margin-top:3px}
  #wire-message{margin-top:3px;font-size:10px;line-height:16px}
  .wire-evidence{grid-template-columns:20px minmax(0,1fr);grid-template-rows:18px 34px;min-height:62px}
  .wire-evidence strong{font-size:11px;line-height:16px}
}
@media(min-width:700px){
  .lab-heading .lab-name{font-size:17px;line-height:24px}
  .lab-heading .scene-name{font-size:11px;line-height:16px}
  .prototype[data-method=wire] .measurement{grid-template-rows:minmax(0,1fr) 180px}
  .prototype[data-method=wire]:not([data-stage=measure]) .measurement{grid-template-rows:minmax(0,1fr)}
  .prototype[data-method=wire] .meter-stage{width:min(520px,100%)}
  .method-switch button{font-size:12px}
  .contact-summary>strong{font-size:20px}
  .wire-guide{padding:8px}
  .wire-observation{grid-template-columns:52px minmax(0,1fr);font-size:12px;min-height:24px}
  .wire-observation strong{font-size:13px}
  #wire-message{font-size:12px;line-height:20px}
  .wire-evidence{grid-template-columns:20px 66px minmax(0,1fr);grid-template-rows:auto;min-height:44px}
}

@media(max-width:699px) and (max-height:699px){
  .prototype[data-scene=parallel-two-lamps][data-stage=measure]{grid-template-rows:44px minmax(0,1fr) calc(160px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:339px) and (max-height:599px){
  .prototype[data-scene=parallel-two-lamps][data-stage=measure]{grid-template-rows:44px minmax(0,1fr) calc(140px + env(safe-area-inset-bottom,0px))}
}
