:root { --access-night:#031022; --access-panel:rgba(5,22,44,.96); --access-line:rgba(174,222,255,.24); --access-gold:#ffc45c; --access-cyan:#56d4ec; --access-text:#f5fbff; --access-muted:rgba(225,240,250,.72); }
html.course-locked { overflow: hidden; }
html.course-locked body > :not(.course-access-gate) { pointer-events: none; user-select: none; }
.course-access-gate { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; min-height: 100svh; padding: 24px; direction: rtl; color: var(--access-text); font-family: "Segoe UI",Tahoma,Arial,sans-serif; background: linear-gradient(135deg,rgba(2,11,25,.82),rgba(3,16,34,.94)),url("assets/decision-cinematic.png") center/cover no-repeat; }
.course-access-gate::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 24%,rgba(86,212,236,.13),transparent 34%),linear-gradient(180deg,transparent,rgba(1,8,20,.5)); }
.course-access-card { position:relative; width:min(470px,100%); padding:32px; border:1px solid var(--access-line); border-radius:22px; background:var(--access-panel); box-shadow:0 28px 100px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,255,255,.025); text-align:center; }
.course-access-mark { display:grid; place-items:center; width:76px; height:76px; margin:0 auto 20px; border:1px solid rgba(255,196,92,.56); border-radius:20px; background:rgba(255,196,92,.08); color:var(--access-gold); box-shadow:0 0 34px rgba(255,174,45,.18); }
.course-access-mark svg { width:40px; height:40px; fill:currentColor; }
.course-access-kicker { margin:0; color:var(--access-cyan); font-size:.72rem; font-weight:850; }
.course-access-card h1 { margin:7px 0 10px; color:var(--access-gold); font-size:clamp(1.8rem,6vw,2.5rem); line-height:1.18; }
.course-access-copy { max-width:38ch; margin:0 auto 24px; color:var(--access-muted); font-size:.9rem; line-height:1.75; }
.course-access-form { display:grid; gap:12px; text-align:start; }
.course-access-form label { color:var(--access-text); font-size:.78rem; font-weight:800; }
.course-access-input-wrap { position:relative; display:grid; grid-template-columns:1fr 48px; overflow:hidden; border:1px solid var(--access-line); border-radius:14px; background:rgba(255,255,255,.055); transition:border-color 150ms ease,box-shadow 150ms ease; }
.course-access-input-wrap:focus-within { border-color:var(--access-cyan); box-shadow:0 0 0 3px rgba(86,212,236,.13); }
.course-access-input-wrap input { width:100%; min-height:52px; padding:0 14px; border:0; outline:0; background:transparent; color:var(--access-text); font:inherit; direction:ltr; text-align:left; }
.course-access-input-wrap button { display:grid; place-items:center; min-width:48px; border:0; border-inline-start:1px solid var(--access-line); background:rgba(255,255,255,.04); color:var(--access-muted); cursor:pointer; font-size:1rem; }
.course-access-submit { min-height:52px; margin-top:2px; border:0; border-radius:14px; background:var(--access-gold); color:#07162a; cursor:pointer; font-weight:900; box-shadow:0 10px 28px rgba(255,161,35,.22); transition:transform 140ms ease,filter 140ms ease; }
.course-access-submit:hover { transform:translateY(-2px); filter:brightness(1.06); }
.course-access-submit:disabled { cursor:wait; opacity:.7; transform:none; }
.course-access-error { min-height:22px; margin:0; color:#ff9b92; font-size:.76rem; text-align:center; }
.course-access-note { margin:18px 0 0; color:rgba(225,240,250,.48); font-size:.64rem; line-height:1.6; }
.course-access-card.is-error { animation:access-shake 260ms ease; }
@keyframes access-shake { 25%{transform:translateX(6px)} 50%{transform:translateX(-6px)} 75%{transform:translateX(3px)} }
@media (max-width:520px) { .course-access-gate{padding:14px}.course-access-card{padding:26px 18px;border-radius:18px}.course-access-mark{width:64px;height:64px;border-radius:17px}.course-access-copy{font-size:.82rem} }
@media (prefers-reduced-motion:reduce) { .course-access-card,.course-access-submit{animation:none!important;transition:none!important} }

