/* Shared product design: comfortable type, restrained category accents, safe areas. */
:root{--bg:#121a22;--panel:#1c2833;--line:#354754;--text:#edf3f7;--muted:#b6c7d3;--orange:#ffb57d;--learning:#92d9ec;--practice:#a6d6bb}
body{line-height:1.55;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility}
button,input:not([type=checkbox]):not([type=range]),select{min-height:44px}
input,select{max-width:100%;color:var(--text);background:#14212c;border:1px solid #536976;border-radius:8px;padding:9px 12px}
label{line-height:1.5}h1,h2,h3{line-height:1.2;text-wrap:balance}p{max-width:80ch}a{color:#a8def0;text-underline-offset:3px}button{border-radius:9px}.primary{color:#17212a;background:#ffb57d;border-color:#ffb57d;font-weight:750}.secondary{background:#24333f;border:1px solid #607482;color:#eef4f7}.quiet{color:#d5e2eb}.danger{background:#542d35;color:#ffe1e1;border:1px solid #b47b83;padding:11px 16px}.danger:hover{background:#663743}.error{color:#ffb7bf!important}
.app{height:auto;min-height:100svh;display:block;width:min(1240px,100%);padding:0 24px max(20px,env(safe-area-inset-bottom))}.topbar{min-height:68px;height:auto;gap:16px;padding-top:env(safe-area-inset-top)}.brand{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;line-height:1}.brand-emblem{width:30px;height:34px;color:var(--orange);flex-shrink:0}.brand .brand-word{font-size:21px;color:var(--text);vertical-align:initial}.top-label{margin-left:auto;font-size:11px;letter-spacing:1px;line-height:1.4;max-width:120px;text-align:right}.topbar>.quiet{min-height:44px}.section-navigation{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.section-navigation select{width:min(390px,65%)}.section-navigation label{color:var(--muted);font-size:14px}.nav-note{margin-left:auto;font-size:13px;color:var(--muted)}.skip-link{position:fixed;left:12px;top:-70px;z-index:99;background:#fff;color:#17212a;padding:12px;border-radius:5px}.skip-link:focus{top:8px}
.app>main,.app>section{margin-top:24px}.app>main:not(#diagnosticsView){padding-bottom:30px}.site-footer{width:min(1240px,100%);margin:35px auto 0;padding:24px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;gap:18px;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.site-footer nav{display:flex;gap:18px}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.independence-note{margin:32px 0 0;font-size:14px;color:var(--muted);line-height:1.6}.home-intro{color:var(--muted);font-size:18px}.home-organized .home-heading h1{font-size:clamp(29px,4vw,40px);letter-spacing:-1px}.home-organized .home-options{gap:16px}.home-organized .home-tile{min-height:152px;border-left-width:3px;border-radius:13px;background:#202b35;border-color:#4a4f50;padding:21px}.home-organized .home-community{min-height:126px;background:#2b2d29;border-color:#766a47}.home-organized .home-option-copy strong{font-size:21px}.home-organized .home-option-copy>span:not(.option-detail){font-size:15px}.home-organized .home-option-copy .option-detail{font-size:13px;font-weight:600}.home-organized .learning-tile{--tile-accent:#92d9ec;--icon-bg:#263f4c;background:#1c2d38;border-color:#385767}.home-practice{--group-accent:#a6d6bb;--group-line:#3b5b4b}.home-organized .practice-tile{--tile-accent:#a6d6bb;--icon-bg:#2b4439;background:#202f2b;border-color:#42614f}.home-group-heading{margin-top:34px}.home-group-heading p{font-size:16px}.home-group-badge{letter-spacing:1px}.home-tile-icon{isolation:isolate}.home-tile-icon>svg{position:static!important;transform:none!important;flex-shrink:0}
.academy-view,.profile-view,.jobs-view,.workshop-view,.guide-view,.builder-view,.learning-view{width:100%;max-width:1120px;margin-left:auto;margin-right:auto}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lesson-card{display:flex;flex-direction:column;gap:9px;text-align:left;align-items:flex-start;border:1px solid #3d5968;padding:20px;background:#1c2d38;color:var(--text);width:100%;min-width:0}.lesson-card strong{font-size:20px}.lesson-card>span{color:var(--muted);font-size:15px}.lesson-card .eyebrow{font-size:11px;color:var(--learning)}.lesson-card .lesson-done{color:#b9e6c8}.learning-filters{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:25px 0 15px}.learning-filters label{display:flex;flex-direction:column;gap:6px}.lesson-objective{font-size:19px;color:#aadfed}#lessonReader{max-width:780px;margin:0 auto}#lessonReader h3{margin-top:30px}#lessonReader p{line-height:1.8}#lessonReader .lesson-trap{border-left:3px solid #ffb57d;background:#283039;padding:16px 20px;margin:24px 0}.lesson-trap p{margin-bottom:0}.assessment-choice{min-height:54px;white-space:normal;text-align:left;line-height:1.5}.test-presets>button{padding:20px;min-width:0}.test-presets span{line-height:1.5}.test-presets strong{font-size:20px}.test-presets .preset-description{font-size:15px;color:var(--muted)}#assessmentQuestion{font-size:clamp(21px,2.5vw,27px);line-height:1.45;white-space:pre-line}.assessment-diagram{overflow:auto;background:#e9f0eb;border-radius:10px;padding:12px;margin-bottom:20px}.assessment-diagram svg{min-width:480px;max-width:100%}
.profile-development,.account-panel{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.analytics-grid>div{border:1px solid var(--line);padding:16px;background:var(--panel);border-radius:10px;display:flex;flex-direction:column;gap:8px}.analytics-grid strong{font-size:25px}.analytics-grid span{font-size:14px;color:var(--muted)}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.achievement{background:#1d2a34;border:1px solid #42525d;padding:14px;border-radius:9px;color:#b6c6cf;line-height:1.5}.achievement.earned{border-color:#527966;color:#bce6cc}.mastery-label{font-size:13px;color:#bed0dc}.account-panel a{display:inline-block;min-height:44px;padding-top:9px}.profile-view input{width:min(370px,100%)}.player-table,.leaderboard-table{overflow:auto}.player-table table{min-width:640px}.job-output table{width:100%}.job-diagram{min-width:560px}.job-diagram text{fill:#173d36;font-size:13px}.job-controls label,.job-tools label{min-width:0}.job-scope{min-width:440px}.job-output{overflow:auto}.job-repair{flex-wrap:wrap}.job-history button{white-space:normal}.job-toggle{min-height:44px;align-items:center}.job-toggle input{width:20px;height:20px}.jobs-view select{width:100%}.job-layout>*{min-width:0}.sheet{max-height:90svh;overflow:auto;padding:24px}.sheet form label{display:flex;flex-direction:column;gap:8px;margin:16px 0}.sheet-heading h2{font-size:23px;margin:0}.sheet .close{min-width:44px;min-height:44px}.site-legal{width:min(850px,100%);margin:auto;padding:25px 20px}.site-legal h1{font-size:36px}.site-legal h2{font-size:24px;margin-top:34px}.site-legal p,.site-legal li{line-height:1.8}.site-legal table{border-collapse:collapse;width:100%}.site-legal td,.site-legal th{text-align:left;border-bottom:1px solid var(--line);padding:12px}.site-legal .legal-back{display:inline-block;min-height:44px}.site-legal code{overflow-wrap:anywhere}.inline-note{padding:14px 16px;border:1px solid #465d6b;background:#1e2c37;border-radius:8px}
@media(max-width:760px){.app{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.topbar{gap:9px;flex-wrap:wrap;padding-bottom:8px}.brand .brand-word{font-size:20px}.brand-emblem{width:27px;height:31px}.top-label{display:none}.topbar #homeButton{margin-left:auto}.topbar #guideButton{font-size:14px}.section-navigation{gap:9px;padding:10px 0}.section-navigation select{width:calc(100% - 54px);font-size:15px}.nav-note{display:none}.home-organized{padding:6px 0 20px}.home-organized .home-tile{padding:17px 14px;gap:12px;min-height:0}.home-organized .home-option-copy strong{font-size:20px}.home-organized .home-options,.lesson-grid{grid-template-columns:1fr}.home-group-heading{margin-top:26px}.learning-filters{grid-template-columns:1fr}.analytics-grid,.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{display:block;margin-top:20px}.site-footer nav{margin-top:12px;flex-wrap:wrap}.test-presets{grid-template-columns:1fr}.job-layout,.builder-layout{grid-template-columns:1fr}.job-controls,.job-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.builder-toolbar,.builder-tools{flex-wrap:wrap}.builder-toolbar>*{max-width:100%}.builder-board{overflow:auto}.player-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.player-heading h2{overflow-wrap:anywhere}.job-diagram-container,#jobDiagram{overflow:auto}.sheet{padding:20px 16px;margin:auto;width:calc(100% - 24px)}.academy-view h1,.jobs-view h1,.profile-view h1{font-size:30px}.c-controls{gap:10px}.c-pin-grid button,.pin-grid button{min-height:44px}.hardware-buttons button{min-height:44px}.dial-mode{min-height:28px}#diagnosticsView{height:auto} .probe-deck{position:relative}.bench-space{min-height:430px}.case-controls{flex-wrap:wrap}.case-controls label{max-width:none}.case-controls select{min-height:44px}.case-controls .quiet{max-width:none;min-height:44px}.job-output .job-scope{display:block}.site-legal h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fireworks{display:none!important}}
.job-diagram .job-schematic{fill:#e9f0eb;stroke:#2b6154;stroke-width:2}.job-diagram .job-schematic text{fill:#173d36;stroke:none;font-size:13px}.job-diagram .job-schematic .schematic-wire{fill:none;stroke-width:3}.job-diagram .job-schematic [data-job-node] circle{fill:#fafbf7;stroke-width:2.5}.job-diagram .job-schematic [data-job-node]:focus circle{stroke:#bd5524;stroke-width:5}
#sectionNav{max-width:unset;margin-left:0;width:min(430px,80%);font-size:16px}.meter-function{display:flex;flex-direction:column;gap:6px;width:100%;max-width:260px;font-size:14px;text-align:left;margin-top:10px}.circuit-function{max-width:340px;margin:12px 0}.topic-breakdown{gap:14px}.topic-breakdown>div{min-width:0}.topbar .quiet{margin-left:0}.muted{color:#b6c7d3!important}.lesson-tabs{flex-wrap:wrap;gap:8px}.lesson-tabs button{font-size:15px}.learning-view h1{font-size:clamp(29px,4vw,36px)}.assessment-nav{flex-wrap:wrap;gap:12px}.player-name label{font-size:14px}.home-organized .home-options{grid-template-columns:repeat(2,minmax(0,1fr))}.home-organized .home-option-copy{overflow-wrap:anywhere}.knowledge-row{display:grid;gap:4px;border:1px solid var(--line);border-radius:9px;padding:14px}.knowledge-row span{font-size:14px;color:var(--muted)}#profileMastery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#profileMastery>div{padding:14px;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;gap:7px}.circuit-panel .schematic{fill:initial;stroke:initial;stroke-width:initial}.mission-meta{flex-wrap:wrap}.objective p,.c-objective p{font-size:16px;line-height:1.6}.eyebrow{font-size:12px}.home-organized .home-option-copy .option-detail{font-size:14px}.success-check{animation:none}.fireworks{display:none}.site-footer{font-size:14px}.port b{font-size:10px}.probe-selector .lead span{font-size:12px}.home-testing .home-group-heading h2{color:#ffb57d}.home-learning .home-group-heading h2{color:#92d9ec}.home-practice .home-group-heading h2{color:#a6d6bb}
@media(max-width:760px){.home-organized .home-options,#profileMastery{grid-template-columns:1fr}.instrument-station{min-height:390px;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr);grid-template-rows:1fr;padding:12px 10px;align-items:start}.real-meter{height:250px;max-height:none}.meter-area{height:auto}.meter-note{max-width:220px;font-size:14px;line-height:1.5;padding:10px 0;min-height:0}.bench-space{grid-template-rows:auto auto;min-height:580px}.circuit-panel{min-height:220px;grid-template-rows:auto minmax(180px,1fr) auto}.dial-zone>.dial-mode{display:none}.dial-zone>.rotary-knob{min-height:44px}.hardware-buttons{gap:9px;margin-top:10px}.hardware-buttons button,.pin-grid button,.quick-help,.lead,.swap,.record{font-size:14px}.objective{align-items:flex-start;flex-wrap:wrap;padding:14px}.objective-copy{flex-basis:100%}.objective .primary{min-height:44px;max-width:none;font-size:15px}.objective .hint{width:44px;min-height:44px}.scan-line{flex-wrap:wrap;gap:8px;font-size:14px}.scan-line b{font-size:14px}.pedal-control label{font-size:14px;flex-wrap:wrap}.pedal-control input{min-height:44px}.pin-grid button{white-space:normal;overflow-wrap:anywhere}.pin-grid{gap:8px}.c-instruments{min-height:360px}.c-real-meter{height:265px}.mode-bar{flex-wrap:wrap;margin:16px 0;gap:8px}.mode-bar button{flex:1 1 42%;font-size:15px;padding:12px}.mode-bar .new-case{flex:1 1 42%}.key-instruction{font-size:12px}.c-objective{flex-wrap:wrap}.job-repair button{width:100%}.analytics-grid strong{font-size:20px}.analytics-grid>div{padding:14px}.home-heading .eyebrow{letter-spacing:1px;font-size:12px}.leaderboard-table table{min-width:660px}.leaderboard-table{border:1px solid var(--line);border-radius:9px}.academy-view h1{font-size:29px}.topic-breakdown{grid-template-columns:1fr}.section-navigation select{width:calc(100% - 58px)!important}.mission-meta #stepCounter{font-size:12px}.mission-meta #missionName{font-size:12px}.meter-function{max-width:230px}#meterReading{font-size:26px}.lcd-top{font-size:9px}.lcd-top span:last-child{font-size:10px}}
@media(max-width:360px){.instrument-station{grid-template-columns:1fr;justify-items:center}.controls-side{max-width:260px;display:grid;grid-template-columns:1fr 1fr}.real-meter{height:280px}.meter-area{max-width:270px}.bench-space{min-height:860px}.brand .brand-word{font-size:18px}.topbar #homeButton{font-size:14px}.analytics-grid{grid-template-columns:1fr}}

.legal-table{overflow:auto}.site-legal .legal-action{display:inline-flex;align-items:center;padding:12px 16px;text-decoration:none;min-height:44px}.legal-nav{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}.legal-nav a{min-height:44px;padding-top:10px}

.site-legal pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#1c2833;border:1px solid var(--line);border-radius:8px;padding:18px;font-size:14px;line-height:1.65}.site-footer nav{flex-wrap:wrap}

#jobDiagram{overflow:auto;max-width:100%;border-radius:12px}.job-diagram{display:block;height:auto;min-height:0;min-width:660px;max-height:none;aspect-ratio:660/365}.job-diagram .job-schematic{display:initial}.job-diagram .job-schematic [data-job-node].probe-red circle{fill:#ffd1c8;stroke:#a33428;stroke-width:4}.job-diagram .job-schematic [data-job-node].probe-black circle{fill:#abc0bd;stroke:#152e28;stroke-width:4}.job-diagram .job-schematic [data-job-node].probe-both circle{fill:#ffd1c8;stroke:#152e28;stroke-width:5}

.job-diagram .job-schematic [data-job-node] .job-hit{fill:none;stroke:none;pointer-events:all}

.consent-dialog{width:min(600px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;border:1px solid #688090;border-radius:16px;background:#202d37;color:#edf5fa;padding:clamp(20px,4vw,32px);line-height:1.6}.consent-dialog::backdrop{background:#081018cc}.consent-dialog h2{font-size:clamp(25px,5vw,32px);line-height:1.2;margin:10px 0 18px}.consent-dialog p{color:#c8d5df}.consent-dialog a{color:#ffc996;text-decoration:underline}.consent-choice{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid #607e90;border-radius:9px;background:#142530;cursor:pointer}.consent-choice input{width:24px;height:24px;flex:0 0 24px;margin:3px 0 0;accent-color:#ff914d}.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.consent-actions button{min-height:44px}.consent-dialog .muted{font-size:13px}.consent-dialog #consentMessage{color:#ffd0ae}
/* iPhone web ergonomics; source/DOM checks do not replace Safari device QA. */
@media(max-width:760px){input:not([type=checkbox]):not([type=range]),select,textarea,#sectionNav{font-size:16px!important}.app{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.app>main,.app>section,.lab-layout>*{min-width:0}.job-tools{position:static}.secondary,.quiet,.primary{white-space:normal;overflow-wrap:anywhere}.player-table{max-width:100%;overflow-x:auto}.consent-actions{flex-direction:column}.consent-actions button{width:100%}.consent-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}.sheet{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto}.site-footer{padding-left:max(16px,env(safe-area-inset-left))}.job-reading table{table-layout:fixed}.job-reading th,.job-reading td{overflow-wrap:anywhere}}
