*{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,sans-serif;background-size:cover;background-attachment:fixed}h1{font-size:clamp(2rem,5vw,3.75rem);font-weight:900;line-height:1.05;color:var(--secondary)}h2{font-size:clamp(1.35rem,3vw,2rem);font-weight:800;color:var(--secondary)}h3{font-size:1.15rem;font-weight:800;color:var(--secondary)}a,button,input,textarea,select{transition:box-shadow .15s,border-color .15s,transform .15s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.skip-link{position:absolute;left:-9999px;top:1rem;background:white;padding:.75rem;z-index:50}.skip-link:focus{left:1rem}.nav-link,.text-link{color:var(--secondary);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px}.card,.mini-card,.hero-card,.auth-card{background:rgba(255,255,255,.96);border:1px solid #e2e8f0;border-radius:1.25rem;box-shadow:0 12px 35px rgba(23,54,93,.07)}.card{padding:1.5rem}.mini-card{padding:1.25rem;display:block}.hero-card{padding:clamp(1.5rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:linear-gradient(135deg,#fff,var(--accent))}.auth-card{max-width:34rem;margin:3rem auto;padding:clamp(1.5rem,5vw,3rem)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:900;color:var(--primary)}.meta,.helptext{font-size:.875rem;color:#64748b;margin-top:.75rem}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;padding:.65rem 1rem;font-weight:800;margin-top:.75rem}.primary-button{background:var(--primary);color:white}.primary-button:hover{filter:brightness(.9);transform:translateY(-1px)}.secondary-button{border:1px solid #cbd5e1;background:white;color:var(--secondary)}.form-stack{display:grid;gap:1rem}.form-stack label{display:block;font-weight:750;margin-bottom:.35rem}.form-stack input:not([type=checkbox]),.form-stack textarea,.form-stack select{width:100%;border:1px solid #94a3b8;border-radius:.75rem;padding:.7rem;background:white}.errorlist{color:#a1121a;font-weight:700;margin-top:.35rem}.status-pill{display:inline-flex;padding:.3rem .65rem;border-radius:999px;background:var(--accent);color:var(--secondary);font-weight:800;font-size:.78rem}.progress-ring{width:7rem;height:7rem;flex:0 0 7rem;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--progress)*1%),#e2e8f0 0);font-size:1.35rem;font-weight:900;color:var(--secondary);position:relative}.progress-ring:before{content:"";position:absolute;inset:.7rem;border-radius:50%;background:white}.progress-ring{isolation:isolate}.progress-ring:after{content:attr(style);display:none}.progress-ring{line-height:1}.progress-ring>*{z-index:1}.progress-ring{color:transparent}.progress-ring::first-line{color:var(--secondary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.empty-state{padding:2rem;border:2px dashed #cbd5e1;border-radius:1.25rem;color:#475569}.promo-card{padding:1.5rem;border-radius:1.25rem;background:var(--secondary);color:white}.promo-card h2{color:white}.video{width:100%;aspect-ratio:16/9;border:0;border-radius:1rem}.task-image{max-height:18rem;width:100%;object-fit:cover;border-radius:1rem;margin-bottom:1rem}.table-wrap{overflow-x:auto;background:white;border-radius:1rem;margin-top:1rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.9rem;border-bottom:1px solid #e2e8f0}[x-cloak]{display:none!important}@media(max-width:640px){.hero-card{align-items:flex-start;flex-direction:column}.progress-ring{width:6rem;height:6rem;flex-basis:6rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.registration-fee-dialog{position:fixed;inset:0;margin:auto;max-width:min(30rem,calc(100% - 2rem));border:0;border-radius:1.25rem;padding:0;box-shadow:0 24px 70px rgba(15,23,42,.3);z-index:50}.registration-fee-dialog::backdrop{background:rgba(15,23,42,.55)}.registration-fee-dialog__content{padding:clamp(1.5rem,5vw,2.5rem)}.registration-fee-dialog__content p{margin-top:1rem;font-size:1.05rem}.registration-fee-dialog__content form{text-align:right;margin-top:1rem}
