:root{font-family:Arial,Helvetica,sans-serif;color:#18262d;background:#f2f4f3;font-size:16px}*{box-sizing:border-box}body{margin:0}header{height:96px;background:#10191d;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 6vw}a{color:inherit}.brand{text-decoration:none;display:flex;align-items:center;gap:16px;letter-spacing:4px;font-weight:700;font-size:22px}.brand img{width:58px;height:58px;object-fit:contain}.sub{display:block;font-size:10px;letter-spacing:2px;margin-top:8px;color:#bfcbc9}nav a{color:#dbe5e2;font-size:14px}main{max-width:1220px;margin:0 auto;padding:56px 28px;min-height:calc(100vh - 160px)}footer{padding:24px;text-align:center;color:#61706f;font-size:12px}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:bold;color:#28736a;margin:0 0 20px}h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1.8px;line-height:1.08;margin:0 0 24px}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 12px}p{line-height:1.65;color:#5a696c}.lead{font-size:18px;max-width:520px}.card{background:white;border:1px solid #dbe2df;border-radius:12px;padding:32px;box-shadow:0 12px 32px #10271b05}label{display:block;font-size:14px;font-weight:600;margin:20px 0 8px}input,select{width:100%;padding:14px;border:1px solid #b7c5c1;border-radius:6px;font:inherit;background:white;color:#18262d}input:focus,select:focus{outline:3px solid #b5ded5;outline-offset:1px}button,.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border:0;border-radius:6px;background:#174f48;color:white;font:600 15px Arial;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#0c3933}button:disabled{opacity:.6;cursor:wait}.secondary{background:white;color:#243633;border:1px solid #bdccc6}.secondary:hover{background:#e6efeb}.wide{width:100%;margin-top:24px}.small{font-size:12px;line-height:1.6}.error{color:#a22323;background:#fff0ef;padding:12px;border-radius:6px}.success{color:#175b40;background:#e5f6ed;padding:12px;border-radius:6px}.facts{display:flex;gap:24px;margin:34px 0;border-top:1px solid #ccd7d1;border-bottom:1px solid #ccd7d1;padding:22px 0}.facts strong{display:block;font-size:20px}.facts span{display:block;font-size:12px;color:#61716c;margin-top:7px}.steps{padding-left:22px;line-height:2;color:#415954}.login{max-width:450px;margin:20px auto}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.toolbar h1{font-size:38px;margin-bottom:8px}.toolbar p{margin:0}.buttons{display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.stat{background:white;border:1px solid #dae3df;border-radius:8px;padding:20px}.stat b{display:block;font-size:32px;margin-bottom:8px}.stat span{color:#697871;font-size:13px}.filters{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;margin:24px 0}.filters label{margin-top:0}.table-wrap{overflow:auto;border:1px solid #d5dfda;border-radius:8px;background:white}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;background:#e7eeea;color:#4d6057;padding:17px 14px}td{padding:18px 14px;border-top:1px solid #e8edea;font-size:14px}.badge{display:inline-block;border-radius:30px;background:#edf2ef;padding:6px 10px;font-size:12px}.passed{background:#dff4e7;color:#215b3f}.retry{background:#fff0d7;color:#785418}.empty{text-align:center;padding:50px;white-space:normal;color:#687a70}.coursebar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.coursebar p{margin:3px 0}.courseframe{width:100%;height:calc(100dvh - 220px);min-height:560px;background:white;border:1px solid #d8e1dc;border-radius:8px}.course-main{max-width:1600px;padding:22px}.save-status{font-size:13px;color:#42655a}.save-status.error{color:#a22323}.notice{padding:18px;border-left:3px solid #23776a;background:#e7efeb}.hidden{display:none!important}@media(max-width:760px){header{height:78px;padding:0 22px}.brand{font-size:18px}.brand img{width:45px;height:45px}main{padding:32px 20px}.intro{grid-template-columns:1fr;gap:22px}.facts{margin:24px 0}.card{padding:24px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.filters{grid-template-columns:1fr}.filters button{width:100%}.toolbar h1{font-size:32px}.course-main{padding:14px}.courseframe{height:calc(100dvh - 260px);min-height:480px}.coursebar .buttons button{padding:10px}.coursebar{font-size:13px}}

/* Keep the lesson player fitted to the viewport, including at browser zoom. */
body.course-layout{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.course-layout>header{height:72px;flex:0 0 72px;padding:0 24px}
.course-layout .brand img{width:46px;height:46px}
.course-layout .brand{font-size:19px;gap:12px}
.course-layout .sub{font-size:9px;margin-top:5px}
.course-layout main.course-main{width:100%;max-width:none;margin:0;padding:12px 20px 16px;flex:1;min-height:0;display:flex;flex-direction:column}
.course-layout .coursebar{flex-shrink:0;gap:12px;margin-bottom:10px}
.course-layout .coursebar .buttons button{padding:10px 16px}
.course-layout .courseframe{display:block;flex:1;width:100%;height:100%;min-height:0}
.course-layout #result{flex-shrink:0;margin:0 0 10px;font-size:14px;padding:10px 14px}
.course-layout>footer{display:none}
@media(max-width:760px){
 .course-layout>header{height:60px;flex-basis:60px;padding:0 14px}
 .course-layout .brand img{width:38px;height:38px}
 .course-layout .brand{font-size:16px;gap:10px}
 .course-layout main.course-main{padding:10px 10px 12px}
 .course-layout .coursebar{gap:8px}
 .course-layout .coursebar .buttons{gap:8px}
 .course-layout .coursebar .buttons button{padding:9px 12px;font-size:13px}
}
