@import "https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/variable/woff2/SUIT-Variable.css";
:root{--ink:#1a2739;--muted:#596777;--line:#dce2e9;--green:#142f56;--navy:#142f56;--teal:#378779;--surface:#f3f5f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f8fa;margin:0;font-family:SUIT Variable,SUIT,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16px;line-height:1.65}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}h1,h2,h3{word-break:keep-all;line-height:1.35}h1{letter-spacing:-1.5px;margin:16px 0;font-size:40px}h2{letter-spacing:-.7px;margin:30px 0 18px;font-size:25px}h3{letter-spacing:-.5px;font-size:21px}p{color:var(--muted);font-size:15px;line-height:1.85}main{max-width:1320px;margin:auto;padding:0 40px}.portal-main{min-height:calc(100vh - 270px);padding-bottom:60px}.portal-skip{z-index:50;background:#fff;padding:12px 20px;position:fixed;top:-100px;left:20px}.portal-skip:focus{top:10px}.portal-utility{color:#596777;background:#eef1f5;justify-content:space-between;gap:20px;padding:9px max(40px,50vw - 620px);font-size:12px;display:flex}.portal-header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:32px;min-height:92px;padding:18px max(40px,50vw - 620px);display:flex}.brand{color:var(--navy);letter-spacing:-1px;white-space:nowrap;font-size:25px;font-weight:850}.brand span{letter-spacing:-.6px;font-size:19px}.portal-header nav{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-left:auto;font-size:14px;font-weight:650;display:flex}.portal-header nav a{padding:8px 0}.portal-header nav a:hover,.portal-header nav a[aria-current=page]{color:var(--teal)}.portal-header nav a[aria-current=page]{box-shadow:0 2px var(--teal)}.portal-session{flex-shrink:0}.smallbutton{border:1px solid var(--line);color:var(--navy);white-space:nowrap;background:#fff;border-radius:3px;justify-content:center;align-items:center;padding:10px 17px;font-size:13px;font-weight:650;display:inline-flex}.smallbutton:hover{border-color:var(--navy);background:#f3f6fa}.portal-footer{border-top:1px solid var(--line);color:var(--muted);background:#fff;justify-content:space-between;align-items:center;gap:25px;padding:28px max(40px,50vw - 620px);display:flex}.portal-footer b{color:var(--navy);font-size:19px;display:block}.portal-footer span{margin-top:3px;font-size:12px;display:block}.portal-footer nav{flex-wrap:wrap;gap:20px;font-size:12px;display:flex}.eyebrow{letter-spacing:1.7px;color:var(--teal);font-size:12px;font-weight:750}.classhero{border-bottom:1px solid var(--line);margin-bottom:28px;padding:44px 0 30px}.classhero h1{letter-spacing:-1.5px;font-size:38px}.classhero p{max-width:850px;margin-bottom:5px}.button,button{cursor:pointer;font-family:inherit}.button{background:var(--navy);border:1px solid var(--navy);color:#fff;border-radius:3px;justify-content:center;align-items:center;gap:24px;margin-top:18px;padding:14px 23px;font-size:15px;font-weight:650;line-height:1.5;display:inline-flex}.button:hover{background:#254974}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:5px;min-width:0;padding:30px}.card .eyebrow{margin-bottom:12px}.card h3{margin:0 0 14px;font-size:23px}.card p{font-size:15px}.card .button{margin-top:20px}.status{border-left:3px solid var(--teal);color:var(--navy);background:#eef3f8;margin:18px 0;padding:12px 16px;font-size:14px;font-weight:600}.account{max-width:620px;min-height:calc(100vh - 260px);padding:48px 24px 64px}.account-intro{text-align:center;margin-bottom:28px}.account-intro p{margin:7px 0;font-size:13px}.panel{border:1px solid var(--line);border-top:3px solid var(--navy);background:#fff;border-radius:4px;padding:36px}.panel h1{letter-spacing:-1px;margin:14px 0;font-size:31px}.panel h2{margin-top:0}.panel form{gap:22px;margin-top:28px;display:grid}.panel .button{width:100%;margin:0}.panel p a,.check a{color:var(--navy);text-underline-offset:4px;text-decoration:underline}.subtle{font-size:13px}.error{color:#9a3028;background:#fff2f0;border-left:3px solid #bd4d42;padding:15px 18px;font-size:14px}label{gap:8px;font-size:14px;font-weight:650;display:grid}input,textarea,select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #bdc8d5;border-radius:3px;padding:12px 14px}textarea{resize:vertical;line-height:1.8}input:focus,textarea:focus,select:focus{outline:2px solid var(--teal);outline-offset:2px}.check{align-items:flex-start;gap:10px;font-size:14px;font-weight:450;line-height:1.7;display:flex}.check input{width:18px;height:18px;accent-color:var(--navy);flex-shrink:0;margin:3px 0 0}.summary{background:var(--navy);color:#fff;border-radius:4px;flex-wrap:wrap;align-items:center;gap:16px 30px;margin-bottom:22px;padding:24px 28px;font-size:15px;display:flex}.summary b{margin-right:auto;font-size:17px}.summary span{color:#e5edf7;white-space:nowrap}.tablewrap{border:1px solid var(--line);background:#fff;border-radius:4px;margin-bottom:32px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:19px 22px}th{color:var(--navy);white-space:nowrap;background:#eef2f7;font-size:13px;font-weight:700}td{overflow-wrap:anywhere;line-height:1.8}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfd}.tablewrap>p{text-align:center;padding:28px}.review{flex-wrap:wrap;gap:8px;display:flex}.review button{color:var(--navy);white-space:nowrap;background:#f1f5fa;border:1px solid #ccd7e3;border-radius:3px;padding:9px 15px;font-size:13px;font-weight:650}.review button:hover{background:var(--navy);color:#fff}.learninggrid{grid-template-columns:minmax(0,2.4fr) minmax(260px,1fr);align-items:start;gap:28px;margin-bottom:30px;display:grid}.player{border:1px solid var(--line);background:#fff;border-radius:4px;padding:0;overflow:hidden}.player video{aspect-ratio:16/9;background:#0e1c2d;width:100%;display:block}.playerstatus{flex-wrap:wrap;align-items:center;gap:10px 20px;padding:22px 24px 0;font-size:14px;display:flex}.playerstatus b{color:var(--navy)}.playerstatus span{color:var(--muted);font-size:13px}.player>p{padding:0 24px 15px;font-size:13px;line-height:1.8}.lessonnav{border:1px solid var(--line);background:#fff;border-radius:4px;flex-direction:column;padding:10px;display:flex}.lessonnav a,.lessonnav span{overflow-wrap:anywhere;border-bottom:1px solid #edf0f4;padding:14px;font-size:14px;line-height:1.7}.lessonnav a:last-child,.lessonnav span:last-child{border-bottom:0}.lessonnav a:hover{background:#f1f5fa}.lessonnav .active{color:var(--navy);border-left:3px solid var(--teal);background:#eaf0f8;font-weight:750}.lessonnav span{color:#77818d}.assessmentform{gap:22px;margin-top:24px;display:grid}.assessmentform .button{justify-self:start;margin-top:0}.assessmentform p{margin:0;font-size:13px}.quiz{margin:26px 0}.quiz fieldset{border:1px solid var(--line);border-radius:3px;gap:15px;min-width:0;margin:0;padding:22px;display:grid}.quiz legend{padding:0 8px;font-size:16px;font-weight:700;line-height:1.7}.quiz .check{border-radius:3px;padding:7px 10px;font-size:15px}.quiz .check:has(input:checked){color:var(--navy);background:#edf3fa}.preline{white-space:pre-wrap;overflow-wrap:anywhere}aside{border-left:3px solid var(--teal);color:var(--muted);background:#edf2f8;margin:22px 0 32px;padding:20px 24px;font-size:14px;line-height:1.8}.right{margin-left:auto}@media (max-width:1100px){.portal-header{flex-wrap:wrap;gap:24px}.portal-header nav{border-top:1px solid var(--line);order:3;width:100%;margin-left:0;padding-top:10px}.portal-header>.smallbutton,.portal-session{margin-left:auto}.learninggrid{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr)}}@media (max-width:760px){main{padding-inline:20px}.portal-utility{padding:8px 20px;font-size:10px}.portal-utility span:last-child{display:none}.portal-header{gap:16px;padding:18px 20px 12px}.brand{font-size:23px}.brand span{font-size:16px}.portal-header nav{gap:8px 20px;font-size:13px}.portal-footer{flex-direction:column;align-items:start;padding:26px 20px}.portal-footer nav{gap:12px 18px}.classhero{margin-bottom:22px;padding:32px 0 24px}.classhero h1{letter-spacing:-1px;font-size:29px}.classhero p{font-size:14px}.cards,.learninggrid{grid-template-columns:1fr}.card{padding:22px}.card h3{font-size:21px}.card p{font-size:14px}.summary{gap:12px 20px;padding:22px;font-size:13px}.summary b{flex-basis:100%;font-size:16px}.panel{padding:26px 22px}.panel h1{font-size:28px}.account{padding:32px 20px 45px}.assessmentform .button{width:100%}.quiz fieldset{padding:17px 14px}.quiz legend{font-size:15px}.quiz .check{font-size:14px}th,td{min-width:90px;padding:14px 16px}table{font-size:13px}.playerstatus{padding:18px 18px 0}.player>p{padding:0 18px 12px}.lessonnav{max-height:420px;overflow-y:auto}.button{font-size:14px}h2{font-size:23px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.lab-details{grid-template-columns:170px minmax(0,1fr);gap:14px 24px;font-size:15px;display:grid}.lab-details dt{color:var(--muted)}.lab-details dd{overflow-wrap:anywhere;margin:0}.lab-links{flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0;display:flex}.lab-links .button{margin:0}.lab-secret{overflow-wrap:anywhere;background:#f2f7f5;border:1px solid #cfddd8;margin-top:24px;padding:20px}.lab-secret code{-webkit-user-select:all;user-select:all;font-size:14px}.lab-secret p{margin:8px 0}.portal-main>.card{margin-bottom:24px}button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:760px){.lab-details{grid-template-columns:1fr;gap:6px}.lab-details dd{margin-bottom:12px}}
