.course-lock{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:auto;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(ellipse at 80% 18%,rgba(233,151,188,.63),transparent 58%),radial-gradient(ellipse at 5% 86%,rgba(167,157,231,.62),transparent 59%),linear-gradient(130deg,#fffaf4,#f9ded2 51%,#dce7f9);transition:opacity .46s ease,visibility 0s .46s}
.course-lock[hidden]{display:none}
.course-lock:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 87% 80%,rgba(255,255,255,.5),transparent 38%)}
.course-lock-card{position:relative;width:min(620px,100%);padding:clamp(28px,5vw,58px);border:1px solid rgba(255,255,255,.82);border-radius:30px;background:rgba(255,252,249,.76);box-shadow:0 28px 80px rgba(79,58,83,.17);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#29262b}
.course-lock-brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:750;color:#57505a}.course-lock-brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#2b282f;color:#fff;font-size:21px;font-weight:850}
.course-lock-kicker{margin:clamp(34px,7vh,64px) 0 13px;color:#a35662;font-size:14px;font-weight:800;letter-spacing:.08em}
.course-lock-card h1{margin:0;font-size:clamp(42px,5vw,72px);line-height:1.12;letter-spacing:-.07em;font-weight:850}.course-lock-card h1 em{font-style:normal;background:linear-gradient(98deg,#bd604f,#a45282 55%,#635ead);background-clip:text;-webkit-background-clip:text;color:transparent}
.course-lock-copy{margin:18px 0 34px;color:#676069;font-size:18px;line-height:1.55}.course-lock-card label{display:block;margin-bottom:10px;color:#3c353c;font-size:16px;font-weight:750}
.course-lock-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.course-lock-fields input{min-width:0;min-height:56px;padding:0 18px;border:1px solid rgba(117,91,108,.24);border-radius:14px;background:rgba(255,255,255,.8);color:#29262b;font-size:23px;font-weight:750;letter-spacing:.22em}.course-lock-fields input:focus{outline:3px solid rgba(166,90,128,.21);border-color:#b15f81}.course-lock-fields button{min-height:56px;padding:0 23px;border:0;border-radius:14px;background:linear-gradient(105deg,#bd695b,#a85885);color:#fff;font-size:17px;font-weight:780;white-space:nowrap}.course-lock-fields button:hover{filter:brightness(.95)}
.course-lock-error{min-height:24px;margin:12px 0 0;color:#b63845;font-size:15px;font-weight:700}.course-lock-card.is-error{animation:course-lock-shake .38s ease}@keyframes course-lock-shake{25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}}
.is-course-locked .app{visibility:hidden}.is-course-unlocking .course-lock{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:600px){.course-lock-card{padding:30px 22px;border-radius:22px}.course-lock-card h1{font-size:clamp(38px,10vw,55px)}.course-lock-copy{font-size:16px}.course-lock-fields{grid-template-columns:1fr}.course-lock-fields button{width:100%}}
@media(prefers-reduced-motion:reduce){.course-lock,.course-lock-card{transition:none!important;animation:none!important}}
