@keyframes completionBurst{0%{filter:brightness();transform:scaleX(1);box-shadow:0 0 #fff0}15%{filter:brightness(1.8);transform:scaleX(1.02);box-shadow:0 0 20px #fffc}30%{filter:brightness(1.3);transform:scaleX(1);box-shadow:0 0 30px}50%{filter:brightness(1.5);box-shadow:0 0 20px}70%{filter:brightness(1.2);box-shadow:0 0 10px}to{filter:brightness();transform:scaleX(1);box-shadow:0 0 #0000}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes syncShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar-fill.completed{animation:.8s ease-out 1.5s both completionBurst;position:relative;overflow:hidden}.progress-bar-fill.completed:after{content:"";background:linear-gradient(90deg,#0000 0%,#fffffff2 50%,#0000 100%);animation:.5s ease-out 1.5s both shimmer;position:absolute;inset:0}.all-complete .progress-bar-fill.completed{animation:.8s ease-out 1.5s both completionBurst}.all-complete .progress-bar-fill.completed:before{content:"";z-index:1;background:linear-gradient(90deg,#0000 0%,#fffffff2 50%,#0000 100%);animation:.4s ease-out both syncShimmer;position:absolute;inset:0}.all-complete #instruction-progress .progress-bar-fill.completed:before{animation-delay:2.5s}.all-complete #observation-progress .progress-bar-fill.completed:before{animation-delay:2.6s}.all-complete #practice-progress .progress-bar-fill.completed:before{animation-delay:2.7s}.all-complete #night-practice-progress .progress-bar-fill.completed:before{animation-delay:2.8s}.all-complete #overall-progress .progress-bar-fill.completed:before{animation-delay:2.9s}.record-drive-button:before{content:"";background:radial-gradient(circle,#fff3,#fff0 70%);width:200%;height:200%;transition:transform .6s;position:absolute;top:-50%;left:-50%;transform:rotate(-30deg)}.record-drive-button:hover:before{transform:rotate(-30deg)translate(50%)}
.step-modal{width:100%;height:100vh;box-shadow:none;top:0;left:0;background-color:var(--color-bg-lighter);overscroll-behavior:contain;border:none;border-radius:0;max-width:100%;max-height:100vh;margin:0;padding:0;position:fixed;inset:0;overflow:hidden auto;transform:translate(0,0)}.step-modal.opening{animation:.35s cubic-bezier(.22,1,.36,1) both modalOpen}.step-modal:focus{outline:none}@keyframes modalOpen{0%{opacity:0}to{opacity:1}}.step-modal.next-step{animation:none!important}.step-modal.next-step:not(.exiting) .modal-content-wrapper{will-change:transform,opacity;animation:.45s cubic-bezier(.22,1,.36,1) both stepModalSlideIn}@keyframes stepModalSlideIn{0%{opacity:.45;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.step-modal.exiting .modal-content-wrapper{will-change:transform,opacity;animation:.2s ease-in both stepModalFadeOut}@keyframes stepModalFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:.45;transform:translateY(6px)}}.step-modal.final-step-complete{animation:.6s ease-out forwards finalDismiss!important}@keyframes finalDismiss{0%{opacity:1}to{opacity:0}}.modal-content-wrapper{background-color:#fff;border-radius:8px;flex-direction:column;max-width:800px;min-height:calc(100vh - 80px);margin:40px auto;display:flex;overflow:hidden;box-shadow:0 4px 15px #00000026}.close-dialog{font-size:var(--text-2xl);cursor:pointer;color:#333;float:right;z-index:10;background-color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:-55px;margin-right:15px;display:flex;position:sticky;top:15px;box-shadow:0 2px 8px #0003}.close-dialog:hover{color:#000;background-color:#f5f5f5}.close-dialog:focus,.close-dialog:focus-visible{outline:none}.modal-header{box-sizing:border-box;background-color:#0000;border-bottom:none;justify-content:flex-start;align-items:center;padding:20px 35px;display:flex}.modal-header-content{flex-direction:column;gap:5px;width:100%;padding-top:20px;display:flex}.step-info-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.step-number-container{font-size:var(--text-lg);color:#000;font-weight:600}.modal-header h1{font-size:var(--text-hero);color:#000;margin:0;padding-bottom:15px;font-weight:700;position:relative}.modal-header h1:after{content:"";background-color:#000;width:80px;height:3px;position:absolute;bottom:0;left:2px}.status-pill{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 10px;font-weight:600;display:inline-block;position:relative;overflow:hidden}.status-pill.completed{background-color:var(--color-status-completed-bg);color:var(--color-status-completed-text)}.status-pill.in-progress{background-color:var(--color-status-progress-bg);color:var(--color-status-progress-text)}.status-pill.preview{background-color:var(--color-status-preview-bg);color:var(--color-status-preview-text)}.status-pill.animating{color:#0000;background-color:#0000}.status-pill.animating:before{content:"";background-color:var(--color-status-completed-bg);width:0%;height:100%;animation:.6s ease-out forwards pillWipe;position:absolute;top:0;left:0}@keyframes pillWipe{0%{width:0%}to{width:100%}}.step-content{box-sizing:border-box;font-size:var(--text-md);color:#1f2937;letter-spacing:.01em;flex-grow:1;padding:6px 35px 2rem;line-height:1.7}@layer base{.step-content p{margin:0 0 1rem}.step-content p:last-child{margin-bottom:0}.step-content h2,.step-content h3,.step-content h4{margin:1.5rem 0 .75rem}.step-content ul{margin:0 0 1rem;padding-left:1.5rem;list-style-type:disc}.step-content ol{margin:0 0 1rem;padding-left:1.5rem;list-style-type:decimal}.step-content li{margin-bottom:.4rem}.step-content a{color:var(--color-link);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.step-content a:hover{color:var(--color-link-hover)}.step-content strong{font-weight:650}.step-content figure{margin:0 0 1rem}}.step-content img{border-radius:12px}.modal-footer{box-sizing:border-box;border-top:1px solid #eee;padding:20px 35px}.modal-header,.step-content,.modal-footer{padding-left:3rem;padding-right:3rem}@media (max-width:800px){.modal-content-wrapper{box-shadow:none;border-radius:0;min-height:100vh;margin-top:0;margin-bottom:0}.modal-header{padding:10px 15px 20px}.modal-header-content{padding-top:10px}.step-content,.modal-footer{padding-left:15px;padding-right:15px}}#step-modal-5.actual-quiz-mode-active .modal-content-wrapper{box-shadow:none;background:0 0}#step-modal-5.actual-quiz-mode-active .close-dialog,#step-modal-5.actual-quiz-mode-active .modal-header{display:none}#step-modal-5.actual-quiz-mode-active .step-content{padding:0}#step-modal-5.actual-quiz-mode-active .wp-quiz-container{border-radius:0;margin:0}#step-modal-5.actual-quiz-mode-active>.modal-content-wrapper>.modal-header-buttons{display:none}
