@charset "UTF-8";
:root{--ink:#153344;--muted:#596f7b;--sea:#08777d;--navy:#102c3d;--bg:#f2f6f7;--line:#d9e4e8;--orange:#d9753d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--sea);text-underline-offset:4px}a:hover{color:#084c56}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--sea);color:white;border:1px solid transparent;border-radius:8px;padding:12px 20px;line-height:1.3;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#075961;color:white}button.secondary,.button.secondary{background:#fff;color:var(--sea);border-color:var(--line)}button.quiet{background:transparent;padding:6px;color:#d4e7ee}.top{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px max(24px,calc((100vw - 1260px)/2));min-height:88px}.brand{font-weight:750;font-size:21px;color:white;text-decoration:none;white-space:nowrap;line-height:1.1}.brand:hover{color:white}.brand-symbol{display:inline-grid;place-items:center;width:37px;height:37px;border:1px solid #548995;border-radius:9px;color:#82e1d0;margin-right:8px;font-size:30px;float:left}.brand small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;margin-top:7px;margin-left:50px;color:#b0cad4;font-weight:500}.top nav{display:flex;gap:22px;align-items:center;font-size:14px;flex-wrap:wrap}.top nav a{color:#e1eff3;text-decoration:none}.top nav form{margin:0}main{max-width:1260px;padding:40px 26px 70px;margin:auto;min-height:80vh}h1,h2,h3{line-height:1.22;letter-spacing:-.025em}h1{font-size:clamp(29px,3.1vw,45px);margin:14px 0 22px;font-weight:720}h2{font-size:23px}h3{font-size:18px}p{margin:12px 0 20px}ul,ol{padding-left:25px}li{margin:6px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--sea)}.muted,small{color:var(--muted)}.muted{font-size:14px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:35px;padding:30px 12px 40px}.hero h1{font-size:clamp(34px,3.8vw,50px);line-height:1.15}.hero p{max-width:570px;color:var(--muted);font-size:17px}.pill{display:inline-flex;border:1px solid #ccdfdf;border-radius:30px;padding:6px 13px;font-size:13px;color:#345a63;background:#e6f1ef;white-space:nowrap}.sonar{position:relative;overflow:hidden;align-self:center;height:275px;border-radius:14px;background:repeating-linear-gradient(0deg,transparent,transparent 31px,#bed5d838 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,#bed5d838 32px),linear-gradient(#e1eff0,#bfdadb);border:1px solid #c5dcdf}.boat{position:absolute;top:28px;left:47%;font-size:50px;color:#0b525e;line-height:.5}.ray{position:absolute;top:55px;left:50%;height:155px;width:2px;background:#4e929a;transform-origin:top}.r1{transform:rotate(49deg)}.r2{transform:rotate(-49deg)}.r3{background:#0d6c78}.seabed{position:absolute;bottom:50px;left:-5%;height:25px;width:110%;background:#72969b;border-top:4px solid #244b57;transform:rotate(-4deg)}.sonar span{position:absolute;bottom:15px;left:25px;font:12px monospace;color:#234d57}.section-line{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:12px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.course-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:26px;display:flex;flex-direction:column;box-shadow:0 4px 20px #183f4805}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-top .muted{font-size:11px}.course-code{font-size:14px;font-weight:800;color:var(--sea);background:#e7f3f2;padding:8px 12px;border-radius:6px}.course-card h2{margin:25px 0 10px;font-size:24px}.course-card p{font-size:15px;color:var(--muted)}.card-bottom{margin-top:auto}.card-bottom .button{width:100%;justify-content:space-between;margin:17px 0 12px}.subtle{display:block;text-align:center;font-size:14px}.pending{padding:12px;background:#f2f5f6;border-radius:6px;font-size:14px}progress{display:block;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:#e4ebee;margin:9px 0}progress::-webkit-progress-bar{background:#e4ebee}progress::-webkit-progress-value{background:var(--sea)}.progress-label{font-size:12px;color:var(--muted)}.panel{padding:27px;background:white;border:1px solid var(--line);border-radius:12px;margin:0 0 24px}.aside-note{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#e9f0f3}.aside-note h2{font-size:20px;margin-top:0}.aside-note p{max-width:850px;margin:0;font-size:15px}.page-head{max-width:820px;padding:20px 0 25px}.back{display:inline-block;font-size:14px;margin-bottom:25px}.course-layout{display:grid;grid-template-columns:2fr 1fr;gap:28px}.course-layout aside{align-self:start;position:sticky;top:25px}.module-num{color:#708d98;font-size:17px;margin-right:10px}.lesson-list{list-style:none;padding:0}.lesson-list li{border-top:1px solid var(--line);margin:0}.lesson-list a{display:flex;justify-content:space-between;gap:20px;text-decoration:none;color:var(--ink);padding:15px 0;font-size:15px}.lesson-list a:hover{color:var(--sea)}.lesson-list small{white-space:nowrap}.reader-layout{display:grid;grid-template-columns:minmax(0,840px) minmax(180px,1fr);gap:48px}.reader{background:#fff;padding:40px;border:1px solid var(--line);border-radius:12px;max-width:850px;min-width:0}.reader h1{font-size:36px}.objective{padding:18px 20px;border-left:3px solid var(--sea);background:#eef6f5;color:#31565e}.reader-aside{position:sticky;align-self:start;top:25px;font-size:13px}.reader-aside ul{list-style:none;padding:0}.reader-aside li{margin-bottom:12px}.reader-aside a{text-decoration:none;color:var(--muted)}.block{margin:34px 0}.block-warning,.block-error{border-left:3px solid var(--orange);padding:1px 20px;background:#fff6ee;border-radius:0 8px 8px 0}.block-error{border-left-color:#b95037}.block-practice{background:#eef6f5;border:1px solid #cce2df;padding:22px;border-radius:10px}.block-practice h2{margin-top:0}.summary{border-top:2px solid var(--sea);padding:8px 0 5px}.checklist{list-style:none;padding-left:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef3f5;font-weight:650}figure{margin:0}img{display:block;max-width:100%;height:auto;border-radius:6px}figcaption{font-size:13px;color:var(--muted);padding:10px 0}.screenshot-note{padding:22px;border:1px dashed #a1b6bf;border-radius:8px;background:#f6f8f9}.screenshot-note .eyebrow{font-size:11px}.downloads{display:flex;flex-direction:column;gap:9px;margin:20px 0;font-size:14px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin:22px 0}.actions form{margin:0}.lesson-nav{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;justify-content:space-between;gap:15px}.notice{border:1px solid #acd1c8;padding:14px 20px;background:#e6f3ee;border-radius:9px;margin-bottom:22px}.auth{max-width:550px;margin:32px auto}.auth h1{font-size:32px}.auth p{font-size:15px}form p{margin:15px 0}label{display:block;font-weight:550;font-size:14px;margin-bottom:6px}input,textarea,select{font:inherit;color:var(--ink);background:#fff;max-width:100%;border:1px solid #aebfc7;border-radius:6px;padding:10px 12px;width:100%}textarea{line-height:1.5}input[type=radio],input[type=checkbox]{width:auto;accent-color:var(--sea);margin-right:8px}input:focus,textarea:focus,select:focus,button:focus,a:focus{outline:3px solid #4dabb0;outline-offset:3px}.helptext{font-size:12px;color:var(--muted);display:block;margin:7px 0}form ul{font-size:13px}.errorlist{color:#aa351e}.quiz{margin:auto}.quiz fieldset{border:1px solid var(--line);padding:22px;border-radius:9px;margin:28px 0}.quiz legend{font-weight:650;padding:0 8px}.question-field{margin:12px 0}.question-field label{font-weight:400;line-height:1.5}.question-field input[type=radio]{margin:10px}.score{font-size:56px;font-weight:800;color:var(--sea)}details{margin:17px 0}summary{cursor:pointer;color:var(--sea);font-weight:600;font-size:14px}.lab{padding:22px;background:#eef5f6;border:1px solid #cfe0e3;border-radius:9px}.lab-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lab output{display:block;font-weight:650;margin-top:20px;color:#126271}.editor-row{display:flex;gap:20px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.editor-row span{flex:1}.editor-row a{white-space:nowrap}footer{background:#e8eff2;display:flex;justify-content:space-between;gap:20px;padding:23px max(24px,calc((100vw - 1210px)/2));font-size:11px;color:#536d79}.watermark{position:fixed;bottom:10px;right:14px;pointer-events:none;opacity:.55;color:#4c686f;font:11px monospace;background:#ffffffc9;padding:3px 8px;border-radius:4px}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:#fff}.skip:focus{top:10px}code{word-break:break-word}
@media(max-width:1000px){.top{padding:16px 22px;flex-wrap:wrap}.top nav{gap:18px}.reader-layout{display:block}.reader-aside{position:static;margin-top:30px;columns:2}.cards{gap:16px}.course-card{padding:20px}.card-top{align-items:start;flex-direction:column}.hero{padding-left:0;padding-right:0}.course-layout{grid-template-columns:1.6fr 1fr}}
@media(max-width:680px){main{padding:24px 16px 45px}.top{gap:20px}.top nav{gap:15px;font-size:13px;width:100%}.brand{font-size:20px}.hero{display:block;padding:10px 0 30px}.hero h1{font-size:35px}.sonar{height:210px;margin-top:24px}.hero p{font-size:16px}.sonar .ray{height:116px}.sonar .boat{top:15px}.sonar .ray{top:35px}.cards{grid-template-columns:1fr}.card-top{flex-direction:row;align-items:center}.section-line{display:block}.section-line h2{margin-bottom:8px}.section-line .muted{display:block;font-size:12px;margin-bottom:18px}.course-card{padding:24px}.course-layout{display:flex;flex-direction:column}.course-layout aside{position:static}.reader{padding:23px 18px;border-radius:9px}.reader h1{font-size:28px}.reader h2{font-size:21px}.reader p,.reader li{font-size:15px}.reader-aside{columns:1}.aside-note{display:block;padding:23px}.aside-note .pill{margin-top:18px}.panel{padding:22px}.actions{align-items:stretch}.actions .button,.actions button{width:100%}.actions form{width:100%}.lesson-list a{gap:12px}.lesson-list small{font-size:11px}.lab-controls{grid-template-columns:1fr}.editor-row{flex-wrap:wrap}.editor-row span{flex-basis:100%}footer{display:block;padding:24px 17px}footer span{display:block}.auth{margin:14px auto}.quiz fieldset{padding:18px 12px}.lesson-nav{font-size:14px}.notice{font-size:14px}}
@media print{.top,footer,.reader-aside,.actions{display:none}.reader{border:0;padding:0}.watermark{opacity:.8}main{max-width:none}}

.version-banner{background:#eef5f5;border:1px solid #cde0e0;border-radius:9px;padding:16px;margin:20px 0}.version-banner p{font-size:13px;margin:12px 0 0}.version-banner .pill{margin:4px 6px 4px 0;white-space:normal}.capture-label{display:block;font-size:11px;color:#406979;margin-top:8px}.capture-gallery figure{padding:18px 0;border-bottom:1px solid #dbe5e9}.compatibility-note{padding:12px 15px;background:#fff2df;border-left:3px solid #bd7722;font-size:14px}.hotspot-figure{width:100%;height:auto;display:block}.path-selector{max-width:900px}.path-selector form{max-width:640px}

/* Review fixes: intrinsic widths, keyboard access and original-image zoom. */
.cards,.course-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.course-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.course-card,.course-layout>*,fieldset{min-width:0}fieldset{min-inline-size:0}input,select,textarea{min-width:0}h1,h2,h3,.reader-aside a,.lesson-list span,.downloads a,.top nav a{overflow-wrap:anywhere}.table-wrap{max-width:100%;overscroll-behavior-inline:contain}.table-wrap:focus-visible,summary:focus-visible{outline:3px solid #17838b;outline-offset:4px}.table-wrap table{min-width:480px}button:disabled{opacity:.6;cursor:not-allowed}.image-viewer-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center}.image-viewer-toolbar h2{font-size:18px}.image-viewer-content{overflow:auto;max-height:72vh;background:#f4f7f8}.image-viewer-content img,.image-viewer-content svg{max-width:none;min-width:600px;width:auto;height:auto}.image-viewer-content svg{width:1200px}.image-viewer-content img{display:block}#image-viewer{max-width:94vw;width:1200px;max-height:94vh;border:1px solid var(--line);border-radius:12px;padding:18px}#image-viewer::backdrop{background:#071e2bcb}.route-label{border-left:3px solid var(--sea);padding-left:10px}.lesson-list a{align-items:flex-start}.reader-aside{max-height:85vh;overflow:auto}pre{max-width:100%;overflow:auto}body:has(#image-viewer[open]){overflow:hidden}@media(max-width:1000px){.course-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.reader-aside{max-height:none}}@media(max-width:680px){.cards{grid-template-columns:1fr}.lesson-list a{flex-wrap:wrap}.lesson-list small{white-space:normal}.image-viewer-toolbar{align-items:flex-start}.top nav a,.top nav button{min-height:36px}.course-layout{display:flex}.quiz legend{overflow-wrap:anywhere;max-width:100%}}

.learning-context{padding:16px 20px;border-left:3px solid var(--accent,#197b71);background:#eff6f6;margin:20px 0}.learning-context p:last-child{margin-bottom:0}.version-details{margin:20px 0;padding:14px 18px;border:1px solid #cfdee3;border-radius:12px}.version-change{border-top:1px solid #d6e3e7;padding:12px 0;overflow-wrap:anywhere}.version-change h3{font-size:1rem}.decision-check{padding:18px;border-radius:12px;background:#edf3fa}

@media(min-width:681px) and (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Access management shares the course typography and quiet blue palette. */
.manage-nav{display:flex;gap:1.2rem;flex-wrap:wrap;margin:1rem 0}
.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}
.manage-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.manage-filters label{display:flex;flex-direction:column;gap:.4rem}
.manage-grid input,.manage-grid select,.manage-grid textarea,.grant-card input,.grant-card select{max-width:100%}
.grant-card{padding:1.2rem 0;border-bottom:1px solid var(--line,#d7e2ec)}
.grant-card:last-child{border-bottom:0}.grant-card form{max-width:40rem;margin-top:1rem}
.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.errorlist{color:#a42b30}.helptext{display:block;color:#52677b;font-size:.88rem;margin:.25rem 0}
@media(max-width:850px){.manage-grid{grid-template-columns:1fr}.manage-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.manage-filters{grid-template-columns:1fr}}

/* Soft friction only. Controls and working values remain selectable. */
[data-protected-content]{user-select:none;-webkit-user-select:none}
[data-protected-content] :is(input,textarea,select,button,a,code,pre,kbd,samp,output,[contenteditable=true],[data-copy-allowed]),
[data-protected-content] [data-copy-allowed] *{user-select:text;-webkit-user-select:text}
.print-notice{display:none}
@media print{.protected-page main,.protected-page dialog{display:none!important}.protected-page .print-notice{display:block;padding:2rem}.protected-page .watermark{display:block}}

/* Equipment provenance must remain readable with long customer labels. */
.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.equipment-summary,.equipment-component-form{min-width:0;overflow-wrap:anywhere}
.equipment-component{min-width:0;border:1px solid var(--line);border-radius:8px;padding:1rem}
.equipment-component h4{margin:0 0 .6rem}.equipment-component p:last-child{margin-bottom:0}
.equipment-component-form{margin:0;padding:1.2rem}.equipment-component-form legend{font-weight:650;padding:0 .4rem;max-width:100%}
.equipment-editor .actions{position:static}.verification{border-left:3px solid #879ba6;padding:.35rem .7rem;background:#f2f5f7;font-weight:600}
.verification-verified{border-color:#08777d;background:#edf7f3}.verification-claimed{border-color:#bf7635;background:#fff6eb}
.verification-reference{border-color:#49819f;background:#edf4fa}
@media(max-width:850px){.equipment-grid{grid-template-columns:1fr}}

/* Lightweight lesson models: text remains available without script. */
.lab-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1rem}.lab-controls input,.lab-controls select{width:100%;max-width:100%;box-sizing:border-box}.lab output{display:block;margin:1rem 0;line-height:1.6}.lab-figure svg{width:100%;height:auto;display:block}.lab-figure{overflow:hidden}.lab-controls label{display:block;font-weight:600}.equipment-callout{border-left:3px solid #427a93;padding:.7rem 1rem;margin-top:1rem;background:#eef5f8}
