:root{--cert-settle:linear(0,0.044,0.143,0.263,0.383,0.494,0.592,0.675,0.743,0.799,0.844,0.88,0.907,0.929,0.946,0.959,0.969,0.977,0.982,0.987,1);--cert-settle-ms:370ms;--cert-press-ms:100ms}.cert-btn{transition:transform var(--cert-press-ms) ease-out,box-shadow var(--cert-press-ms) ease-out,filter var(--cert-press-ms) ease-out}.cert-btn:hover:not(:disabled){filter:brightness(1.06)}.cert-btn:active:not(:disabled){transform:scale(.97);box-shadow:0 1px 4px hsl(var(--primary)/.3)!important}.cert-btn:disabled{cursor:not-allowed;opacity:.55}.cert-btn:focus-visible,.cert-option:focus-within{outline:2px solid hsl(var(--primary));outline-offset:2px}.cert-field{transition:border-color .14s ease,box-shadow .14s ease}.cert-field:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.14)}.cert-option{cursor:pointer;transition:border-color .14s ease,background .14s ease,transform var(--cert-press-ms) ease-out}.cert-option:hover{border-color:hsl(var(--primary)/.55);background:hsl(var(--primary-soft)/.5)}.cert-option:active{transform:scale(.99)}.cert-option[data-selected=true]{border-color:hsl(var(--primary));background:hsl(var(--primary-soft)/.75)}.cert-step{animation:cert-enter var(--cert-settle-ms) var(--cert-settle) both}@keyframes cert-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cert-progress{position:relative;overflow:hidden;border-radius:999px;background:hsl(var(--primary-soft))}.cert-progress:after{content:"";position:absolute;inset:0;width:40%;border-radius:inherit;background:hsl(var(--primary));animation:cert-sweep 1.5s ease-in-out infinite}@keyframes cert-sweep{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}.cert-spin{animation:cert-rotate 1s linear infinite}@keyframes cert-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.cert-step{animation:cert-fade .2s ease both}@keyframes cert-fade{0%{opacity:0}to{opacity:1}}.cert-btn:active:not(:disabled),.cert-option:active{transform:none}.cert-progress:after{width:100%;animation:cert-pulse 1.8s ease-in-out infinite}@keyframes cert-pulse{0%,to{opacity:.35}50%{opacity:.8}}.cert-spin{animation-duration:2.4s}}@media (prefers-contrast:more){.cert-card,.cert-field,.cert-option{border-color:hsl(var(--foreground)/.65)!important}}@media (max-width:520px){.cert-form-row{flex-direction:column;align-items:stretch}.cert-form-row .cert-btn{width:100%;justify-content:center}}