*{box-sizing:border-box}body{margin:0;background:#f7f5fa;color:#261b36;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#60359a;text-underline-offset:4px}header{padding:22px 5%;background:white;border-bottom:1px solid #e7e0ef;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:850;font-size:29px;letter-spacing:3px;color:#492578;text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:5px;color:#927246}nav{display:flex;align-items:center;gap:22px;font-size:14px}nav form{margin:0}main{max-width:1440px;margin:auto;padding:42px 5%;min-height:72vh}h1,h2,h3{line-height:1.2;letter-spacing:-.025em}h1{font-size:38px;margin:12px 0 20px}h2{font-size:26px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:#805f30}.card{background:white;border:1px solid #e6deed;border-radius:18px;padding:30px;margin-bottom:24px;box-shadow:0 6px 25px #3a185205}.narrow{max-width:650px;margin:20px auto}.login{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;min-height:62vh}.welcome{padding:25px 0}.welcome h1{font-size:clamp(38px,4vw,62px);max-width:640px}.welcome>p:not(.eyebrow){max-width:510px;color:#6e617a;font-size:19px}.seal{margin-top:50px;padding-left:18px;border-left:4px solid #bd9150;letter-spacing:2px;font-size:12px;font-weight:700}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:36px}.hero h1{margin-bottom:8px}.hero p{margin:7px 0}.progressbox{min-width:260px;background:#ece6f5;padding:24px;border-radius:18px}.progressbox strong{font-size:32px;display:block;color:#60359a}progress{width:100%;height:10px;accent-color:#72449e}small{display:block;font-size:12px;color:#786c83}.classroom{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.player{aspect-ratio:16/9;background:#20132f;border-radius:18px;overflow:hidden}.player iframe{width:100%;height:100%;border:0}.lesson{margin-top:20px}.syllabus{padding:24px;max-height:850px;overflow:auto}.syllabus h3{margin:26px 0 12px;font-size:15px}.lessonlist a{display:flex;gap:12px;padding:12px;border-radius:10px;text-decoration:none;font-size:14px;margin:3px 0}.lessonlist a:hover{background:#f3eef9}.lessonlist a.current{background:#eee6f8;color:#492578;font-weight:700}.lessonlist span{width:18px;flex:none}label{display:block;font-weight:600;font-size:14px;margin:18px 0}input,textarea{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #cfc3db;border-radius:9px;font:inherit;background:#fff;color:#261b36}textarea{min-height:110px}button{border:0;border-radius:9px;padding:13px 20px;background:#60359a;color:white;font:600 14px/1.5 system-ui;cursor:pointer}button:hover{background:#492578}.link{background:transparent;color:#60359a;padding:0;font-weight:400}.secondary{background:#eee8f6;color:#492578;margin:4px;padding:8px 12px}.secondary:hover{background:#ded1ee}.complete{margin-top:24px}.notice{background:#e3f2e9;color:#204d35;border:1px solid #acd4bd;padding:18px;border-radius:10px;overflow-wrap:anywhere}.error{background:#fce8e7;color:#852920;padding:15px;border-radius:9px}.muted{font-size:13px;color:#75697f}summary{font-weight:700;cursor:pointer;font-size:20px}.gridform{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.gridform>button{align-self:end;margin:18px 0}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:14px 10px;border-bottom:1px solid #ebe5f1;vertical-align:top}th{font-size:12px;color:#75697f}.catalogrow{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eee;padding:12px 0}footer{text-align:center;color:#81728c;font-size:12px;padding:32px 20px;border-top:1px solid #e6deed}:focus-visible{outline:3px solid #bd9150;outline-offset:4px}@media(max-width:950px){.classroom{grid-template-columns:1fr}.syllabus{max-height:none}.login{gap:35px}.welcome h1{font-size:40px}}@media(max-width:650px){header{align-items:flex-start;padding:18px 6%;flex-direction:column}nav{gap:16px;flex-wrap:wrap}main{padding:24px 5%}.login{grid-template-columns:1fr}.welcome{padding:5px}.welcome h1{font-size:38px}.seal{margin-top:24px}.card{padding:23px}.hero{align-items:stretch;flex-direction:column}.progressbox{min-width:0}.gridform{grid-template-columns:1fr}h1{font-size:30px}.player{border-radius:12px}}