:root{font-family:Segoe UI,Arial,sans-serif;color:#0b234b;background:#f5f7fb;--blue:#2563ff;--cyan:#00d1ff;--navy:#0b0f1a;--muted:#54667c;--line:#dae3ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#2563ff}button,input,select{font:inherit}button,.button{background:var(--blue);border:1px solid var(--blue);color:white;border-radius:7px;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:600;font-size:14px}button:disabled{opacity:.55;cursor:wait}.secondary{color:#0b234b;background:white;border-color:#c8d7ea}.danger{color:#9c2330;border-color:#e3a1aa;background:#fff}p{line-height:1.7;color:var(--muted)}header{padding:23px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:17px;text-decoration:none}.brand img{width:200px}.brand span{font-size:10px;letter-spacing:2px;border-left:1px solid #b4c6df;padding-left:17px;color:var(--muted)}nav{display:flex;gap:23px;font-size:13px}nav a{text-decoration:none;color:var(--navy)}main{max-width:1320px;margin:auto;padding:0 max(4vw,20px) 60px}#intro{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:65px 0 75px}h1{font-size:clamp(38px,5.1vw,72px);letter-spacing:-2.8px;line-height:1.03;margin:16px 0 25px;color:var(--navy)}h1 span{color:var(--blue)}h2{font-size:30px;line-height:1.18;letter-spacing:-.9px;margin:0 0 18px}h3{font-size:22px;letter-spacing:-.5px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--blue);font-weight:700}.fine{font-size:12px;color:var(--muted)}#intro>div>p{max-width:490px}#intro .button{margin:14px 0}.learning-card{background:var(--navy);padding:40px;border-radius:12px;color:white;box-shadow:18px 18px 0 #dfeafb}.learning-card .eyebrow{color:var(--cyan)}.learning-card ol{padding:0;list-style:none;counter-reset:step}.learning-card li{counter-increment:step;position:relative;padding:22px 0 22px 50px;border-bottom:1px solid #29415f}.learning-card li:before{content:'0'counter(step);position:absolute;left:0;top:25px;color:var(--cyan);font-size:12px}.learning-card b{display:block;font-size:24px}.learning-card span{font-size:13px;color:#a6b9d1;display:block;margin-top:5px}.learning-card>p:last-child{font-size:12px;color:#93abc9;margin-top:25px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:35px 0 25px}.section-title a{font-size:13px;font-weight:600}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{border:1px solid var(--line);border-radius:10px;padding:25px;background:white;display:flex;flex-direction:column;gap:8px}.card h3{margin:10px 0;font-size:20px}.card p{font-size:13px}.card button,.card a{margin-top:auto;align-self:flex-start}.pill{font-size:10px;letter-spacing:.4px;background:#eaf2ff;color:var(--blue);padding:6px 9px;border-radius:20px;align-self:flex-start}.registration{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:75px;background:#eaf1fb;padding:40px;border-radius:12px}.registration h2{font-size:36px}.registration form{background:white;padding:25px;border-radius:10px;border:1px solid var(--line)}label{display:block;font-size:13px;font-weight:600;margin-bottom:17px}input:not([type=checkbox]):not([type=radio]),select{display:block;width:100%;border:1px solid #bdcde2;border-radius:6px;padding:12px;background:white;color:var(--navy);margin-top:7px}label.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;line-height:1.6}.check input{margin-top:4px;flex-shrink:0}.check a{font-weight:600}.registration form>button{width:100%}.tabs,.actions{display:flex;gap:10px;flex-wrap:wrap}.tabs{margin-bottom:25px}.course-layout{display:grid;grid-template-columns:280px 1fr;gap:30px}.lesson-list{background:white;border:1px solid var(--line);border-radius:10px;padding:18px;align-self:start}.lesson-list button{display:block;text-align:left;width:100%;margin:8px 0;font-size:13px;background:#f5f7fb;color:var(--navy);border-color:var(--line)}.lesson-list .current{border-color:var(--blue);background:#edf4ff;color:var(--blue)}.lesson{background:white;border:1px solid var(--line);padding:35px;border-radius:10px}.lesson h2{font-size:31px}.lesson p,.lesson li{font-size:15px;line-height:1.8}.example{padding:22px;background:#eff5fe;border-left:3px solid var(--blue);margin:25px 0}.exercise{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.option{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid #cbd8e9;border-radius:7px;margin:10px 0;font-weight:400;line-height:1.55;cursor:pointer;background:white}.option:has(input:checked){border-color:var(--blue);background:#eef5ff}.option input{margin-top:5px}.feedback{padding:17px;border-radius:7px;background:#e8f5ed;color:#155b34;margin-top:15px}.feedback.wrong{background:#fff3d9;color:#745000}.exam-top{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--navy);color:white;padding:20px 25px;border-radius:10px}.exam-top p{color:#d9e5f5;margin:0}.timer{font-size:25px;font-variant-numeric:tabular-nums}.exam-question{background:white;border:1px solid var(--line);border-radius:10px;padding:30px;margin-top:20px}.exam-question h3{font-size:24px}.scenario-text{background:#f1f5fb;padding:20px;border-radius:7px}.exam-nav{display:flex;gap:10px;justify-content:space-between;margin-top:25px;flex-wrap:wrap}.result-score{font-size:68px;color:var(--blue);font-weight:700;line-height:1}.result{background:white;border:1px solid var(--line);border-radius:12px;padding:35px;margin:25px 0}.result h2{margin-top:20px}.progress{height:7px;background:#dde8f6;border-radius:10px;overflow:hidden;margin:20px 0}.progress>span{height:100%;display:block;background:var(--blue)}.admin-access{max-width:650px;margin:70px auto}.admin-access h1{font-size:57px}#admin>.section-title h1{font-size:40px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:20px;background:white}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:13px}th{background:#edf3fb;color:var(--muted);white-space:nowrap}td button{font-size:11px;padding:7px 10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:25px 0}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:23px}.stat strong{font-size:30px;color:var(--blue);display:block}.stat span{font-size:12px;color:var(--muted)}.notice{background:#fff3d9;border:1px solid #e5cf98;padding:15px 20px;color:#69501c;border-radius:8px;font-size:13px}#status{position:sticky;top:8px;z-index:20;background:#e8f5ed;color:#19562d;border:1px solid #a9d8b9;padding:14px 20px;border-radius:8px;margin-top:15px;font-size:14px}#status.error{background:#fff1ef;color:#982f20;border-color:#eeb9b1}footer{border-top:1px solid var(--line);background:white;padding:30px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;font-size:12px}footer>a{text-decoration:none;font-weight:700}footer small{width:100%;color:var(--muted);font-size:11px}dialog{max-width:680px;width:calc(100% - 30px);border:1px solid var(--line);border-radius:14px;padding:30px;max-height:88dvh;color:var(--navy)}dialog::backdrop{background:#0b0f1aaa}.dialog-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.dialog-heading h2{font-size:24px}.dialog-heading button{padding:4px 10px}.dialog-body p{font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:0}.exam-lead{max-width:800px;padding:35px;background:white;border:1px solid var(--line);border-radius:10px}.exam-lead ul{padding-left:20px;line-height:1.8;font-size:14px;color:var(--muted)}.muted{color:var(--muted)}.wide{grid-column:1/-1}@media(max-width:1000px){header{flex-wrap:wrap}.cards{grid-template-columns:repeat(2,1fr)}#intro{gap:40px}.registration{gap:35px;padding:30px}.course-layout{grid-template-columns:220px 1fr}.lesson{padding:25px}}@media(max-width:700px){header{padding:20px}.brand img{width:180px}header nav{width:100%;gap:20px;font-size:12px}.brand span{font-size:9px}main{padding-left:20px;padding-right:20px}#intro{grid-template-columns:1fr;padding:35px 0 50px;gap:25px}h1{font-size:53px}.learning-card{padding:27px;margin-right:12px;box-shadow:10px 10px 0 #dfeafb}.cards{grid-template-columns:1fr}.registration{grid-template-columns:1fr;padding:23px;gap:15px;margin-top:45px}.registration form{padding:19px}.section-title{align-items:flex-start;flex-direction:column;gap:15px}.course-layout{grid-template-columns:1fr}.lesson{padding:22px}.lesson-list{max-height:260px;overflow:auto}.exam-top{padding:17px}.exam-question{padding:22px}.exam-question h3{font-size:21px}.stats{grid-template-columns:1fr}.stats .stat{padding:17px}.stat strong{font-size:25px}.admin-access h1{font-size:44px}footer nav{flex-wrap:wrap;gap:15px}.exam-lead{padding:25px}.result{padding:25px}h2{font-size:26px}dialog{padding:22px}}

/* Public classroom entry; learning content appears after verified access. */
.access-only main{max-width:1160px;padding-bottom:48px}
.access-only .registration{margin-top:48px;padding:0;background:transparent;gap:65px;align-items:start}
.access-only .registration>div{padding-top:25px}
.access-only .registration h1{font-size:clamp(40px,4vw,59px);line-height:1.08;letter-spacing:-2px}
.access-only .access-description{font-size:18px;max-width:440px}
.access-only .access-guidance{font-size:14px;max-width:410px}
.access-request{border-top:1px solid var(--line);margin-top:32px;padding-top:25px}
.access-request h2{font-size:20px;letter-spacing:-.4px;margin-bottom:8px}
.access-request p{font-size:14px;margin-bottom:10px}
.access-request a{font-weight:650;font-size:18px;text-decoration:none;overflow-wrap:anywhere}
.access-request a span{padding-left:8px}
.access-only .registration form{box-shadow:0 15px 45px #0b234b09;padding:30px}
.registration form>h2{font-size:25px;margin-bottom:25px}
@media(max-width:700px){.access-only .registration{margin-top:25px;gap:28px}.access-only .registration>div{padding-top:0}.access-only .registration h1{font-size:42px}.access-only .registration form{padding:23px}.access-only .access-description{font-size:16px}.access-request{margin-top:22px;padding-top:20px}}
