*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Nunito',system-ui,sans-serif;color:#082D59;background:#FFFCF7}
a{color:#082D59}a:hover{color:#B0165A}
h1,h2,h3,h4{font-family:'Fredoka','Nunito',system-ui,sans-serif;font-weight:600;letter-spacing:-0.01em}
img{max-width:100%}
summary{cursor:pointer}
button{font-family:inherit}
button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #9C20C9;outline-offset:3px}
button[disabled]{cursor:not-allowed;opacity:.55}
[hidden]{display:none!important}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 26px;border-radius:999px;border:none;font-size:17px;font-weight:800;text-decoration:none;cursor:pointer}
.btn-pink{background:#C0185F;color:#fff;box-shadow:0 4px 0 0 #7E0F40}.btn-pink:hover{color:#fff}
.btn-navy{background:#082D59;color:#fff}.btn-navy:hover{color:#fff}
.btn-teal{background:#007A7E;color:#fff}.btn-teal:hover{color:#fff}
.btn-outline{background:#fff;color:#082D59;border:2px solid #082D59}
.field{display:block;width:100%;min-height:52px;padding:12px 16px;border-radius:16px;border:2px solid #D5DFEC;font-family:inherit;font-size:17px;color:#082D59;background:#fff}
.field:focus{border-color:#007A7E}
.notice{margin:14px 0 0;padding:12px 16px;border-radius:14px;font-weight:700;line-height:1.5}
.notice-ok{background:#E6FAFB;color:#00575A}.notice-err{background:#FEEDF5;color:#7E0F40}.notice-info{background:#FFF6E8;color:#6B4100}
.submit-row{margin-top:24px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.submit-status:not(:empty){padding:8px 14px;border-radius:999px;background:#FFF6E8;color:#6B4100;font-weight:800}
.opt{display:block;width:100%;text-align:left;min-height:46px;padding:10px 14px;border-radius:14px;border:2px solid #D5DFEC;background:#fff;color:#082D59;font-size:17px;font-weight:700;line-height:1.45;cursor:pointer}
.opt[aria-pressed="true"]{border-color:#082D59;background:#E9EFF6}
.opt.right{border-color:#00BFC4;background:#E6FAFB}.opt.wrong{border-color:#C0185F;background:#FEEDF5}
.lesson-nav button{display:flex;gap:10px;align-items:center;width:100%;padding:9px 10px;border-radius:14px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:15px;font-weight:700;line-height:1.3;color:#082D59}
.lesson-nav button[aria-current="step"]{background:#E6FAFB}
.lesson-nav .dot{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#E9EFF6;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.lesson-nav .seen .dot{background:#00BFC4}.lesson-nav [aria-current="step"] .dot{background:#082D59;color:#fff}
.spinner{width:40px;height:40px;border-radius:50%;border:5px solid #E9EFF6;border-top-color:#00BFC4;animation:spin 1s linear infinite;margin:60px auto}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:860px){.lesson-nav{position:static!important;max-width:none!important}}
