.course-enroll-button{cursor:pointer;background-color:var(--color-red);color:#fff;border:none;border-radius:6px;padding:12px 24px;font-weight:600;transition:background-color .2s;display:inline-block}.course-enroll-button:hover{background-color:var(--color-red-second)}.course-enroll-button:focus{outline:none}.course-enroll-button:focus-visible{outline:2px solid var(--color-red-second);outline-offset:2px}.course-enroll-button:disabled{opacity:.75;cursor:not-allowed}.course-enroll-error{color:var(--color-red-second);margin-top:10px;font-size:.9rem}
.auth-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;background:#1414188f;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}@supports ((-moz-appearance:none)){.auth-modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}.auth-modal-content{background:var(--color-white);border:1px solid var(--color-light-gray);border-radius:20px;width:100%;max-width:640px;padding:36px;position:relative;overflow:hidden;box-shadow:0 18px 45px #00000038}.auth-modal-content:before,.auth-modal-content:after{content:"";pointer-events:none;z-index:0;position:absolute}.auth-modal-content:before{clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:linear-gradient(135deg,#f34c611f 0%,#f34c6105 100%);width:220px;height:220px;top:-110px;right:-70px}.auth-modal-content:after{clip-path:polygon(0 0,100% 20%,80% 100%,10% 85%);background:linear-gradient(140deg,#04aa6d24 0%,#04aa6d05 100%);width:180px;height:180px;bottom:-70px;left:-60px}.auth-modal-content>*{z-index:1;position:relative}.auth-modal-badge{background:var(--color-gray);color:var(--color-text-black);border-radius:999px;margin-bottom:14px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-block}.auth-modal-content h3{color:var(--color-text-black);margin-bottom:12px;font-size:1.7rem;line-height:1.3}.auth-modal-content p{color:var(--color-text-light-black);margin-bottom:26px;font-size:1.05rem;line-height:1.6}.auth-modal-actions{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.auth-modal-provider-actions{flex-wrap:wrap;gap:12px;display:flex}.auth-modal-cancel,.auth-modal-provider{cursor:pointer;border:none;border-radius:8px;padding:12px 16px;font-weight:600;transition:transform .2s,background-color .2s,opacity .2s}.auth-modal-cancel{color:var(--color-text-black);background:#f3f3f3}.auth-modal-cancel:hover{background:#eaeaea}.auth-modal-provider--google{background:var(--color-red);color:var(--color-white)}.auth-modal-provider--google:hover{background:var(--color-red-second);transform:translateY(-1px)}.auth-modal-provider--github{color:var(--color-white);background:#111827}.auth-modal-provider--github:hover{background:#1f2937;transform:translateY(-1px)}@media (max-width:768px){.auth-modal-overlay{align-items:flex-end;padding:14px}.auth-modal-content{border-radius:18px 18px 12px 12px;max-width:100%;padding:24px 18px}.auth-modal-content:before{width:150px;height:150px;top:-80px;right:-50px}.auth-modal-content:after{width:120px;height:120px;bottom:-50px;left:-45px}.auth-modal-content h3{font-size:1.3rem}.auth-modal-actions{flex-direction:column-reverse;align-items:stretch}.auth-modal-provider-actions{flex-direction:column}.auth-modal-cancel,.auth-modal-provider{text-align:center;width:100%}}
.feedback-modal-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-modal-close{cursor:pointer;color:#666;z-index:10;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.feedback-modal-close:hover{color:#333;background:#f0f0f0}.feedback-form{padding:32px}.feedback-form-title{color:#333;margin:0 0 8px;font-size:1.5rem;font-weight:700}.feedback-form-subtitle{color:#666;margin:0 0 24px;font-size:.95rem}.feedback-section{margin-bottom:24px}.feedback-section-label{color:#333;margin-bottom:12px;font-size:.95rem;font-weight:600;display:block}.feedback-section-sublabel{color:#999;margin:0 0 16px;font-size:.85rem}.nps-container{background:#f8f9fa;border-radius:8px;padding:16px}.nps-slider-wrapper{margin-bottom:16px}.nps-slider{-webkit-appearance:none;background:linear-gradient(90deg,#e74c3c 0%,#f39c12 50%,#2ecc71 100%);border-radius:3px;outline:none;width:100%;height:6px}.nps-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 4px #0000001a}.nps-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 4px #0000001a}.nps-labels{color:#666;justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.nps-score{color:#667eea;font-size:1.25rem;font-weight:700}.feedback-options{flex-direction:column;gap:12px;display:flex}.feedback-option{cursor:pointer;border:1px solid #e0e0e0;border-radius:6px;align-items:center;padding:12px;transition:all .2s;display:flex}.feedback-option:hover{background:#f8f9fa;border-color:#667eea}.feedback-option input[type=radio]{cursor:pointer;width:18px;height:18px;margin:0 12px 0 0}.feedback-option-label{cursor:pointer;color:#333;flex:1;font-size:.95rem}.feedback-option input[type=radio]:checked+.feedback-option-label{color:#667eea;font-weight:600}.feedback-textarea{resize:vertical;border:1px solid #e0e0e0;border-radius:6px;width:100%;padding:12px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.feedback-textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.feedback-char-count{color:#999;text-align:right;margin-top:6px;font-size:.8rem;display:block}.feedback-message{border-radius:6px;margin-bottom:16px;padding:12px;font-size:.9rem;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.feedback-message-error{color:#c33;background:#fee;border:1px solid #fcc}.feedback-message-success{color:#3c3;background:#efe;border:1px solid #cfc}.feedback-actions{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;display:flex}.feedback-button{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:10px 24px;font-size:.95rem;font-weight:600;transition:all .2s}.feedback-button-primary{color:#fff;background:#667eea}.feedback-button-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.feedback-button-primary:disabled{opacity:.6;cursor:not-allowed}.feedback-button-secondary{color:#333;background:#f0f0f0}.feedback-button-secondary:hover:not(:disabled){background:#e0e0e0}.feedback-button-secondary:disabled{opacity:.6;cursor:not-allowed}.feedback-question-comment{background:#f8f9fa;border-left:3px solid #f39c12;border-radius:4px;margin-top:12px;padding:12px;animation:.2s ease-out slideDown}.feedback-question-comment-label{color:#f39c12;margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.feedback-question-textarea{resize:vertical;background:#fff;border:1px solid #e0e0e0;border-radius:4px;width:100%;padding:10px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.feedback-question-textarea:focus{border-color:#f39c12;outline:none;box-shadow:0 0 0 3px #f39c121a}.feedback-question-textarea+.feedback-char-count{margin-top:4px;font-size:.75rem}@media (max-width:640px){.feedback-modal{border-radius:0;max-height:100%}.feedback-form{padding:24px}.feedback-form-title{font-size:1.25rem}.feedback-actions{flex-direction:column-reverse}.feedback-button{width:100%}}
.course-feedback-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin:24px 0;padding:20px;animation:.3s ease-out slideIn;display:flex;box-shadow:0 2px 8px #00000014}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feedback-card-content{flex:1;align-items:flex-start;gap:16px;min-width:0;display:flex}.feedback-card-icon{flex-shrink:0;font-size:32px}.feedback-card-text{color:#1a1a1a;flex:1}.feedback-card-title{margin:0 0 4px;font-size:1.125rem;font-weight:600}.feedback-card-description{opacity:.95;margin:0;font-size:.9rem;line-height:1.4}.feedback-card-button{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:8px;flex-shrink:0;padding:10px 24px;font-size:.95rem;font-weight:600;transition:all .2s}.feedback-card-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.feedback-card-button:active{transform:translateY(0)}.feedback-card-button:focus-visible{outline-offset:2px;outline:2px solid #667eea}@media (max-width:640px){.course-feedback-card{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.feedback-card-button{width:100%}}
.course-info-toggle{background:linear-gradient(135deg,#fafafa 0%,#fff 100%);border:2px solid #ddd;border-radius:12px;margin:28px 0;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.course-info-toggle.closed{max-height:48px;box-shadow:none;background:linear-gradient(135deg,#fafafa 0%,#fff 100%);border-color:#ddd}.course-info-toggle:hover{border-color:#bbb;box-shadow:0 4px 16px #00000014}.course-info-toggle.open{background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%);border-color:#999;max-height:1500px;box-shadow:0 12px 32px #0000001a}.course-info-toggle-summary{all:unset;cursor:pointer;color:var(--color-text-black,#0a0a0a);text-transform:uppercase;letter-spacing:.5px;background:0 0;justify-content:flex-start;align-items:center;gap:12px;width:100%;height:48px;padding:0 20px;font-size:1.05rem;font-weight:700;list-style:none;transition:all .2s;display:flex;position:relative}.course-info-toggle-summary:hover{color:var(--color-red,#f34c61)}.course-info-toggle-summary:before{content:"+";color:#666;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;line-height:1;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.course-info-toggle.open .course-info-toggle-summary:before{transform:rotate(45deg)}.course-info-toggle-content{opacity:1;padding:0 20px;transition:opacity .3s 50ms,transform .3s 50ms;transform:translateY(0)}.course-info-toggle-content>*{opacity:1;transform:translateY(0)}.course-info-toggle-content>:first-child{padding-top:6px}.course-info-toggle-content>:last-child{margin-bottom:0;padding-bottom:20px}.course-info-toggle.closed .course-info-toggle-content{opacity:0;pointer-events:none;transform:translateY(-8px)}.course-info-toggle.open .course-info-toggle-content{opacity:1;pointer-events:auto;transform:translateY(0)}@media (max-width:768px){.content-links-block{margin:22px 0 10px;padding:12px}}
.course-lessons-block{width:100%}.course-lesson-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.course-lesson-item{border-radius:8px;align-items:center;padding:12px 16px;transition:background-color .2s;display:flex}.course-lesson-item:hover{background-color:var(--color-background-hover,#0000000a)}.course-lesson-item-done{opacity:.75}.course-lesson-item-reveal{opacity:0;animation:.4s ease-out forwards slideIn;animation-delay:var(--lesson-reveal-delay,0s)}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.course-lesson-icon{width:24px;height:24px;color:var(--color-text-tertiary,#999);flex-shrink:0;justify-content:center;align-items:center;display:flex}.course-lesson-icon svg{width:100%;height:100%}.course-lesson-icon-done{color:#639922}.course-lesson-icon-action{color:var(--color-red)}.course-lesson-content{flex-direction:column;flex:1;gap:4px;min-width:0;margin-left:12px;display:flex}.course-lesson-title{color:var(--color-text-primary,#1a1a1a);word-break:break-word;margin:0;font-size:16px;font-weight:500;line-height:1.4}.course-lesson-reading-time{color:var(--color-text-tertiary,#999);font-size:13px;line-height:1.4}.course-lesson-item-done .course-lesson-title{color:var(--color-text-secondary,#666)}.course-lesson-link{align-items:center;gap:inherit;width:100%;color:inherit;text-decoration:none;display:flex}.course-lesson-button{align-items:center;gap:inherit;width:100%;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left;background:0 0;border:none;padding:0;text-decoration:none;display:flex}.course-lesson-link:hover .course-lesson-title,.course-lesson-button:hover .course-lesson-title{color:var(--color-red)}.course-lesson-arrow{color:var(--color-text-tertiary,#999);flex-shrink:0;margin-left:auto;font-size:18px;transition:transform .15s}.course-lesson-link:hover .course-lesson-arrow,.course-lesson-button:hover .course-lesson-arrow{color:var(--color-red);transform:translate(2px)}.course-lesson-action-item{align-items:center;gap:4px;margin-top:8px;padding:0;display:flex}.course-lesson-action-btn{cursor:pointer;width:100%;color:inherit;font-family:inherit;font-size:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:0;padding:12px 16px;text-decoration:none;transition:background-color .2s;display:flex}.course-lesson-action-btn:hover{background-color:var(--color-background-hover,#0000000a)}.course-lesson-action-btn:hover .course-lesson-title{color:var(--color-red)}.course-project-section{margin-top:24px;padding-top:24px}.course-project-divider{background:linear-gradient(to right,transparent,var(--color-border,#e0e0e0),transparent);height:1px;margin-bottom:16px}.course-project-label{letter-spacing:.08em;color:var(--color-text-secondary,#666);text-transform:uppercase;margin-bottom:16px;padding:0 16px;font-size:12px;font-weight:700}.course-project-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.course-project-item{border:2px solid var(--color-red,#d32f2f);background:#d32f2f0a;border-radius:8px;align-items:center;padding:16px;transition:all .2s;display:flex}.course-project-item:hover{border-color:var(--color-red,#d32f2f);background:#d32f2f14}.course-project-icon{width:28px;height:28px;color:var(--color-red,#d32f2f);flex-shrink:0;justify-content:center;align-items:center;display:flex}.course-project-icon svg{width:100%;height:100%}.course-project-content{flex-direction:column;flex:1;gap:4px;min-width:0;margin-left:12px;display:flex}.course-project-title{color:var(--color-red,#d32f2f);word-break:break-word;margin:0;font-size:16px;font-weight:600;line-height:1.4}.course-project-description{color:var(--color-text-secondary,#666);font-size:13px;line-height:1.4}.course-project-link{width:100%;color:inherit;align-items:center;text-decoration:none;display:flex}.course-project-arrow{color:var(--color-red,#d32f2f);flex-shrink:0;margin-left:auto;font-size:18px;font-weight:600;transition:transform .15s}.course-project-link:hover .course-project-arrow{transform:translate(4px)}
.enrollment-confirm-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;background:#1414188f;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}@supports ((-moz-appearance:none)){.enrollment-confirm-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}.enrollment-confirm-content{background:var(--color-white);border:1px solid var(--color-light-gray);border-radius:20px;width:100%;max-width:640px;padding:36px;position:relative;overflow:hidden;box-shadow:0 18px 45px #00000038}.enrollment-confirm-content:before,.enrollment-confirm-content:after{content:"";pointer-events:none;z-index:0;position:absolute}.enrollment-confirm-content:before{clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:linear-gradient(135deg,#f34c611f 0%,#f34c6105 100%);width:220px;height:220px;top:-110px;right:-70px}.enrollment-confirm-content:after{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);background:linear-gradient(135deg,#f34c6114 0%,#f34c6103 100%);width:180px;height:180px;bottom:-90px;left:-60px}.enrollment-confirm-badge{color:var(--color-red);letter-spacing:.05em;text-transform:uppercase;z-index:1;background-color:#f34c611a;border-radius:999px;margin-bottom:16px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-block;position:relative}.enrollment-confirm-content h3{z-index:1;color:var(--color-text-black);margin:0 0 16px;font-size:1.5rem;line-height:1.3;position:relative}.enrollment-confirm-content p{z-index:1;color:#666;margin:0 0 28px;font-size:.95rem;line-height:1.6;position:relative}.enrollment-confirm-actions{z-index:1;flex-direction:column;gap:12px;margin-bottom:16px;display:flex;position:relative}.enrollment-confirm-btn{cursor:pointer;border:none;border-radius:6px;padding:12px 24px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s}.enrollment-confirm-btn:disabled{opacity:.7;cursor:not-allowed}.enrollment-confirm-btn:focus{outline:none}.enrollment-confirm-btn:focus-visible{outline:2px solid var(--color-red);outline-offset:2px}.enrollment-confirm-btn-primary{background-color:var(--color-red);color:#fff}.enrollment-confirm-btn-primary:hover:not(:disabled){background-color:var(--color-red-second)}.enrollment-confirm-btn-primary:active:not(:disabled){transform:scale(.98)}.enrollment-confirm-btn-secondary{color:var(--color-text-black);background-color:#f0f0f0}.enrollment-confirm-btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.enrollment-confirm-btn-secondary:active:not(:disabled){transform:scale(.98)}.enrollment-confirm-close{cursor:pointer;color:#999;z-index:10;background:0 0;border:none;padding:4px 8px;font-size:1.5rem;transition:color .2s;position:absolute;top:16px;right:16px}.enrollment-confirm-close:hover:not(:disabled){color:#333}.enrollment-confirm-close:disabled{cursor:not-allowed;opacity:.6}@media (max-width:640px){.enrollment-confirm-content{padding:24px}.enrollment-confirm-content h3{font-size:1.25rem}.enrollment-confirm-content p{font-size:.9rem}.enrollment-confirm-btn{padding:10px 16px;font-size:.9rem}}
.course-progress-wrapper{background-color:#fafafa;border:1px solid #ececec;border-radius:8px;margin-bottom:32px;padding:16px;transition:transform .2s,box-shadow .2s}.course-progress-wrapper:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2a283614}.course-progress-wrapper.course-progress-complete{background:#6399220f;border-color:#639922}.course-progress-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.course-progress-header-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.course-progress-label{color:var(--color-text-black);align-items:center;gap:5px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.course-progress-separator{color:#666;margin:0 2px;font-size:14px}.course-progress-enrollment-info{color:#666;font-size:.95rem}.course-progress-complete .course-progress-label{color:#3b6d11}.course-progress-complete-icon{color:#fff;background:#639922;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:inline-flex}.course-progress-stats-desktop{color:#666;align-items:center;gap:6px;font-size:.95rem;display:flex}.course-progress-stats-desktop strong{color:var(--color-text-black);font-weight:600}.course-progress-percentage{color:#639922;margin-left:2px;font-weight:600}.course-progress-complete .course-progress-percentage{color:#3b6d11}.course-progress-track{background:#e5e7eb;border-radius:999px;height:8px;margin-bottom:12px;overflow:hidden}.course-progress-fill{background:linear-gradient(90deg,#639922,#97c459);border-radius:999px;min-width:0;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.course-progress-complete .course-progress-fill{background:#639922}.course-progress-stats-mobile{color:#666;gap:6px;font-size:.95rem;display:none}.course-progress-stats-mobile strong{color:var(--color-text-black);font-weight:600}.course-progress-percentage-mobile{color:#639922;margin-left:2px;font-weight:600}.course-progress-complete .course-progress-percentage-mobile{color:#3b6d11}@media (max-width:800px){.course-progress-stats-desktop{display:none}.course-progress-stats-mobile{align-items:center;display:flex}}
.youtube-embed-container{border-radius:8px;width:100%;height:0;margin:1.5rem 0;padding-bottom:56.25%;position:relative;overflow:hidden;box-shadow:0 4px 8px #0000001a}.youtube-embed{border:none;border-radius:8px;width:100%;height:100%;position:absolute;top:0;left:0}.youtube-embed-error{color:#c53030;text-align:center;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin:1.5rem 0;padding:1rem}.youtube-lazy-load{aspect-ratio:16/9;cursor:pointer;background-color:#000;border-radius:8px;width:100%;position:relative;overflow:hidden}.youtube-thumbnail{object-fit:cover;width:100%;height:100%}.youtube-play-button{opacity:.95;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.youtube-loading-text{color:#fff;background:#000000b3;border-radius:6px;padding:4px 8px;font-size:.82rem;position:absolute;bottom:10px;left:12px}.embed-error{color:#c53030;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin:1.5rem 0;padding:1rem}.embed-error-url{word-break:break-all;margin-top:.5rem;font-family:monospace;font-size:.9rem}
