/* Diagnose mockup implementation. Scoped presentation; simulator remains engine-owned. */
#appShell[data-view="diagnostics"]{max-width:1400px;padding-inline:24px;gap:0}
#appShell[data-view="diagnostics"] .db-section-nav,#appShell[data-view="diagnostics"] #notesButton,#appShell[data-view="diagnostics"] #backButton{display:none}
#appShell[data-view="diagnostics"] .db-topbar{min-height:76px}#appShell[data-view="diagnostics"] .brand-emblem{color:var(--db-orange)}
.diagnose-approved{--diag-panel:#071c2a;--diag-line:#244d65;--diag-cyan:#29d0ed;--diag-muted:#aec5d9;padding:12px 0 24px;color:#f2f7fb;min-width:0}
.diagnose-approved .diagnose-breadcrumb{display:flex;gap:12px;align-items:center;margin:0 0 14px;font-size:14px;color:var(--diag-muted)}
.diagnose-approved .diagnose-breadcrumb button{border:0;background:none;padding:0;color:inherit;font-size:14px;min-height:28px}
.diagnose-approved .diagnose-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.diagnose-approved .diagnose-heading h1{font-size:34px;line-height:1.15;margin:0 0 5px;letter-spacing:-.7px;font-weight:800}
.diagnose-approved .diagnose-heading p{font-size:18px;color:var(--diag-muted);margin:0}
.diagnose-approved .mode-bar{display:flex;gap:0;align-items:stretch;flex-wrap:wrap}
.diagnose-approved .mode-bar button{min-height:44px;padding:10px 20px;border:1px solid var(--diag-line);border-radius:0;background:#061925;color:var(--diag-muted);font-size:14px}
.diagnose-approved .mode-bar button:first-child{border-radius:6px 0 0 6px}.diagnose-approved #sandboxMode{border-radius:0 6px 6px 0}
.diagnose-approved .mode-bar .active{background:#063147;color:#6be8ff;border-color:var(--diag-cyan);box-shadow:inset 0 0 18px #00a7ff22}
.diagnose-approved .mode-bar .new-case{margin-left:16px;border-radius:6px;color:#7ce5f6;background:#06314a;border-color:#2595bb}
.diagnose-approved>main{display:flex;flex-direction:column;gap:16px;min-width:0}
.diagnose-approved .mission{display:flex;align-items:center;gap:18px;padding:12px 16px;border:1px solid #63432c;border-left:6px solid var(--db-orange);border-radius:7px;background:linear-gradient(100deg,#222027,#0c1b27);min-width:0;overflow:visible}
.diagnose-approved .driver-states{display:flex;align-items:center;gap:18px;flex:1;min-width:0;margin:0;padding:0;background:none;border:0}
.diagnose-approved .complaint-icon{font-size:30px;color:var(--db-orange);flex-shrink:0}
.diagnose-approved .complaint-copy{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:none}
.diagnose-approved .driver-states strong{font-size:12px;font-weight:750;color:var(--db-orange);text-transform:uppercase;letter-spacing:.5px}
.diagnose-approved #driverStates{font-size:16px;line-height:1.4;color:#f5f8fc;white-space:normal;overflow-wrap:anywhere;max-width:none}
.diagnose-approved .case-controls{display:flex;gap:12px;align-items:center;flex:0 1 355px;min-width:0;margin:0;padding:0}
.diagnose-approved .case-controls select{min-width:0;width:100%;max-width:240px;min-height:44px;font-size:14px;padding:8px 10px;border:1px solid #36586d;border-radius:6px;background:#061723;color:#f3f8fa}
.diagnose-approved #specsButton{padding:10px 14px;min-height:44px;white-space:nowrap;font-size:14px;border:1px solid #36586d;border-radius:6px;background:#112a3e;color:#f3f8fa}
.diagnose-approved .bench-space{display:grid;grid-template-columns:minmax(0,1fr) 288px;grid-template-rows:auto auto;gap:16px;align-items:stretch;min-height:0}
.diagnose-approved .circuit-panel{grid-column:1;grid-row:1;display:flex;flex-direction:column;border:1px solid var(--diag-line);border-radius:7px;background:var(--diag-panel);overflow:hidden;min-width:0}
.diagnose-approved .circuit-heading{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;border-bottom:1px solid var(--diag-line);color:inherit;letter-spacing:0}
.diagnose-approved .circuit-heading h2,.diagnose-approved .instrument-title{font-size:20px;font-weight:750;margin:0;line-height:1.2;color:#f2f7fb}
.diagnose-approved .generic-label{font-size:13px;color:var(--diag-muted);font-weight:400}
.diagnose-approved .diagnose-diagram-scroll{width:100%;min-width:0;overflow:auto;background:#03131f;background-image:linear-gradient(#12426366 1px,transparent 1px),linear-gradient(90deg,#12426366 1px,transparent 1px),linear-gradient(#12426322 1px,transparent 1px),linear-gradient(90deg,#12426322 1px,transparent 1px);background-size:22px 22px,22px 22px,5.5px 5.5px,5.5px 5.5px}
.diagnose-approved .schematic{display:block;width:100%;height:auto;min-width:0;min-height:0;max-height:none;aspect-ratio:500/220;background:none}
.diagnose-approved #grid circle{fill:transparent}.diagnose-approved .schematic image{pointer-events:none}
.diagnose-approved .component-name{font-size:11px;fill:#eef6fa;font-weight:750;text-shadow:0 1px 2px #000}.diagnose-approved .wire-label{font:500 11px system-ui;fill:#e0edf5;letter-spacing:0}.diagnose-approved .pin-label{font-size:10px;fill:#adc8d8}.diagnose-approved .diagnose-pin-caption{opacity:0;pointer-events:none}
.diagnose-approved .wire.ref{stroke:#f5bd28;stroke-width:2.2}.diagnose-approved .wire.signal{stroke:#18cafa;stroke-width:2.2}.diagnose-approved .wire.ground{stroke:#60d456;stroke-width:2.2}
.diagnose-approved .probe-point .contact{r:3.2;fill:#062538;stroke:#61d9f6;stroke-width:1.7}.diagnose-approved [data-point="eRef"] .contact,.diagnose-approved [data-point="pRef"] .contact{stroke:#f5c43b}.diagnose-approved [data-point="eGnd"] .contact,.diagnose-approved [data-point="pGnd"] .contact{stroke:#69d35b}
.diagnose-approved .scan-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 14px;min-height:30px;font-size:12px;border-top:1px solid var(--diag-line);background:#071b28;color:var(--diag-muted)}
.diagnose-approved .scan-line b{font-size:12px;color:#d9edf8}.diagnose-approved #circuitName{font-size:11px;margin-right:auto}.diagnose-approved #circuitStatus{font-size:11px}.diagnose-approved .scan-line button{font-size:12px;padding:4px;color:#74dff1}
.diagnose-approved .controls-side{display:grid;grid-template-columns:145px minmax(120px,1fr) minmax(210px,1.3fr);align-items:center;gap:16px;padding:14px;border-top:1px solid var(--diag-line);background:linear-gradient(100deg,#0c2434,#071b28);min-width:0}
.diagnose-approved .ignition-assembly{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:auto;min-height:0;align-self:center}.diagnose-approved .control-label{display:block;font-size:13px;color:#d0e1ec}.diagnose-approved .key-labels,.diagnose-approved .key-instruction{display:none}
.diagnose-approved #ignition{position:static;display:flex;align-items:stretch;width:100%;height:38px;min-height:38px;margin:0;padding:3px;background:#061b2b;border:1px solid #39647d;border-radius:7px;box-shadow:none;transform:none}
.diagnose-approved #ignition span{display:flex;align-items:center;justify-content:center;flex:1;font:600 13px system-ui;color:#a5bacb;border-radius:5px}.diagnose-approved #ignition[aria-pressed="false"] .ignition-off,.diagnose-approved #ignition[aria-pressed="true"] .ignition-on{background:linear-gradient(#e6eff5,#a9c1d3);color:#122332;box-shadow:0 1px 4px #0005}
.diagnose-approved .pedal-control{padding:0;min-width:0;background:none}.diagnose-approved .pedal-control label{font-size:13px;font-weight:400;gap:8px}.diagnose-approved .pedal-control label b{font-size:12px}.diagnose-approved .pedal-control input{width:100%;height:28px;min-height:28px;margin:5px 0 0;accent-color:#a9d4e9}.diagnose-approved .pedal-ends{display:none}
.diagnose-approved .hardware-buttons{display:flex;flex-direction:row;gap:10px;min-width:0}.diagnose-approved .hardware-buttons button{flex:1;min-height:46px;padding:8px;font-size:13px;white-space:normal;border:1px solid #30546a;border-radius:6px;background:#0b2130;color:#e7f3fa}
.diagnose-approved .instrument-station{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:12px;border:1px solid var(--diag-line);border-radius:7px;min-width:0;background:linear-gradient(135deg,#0a2233,#051725)}
.diagnose-approved .meter-area{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;min-width:0;height:auto}.diagnose-approved .real-meter{position:relative;width:255px;max-width:100%;height:auto;aspect-ratio:2/3;max-height:none;margin:0 auto;filter:none}.diagnose-approved .meter-photo{width:100%;height:100%;object-fit:contain}
.diagnose-approved .lcd{left:27.7%;top:15%;width:44.6%;height:13.3%;padding:3px 5px;background:#c1c5a7;box-shadow:inset 0 0 3px #354032;border-radius:4px;color:#1b231d;justify-content:center}.diagnose-approved .lcd-top{font-size:7px;line-height:1.1}.diagnose-approved .lcd-top span:last-child{font-size:8px}.diagnose-approved #meterReading{font-size:25px;line-height:1.05;letter-spacing:0;text-align:right}
.diagnose-approved .dial-zone{left:50%;top:49.2%;width:35.5%;height:23.7%;transform:translate(-50%,-50%)}.diagnose-approved .rotary-knob{left:0;top:0;width:100%;height:100%;aspect-ratio:1;border:2px solid #161b21;background:radial-gradient(circle at 30% 25%,#333a40,#161d22 85%);box-shadow:inset 0 0 0 3px #41494f,0 1px 3px #000}.diagnose-approved .knob-grip{left:41%;width:18%;top:4%;height:92%;background:linear-gradient(90deg,#151c21,#30383e,#161b20);border-radius:9px}.diagnose-approved .knob-indicator{left:46%;top:8%;width:8%;height:15%;background:#ff8620;border-radius:3px}
.diagnose-approved .dial-mode{display:block;position:absolute;min-width:28px;min-height:24px;padding:0;font-size:0!important;background:none;border:0;z-index:3;color:transparent}.diagnose-approved .dial-mode.active{background:#18bde32b;box-shadow:0 0 0 1px #67d8eb;border-radius:4px}
.diagnose-approved .dial-off{top:-26%;left:35%}.diagnose-approved .dial-volts{top:-28%;left:-61%}.diagnose-approved .dial-ac{top:-28%;left:121%}.diagnose-approved .dial-ohms{top:96%;left:105%}.diagnose-approved .dial-hz{top:126%;left:35%}.diagnose-approved .dial-cont{top:71%;left:117%}
.diagnose-approved .meter-ports{position:absolute;top:66%;left:28%;width:44%;height:12%;display:flex;justify-content:space-between;align-items:center}.diagnose-approved .port{min-width:35px;width:35px;min-height:38px;height:38px;padding:0;background:transparent;border:0;box-shadow:none;opacity:0}.diagnose-approved .port:focus-visible{opacity:1;outline:2px solid #68d9f2}.diagnose-approved .port span,.diagnose-approved .port b{display:none}
.diagnose-approved .meter-note{margin:-6px 0 0;font-size:14px;line-height:1.45;min-height:38px;max-width:none;width:100%;text-align:center;padding:0;color:#bbd4e7}
.diagnose-approved .probe-deck{position:static;padding:0;display:flex;flex-direction:column;gap:8px;border:0;background:none;box-shadow:none;border-radius:0}.diagnose-approved .probe-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.diagnose-approved .lead{min-width:0;min-height:62px;display:flex;align-items:center;padding:9px;gap:8px;border:1px solid #426780;border-radius:7px;background:#092030;color:#d1e1ed;touch-action:none}.diagnose-approved .lead i{width:6px;height:28px;border-radius:2px;transform:rotate(24deg);background:#da4b39;box-shadow:0 -7px 0 -1px #cbdde8;flex-shrink:0}.diagnose-approved .lead.black i{background:#6e8596}.diagnose-approved .lead.active{border-color:#26cee9;background:#043149;box-shadow:0 0 0 1px #26cee950;color:#5ee5ff}.diagnose-approved .lead span{font-size:13px}.diagnose-approved .lead strong{font-size:11px;margin-top:3px;font-weight:400;white-space:normal;overflow-wrap:anywhere}.diagnose-approved .probe-dragging{outline:3px solid var(--diag-cyan);cursor:grabbing}
.diagnose-approved .diagnose-probe-help{font-size:12px;line-height:1.45;margin:0;text-align:center;color:#aec9db}.diagnose-approved .diagnose-meter-settings{border-top:1px solid #23485e;margin-top:4px;padding-top:8px;font-size:13px}.diagnose-approved .diagnose-meter-settings summary{cursor:pointer;color:#9bd9ec;min-height:30px;padding:5px 0}.diagnose-approved .meter-function{font-size:14px;margin:6px 0;display:block}.diagnose-approved .meter-function select{display:block;width:100%;min-height:44px;padding:8px;margin-top:6px;background:#071a28;color:#e9f5fa;border:1px solid #30566c;border-radius:6px;font-size:14px}
.diagnose-approved .swap{min-height:40px;padding:8px 14px;font-size:13px;margin-bottom:8px}.diagnose-approved .pin-grid,.diagnose-approved .pin-grid.two-wire{display:grid;grid-template-columns:1fr 1fr;gap:6px}.diagnose-approved .pin-grid button{grid-column:auto!important;grid-row:auto!important;min-height:42px;white-space:normal;overflow-wrap:anywhere;font-size:13px;padding:8px}
.diagnose-approved .diagnose-notes{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--diag-line);border-radius:7px;background:#071b29;align-self:end}.diagnose-approved .diagnose-notes-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.diagnose-approved .diagnose-notes h2{font-size:16px;margin:0}.diagnose-approved #diagnoseNotes{font-size:12px;color:var(--diag-muted);padding:5px;min-height:30px}.diagnose-approved .diagnose-notes-body{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #234a60;border-radius:6px;padding:14px;min-height:65px;background:#051724}.diagnose-approved .diagnose-notes-body p{margin:0;font-size:14px;line-height:1.5;color:var(--diag-muted)}.diagnose-approved #record{min-height:42px;flex-shrink:0;font-size:14px;padding:10px 14px;background:#102b3f;border:1px solid #41617a;border-radius:6px;color:#eef7fb}
.diagnose-approved .diagnose-actions{display:flex;flex-direction:column;gap:10px}.diagnose-approved .diagnose-action-row{display:flex;align-items:center;gap:22px}.diagnose-approved #missionAction{min-height:50px;min-width:250px;background:#ff7918;color:#111c24;border:1px solid #ff9a39;border-radius:7px;font-size:16px;padding:12px 22px;white-space:normal;font-weight:750;box-shadow:0 0 20px #ff79181c}.diagnose-approved #hint{height:auto;width:auto;min-height:44px;padding:8px 0;border:0;background:none;color:#53dbfa;font-size:14px;font-weight:400}
.diagnose-approved .diagnose-state{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--diag-muted)}.diagnose-approved .objective-copy{flex:1;min-width:220px}.diagnose-approved .objective-copy h2{font-size:14px;font-weight:600;margin:0 0 3px}.diagnose-approved .objective-copy p{font-size:13px;margin:0;line-height:1.4}.diagnose-approved[data-mode="challenge"] .objective-copy h2{display:none}.diagnose-approved .mission-meta{padding:0;font-size:11px;gap:12px;display:flex;align-items:center;flex-wrap:wrap;color:#94b4c7;letter-spacing:.2px}.diagnose-approved .mission-meta #stepCounter{font-size:11px;margin:0;color:#94b4c7}.diagnose-approved .mission-meta #score{font-size:12px}.diagnose-approved .progress-track{flex-basis:100%;height:3px;background:#122c3b}.diagnose-approved[data-mode="challenge"] .progress-track,.diagnose-approved[data-mode="sandbox"] .progress-track{display:none}.diagnose-approved .coach{position:static;margin:0;padding:12px 36px 12px 12px;font-size:14px;cursor:pointer;min-height:0;height:auto}
.diagnose-approved #probeCables path[stroke="#243b31"]{stroke:#b7d1e0;opacity:1}.diagnose-approved #probeCables path[stroke="#d64a3d"]{stroke:#ff675c;opacity:1}.diagnose-approved #probeMarkers circle[stroke="#152e23"]{stroke:#c3dce8}.diagnose-approved #probeMarkers rect[fill="#152e23"]{fill:#294c61}
.diagnose-approved button:focus-visible,.diagnose-approved select:focus-visible,.diagnose-approved summary:focus-visible,.diagnose-approved .diagnose-diagram-scroll:focus-visible{outline:3px solid #3edbf5;outline-offset:2px}
@media(max-width:1050px){.diagnose-approved .diagnose-heading{align-items:flex-start;gap:16px;flex-direction:column}.diagnose-approved .mission{align-items:flex-start;flex-wrap:wrap;gap:12px}.diagnose-approved .driver-states{flex-basis:100%}.diagnose-approved .case-controls{flex:1;justify-content:flex-start}.diagnose-approved .case-controls select{max-width:none}.diagnose-approved .controls-side{grid-template-columns:110px 1fr;gap:10px}.diagnose-approved .hardware-buttons{grid-column:1/-1}.diagnose-approved .bench-space{grid-template-columns:minmax(0,1fr) 260px}.diagnose-approved .real-meter{width:232px}}
@media(max-width:760px){#appShell[data-view="diagnostics"]{padding-inline:12px}#appShell[data-view="diagnostics"] .db-topbar{min-height:64px}.diagnose-approved{padding-top:8px}.diagnose-approved .diagnose-breadcrumb{font-size:13px;margin-bottom:10px}.diagnose-approved .diagnose-heading{margin-bottom:14px;gap:14px}.diagnose-approved .diagnose-heading h1{font-size:27px}.diagnose-approved .diagnose-heading p{font-size:15px}.diagnose-approved .mode-bar{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px}.diagnose-approved .mode-bar button{padding:9px 7px;min-height:44px;font-size:13px}.diagnose-approved .mode-bar .new-case{grid-column:1/-1;justify-self:end;margin:0;padding:7px 12px;min-height:34px;font-size:12px}.diagnose-approved .mission{padding:10px;gap:10px;border-left-width:5px}.diagnose-approved .driver-states{gap:10px}.diagnose-approved .complaint-icon{font-size:26px}.diagnose-approved .driver-states strong{font-size:12px}.diagnose-approved #driverStates{font-size:14px}.diagnose-approved .case-controls{gap:8px}.diagnose-approved .case-controls select{font-size:13px;min-height:42px;padding:8px}.diagnose-approved #specsButton{min-height:42px;font-size:12px;padding:8px}.diagnose-approved>main{gap:12px}.diagnose-approved .bench-space{display:flex;flex-direction:column;gap:12px}.diagnose-approved .circuit-heading{padding:8px 10px;min-height:38px}.diagnose-approved .circuit-heading h2{font-size:16px}.diagnose-approved .generic-label{font-size:10px}.diagnose-approved .schematic{min-width:0;min-height:0;aspect-ratio:500/270}.diagnose-approved .controls-side{padding:10px;grid-template-columns:100px minmax(0,1fr)}.diagnose-approved .hardware-buttons button{font-size:13px;min-height:44px}.diagnose-approved .scan-line{font-size:11px;gap:8px;padding:5px 10px}.diagnose-approved #circuitName,.diagnose-approved #circuitStatus{font-size:10px}.diagnose-approved .scan-line b{font-size:11px}.diagnose-approved .instrument-station{display:grid;grid-template-columns:135px minmax(0,1fr);grid-template-rows:auto;align-items:start;gap:8px;padding:10px;position:relative;justify-content:normal}.diagnose-approved .instrument-title{grid-column:1/-1;font-size:17px}.diagnose-approved .meter-area{display:contents}.diagnose-approved .real-meter{width:135px;grid-column:1;grid-row:2/5;margin:0}.diagnose-approved .meter-note{grid-column:2;grid-row:2;text-align:left;font-size:13px;min-height:0;margin:0}.diagnose-approved .probe-deck{grid-column:2;grid-row:3/5;gap:8px}.diagnose-approved .probe-selector{grid-template-columns:1fr;gap:6px}.diagnose-approved .lead{min-height:44px;padding:7px;gap:8px}.diagnose-approved .lead i{height:22px;width:5px}.diagnose-approved .lead strong{font-size:11px}.diagnose-approved .lead span{font-size:12px}.diagnose-approved .diagnose-probe-help{font-size:11px;text-align:left}.diagnose-approved .diagnose-meter-settings summary{font-size:12px}.diagnose-approved .pin-grid,.diagnose-approved .pin-grid.two-wire{grid-template-columns:1fr}.diagnose-approved .lcd{padding:2px}.diagnose-approved .lcd-top{font-size:5px}.diagnose-approved .lcd-top span:last-child{font-size:5px}.diagnose-approved #meterReading{font-size:15px}.diagnose-approved .dial-mode{min-width:18px;min-height:18px}.diagnose-approved .diagnose-notes{align-self:stretch;padding:8px}.diagnose-approved .diagnose-notes h2{font-size:15px}.diagnose-approved .diagnose-notes-body{gap:10px;padding:10px;min-height:62px}.diagnose-approved .diagnose-notes-body p{font-size:13px}.diagnose-approved #record{font-size:12px;padding:8px;min-height:44px}.diagnose-approved #missionAction{min-width:0;width:100%;min-height:48px;font-size:15px}.diagnose-approved .diagnose-action-row{gap:12px;flex-wrap:wrap}.diagnose-approved #hint{min-height:36px;padding:0}.diagnose-approved .diagnose-state{gap:10px}.diagnose-approved .objective-copy{min-width:0;flex-basis:100%}.diagnose-approved .objective-copy p{font-size:12px}}
@media(max-width:360px){.diagnose-approved .instrument-station{grid-template-columns:118px minmax(0,1fr);padding:8px}.diagnose-approved .real-meter{width:118px}.diagnose-approved .meter-note{font-size:12px}.diagnose-approved .lead{padding:6px;gap:6px}.diagnose-approved .generic-label{max-width:80px;text-align:right}.diagnose-approved .case-controls{flex-wrap:wrap}.diagnose-approved #specsButton{width:100%}}
@media(prefers-reduced-motion:reduce){.diagnose-approved *{transition:none!important}}
/* Decorative schematic labels and ground glyph must not intercept pin hits. */
.diagnose-approved #schematic>text,.diagnose-approved #schematic>path{pointer-events:none}
.diagnose-approved .mode-bar{margin:0}.diagnose-approved .instrument-station{min-height:0}
@media(max-width:760px){.diagnose-approved .diagnose-heading{position:relative}.diagnose-approved .mode-bar .new-case{position:absolute;right:0;top:0;min-height:34px;width:34px;padding:0;font-size:0}.diagnose-approved .mode-bar .new-case::after{content:'↻';font-size:23px}.diagnose-approved .mode-bar{grid-template-rows:auto}.diagnose-approved .diagnose-heading h1{padding-right:40px}}

/* SVG does not implement the HTML hidden attribute itself. */
.diagnose-approved #schematic .probe-point[hidden]{display:none}
