@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#1d302b;--muted:#61716a;--green:#143c32;--lime:#c5f28a;--line:#e1e7e2;--bg:#f6f8f5;--white:#fff;--radius:15px;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);font-size:16px;background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #55995e;outline-offset:4px}h1,h2,h3,h4{font-family:Manrope,system-ui,sans-serif;margin:0;letter-spacing:-.04em}h1{font-size:clamp(2rem,3vw,2.85rem);font-weight:750;line-height:1.2}h2{font-size:1.5rem;line-height:1.3}h3{font-size:1.15rem;line-height:1.4}p{line-height:1.7;margin:12px 0;color:var(--muted)}small,.meta{font-size:.875rem;color:var(--muted)}.icon{width:21px;height:21px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:12px}#sidebar{width:252px;background:var(--green);color:#fff;position:fixed;inset:0 auto 0 0;padding:32px 22px;display:flex;flex-direction:column;z-index:40;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:1.16rem;font-weight:750;letter-spacing:-.04em;line-height:1.15}.brandmark{display:grid;place-items:center;background:var(--lime);color:var(--green);height:42px;width:42px;border-radius:12px;font:700 23px monospace;flex:none}.brand small{color:#c1d3c8;font-size:.75rem;display:block;margin-top:5px;font-family:'DM Sans',sans-serif;font-weight:400;letter-spacing:0}.navlabel{font-size:.75rem;font-weight:600;letter-spacing:.13em;color:#acbeb4;margin:42px 12px 12px}.navlink{display:flex;align-items:center;gap:13px;border-radius:9px;color:#d2dfd7;padding:13px 14px;margin:5px 0;font-size:.94rem}.navlink.active{background:var(--lime);color:var(--green);font-weight:650}.navlink:hover:not(.active){background:#244d40}.navlink .count{margin-left:auto;font-size:.75rem;border:1px solid #719080;border-radius:5px;padding:1px 5px}.sidebottom{margin-top:auto;padding-top:40px}.sideprogress{background:#20483b;padding:18px;border-radius:12px}.sideprogress .row{font-size:.875rem;color:#dfebe2}.progress{height:6px;background:#dfe6df;border-radius:5px;overflow:hidden;margin:14px 0 8px}.progress span{display:block;height:100%;background:#427a50;border-radius:5px}.sideprogress .progress{background:#3d5d4f}.sideprogress .progress span{background:var(--lime)}.sideprogress small{color:#bdcec3}.sidenote{color:#afc4b7;font-size:.8rem;line-height:1.6;margin:18px 7px 0}.workspace{margin-left:252px;min-height:100vh}#topbar{height:79px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.65)}.crumb{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--muted)}.crumb strong{color:var(--ink);font-weight:500}.topright{display:flex;align-items:center;gap:20px;font-size:.8rem;color:var(--muted)}.avatar{background:#e8eee7;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:var(--green)}main{max-width:1430px;margin:auto;padding:38px 40px 55px;min-height:calc(100vh - 145px)}.pageheading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:#507160;display:block;margin-bottom:12px}.headingcopy p{margin:10px 0 0}.pill{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;border:1px solid var(--line);border-radius:99px;padding:7px 12px;white-space:nowrap;background:#fff}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{border:1px solid var(--line);background:white;color:var(--ink);padding:11px 17px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:.875rem;min-height:43px;line-height:1.5}.btn:hover{background:#eff4ec;border-color:#a7bd9f}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:#275640}.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--green)}.btn.small{font-size:.8rem;min-height:34px;padding:6px 11px}.btn.ghost{border:0;background:transparent}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:27px}.continue{background:var(--green);color:white;border-radius:var(--radius);padding:29px 31px;display:grid;grid-template-columns:1fr 118px;gap:22px;position:relative;overflow:hidden;min-height:238px}.continue .eyebrow{color:#c5deb2;letter-spacing:.1em}.continue h2{font-size:1.75rem;letter-spacing:-.045em;max-width:400px}.continue p{color:#c2d6c9;font-size:.94rem;max-width:410px;margin:10px 0 19px}.orbit{width:110px;height:110px;align-self:center;border:1px solid #537264;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 16px #24493c,0 0 0 17px #446656}.orbit>span{height:70px;width:70px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:var(--green)}.orbit .icon{height:29px;width:29px}.sectiontitle{display:flex;align-items:center;justify-content:space-between;margin:30px 0 17px}.sectiontitle h2{font-size:1.22rem}.modulegrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.module{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.modulehead{padding:20px 20px 16px;display:flex;align-items:center;gap:13px}.num{width:41px;height:41px;border-radius:11px;display:grid;place-items:center;font-family:Manrope,sans-serif;font-weight:650;font-size:.9rem;background:#e7efd9;color:#496634;flex:none}.num.blue{background:#e5edf8;color:#46679a}.num.orange{background:#f9eadd;color:#9b673c}.num.purple{background:#ece6f5;color:#7a639a}.modulehead h3{font-size:1rem;letter-spacing:-.025em}.modulehead small{font-size:.75rem;display:block;margin-top:3px}.module>p{padding:0 20px;margin:0 0 16px;font-size:.875rem;line-height:1.5;min-height:42px}.lessonlink{display:flex;align-items:center;gap:10px;font-size:.875rem;padding:11px 20px;border-top:1px solid #f0f2ed;line-height:1.45}.lessonlink:hover{background:#f4f8ee}.lessonlink .icon{width:16px;height:16px;color:#7e9584}.lessonlink small{margin-left:auto;font-size:.75rem;white-space:nowrap}.lessonlink.done{color:#47783f}.reference{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:19px}.reference h3{margin-top:13px}.reference>p{font-size:.875rem;line-height:1.65}.reference .textlink{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:#3b643c;margin-top:8px}.reference .largeicon{height:39px;width:39px;display:grid;place-items:center;border-radius:9px;background:#eef2e7;color:#486345}.reference.tinted{background:#eaf1df;border-color:#dde8ce}.minilist{padding:0;list-style:none;margin:14px 0 0}.minilist li{font-size:.875rem;line-height:1.5;padding:9px 0;border-top:1px solid var(--line);display:flex;gap:9px;align-items:center}.minilist .icon{height:16px;width:16px;color:#557249}.coursemeta{display:flex;gap:23px;margin:20px 0 25px;color:var(--muted);font-size:.875rem}.coursemeta span{display:flex;align-items:center;gap:7px}.coursemeta .icon{height:16px;width:16px}.lessonlayout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:30px;align-items:start}.lessonbody{min-width:0}.contentcard{padding:29px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:22px}.sectioneyebrow{display:flex;align-items:center;gap:9px;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:#537358;font-weight:650;margin-bottom:18px}.sectioneyebrow span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #d0ddc8;border-radius:6px}.contentcard h2{font-size:1.3rem;margin-bottom:14px}.contentcard p{color:#475d53;margin-bottom:15px}.steps{list-style:none;counter-reset:steps;padding:0;margin:20px 0}.steps li{counter-increment:steps;display:flex;gap:12px;line-height:1.7;margin:14px 0;color:#40594c}.steps li:before{content:counter(steps);height:25px;width:25px;flex:none;display:grid;place-items:center;border-radius:50%;background:#edf2e8;font-size:.78rem;font-weight:600;margin-top:2px}.codebox{background:#f5f7f3;border:1px solid #e1e7dc;border-radius:10px;overflow:hidden;margin:20px 0}.codebar{padding:10px 15px;background:#edf2e8;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem;color:#566a5c}.codebox pre{padding:19px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font: .875rem/1.8 'SFMono-Regular',Consolas,monospace;color:#284b36}.callout{padding:15px 18px;border-radius:9px;background:#eef4e7;line-height:1.6;font-size:.875rem;color:#415939;margin:16px 0}.callout.warn{background:#fff2da;color:#7a5620}.checklist{display:grid;gap:11px;margin:20px 0}.checklist label{display:flex;align-items:flex-start;gap:11px;line-height:1.55;font-size:.94rem}.checklist input{width:18px;height:18px;margin:3px 0;flex:none;accent-color:#356544}.fieldlabel{display:block;font-size:.875rem;font-weight:600;margin:18px 0 9px}textarea,input[type=search],input[type=text],select{width:100%;border:1px solid #ccd8cc;border-radius:8px;background:#fff;color:var(--ink);padding:12px;line-height:1.6}textarea{min-height:110px;resize:vertical}fieldset{border:0;padding:0;margin:24px 0 15px}legend{font-weight:600;line-height:1.6;margin-bottom:12px}.quizoption{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;margin:9px 0;padding:12px;line-height:1.6;font-size:.94rem;cursor:pointer}.quizoption:has(input:checked){border-color:#6d9b5e;background:#f0f6e9}.quizoption input{margin-top:5px;accent-color:#356544}.feedback{padding:14px 17px;border-radius:8px;font-size:.875rem;line-height:1.65;background:#eff5e8;color:#375936}.feedback.error{background:#fff0e6;color:#855126}.feedback:empty{display:none}.lessonnav{position:sticky;top:22px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.lessonnav h3{font-size:1rem;margin-bottom:15px}.lessonnav a{display:flex;padding:11px 0;gap:10px;color:#67796e;font-size:.875rem;line-height:1.5}.lessonnav a.active{font-weight:600;color:#315f3b}.lessonnav .num{width:25px;height:25px;border-radius:6px;font-size:.75rem}.nextrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.locked{max-width:670px;margin:40px auto;text-align:center}.locked .largeicon{margin:0 auto 20px;color:#466b46}.locked .largeicon .icon{width:40px;height:40px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.laboutput{position:sticky;top:20px}.laboutput .codebox{margin:15px 0}.laboutput pre{min-height:250px}.labelhint{font-size:.8rem;color:var(--muted);margin:0 0 8px}.gridheader{display:flex;gap:12px;align-items:center;margin-bottom:24px}.searchwrap{flex:1;position:relative}.searchwrap .icon{position:absolute;left:14px;top:15px;color:#768b7c}.searchwrap input{padding-left:43px}.gridheader select{max-width:195px}.glossarygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.term{background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px}.term h3{font-size:1.05rem}.term .category{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#58764f;margin-bottom:10px}.term p{font-size:.94rem;line-height:1.6}.term .example{border-top:1px solid var(--line);padding-top:12px;font-size:.8rem;margin:15px 0 0;color:#687f68}.explorer{display:grid;grid-template-columns:285px minmax(0,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.filetree{background:#edf2e9;padding:20px 13px}.filetree h3{font:.85rem monospace;padding:4px 9px 18px;letter-spacing:0}.filebtn{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;text-align:left;border-radius:6px;padding:10px 9px;font:.8rem/1.5 monospace;overflow-wrap:anywhere;color:#4d6653}.filebtn.active{background:#d9e8c9;color:#284e2f}.filebtn .icon{width:15px;height:15px}.filefolder{font-size:.8rem;font-weight:600;margin:13px 8px 3px;display:flex;align-items:center;gap:6px}.filedetail{padding:27px;min-width:0}.filepath{font:.8rem/1.6 monospace;color:#65825d;overflow-wrap:anywhere;margin-bottom:14px}.filedetail h2{font-size:1.4rem}.filedetail pre{min-height:210px}.tablewrap{overflow:auto;margin-top:17px}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}th{font-weight:600;background:#f1f5eb;color:#496342}th,td{padding:14px;border-bottom:1px solid var(--line);line-height:1.6;vertical-align:top}td code{white-space:nowrap}.toolgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.tool{border:1px solid var(--line);border-radius:12px;background:white;padding:24px}.tool h3{margin-bottom:9px}.tool p{font-size:.94rem;min-height:72px}.sourcelist{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;list-style:none}.sourcelist a{font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:#365c3c}.empty{padding:40px;text-align:center;grid-column:1/-1;color:var(--muted)}footer{max-width:1430px;margin:auto;padding:20px 40px 27px;display:flex;justify-content:space-between;gap:20px;color:#77877b;font-size:.75rem;border-top:1px solid var(--line)}footer a{text-decoration:underline;text-underline-offset:3px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#153d31;color:#fff;padding:12px 20px;border-radius:9px;box-shadow:0 6px 30px #0002;font-size:.875rem;opacity:0;pointer-events:none;z-index:80;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.mobilemenu{display:none} .source{font-size:.8rem;line-height:1.6;margin-top:16px}.source a{text-decoration:underline;text-underline-offset:4px}.completebanner{background:#e8f2db;padding:24px;border:1px solid #cbdcb9;border-radius:12px;margin:22px 0}.mode-toggle{display:flex;gap:10px;align-items:center;font-size:.875rem;margin:20px 0;line-height:1.5}.mode-toggle input{accent-color:#356544;width:18px;height:18px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.breadcrumbback{display:inline-flex;align-items:center;gap:8px;color:#61765f;font-size:.875rem;margin-bottom:20px}.courseprint{display:none}code{font-size:.88em;overflow-wrap:anywhere}.notehelp{font-size:.8rem;line-height:1.6;margin-top:7px}
@media(min-width:1600px){.dashboard{grid-template-columns:minmax(0,1fr) 305px}}
@media(max-width:1180px){#sidebar{width:222px;padding:27px 16px}.workspace{margin-left:222px}main{padding:30px 28px}.dashboard{grid-template-columns:minmax(0,1fr)}.dashboard>aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard>aside .reference:last-child{display:none}.glossarygrid{grid-template-columns:1fr 1fr}.lessonlayout{grid-template-columns:minmax(0,1fr) 215px;gap:20px}.contentcard{padding:24px}#topbar{padding:0 28px}}
@media(max-width:850px){#sidebar{width:230px;transform:translateX(-100%);transition:transform .2s}.menuopen #sidebar{transform:translateX(0);box-shadow:10px 0 0 100vw #122d2255}.workspace{margin-left:0}.mobilemenu{display:inline-flex;border:0;background:none;padding:8px;color:var(--green)}#topbar{height:66px;padding:0 20px}.crumb{gap:8px}.topright>span:first-child{display:none}main{padding:28px 22px}.lessonlayout{grid-template-columns:1fr}.lessonnav{position:static;order:-1}.lessonnav .sectionlinks{display:flex;gap:16px;flex-wrap:wrap}.lessonnav .otherlessons{display:none}.two-col{gap:18px}.explorer{grid-template-columns:235px minmax(0,1fr)}.coursemeta{flex-wrap:wrap;gap:10px 20px}.pageheading{align-items:flex-start}.pageheading>.pill{display:none}}
@media(max-width:580px){h1{font-size:2rem}.modulegrid,.two-col,.glossarygrid,.toolgrid{grid-template-columns:1fr}.continue{grid-template-columns:1fr;padding:25px}.orbit{display:none}.continue h2{font-size:1.5rem}.dashboard>aside{grid-template-columns:1fr}.dashboard>aside .reference{margin-bottom:0}.dashboard>aside .reference:nth-child(2){display:none}main{padding:25px 17px}.contentcard{padding:21px 18px}.gridheader{align-items:stretch;flex-direction:column}.gridheader select{max-width:none}.explorer{grid-template-columns:1fr}.filetree{max-height:260px;overflow:auto}.filedetail{padding:21px 17px}.laboutput{position:static}.sourcelist{grid-template-columns:1fr}.coursemeta{font-size:.8rem}.headingcopy p{font-size:.94rem}footer{padding:20px 18px;flex-direction:column;gap:10px}.sectiontitle{gap:15px}.sectiontitle small{font-size:.75rem}.btn{padding:10px 13px}.codebox pre{font-size:.8rem}.topright{gap:8px}.crumb{font-size:.8rem}.term{padding:21px}.lessonnav{padding:16px}.lessonnav h3{margin-bottom:3px}.pageheading{margin-bottom:22px}.tool p{min-height:0}.module>p{min-height:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{#sidebar,#topbar,footer,.btn,.lessonnav{display:none}.workspace{margin:0}main{padding:0}.contentcard{break-inside:avoid}.lessonlayout{display:block}}

/* JABSystems identity and completion certificate */
.brandmark{overflow:hidden;background:transparent;border-radius:12px}
.brandmark img{width:158px;height:42px;max-width:none;display:block}
.topright a{font-weight:650;color:#365f49}
.certificate-goal{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,390px);align-items:center;gap:30px;background:linear-gradient(115deg,#dff3b9 0%,#f3f9e8 58%,#fff 100%);border:1px solid #cfe1b7;border-radius:var(--radius);padding:24px 28px;margin:-5px 0 28px;overflow:hidden;position:relative}
.certificate-goal:before{content:"";position:absolute;width:230px;height:230px;border:1px solid #86aa74;border-radius:50%;right:-85px;top:-135px;opacity:.35}
.certificate-goal.ready{background:linear-gradient(115deg,#143c32 0%,#214f40 62%,#2f654a 100%);border-color:#143c32;color:#fff}
.certificate-goal.ready p{color:#c9ddcf}.certificate-goal.ready .eyebrow{color:var(--lime)}
.goal-copy{position:relative;z-index:1}.goal-copy h2{font-size:clamp(1.25rem,2vw,1.65rem)}.goal-copy p{font-size:.9rem;line-height:1.55;margin:7px 0 14px;max-width:560px}
.mini-certificate{background:#fff;border:5px double #2a5a45;box-shadow:0 10px 28px #143c3217;padding:14px 18px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(1deg);position:relative;z-index:1;color:var(--green)}
.mini-certificate img{width:128px;height:auto;margin-bottom:6px}.mini-certificate span{font:700 .67rem Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase}.mini-certificate strong{font:700 1.05rem Manrope,sans-serif;margin:5px 0;border-bottom:1px solid #9ab38d;min-width:70%}.mini-certificate small{font-size:.65rem;color:#627b68}
.certificate-stage{max-width:1050px;margin:0 auto 24px;overflow:auto;padding:4px}
.certificate-paper{background:#fbfdf8;border:1px solid #c4d5bb;box-shadow:0 22px 60px #173d2d20;padding:14px;min-height:600px;position:relative}
.certificate-border{border:3px double #315f48;min-height:572px;padding:43px 58px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;background:radial-gradient(circle at center,#fff 0,#fbfdf8 62%,#edf5e8 100%);overflow:hidden}
.certificate-border:before,.certificate-border:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #a3bc94;border-radius:50%;opacity:.34}.certificate-border:before{left:-150px;top:-150px;box-shadow:0 0 0 22px #dcebd280}.certificate-border:after{right:-150px;bottom:-150px;box-shadow:0 0 0 22px #dcebd280}
.certificate-logo{width:220px;height:auto;margin-bottom:23px}.certificate-kicker{font-size:.75rem;letter-spacing:.24em;color:#4d7158;font-weight:700}.certificate-paper h2{font-size:clamp(2.1rem,5vw,3.9rem);margin:10px 0 5px;color:var(--green)}.presented{margin:6px 0;color:#65796b;font-size:.9rem}.recipient{font:700 clamp(1.7rem,4vw,3rem) Manrope,sans-serif;color:#284e3d;border-bottom:1px solid #87a27a;min-width:min(520px,90%);padding:3px 18px 8px;overflow-wrap:anywhere}.achievement{max-width:680px;font-size:.92rem;line-height:1.65;color:#52675a;margin:13px 0 21px}.certificate-meta{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:28px;width:min(680px,90%)}.certificate-meta>span:not(.seal){border-top:1px solid #9fb19e;padding-top:8px;display:flex;flex-direction:column;gap:3px}.certificate-meta small{font-size:.62rem;letter-spacing:.14em;color:#718173}.certificate-meta strong{font-size:.78rem}.seal{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--lime);font:800 1rem Manrope,sans-serif;box-shadow:0 0 0 5px #c5f28a,0 0 0 7px #315f48}.certificate-url{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:#46684f;margin-top:18px;position:relative;z-index:2}.certificate-lock{position:absolute;inset:0;background:#143c32eb;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;z-index:4;backdrop-filter:blur(4px)}.certificate-lock .icon{width:38px;height:38px;color:var(--lime)}.certificate-lock strong{font:700 clamp(1.15rem,3vw,1.6rem) Manrope,sans-serif}.certificate-lock span{color:#c4d8ca;font-size:.9rem}.certificate-controls{max-width:720px;margin:0 auto}.certificate-controls input{font-size:1rem}
@media(max-width:850px){.certificate-goal{grid-template-columns:1fr}.mini-certificate{display:none}.certificate-paper{min-height:500px}.certificate-border{min-height:472px;padding:30px 22px}.certificate-logo{width:170px;margin-bottom:16px}.certificate-meta{gap:14px;grid-template-columns:1fr 58px 1fr}.seal{width:52px;height:52px}.achievement{font-size:.82rem}}
@media(max-width:580px){.certificate-goal{padding:22px 20px;margin-top:0}.certificate-paper{min-height:450px;padding:8px}.certificate-border{min-height:432px;padding:24px 13px}.certificate-logo{width:145px;margin-bottom:12px}.certificate-kicker{font-size:.6rem}.certificate-paper h2{font-size:1.85rem}.recipient{font-size:1.45rem}.achievement{font-size:.72rem;line-height:1.45;margin:10px 0 16px}.certificate-meta{width:100%;gap:9px}.certificate-meta strong{font-size:.65rem}.certificate-meta small{font-size:.52rem}.certificate-url{margin-top:12px}}
@media print{body *{visibility:hidden!important}.certificate-paper,.certificate-paper *{visibility:visible!important}.certificate-paper{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;min-height:0;margin:0;padding:12px;box-shadow:none;border:0}.certificate-border{height:100%;min-height:0}.certificate-lock{display:none!important}@page{size:landscape;margin:.25in}}

/* JABSystems studio alignment — editorial, monochrome, direct */
:root{--ink:#111113;--muted:#5f605f;--green:#111113;--lime:#dbe7a5;--line:#d9d9d3;--bg:#f7f7f2;--white:#fff;--radius:0;font-family:Arial,Helvetica,sans-serif;background-color:var(--bg);background-image:linear-gradient(#1111110c 1px,transparent 1px),linear-gradient(90deg,#1111110c 1px,transparent 1px);background-size:64px 64px}
body{background:transparent;color:var(--ink)}
h1,h2,h3,h4,.brand{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.055em}
h1{font-size:clamp(2.6rem,5.2vw,5.8rem);font-weight:500;line-height:.94;max-width:900px}
h2{font-weight:500}.eyebrow,.navlabel,.sectioneyebrow,.certificate-kicker{font-family:'SFMono-Regular',Consolas,monospace;letter-spacing:.13em}
#sidebar{width:270px;background:#111113;color:#f7f7f2;padding:30px 24px;border-right:1px solid #2e2e2e}
.workspace{margin-left:270px}.brand{display:block;font-size:1.35rem;line-height:1.05}.brandmark{width:100%;height:78px;margin-bottom:18px}.brandmark img{width:148px;height:74px;object-fit:contain;object-position:left center;filter:none}.brand small{color:#a9aaa4;text-transform:uppercase;letter-spacing:.14em;font:600 .63rem/1.4 'SFMono-Regular',Consolas,monospace;margin-top:8px}
.navlabel{color:#8d8e89;margin-top:48px}.navlink{border-radius:0;border-top:1px solid #303030;margin:0;padding:15px 4px;color:#d6d6d1}.navlink:last-child{border-bottom:1px solid #303030}.navlink.active{background:transparent;color:var(--lime)}.navlink.active:after{content:'→';margin-left:auto}.navlink:hover:not(.active){background:#202022;color:#fff}.navlink .count{border-radius:0}
.sideprogress{background:#1d1d1f;border:1px solid #353535;border-radius:0}.sideprogress .progress{background:#363638}.sideprogress .progress span{background:var(--lime)}
#topbar{height:74px;background:rgba(247,247,242,.92);backdrop-filter:blur(12px);border-color:#cfcfc8;padding:0 42px}.topright a{color:#111;font-weight:700;text-decoration:underline;text-underline-offset:4px}.avatar{border-radius:0;background:#111;color:var(--lime);border:0}
main{padding:58px 54px 70px}.pageheading{border-bottom:1px solid #bdbdb7;padding-bottom:36px;margin-bottom:32px}.headingcopy p{font-size:1.05rem;max-width:680px;color:#454644}.eyebrow{color:#30312f}.pill{border-radius:999px;background:transparent;border-color:#111}
.certificate-goal{grid-template-columns:minmax(0,1fr) minmax(220px,320px);background:#fbfbf7;color:#111;border:1px solid #bdbdb7;border-radius:0;padding:26px 30px}.certificate-goal p{color:#555650;max-width:640px}.certificate-goal .eyebrow{color:#555650}.certificate-goal:before{display:none}.goal-progress{border-left:1px solid #d1d1cb;padding:8px 0 8px 28px}.goal-progress-head{display:flex;justify-content:space-between;gap:16px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.goal-progress-head strong{font-size:1rem;letter-spacing:0}.goal-progress .progress{height:8px;margin:16px 0 10px;background:#e4e4dd}.goal-progress .progress span{background:#111}.goal-progress small{display:block;color:#666761}.certificate-goal.ready{background:#111;color:#fff;border-color:#111}.certificate-goal.ready p,.certificate-goal.ready .goal-progress small{color:#c9c9c2}.certificate-goal.ready .eyebrow{color:var(--lime)}.certificate-goal.ready .goal-progress{border-color:#444}.certificate-goal.ready .goal-progress .progress{background:#3b3b3b}.certificate-goal.ready .goal-progress .progress span{background:var(--lime)}
.continue{background:#111113;border-radius:0;min-height:300px;padding:38px}.continue h2{font-size:clamp(2rem,3vw,3.5rem);font-weight:500;line-height:1}.continue .eyebrow{color:var(--lime)}.continue p{color:#c7c7c1}.orbit{border-radius:0;border-color:#555;box-shadow:16px 16px 0 #242426}.orbit>span{border-radius:0;background:var(--lime);color:#111}
.btn{border-radius:999px;border-color:#111;background:transparent;color:#111;padding-inline:20px}.btn:hover{background:#111;color:#fff;border-color:#111}.btn.primary{background:#111;color:#fff;border-color:#111}.btn.primary:hover{background:var(--lime);color:#111}.btn.lime{background:var(--lime);border-color:var(--lime);color:#111}.btn.lime:hover{background:#fff;border-color:#fff;color:#111}
.module,.reference,.contentcard,.lessonnav,.term,.tool,.explorer,.codebox,.callout,.completebanner{border-radius:0;box-shadow:none}.module,.reference,.contentcard,.lessonnav,.term,.tool{border-color:#cfcfc8}.module{background:#fbfbf7}.modulehead{border-bottom:1px solid #e0e0da}.num,.num.blue,.num.orange,.num.purple{border-radius:0;background:#111;color:var(--lime)}.lessonlink:hover{background:#eeeee7}.reference.tinted{background:var(--lime);border-color:#111}.reference.tinted p{color:#242424}.largeicon{border-radius:0!important;background:#111!important;color:var(--lime)!important}
.progress{border-radius:0}.progress span{border-radius:0;background:#111}.sectioneyebrow span{border-radius:0;border-color:#111}.steps li:before{border-radius:0;background:#111;color:var(--lime)}.codebox{background:#f0f0ea;border-color:#c8c8c1}.codebar{background:#111;color:#fff}.codebox pre{color:#111}.callout{background:#e7e7df;color:#222;border-left:4px solid #111}.quizoption,.feedback,textarea,input[type=search],input[type=text],select{border-radius:0}.quizoption:has(input:checked){border-color:#111;background:#f5ff8a}.feedback{background:#f5ff8a;color:#111}
.certificate-paper,.certificate-border,.mini-certificate{border-radius:0}.certificate-goal.ready{background:#111}.seal{border-radius:0;background:#111;color:var(--lime);box-shadow:5px 5px 0 var(--lime)}
footer{border-color:#cfcfc8;color:#555;background:rgba(247,247,242,.84)}
#toast{border-radius:0;background:#111;color:#fff}.mode-toggle input,.checklist input,.quizoption input{accent-color:#111}
@media(max-width:1180px){#sidebar{width:230px}.workspace{margin-left:230px}main{padding:44px 32px}}
@media(max-width:850px){#sidebar{width:252px}.workspace{margin-left:0}#topbar{padding:0 20px}main{padding:36px 22px}.mobilemenu{color:#111}.certificate-goal{grid-template-columns:1fr}.goal-progress{border-left:0;border-top:1px solid #d1d1cb;padding:20px 0 0}}
@media(max-width:580px){h1{font-size:2.75rem}.pageheading{padding-bottom:26px}.continue{padding:28px 24px;min-height:0}main{padding:30px 17px}.certificate-goal{padding:22px 20px;gap:22px}.goal-progress{border-left:0;border-top:1px solid #d1d1cb;padding:20px 0 0}.certificate-goal.ready .goal-progress{border-color:#444}}
.course-share{position:fixed;right:24px;bottom:22px;z-index:70;display:flex;align-items:center;gap:10px;padding:10px 11px 10px 16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(20,60,50,.96);color:#fff;box-shadow:0 18px 55px rgba(18,42,34,.28);backdrop-filter:blur(14px)}.course-share__label{display:flex;flex-direction:column;line-height:1.2;margin-right:4px}.course-share__label strong{font:650 .78rem/1.25 Manrope,system-ui,sans-serif;letter-spacing:-.01em}.course-share__label small{color:#c4d8cc;font-size:.68rem;margin-top:3px}.course-share__button,.course-share__download{min-height:38px;border-radius:8px;padding:9px 13px;border:1px solid rgba(255,255,255,.24);font-size:.78rem;font-weight:650;line-height:1.2}.course-share__button{background:transparent;color:#fff}.course-share__button:hover{background:rgba(255,255,255,.1)}.course-share__download{display:inline-flex;align-items:center;background:var(--lime);border-color:var(--lime);color:var(--green)}.course-share__download:hover{background:#d5f8a8}@media(max-width:700px){.course-share{left:12px;right:12px;bottom:12px;justify-content:flex-end}.course-share__label{margin-right:auto}.course-share__button,.course-share__download{padding:9px 10px}}@media(max-width:470px){.course-share__label{display:none}.course-share__button,.course-share__download{flex:1;text-align:center;justify-content:center}}@media print{.course-share{display:none!important}}
.pathway-panel,.advanced-track,.certification-ladder{margin:0 0 30px}.pathway-panel{background:#111;color:#f7f7f2;padding:30px;border:1px solid #111}.pathway-panel p,.pathway-panel .eyebrow{color:#c8c8c1}.pathway-head{display:flex;justify-content:space-between;align-items:start;gap:25px}.pathway-grid,.cert-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#4b4b47;border:1px solid #4b4b47;margin-top:24px}.pathway-card,.cert-level-grid article{background:#1a1a18;padding:23px;display:flex;flex-direction:column;align-items:flex-start;min-height:235px}.pathway-card.selected{background:var(--lime);color:#111}.pathway-card.selected p,.pathway-card.selected .pathway-level{color:#333}.pathway-card h3,.cert-level-grid h3{font-size:1.2rem;margin:25px 0 8px}.pathway-card .btn{margin-top:auto}.pathway-card>a{font-size:.78rem;margin-top:13px;text-decoration:underline;text-underline-offset:4px}.pathway-level{font:600 .7rem/1 var(--mono);letter-spacing:.14em;color:var(--accent)}.placement{margin-top:22px;padding:24px;background:#f7f7f2;color:#111}.placement p{color:#555}.placement fieldset{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:16px 0}.placement legend{grid-column:1/-1}.advanced-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 25px;align-items:end;margin:32px 0 18px}.advanced-intro h2,.advanced-intro p{grid-column:1}.advanced-intro .pill{grid-column:2;grid-row:1/4}.advanced-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.advanced-lab{background:#fff;border:1px solid var(--line);padding:23px}.advanced-lab textarea{min-height:90px;margin-bottom:7px}.advanced-lab small{color:#65766b}.certification-ladder{margin-top:40px}.cert-level-grid{background:var(--line);border-color:var(--line)}.cert-level-grid article{background:#fff;color:var(--ink);min-height:215px}.cert-level-grid article p{font-size:.9rem}.cert-status{margin-top:auto;padding:7px 10px;background:#ecece7;font:600 .7rem var(--mono);letter-spacing:.05em}.cert-status.ready{background:var(--lime)}.capstone{margin-top:22px}.rubric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.rubric-grid label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);padding:12px}.rubric-grid input{width:18px;height:18px;accent-color:#111}.scenario-set{padding:25px;background:#fff;border:1px solid var(--line);margin:18px 0}.scenario-set fieldset{border-top:1px solid var(--line);padding-top:18px}.cert-actions{padding:22px;background:#edf2e8;margin-bottom:25px}.progression-certificate{display:none}.notehelp{line-height:1.6}@media(max-width:900px){.pathway-grid,.cert-level-grid{grid-template-columns:1fr}.pathway-card{min-height:190px}.advanced-grid{grid-template-columns:1fr}.advanced-intro{display:block}.advanced-intro .pill{margin-top:10px}}@media(max-width:620px){.pathway-panel{padding:22px 17px}.pathway-head{display:block}.pathway-head .btn{margin-top:14px}.placement fieldset,.rubric-grid{grid-template-columns:1fr}.course-share{z-index:90}}@media print{body[data-print-certificate] #sidebar,body[data-print-certificate] #topbar,body[data-print-certificate] footer,body[data-print-certificate] .course-share,body[data-print-certificate] #main>*:not(#certification-ladder),body[data-print-certificate] #certification-ladder>*{display:none!important}body[data-print-certificate] #certification-ladder{display:block!important;margin:0}body[data-print-certificate="applied"] #applied-certificate,body[data-print-certificate="builder"] #builder-certificate{display:block!important;width:10in;min-height:7.5in;margin:0 auto}.progression-certificate .certificate-border{min-height:7in}}
