@keyframes clFreeFadeIn { from { opacity: 0; } to { opacity: 1; } }
            @keyframes clFreeSlideUp { from { transform: translateY(30px) scale(.97); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
            @keyframes clFreePulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
            @keyframes clFreeShake { 0%,100% { transform: translateX(0); } 20% { transform: translateX(-8px); } 40% { transform: translateX(8px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(4px); } }
            @keyframes clFreeShimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
            @keyframes clFreeConfetti { 0% { transform: translateY(0) rotate(0deg); opacity: 1; } 100% { transform: translateY(100vh) rotate(720deg); opacity: 0; } }
            .cl-free-student-root { height: 100vh; height: 100dvh; display:flex; flex-direction:column; background:var(--cl-color-bgLight); overflow:hidden; }
            .cl-free-option { transition:all .15s ease; border:2px solid var(--cl-color-primaryBorder); background:white; padding:14px 18px; border-radius:14px; font-size:16px; font-weight:700; color:var(--cl-color-textDark); cursor:pointer; display:flex; align-items:center; gap:12px; text-align:left; }
            .cl-free-option:hover { background:var(--cl-color-primaryLight); border-color:var(--cl-color-primary); transform:translateY(-2px); }
            .cl-free-option.selected { background:var(--cl-color-primaryLight); border-color:var(--cl-color-primary); color:var(--cl-color-primaryDark); }
            .cl-free-option.correct { background:var(--cl-color-successBg); border-color:var(--cl-color-success); color:var(--cl-color-successDark); }
            .cl-free-option.incorrect { background:var(--cl-color-dangerBg); border-color:var(--cl-color-danger); color:var(--cl-color-dangerDark); animation:clFreeShake .4s ease; }
            .cl-free-btn { border:none; border-radius:14px; font-weight:800; font-size:16px; padding:12px 26px; cursor:pointer; transition:all .15s; }
            .cl-free-btn:disabled { opacity:.5; cursor:not-allowed; }
            .cl-free-btn.primary { background:linear-gradient(135deg,var(--cl-color-primary) 0%,var(--cl-color-secondary) 100%); color:white; box-shadow:0 4px 0 var(--cl-color-primaryDark); }
            .cl-free-btn.ghost { background:white; color:var(--cl-color-textMedium); border:2px solid var(--cl-color-primaryBorder); }
