.tds-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;animation:tds-dialog-overlay-fade-in .2s ease}@keyframes tds-dialog-overlay-fade-in{0%{opacity:0}to{opacity:1}}.tds-dialog{background:var(--color-background, #FFFFFF);border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:tds-dialog-slide-up .3s ease;box-shadow:0 8px 24px #00000026}@keyframes tds-dialog-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tds-dialog-title{font-size:18px;font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #191F28);padding:24px 24px 16px;line-height:1.4}.tds-dialog-content{padding:0 24px 24px;font-size:16px;line-height:1.5;color:var(--color-text-primary, #191F28);flex:1;overflow-y:auto}.tds-dialog-actions{display:flex;border-top:1px solid var(--color-border, #E5E8EB);padding:0}.tds-dialog-button{flex:1;padding:16px;border:none;background:transparent;font-size:16px;font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:background-color .2s ease;color:var(--color-text-primary, #191F28)}.tds-dialog-button-cancel{border-right:1px solid var(--color-border, #E5E8EB)}.tds-dialog-button-confirm{color:var(--color-primary, #4285F4)}.tds-dialog-button:hover{background:var(--color-background-subtle, #F8F9FA)}.tds-dialog-button:active{background:var(--color-background-hover, #F0F1F3)}.navbar{background-color:var(--color-background);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0;z-index:1000;box-shadow:none;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.navbar-container{max-width:var(--container-max-width);margin:0 auto;padding:1rem var(--content-padding-desktop);display:flex;justify-content:space-between;align-items:center;min-height:56px}.navbar-logo{text-decoration:none;color:inherit;display:flex;align-items:center}.navbar-logo-img{height:40px;width:auto;object-fit:contain}.navbar-menu{display:flex;align-items:center;gap:var(--spacing-lg)}.navbar-menu a{text-decoration:none;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);transition:opacity var(--transition-base);padding:var(--spacing-xs) 0}.navbar-menu a:not(.btn):hover{opacity:.7}.navbar-anchor{cursor:pointer;scroll-behavior:smooth}.navbar-menu .text-button{color:var(--color-gray900);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) 0}.navbar-menu .text-button:hover{color:var(--color-gray900);opacity:.7}.navbar-menu .btn{margin:0;color:inherit!important;padding:0 28px!important}.navbar-menu .btn-primary{color:#fff!important}@media (max-width: 768px){.navbar-container{flex-direction:row;padding:var(--spacing-sm) var(--content-padding-mobile);min-height:56px;gap:var(--spacing-sm)}.navbar-menu{gap:var(--spacing-xs);flex-wrap:nowrap;align-items:center}.navbar-menu a:not(.btn){font-size:var(--font-size-sm)}.navbar-menu .text-button{font-size:var(--font-size-sm)}.navbar-logo-img{height:32px}.navbar-menu a:not(.btn):not(.navbar-login-btn),.navbar-menu .text-button:not(.navbar-login-btn){display:none}.navbar-menu .navbar-login-btn{display:inline-flex!important;padding:0 12px;font-size:14px;height:44px;min-height:44px;align-items:center;white-space:nowrap}.navbar-menu .btn{display:inline-flex;padding:0 16px;font-size:14px;height:44px;min-height:44px;white-space:nowrap}.navbar-menu .btn-primary{padding:0 20px}.navbar-menu{gap:var(--spacing-xs)}}.text-button{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--color-text-primary);text-decoration:none;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;transition:opacity .2s ease;padding:0;margin:0;line-height:1.5}.text-button:hover:not(.text-button-disabled){opacity:.7}.text-button:active:not(.text-button-disabled){opacity:.5}.text-button-disabled{opacity:.3;cursor:not-allowed}.text-button-arrow:hover:not(.text-button-disabled):after{transform:translate(2px)}a.text-button{display:inline-flex;align-items:center}@media (max-width: 768px){.text-button-xsmall{font-size:11px}.text-button-small{font-size:13px}.text-button-medium{font-size:15px}.text-button-large{font-size:17px}.text-button-xlarge{font-size:19px}.text-button-xxlarge{font-size:22px}}.footer{background-color:var(--color-background-subtle);border-top:var(--border-width) solid var(--color-border);margin-top:var(--spacing-2xl);padding:var(--spacing-xl) 0 var(--spacing-md);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.footer-container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--content-padding-mobile)}@media (min-width: 768px){.footer-container{padding:0 var(--content-padding-desktop)}}.footer-top{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border)}.footer-links-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}@media (min-width: 768px){.footer-links-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-2xl)}}.footer-link-column{display:flex;flex-direction:column;gap:var(--spacing-xs)}.footer-column-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-black);margin-bottom:2px;letter-spacing:var(--letter-spacing-normal)}.footer-link{color:var(--color-gray700);text-decoration:none;font-size:var(--font-size-xs);line-height:var(--line-height-normal);transition:color var(--transition-base);display:inline-block}.footer-link:hover{color:var(--color-black)}.footer-link-item{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs);color:var(--color-gray700)}.footer-link-label{font-weight:var(--font-weight-medium)}.footer-link-value{color:var(--color-gray600)}.footer-company-info{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border)}.footer-company-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-xs)}.footer-company-details{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.footer-company-row{display:flex;flex-direction:row;gap:var(--spacing-xs);align-items:flex-start}.footer-company-label{color:var(--color-gray700);font-weight:var(--font-weight-medium);min-width:90px;flex-shrink:0}.footer-company-value{color:var(--color-gray900);word-break:keep-all}.footer-company-link{color:var(--color-gray700);text-decoration:none;font-size:var(--font-size-xs);transition:color var(--transition-base)}.footer-company-link:hover{color:var(--color-black);text-decoration:underline}.footer-bottom{text-align:center;display:flex;flex-direction:column;gap:2px}.footer-disclaimer,.footer-copyright{font-size:var(--font-size-xs);color:var(--color-gray600);line-height:var(--line-height-normal);margin:0}@media (max-width: 767px){.footer-links-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.footer-company-row{flex-direction:column;gap:0}}.video-section{margin-bottom:2rem}.video-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.video-description{color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.6}.video-wrapper{position:relative;width:100%;padding-top:56.25%;background:#000;border-radius:8px;overflow:hidden}.video-wrapper>div{position:absolute;top:0;left:0;width:100%;height:100%}.video-placeholder{padding:3rem;text-align:center;background:var(--color-background-subtle);border-radius:8px;color:var(--color-text-secondary)}.secure-video-container video{pointer-events:auto;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.secure-video-container *{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.secure-video-container video::-webkit-media-controls{display:flex!important}.secure-video-container video::-webkit-media-controls-enclosure{display:flex!important}.secure-video-container video::-webkit-media-controls-fullscreen-button{display:none!important}.price-card{background:transparent;border-radius:var(--border-radius-lg);box-shadow:none;padding:0;margin-bottom:var(--spacing-lg);transition:all var(--transition-base);width:100%}.price-card.sticky{position:fixed;top:100px;width:400px;z-index:100;box-shadow:var(--shadow-xl)}@media (min-width: 1200px){.price-card.sticky{right:calc((100vw - 1200px)/2 + 2rem)}}@media (min-width: 1025px) and (max-width: 1199px){.price-card.sticky{right:2rem}}.price-card-content{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;box-sizing:border-box}.price-info-dark{background:#1a1a1a;border-radius:var(--border-radius-md);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.price-discount-row{display:flex;align-items:baseline;gap:var(--spacing-sm)}.discount-percent{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#4285f4;line-height:1}.price-original-strikethrough{font-size:var(--font-size-lg);color:#999;text-decoration:line-through;font-weight:var(--font-weight-medium)}.price-installment-row{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap}.price-monthly-large{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:#fff;line-height:1.2}.installment-period{font-size:var(--font-size-sm);color:#999;font-weight:var(--font-weight-normal)}.price-benefit-row{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;cursor:pointer;transition:opacity .2s ease;position:relative}.price-benefit-row:hover{opacity:.9}.price-benefit-amount{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#4285f4;line-height:1.2}.benefit-label{font-size:var(--font-size-sm);color:#4285f4;font-weight:var(--font-weight-medium)}.benefit-arrow{font-size:var(--font-size-xl);color:#4285f4;font-weight:var(--font-weight-bold);line-height:1}.benefit-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:0;z-index:1000;min-width:240px;animation:tooltip-fade-in .2s ease}.benefit-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tooltip-content{padding:16px}.tooltip-title{font-size:14px;font-weight:600;color:#191f28;margin-bottom:12px}.tooltip-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tooltip-row:last-child{margin-bottom:0}.tooltip-label{font-size:13px;color:#6b7280;font-weight:400}.tooltip-value{font-size:13px;color:#191f28;font-weight:600}.tooltip-original{text-decoration:line-through;color:#9ca3af}.tooltip-discount{color:#4285f4}.tooltip-amount,.tooltip-percent{color:#e53e3e}.tooltip-monthly{color:#4285f4;font-size:14px}.tooltip-divider{height:1px;background:#e5e7eb;margin:12px 0}.price-button-orange{width:100%;padding:0;background:#4285f4;color:#fff;border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:all .2s ease;height:56px;min-height:56px;display:flex;align-items:center;justify-content:center;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.25;box-sizing:border-box}.price-button-orange:hover{background:#357ae8;transform:translateY(-1px);box-shadow:0 4px 12px #4285f44d}.price-button-orange:active{background:#2e6bd9;transform:translateY(0)}.price-button-orange:disabled{opacity:.5;cursor:not-allowed}.price-header{border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md)}.price-card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin:0}.price-info{display:flex;flex-direction:column;gap:var(--spacing-xl)}.price-comparison-section{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-md);background:linear-gradient(135deg,#fff5f5,#ffe5e5);border-radius:var(--border-radius-md);border:1px solid #FFE0E0;gap:var(--spacing-md)}.price-original-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);flex:1}.price-original-label{font-size:var(--font-size-xs);color:var(--color-gray600);font-weight:var(--font-weight-medium)}.price-original{font-size:var(--font-size-xl);color:var(--color-gray500);text-decoration:line-through;font-weight:var(--font-weight-semibold);line-height:1.2}.price-discount-badge-large{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.discount-label{font-size:var(--font-size-xs);color:#e53e3e;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.discount-amount-large{font-size:var(--font-size-2xl);color:#e53e3e;font-weight:var(--font-weight-bold);line-height:1.2}.price-main-section{padding:var(--spacing-xl) 0;border-bottom:1px solid var(--color-border)}.price-main-row{display:flex;align-items:flex-start;justify-content:space-between}.price-main-left{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.price-label-small{font-size:var(--font-size-xs);color:var(--color-gray600);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.price-main-amount{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap}.price-monthly{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-black);letter-spacing:-.02em;line-height:1.1}.price-total-section{padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(135deg,#f0f7ff,#e8f2ff);border-radius:var(--border-radius-md);border:1px solid #D0E5FF}.price-total-main{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.price-total-label-main{font-size:var(--font-size-sm);color:var(--color-gray700);font-weight:var(--font-weight-semibold);white-space:nowrap}.price-total-main-amount{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:#4285f4;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}.price-installment-info{display:flex;align-items:center;justify-content:center;padding-top:var(--spacing-md);border-top:1px solid rgba(66,133,244,.2)}.installment-text-main{font-size:var(--font-size-sm);color:var(--color-gray700);font-weight:var(--font-weight-medium);display:flex;align-items:center;position:relative;padding-left:var(--spacing-md)}.installment-text-main:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background-color:#4285f4}.price-details{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:0;background-color:transparent}.price-detail-item{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background-subtle);border-radius:var(--border-radius-sm);transition:background-color .2s ease}.price-detail-item:hover{background-color:#00000005}.price-detail-item:last-child{margin-bottom:0}.detail-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex:1;width:100%}.detail-label{color:var(--color-gray600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.detail-value{color:var(--color-gray900);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-align:right}.price-benefits{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);background:linear-gradient(135deg,#f0f7ff,#e8f2ff);border-radius:var(--border-radius-md);border:1px solid #D0E5FF}.benefits-header{padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(66,133,244,.2)}.benefits-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-gray900)}.benefits-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.benefit-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.benefit-icon{color:#4285f4;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:#4285f41a;border-radius:4px;line-height:1}.benefit-text{color:var(--color-gray900);line-height:var(--line-height-relaxed);flex:1}.price-footer{text-align:center;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.price-notice{font-size:var(--font-size-xs);color:var(--color-gray600);margin:0}.price-button{width:100%;padding:0 28px;background:#4285f4;color:#fff;border:none;border-radius:16px;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:normal;height:56px;min-height:56px;display:flex;align-items:center;justify-content:center;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.25;position:relative;overflow:hidden;box-sizing:border-box}.price-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000;opacity:0;transition:opacity .2s ease}.price-button:active:before{opacity:.1}.price-button:hover{background:#357ae8}.price-button:disabled{opacity:.4;cursor:not-allowed}.price-link{text-align:center;color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.price-link:hover{color:var(--color-black);text-decoration:underline}@media (max-width: 1024px){.price-card.sticky{position:relative;top:auto;right:auto;width:100%;margin:var(--spacing-lg) 0}}@media (max-width: 768px){.price-card{padding:0;margin:var(--spacing-lg) var(--content-padding-mobile);width:calc(100% - calc(var(--content-padding-mobile) * 2));box-sizing:border-box;max-width:100%}.price-card-content{width:100%;max-width:100%;gap:var(--spacing-sm)}.price-info-dark{padding:var(--spacing-lg);gap:var(--spacing-sm)}.discount-percent{font-size:var(--font-size-lg)}.price-original-strikethrough{font-size:var(--font-size-base)}.price-monthly-large{font-size:var(--font-size-2xl)}.installment-period{font-size:var(--font-size-xs)}.price-benefit-amount{font-size:var(--font-size-lg)}.benefit-label{font-size:var(--font-size-xs)}.benefit-arrow{font-size:var(--font-size-lg)}.price-button-orange{width:100%;height:52px;min-height:52px;font-size:var(--font-size-base);box-sizing:border-box}}.tds-stepper{display:flex;flex-direction:column}.tds-stepper-row{position:relative;padding:var(--spacing-md) 0}.tds-stepper-row-content{display:flex;align-items:flex-start;gap:var(--spacing-md)}.tds-stepper-row-left{flex-shrink:0;display:flex;align-items:center;justify-content:center}.tds-stepper-row-center{flex:1;min-width:0}.tds-stepper-row-right{flex-shrink:0;display:flex;align-items:center;justify-content:center}.tds-stepper-number-icon{width:32px;height:32px;border-radius:50%;background:var(--color-gray900, #1a1a1a);color:var(--color-white, #ffffff);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold, 700);line-height:1;flex-shrink:0}.tds-stepper-texts{display:flex;flex-direction:column;gap:4px}.tds-stepper-texts-A .tds-stepper-texts-title{font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1a1a1a);line-height:var(--line-height-normal, 1.5)}.tds-stepper-texts-A .tds-stepper-texts-description{font-size:var(--font-size-base, 16px);color:var(--color-text-secondary, #666666);line-height:var(--line-height-relaxed, 1.6)}.tds-stepper-texts-B .tds-stepper-texts-title{font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1a1a1a);line-height:var(--line-height-normal, 1.5)}.tds-stepper-texts-B .tds-stepper-texts-description{font-size:var(--font-size-base, 16px);color:var(--color-text-secondary, #666666);line-height:var(--line-height-relaxed, 1.6)}.tds-stepper-texts-C .tds-stepper-texts-title{font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1a1a1a);line-height:var(--line-height-normal, 1.5)}.tds-stepper-texts-C .tds-stepper-texts-description{font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary, #666666);line-height:var(--line-height-relaxed, 1.6)}.tds-stepper-right-arrow{display:flex;align-items:center;justify-content:center;color:var(--color-gray400, #999999)}.tds-stepper-right-arrow svg{width:24px;height:24px}.tds-stepper-line{height:1px;background:var(--color-border, #e5e5e5);margin-left:48px;margin-top:var(--spacing-md, 16px);margin-bottom:var(--spacing-md, 16px);transition:opacity .3s ease}.tds-stepper-line-hidden{opacity:0}.tds-stepper-line-visible{opacity:1}.tds-stepper-row-hidden{opacity:0;transform:translateY(10px);transition:opacity .4s ease-out,transform .4s ease-out;pointer-events:none}.tds-stepper-row-visible{opacity:1;transform:translateY(0);transition:opacity .4s ease-out,transform .4s ease-out;pointer-events:auto}.tds-stepper-asset-frame{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden}.tds-stepper-right-button{padding:6px 12px;border-radius:6px;border:none;font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:opacity .2s ease}.tds-stepper-right-button:hover{opacity:.8}.tds-stepper-right-button-small{padding:6px 12px;font-size:var(--font-size-sm, 14px)}.tds-stepper-right-button-medium{padding:8px 16px;font-size:var(--font-size-base, 16px)}.tds-stepper-right-button-primary{background:var(--color-primary, #4285F4);color:var(--color-white, #ffffff)}.tds-stepper-right-button-danger{background:var(--color-error, #F04452);color:var(--color-white, #ffffff)}.tds-stepper-right-button-light{background:var(--color-gray100, #f5f5f5);color:var(--color-gray900, #1a1a1a)}.tds-stepper-right-button-dark{background:var(--color-gray900, #1a1a1a);color:var(--color-white, #ffffff)}.curriculum-section{margin:var(--spacing-2xl) 0;padding:var(--spacing-xl) 0}.curriculum-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);color:var(--color-black);text-align:center;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-normal)}.curriculum-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--spacing-xl);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal)}.curriculum-list{max-width:800px;margin:0 auto;padding:0 var(--spacing-md)}.curriculum-list .stepper{display:flex;flex-direction:column;gap:0}.curriculum-list .stepper-row{padding:var(--spacing-md) 0}.curriculum-list .stepper-row:hover{background-color:transparent}@media (max-width: 768px){.curriculum-section{margin:var(--spacing-xl) 0;padding:var(--spacing-lg) 0}.curriculum-title{font-size:var(--font-size-2xl)}.curriculum-list{padding:0 var(--spacing-sm)}.curriculum-list .stepper-row{padding:var(--spacing-sm) 0}}.countdown-timer{background:linear-gradient(135deg,#c41e3a,#dc143c 40%,#228b22 75%,gold);border-radius:var(--border-radius-md, 12px);padding:var(--spacing-lg, 16px) var(--spacing-xl, 20px);margin-bottom:var(--spacing-md, 16px);text-align:center;box-shadow:0 4px 16px #c41e3a80,0 2px 8px #dc143c66;width:100%;max-width:100%;box-sizing:border-box;position:relative;overflow:hidden}.countdown-timer:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(255,255,255,.1) 100%);pointer-events:none}.countdown-header{margin-bottom:var(--spacing-md, 12px);position:relative;z-index:1}.countdown-title{font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold, 700);color:#fff;margin-bottom:var(--spacing-xs, 4px);letter-spacing:.5px;line-height:1.4;text-shadow:0 2px 4px rgba(0,0,0,.3)}.countdown-subtitle{font-size:var(--font-size-base, 16px);font-weight:var(--font-weight-medium, 500);color:#fffffff2;letter-spacing:.3px;line-height:1.5;text-shadow:0 1px 2px rgba(0,0,0,.3)}.countdown-display{display:flex;align-items:baseline;justify-content:center;gap:var(--spacing-xs, 4px);flex-wrap:wrap;position:relative;z-index:1}.countdown-value{font-size:var(--font-size-2xl, 24px);font-weight:var(--font-weight-bold, 700);color:#fff;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 2px 4px rgba(0,0,0,.4)}.countdown-milliseconds{font-size:var(--font-size-xl, 20px)}.countdown-unit{font-size:var(--font-size-base, 16px);color:#fffffff2;font-weight:var(--font-weight-medium, 500);margin-right:var(--spacing-xs, 4px);text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (max-width: 768px){.countdown-timer{padding:var(--spacing-md, 12px) var(--spacing-lg, 16px)}.countdown-title{font-size:var(--font-size-lg, 18px);margin-bottom:var(--spacing-xs, 4px)}.countdown-subtitle{font-size:var(--font-size-sm, 14px)}.countdown-value{font-size:var(--font-size-xl, 20px)}.countdown-milliseconds{font-size:var(--font-size-lg, 18px)}.countdown-unit{font-size:var(--font-size-sm, 14px)}}.skeleton-container{display:flex;flex-direction:column;gap:12px;width:100%}.skeleton-background-white{background:var(--color-white)}.skeleton-background-grey{background:var(--color-gray50)}.skeleton-background-greyOpacity100{background:#0000001a}.skeleton-item{background:linear-gradient(90deg,#e0e0e0,#f0f0f0,#e0e0e0);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-title{height:24px;width:60%;max-width:200px}.skeleton-subtitle{height:18px;width:40%;max-width:150px}.skeleton-list{height:16px;width:100%}.skeleton-list-with-icon{display:flex;align-items:center;gap:12px;height:48px;width:100%}.skeleton-icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,#e0e0e0,#f0f0f0,#e0e0e0);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-list-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-list-content:before{content:"";display:block;height:16px;width:100%;background:linear-gradient(90deg,#e0e0e0,#f0f0f0,#e0e0e0);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-list-content:after{content:"";display:block;height:14px;width:70%;background:linear-gradient(90deg,#e0e0e0,#f0f0f0,#e0e0e0);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-card{height:120px;width:100%;border-radius:8px}.skeleton-spacer{width:100%;flex-shrink:0}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-background-white .skeleton-item,.skeleton-background-white .skeleton-icon,.skeleton-background-white .skeleton-list-content:before,.skeleton-background-white .skeleton-list-content:after{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0);background-size:200% 100%}.skeleton-background-grey .skeleton-item,.skeleton-background-grey .skeleton-icon,.skeleton-background-grey .skeleton-list-content:before,.skeleton-background-grey .skeleton-list-content:after{background:linear-gradient(90deg,#e0e0e0,#f0f0f0,#e0e0e0);background-size:200% 100%}.skeleton-background-greyOpacity100 .skeleton-item,.skeleton-background-greyOpacity100 .skeleton-icon,.skeleton-background-greyOpacity100 .skeleton-list-content:before,.skeleton-background-greyOpacity100 .skeleton-list-content:after{background:linear-gradient(90deg,#0000001a,#00000026,#0000001a);background-size:200% 100%}@media (max-width: 768px){.skeleton-container{gap:10px}.skeleton-title{height:22px}.skeleton-subtitle{height:16px}.skeleton-list{height:14px}.skeleton-list-with-icon{height:44px}.skeleton-icon{width:36px;height:36px}.skeleton-card{height:100px}}.home-page.class101-style{background:var(--color-background);min-height:100vh;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scroll-padding-top:80px}#hero,#intro,#features,#curriculum,#price,#guarantee{scroll-margin-top:80px}.hero-section{background:var(--color-background);padding:var(--spacing-xl) 0 var(--spacing-xl);margin-top:0;padding-top:calc(56px + var(--spacing-lg));font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:calc(100vh - 56px);display:flex;align-items:flex-start;justify-content:center;width:100%}@media (min-width: 768px){.hero-section{align-items:center;padding-top:calc(56px + var(--spacing-md))}}.hero-content{max-width:1400px;width:100%;margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:var(--spacing-3xl);text-align:left;padding:0 var(--spacing-xl)}@media (min-width: 1440px){.hero-content{max-width:1600px;padding:0 var(--spacing-2xl)}}.hero-video-wrapper,.hero-text-wrapper{flex:1;min-width:0}.hero-content .hero-video{margin-bottom:0}.hero-video .video-section{background:transparent;padding:0;border-radius:0;box-shadow:none;margin-bottom:0}.hero-video .video-wrapper{background:transparent;box-shadow:none;padding-top:56.25%}.hero-video-wrapper{width:100%;max-width:800px;margin:0 auto}.hero-catchphrase{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--color-black);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.hero-description{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin-bottom:0;font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-relaxed)}@media (max-width: 767px){.hero-section{padding:var(--spacing-lg) var(--content-padding-mobile) var(--spacing-lg);padding-top:calc(56px + var(--spacing-md));margin-top:0;min-height:auto;display:block;align-items:flex-start}.hero-content{flex-direction:column;text-align:center;padding:0;max-width:100%;align-items:center;gap:var(--spacing-lg)}.hero-text-wrapper{margin-bottom:var(--spacing-md);width:100%}.hero-video-wrapper{max-width:100%;width:100%}.hero-catchphrase{font-size:var(--font-size-2xl);line-height:1.3;margin-bottom:var(--spacing-sm)}.hero-description{font-size:var(--font-size-base);line-height:1.6}}.page-layout{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-xl) var(--content-padding-desktop)}.main-content{min-width:0}.price-section-final{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);display:flex;justify-content:center;align-items:center}.price-section-wrapper{width:100%;max-width:400px;display:flex;flex-direction:column;margin:0 auto}.price-section-final .price-card{max-width:100%;margin:0}.price-section-final .price-card.sticky{position:relative;top:auto;right:auto;width:100%}@media (max-width: 1024px){.price-section-wrapper{max-width:100%}}.content-section{margin-bottom:var(--spacing-4xl);padding-bottom:var(--spacing-2xl);position:relative}.content-section:first-of-type{padding-top:var(--spacing-xl)}.section-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl);color:var(--color-black);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);position:relative;padding-bottom:var(--spacing-md)}.section-title:after{display:none}.section-content{font-size:var(--font-size-lg);line-height:1.8;color:var(--color-text-primary);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal);word-break:keep-all;max-width:100%}.section-content p{margin-bottom:var(--spacing-lg);word-break:keep-all;overflow-wrap:break-word;text-align:justify;text-justify:inter-word}.section-content p:last-child{margin-bottom:0}.section-content>p:first-child{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-black);margin-bottom:var(--spacing-xl);line-height:1.7}.section-content p:has(strong:only-child){margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background:linear-gradient(135deg,#4285f40d,#4285f405);border-radius:var(--border-radius-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);text-align:center;position:relative}.section-content strong{font-weight:var(--font-weight-bold);color:var(--color-black);letter-spacing:var(--letter-spacing-normal);position:relative}.story-section{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-2xl);position:relative}.story-section:before{display:none}.story-text{font-size:var(--font-size-lg);line-height:1.8;color:var(--color-text-primary);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal);word-break:keep-all;max-width:100%}.story-text p{margin-bottom:var(--spacing-lg);word-break:keep-all;overflow-wrap:break-word;text-align:justify;text-justify:inter-word}.story-text>p:first-child{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-black);margin-bottom:var(--spacing-xl);line-height:1.7}.story-text p:has(strong:only-child){margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background:linear-gradient(135deg,#4285f414,#4285f408);border-radius:var(--border-radius-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);text-align:center;position:relative;box-shadow:0 2px 8px #0000000a}.story-text strong{font-weight:var(--font-weight-bold);color:var(--color-black);letter-spacing:var(--letter-spacing-normal);display:inline-block;margin:.25em 0;font-size:inherit}.instructor-section{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-2xl);background:linear-gradient(180deg,rgba(66,133,244,.02) 0%,transparent 100%);border-radius:var(--border-radius-lg);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);margin-left:calc(-1 * var(--spacing-lg));margin-right:calc(-1 * var(--spacing-lg))}.instructor-section .section-content{font-size:var(--font-size-lg);line-height:1.8;color:var(--color-text-primary);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal)}.instructor-section .section-content p{margin-bottom:var(--spacing-lg)}.instructor-section .section-content>p:first-child{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-black);margin-bottom:var(--spacing-xl);line-height:1.6;text-align:center;padding:var(--spacing-md);background:#fffc;border-radius:var(--border-radius-md)}.instructor-video-wrapper{margin-top:var(--spacing-2xl);max-width:100%}.instructor-video-wrapper .video-section{margin:0;padding:0;background:transparent;box-shadow:none;border-radius:0}@media (min-width: 768px){.instructor-video-wrapper{max-width:800px;margin-left:auto;margin-right:auto}}.video-section-container{padding-top:var(--spacing-xl);margin-bottom:var(--spacing-3xl);position:relative}.video-section-container:before{display:none}.video-section-container+.content-section{margin-top:var(--spacing-xl)}.video-section-container .section-content{font-size:var(--font-size-lg);line-height:1.8;font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--spacing-xl)}.video-section-container .section-content p{margin-bottom:var(--spacing-lg)}.video-section-container .section-content strong{font-weight:var(--font-weight-bold);color:var(--color-black);letter-spacing:var(--letter-spacing-normal)}.story-video{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-xl);position:relative;padding:var(--spacing-lg);background:var(--color-background-subtle);border-radius:var(--border-radius-lg);box-shadow:0 4px 12px #0000000f;transition:transform .3s ease,box-shadow .3s ease}.story-video:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.story-video .video-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);color:var(--color-black);text-align:center;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);padding-bottom:var(--spacing-sm);position:relative}.story-video .video-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,#4285F4,transparent)}.story-video .video-description{text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-base)}.story-text p{margin-bottom:var(--spacing-md);word-break:keep-all}.story-text p:last-child{margin-bottom:0}.story-text p:has(strong:only-child){margin:var(--spacing-md) 0;padding:var(--spacing-sm) 0;font-size:1.1em}.story-text strong{font-weight:var(--font-weight-bold);color:var(--color-black);letter-spacing:var(--letter-spacing-normal)}.features-section{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-2xl);background:linear-gradient(180deg,transparent 0%,rgba(66,133,244,.02) 50%,transparent 100%);border-radius:var(--border-radius-lg);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);margin-left:calc(-1 * var(--spacing-lg));margin-right:calc(-1 * var(--spacing-lg))}.success-story-section{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-2xl);position:relative}.success-story-section .story-text{background:#fff9;padding:var(--spacing-xl);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:0 2px 8px #0000000a}.guarantee-section{background:var(--color-background);padding:var(--spacing-2xl) var(--spacing-xl);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);position:relative}.guarantee-section .guarantee-border{padding-top:var(--spacing-xl)}.guarantee-section .section-title{color:var(--color-black);margin-bottom:var(--spacing-lg);position:relative;z-index:1}.guarantee-section .section-content{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal);line-height:1.8;position:relative;z-index:1;word-break:keep-all}.guarantee-section .guarantee-content p:first-of-type{margin:0 0 var(--spacing-lg) 0;padding:var(--spacing-lg);background:linear-gradient(135deg,#4285f414,#4285f408);border-radius:var(--border-radius-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.7;color:var(--color-text-primary);text-align:center;box-shadow:0 2px 8px #0000000a}.guarantee-section .guarantee-content p:first-of-type strong{display:inline;font-weight:var(--font-weight-bold);color:var(--color-black)}.guarantee-section .guarantee-content p:nth-of-type(2){margin:0 0 var(--spacing-lg) 0;padding:var(--spacing-lg);background:linear-gradient(135deg,#4285f414,#4285f408);border-radius:var(--border-radius-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.7;color:var(--color-text-primary);text-align:center;box-shadow:0 2px 8px #0000000a}.guarantee-section .guarantee-content p:nth-of-type(2) br{display:block}.guarantee-section .guarantee-content p:nth-of-type(2) strong{display:inline;font-weight:var(--font-weight-bold);color:var(--color-black)}.guarantee-section .guarantee-content p:not(:first-of-type):not(:nth-of-type(2)):not(:last-child){margin:0 0 var(--spacing-lg) 0;padding:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:1.8;color:var(--color-text-primary);text-align:justify;text-justify:inter-word;word-break:keep-all}.guarantee-section .guarantee-content p:not(:first-of-type):not(:nth-of-type(2)):not(:last-child) strong{font-weight:var(--font-weight-bold);color:var(--color-black);display:inline}.guarantee-section .guarantee-content p:last-child{margin:var(--spacing-xl) 0 0 0;padding:var(--spacing-lg);background:linear-gradient(135deg,#4285f414,#4285f408);border-radius:var(--border-radius-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.7;color:var(--color-text-primary);text-align:center;box-shadow:0 2px 8px #0000000a}.guarantee-section .guarantee-content p:last-child strong{color:var(--color-black);font-size:inherit;font-weight:var(--font-weight-bold);display:inline}.story-text .highlight-large{font-size:2em;font-weight:var(--font-weight-extrabold);color:var(--color-black);display:inline-block;line-height:1.2}@media (max-width: 767px){.story-text .highlight-large{font-size:1.75em}}.notice-section{background:linear-gradient(135deg,#ffe06626,#ffe0660d);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);border:2px solid rgba(255,224,102,.4);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);position:relative;box-shadow:0 4px 12px #ffe06633}.notice-section .section-title{color:var(--color-warning-title);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.notice-section .section-content{color:var(--color-warning-text);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);line-height:1.8}.notice-section .section-content strong{font-weight:var(--font-weight-bold);color:var(--color-warning-title);font-size:1.05em}.reviews-link-section{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);background:linear-gradient(135deg,#4285f40d,#4285f405);border-radius:var(--border-radius-lg);border:1px solid rgba(66,133,244,.1);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);transition:transform .3s ease,box-shadow .3s ease}.reviews-link-section:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4285f426}.reviews-link-section .section-title{margin-bottom:var(--spacing-md);position:relative}.reviews-link-section .section-content{margin-bottom:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.text-button{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--color-text-primary);text-decoration:none;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;transition:opacity .2s ease;padding:0}.text-button:hover{opacity:.7}.text-button:active{opacity:.5}.text-button-xsmall{font-size:12px;line-height:1.5}.text-button-small{font-size:14px;line-height:1.5}.text-button-medium{font-size:16px;line-height:1.5}.text-button-large{font-size:18px;line-height:1.5}.text-button-xlarge{font-size:20px;line-height:1.5}.text-button-xxlarge{font-size:24px;line-height:1.5}.text-button-arrow:after{content:"→";margin-left:4px;display:inline-block;transition:transform .2s ease}.text-button-arrow:hover:after{transform:translate(2px)}.text-button-underline{text-decoration:underline;text-underline-offset:2px}.text-button:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 1024px){.page-layout{padding:var(--spacing-lg) var(--spacing-md)}.instructor-section,.features-section{margin-left:calc(-1 * var(--spacing-md));margin-right:calc(-1 * var(--spacing-md));padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.story-section:before,.video-section-container:before{left:-var(--spacing-md);right:-var(--spacing-md)}}@media (max-width: 768px){.hero-section{padding:var(--spacing-xl) var(--content-padding-mobile) var(--spacing-lg)}.hero-title{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tight)}.hero-subtitle{font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-normal)}.hero-description{font-size:var(--font-size-base);letter-spacing:var(--letter-spacing-normal)}.page-layout{padding:var(--spacing-lg) var(--content-padding-mobile)}.content-section{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl)}.section-title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);letter-spacing:var(--letter-spacing-tight)}.section-title:after{width:40px;height:2px}.section-content{font-size:var(--font-size-base);letter-spacing:var(--letter-spacing-normal);line-height:1.75}.section-content>p:first-child{font-size:var(--font-size-lg)}.story-text>p:first-child{font-size:var(--font-size-lg)}.instructor-section .section-content{font-size:var(--font-size-lg)}.instructor-section .section-content>p:first-child{font-size:var(--font-size-xl);padding:var(--spacing-sm)}.guarantee-section,.notice-section{padding:var(--spacing-lg) var(--content-padding-mobile);margin-left:calc(-1 * var(--content-padding-mobile));margin-right:calc(-1 * var(--content-padding-mobile));border-radius:0}.guarantee-section .guarantee-content p:first-of-type,.guarantee-section .guarantee-content p:nth-of-type(2){font-size:var(--font-size-base)}.guarantee-section .guarantee-content p:last-child{font-size:var(--font-size-sm);padding:var(--spacing-sm)}.story-video{padding:var(--spacing-md);margin-left:calc(-1 * var(--content-padding-mobile));margin-right:calc(-1 * var(--content-padding-mobile));border-radius:0}.story-video .video-title{font-size:var(--font-size-xl);padding:0 var(--content-padding-mobile)}.instructor-section,.features-section{margin-left:calc(-1 * var(--content-padding-mobile));margin-right:calc(-1 * var(--content-padding-mobile));padding-left:var(--content-padding-mobile);padding-right:var(--content-padding-mobile);border-radius:0}.story-section:before,.video-section-container:before{left:-var(--content-padding-mobile);right:-var(--content-padding-mobile)}.reviews-link-section{margin-left:calc(-1 * var(--content-padding-mobile));margin-right:calc(-1 * var(--content-padding-mobile));border-radius:0;padding-left:var(--content-padding-mobile);padding-right:var(--content-padding-mobile)}}.product-info-section{margin-top:var(--spacing-4xl);padding:var(--spacing-2xl) 0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.accordion-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius-md, 8px);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.accordion-card:hover{box-shadow:0 2px 8px #0000000f;border-color:#0000001f}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg, 16px) var(--spacing-xl, 20px);background:transparent;border:none;border-bottom:1px solid transparent;cursor:pointer;text-align:left;transition:background-color .2s ease,border-bottom-color .2s ease}.accordion-header:hover{background-color:#00000005}.accordion-header:active{background-color:#0000000a}.accordion-card:has(.accordion-content.open) .accordion-header{border-bottom-color:#00000014}.accordion-title{font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold, 700);color:var(--color-black, #191F28);margin:0;padding:0}.accordion-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--color-gray600, #6B7280);transition:transform .3s ease,color .2s ease;flex-shrink:0}.accordion-icon.open{transform:rotate(180deg);color:var(--color-gray900, #191F28)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 var(--spacing-xl, 20px)}.accordion-content.open{max-height:2000px;padding:var(--spacing-lg, 16px) var(--spacing-xl, 20px) var(--spacing-xl, 20px)}.product-info-container,.copyright-notice-container{margin-bottom:0}.product-info-title,.copyright-notice-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.product-info-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:0}.product-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}@media (min-width: 768px){.product-info-item{flex-direction:row;align-items:flex-start}}.product-info-label{color:var(--color-gray700);font-weight:var(--font-weight-medium);min-width:200px;flex-shrink:0}.product-info-value{color:var(--color-gray900);flex:1}.product-info-list{list-style:none;padding:0;margin:var(--spacing-xs) 0 0 0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.product-info-list li{color:var(--color-gray900);padding-left:var(--spacing-md);position:relative}.product-info-list li:before{content:"•";position:absolute;left:0;color:var(--color-gray600)}.copyright-notice-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:0}.copyright-notice-content p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray700);margin:0}@media (max-width: 768px){.product-info-section{margin-left:calc(-1 * var(--content-padding-mobile));margin-right:calc(-1 * var(--content-padding-mobile));padding-left:var(--content-padding-mobile);padding-right:var(--content-padding-mobile)}.product-info-label{min-width:auto;margin-bottom:var(--spacing-xs)}}@media (max-width: 480px){.hero-title{font-size:var(--font-size-3xl)}.hero-subtitle{font-size:var(--font-size-lg)}.section-title{font-size:var(--font-size-xl)}.section-content p:has(strong:only-child),.story-text p:has(strong:only-child){padding:var(--spacing-md);font-size:var(--font-size-lg)}}.tds-text-field{display:flex;flex-direction:column;gap:8px;width:100%}.tds-text-field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.5}.tds-text-field-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.tds-text-field-input{width:100%;border:none;outline:none;background:transparent;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-base);color:var(--color-text-primary);padding:0;margin:0}.tds-text-field-input::placeholder{color:var(--color-text-tertiary);opacity:1}.tds-text-field-input:disabled{color:var(--color-text-tertiary);cursor:not-allowed}.tds-text-field-box .tds-text-field-input-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;min-height:48px;transition:border-color .2s ease;display:flex;align-items:center}.tds-text-field-box .tds-text-field-input-wrapper:focus-within{border-color:var(--color-gray900)}.tds-text-field-box.tds-text-field-error .tds-text-field-input-wrapper{border-color:#f44336}.tds-text-field-box.tds-text-field-disabled .tds-text-field-input-wrapper{background:var(--color-background-subtle);border-color:var(--color-border)}.tds-text-field-line .tds-text-field-input-wrapper{background:transparent;border:none;border-bottom:1px solid var(--color-border);border-radius:0;padding:12px 0;min-height:48px;transition:border-color .2s ease}.tds-text-field-line .tds-text-field-input-wrapper:focus-within{border-bottom-color:var(--color-gray900)}.tds-text-field-line.tds-text-field-error .tds-text-field-input-wrapper{border-bottom-color:#f44336}.tds-text-field-line.tds-text-field-disabled .tds-text-field-input-wrapper{border-bottom-color:var(--color-border)}.tds-text-field-big .tds-text-field-input-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:20px;min-height:64px;transition:border-color .2s ease}.tds-text-field-big .tds-text-field-input{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.tds-text-field-big .tds-text-field-input-wrapper:focus-within{border-color:var(--color-gray900)}.tds-text-field-big.tds-text-field-error .tds-text-field-input-wrapper{border-color:#f44336}.tds-text-field-hero .tds-text-field-input-wrapper{background:var(--color-background);border:2px solid var(--color-gray900);border-radius:12px;padding:24px;min-height:72px;transition:border-color .2s ease}.tds-text-field-hero .tds-text-field-input{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.tds-text-field-hero .tds-text-field-input-wrapper:focus-within{border-color:var(--color-gray900)}.tds-text-field-hero.tds-text-field-error .tds-text-field-input-wrapper{border-color:#f44336}.tds-text-field-prefix,.tds-text-field-suffix{font-size:var(--font-size-base);color:var(--color-text-secondary);white-space:nowrap;margin-right:8px}.tds-text-field-suffix{margin-right:0;margin-left:8px}.tds-text-field-right{display:flex;align-items:center;margin-left:auto;padding-left:12px;flex-shrink:0}.tds-text-field-password-toggle,.tds-text-field-clear{background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:opacity .2s ease;flex-shrink:0;width:20px;height:20px;min-width:20px;min-height:20px}.tds-text-field-password-toggle:hover,.tds-text-field-clear:hover{opacity:.7}.tds-text-field-password-toggle svg{width:18px;height:18px}.tds-text-field-clear{width:24px;height:24px;border-radius:50%;background:var(--color-background-subtle)}.tds-text-field-clear svg{width:16px;height:16px}.tds-text-field-help{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin-top:4px}.tds-text-field-help-error{color:#f44336}@media (max-width: 768px){.tds-text-field-box .tds-text-field-input-wrapper{padding:10px 14px;min-height:44px}.tds-text-field-big .tds-text-field-input-wrapper{padding:18px;min-height:60px}.tds-text-field-hero .tds-text-field-input-wrapper{padding:20px;min-height:68px}}.auth-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:2rem 1rem}.auth-container{width:100%;max-width:400px;background:var(--color-background);padding:2rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.auth-container h1{text-align:center;margin-bottom:var(--spacing-2xl);color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.auth-container form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.btn-block{width:100%;margin-top:var(--spacing-md)}.auth-link{text-align:center;margin-top:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-base)}.auth-link a{color:var(--color-gray900);text-decoration:none;font-weight:var(--font-weight-medium);transition:opacity .2s ease}.auth-divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-md) 0 var(--spacing-sm) 0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.auth-divider span{padding:0 var(--spacing-md)}.btn-kakao{background-color:#fee500;color:#000;font-weight:var(--font-weight-semibold);border:none;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;margin-top:0}.btn-kakao:hover:not(:disabled){background-color:#fdd835}.btn-kakao:active:not(:disabled){background-color:#fbc02d}.btn-kakao:disabled{opacity:.6;cursor:not-allowed}.email-sent-container{max-width:480px}.email-sent-message{text-align:center;padding:var(--spacing-xl) 0}.email-sent-icon-wrapper{margin-bottom:var(--spacing-xl);display:flex;justify-content:center;align-items:center}.email-sent-icon{font-size:72px;line-height:1;animation:email-sent-bounce 2s ease-in-out infinite}@keyframes email-sent-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.email-sent-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-lg);line-height:var(--line-height-tight)}.email-sent-content{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.email-sent-text{font-size:var(--font-size-lg);color:var(--color-gray700);line-height:var(--line-height-relaxed)}.email-highlight{color:var(--color-black);font-weight:var(--font-weight-semibold);background:linear-gradient(135deg,#4285f41a,#4285f40d);padding:2px 8px;border-radius:4px}.email-sent-subtext{font-size:var(--font-size-base);color:var(--color-gray600);line-height:var(--line-height-relaxed)}.email-sent-note{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-gray600);padding:var(--spacing-md);background:linear-gradient(135deg,#4285f40d,#4285f405);border-radius:var(--border-radius-md);border:1px solid rgba(66,133,244,.1);text-align:left}.note-icon{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:#3b82f6}.note-text{flex:1;line-height:var(--line-height-relaxed)}.email-sent-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.email-sent-actions .btn{width:100%}@media (max-width: 768px){.email-sent-icon{font-size:56px}.email-sent-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.email-sent-text{font-size:var(--font-size-base)}.email-sent-subtext{font-size:var(--font-size-sm)}.email-sent-note{font-size:var(--font-size-xs);padding:var(--spacing-sm)}}.auth-link a:hover{opacity:.7}.forgot-password-link{text-align:right;margin-top:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.forgot-password-link a{color:var(--color-gray600, #6B7280);font-size:var(--font-size-sm);text-decoration:none;transition:color .2s ease}.forgot-password-link a:hover{color:var(--color-gray700, #4B5563);text-decoration:underline}.error{background:#ffebee;color:#f44336;padding:var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);border:1px solid #ffcdd2}.success-message{background:#e8f5e9;color:#2e7d32;padding:var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-base);margin-bottom:var(--spacing-lg);border:1px solid #c8e6c9;line-height:1.6}.success-message p{margin:0 0 var(--spacing-sm) 0}.success-message p:last-child{margin-bottom:0}.email-verification-section{margin-bottom:var(--spacing-lg)}.email-verified-badge{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;color:var(--color-success, #00D084);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);pointer-events:none}.email-verification-actions{margin-top:var(--spacing-md)}.btn-verify{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-weight:var(--font-weight-semibold);padding:0 28px;height:48px}.btn-verify:disabled{opacity:.5;cursor:not-allowed}.btn-verify svg{flex-shrink:0}.email-sent-notice{padding:var(--spacing-md);background:linear-gradient(135deg,#4285f40d,#4285f405);border-radius:var(--border-radius-md);border:1px solid rgba(66,133,244,.1)}.email-sent-header{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.email-sent-header svg{flex-shrink:0;color:var(--color-primary, #4285F4);margin-top:2px}.email-sent-title{font-size:var(--font-size-sm);color:var(--color-gray700);margin:0 0 var(--spacing-xs) 0;line-height:var(--line-height-relaxed)}.email-sent-title strong{color:var(--color-black);font-weight:var(--font-weight-semibold)}.email-sent-subtitle{font-size:var(--font-size-xs);color:var(--color-gray600);margin:0;line-height:var(--line-height-relaxed)}.btn-resend{width:100%;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);height:40px}@media (max-width: 768px){.auth-page{padding:1rem}.auth-container{padding:var(--spacing-lg)}.auth-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl)}.btn-verify{height:44px;font-size:var(--font-size-sm)}.email-sent-notice{padding:var(--spacing-sm)}.email-sent-title{font-size:var(--font-size-xs)}.email-sent-subtitle{font-size:11px}}.otp-input-container{margin-top:var(--spacing-lg)}.otp-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray700);margin-bottom:var(--spacing-sm)}.otp-inputs{display:flex;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-sm)}.otp-input{width:48px;height:56px;text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);border:2px solid var(--color-border, #E5E8EB);border-radius:var(--border-radius-md, 8px);background:var(--color-white);color:var(--color-gray900);transition:all .2s ease}.otp-input:focus{outline:none;border-color:var(--color-primary, #4285F4);box-shadow:0 0 0 3px #4285f41a}.otp-input:disabled{background:var(--color-gray100, #F3F4F6);cursor:not-allowed}.otp-input-error{border-color:var(--color-error, #EF4444)}.otp-error{color:var(--color-error, #EF4444);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);text-align:center}.otp-timer{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);color:var(--color-gray600, #6B7280);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-gray50, #F9FAFB);border-radius:var(--border-radius-md, 8px)}.otp-timer-warning{color:var(--color-error, #EF4444);background:#ef44441a;font-weight:var(--font-weight-medium)}.otp-timer svg{flex-shrink:0}@media (max-width: 768px){.otp-input{width:44px;height:52px;font-size:var(--font-size-lg)}.otp-inputs{gap:var(--spacing-xs)}.otp-timer{font-size:var(--font-size-xs);padding:var(--spacing-xs)}}.signup-step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-2xl);gap:var(--spacing-xs)}.step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);flex:1;max-width:120px}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);background:var(--color-gray200, #E5E8EB);color:var(--color-gray600, #6B7280);border:2px solid var(--color-gray200, #E5E8EB);transition:all .3s ease}.step.active .step-number{background:var(--color-primary, #4285F4);color:#fff;border-color:var(--color-primary, #4285F4)}.step.completed .step-number{background:var(--color-success, #10B981);color:#fff;border-color:var(--color-success, #10B981)}.step-label{font-size:var(--font-size-xs);color:var(--color-gray600, #6B7280);font-weight:var(--font-weight-medium);text-align:center}.step.active .step-label{color:var(--color-black, #191F28);font-weight:var(--font-weight-semibold)}.step.completed .step-label{color:var(--color-success, #10B981)}.step-line{flex:1;height:2px;background:var(--color-gray200, #E5E8EB);margin:0 var(--spacing-xs);max-width:60px;transition:background .3s ease}.step-line.completed{background:var(--color-success, #10B981)}.email-verified-info{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:linear-gradient(135deg,#10b9810d,#10b98105);border-radius:var(--border-radius-md);border:1px solid rgba(16,185,129,.2)}.email-verified-info .email-verified-badge{position:static;transform:none;justify-content:center;color:var(--color-success, #10B981);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.user-details-section{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-gray100)}.user-details-section .tds-text-field{margin-bottom:var(--spacing-lg)}.user-details-section .tds-text-field:last-child{margin-bottom:0}.details-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-xs);line-height:var(--line-height-tight)}.details-section-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:var(--line-height-normal)}.radio-field-group{display:flex;flex-direction:column;gap:8px;width:100%;margin-bottom:var(--spacing-lg)}.radio-field-group:last-child{margin-bottom:0}.radio-field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.5}.required-mark{color:#f44336}.radio-options{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:12px 16px;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;min-height:48px;align-items:center}.radio-option{display:flex;align-items:center;gap:8px;font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.radio-option input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-gray900);flex-shrink:0}.radio-option input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.radio-option span{line-height:1.5}.radio-field-group:has(.tds-text-field-help-error) .radio-options{border-color:#f44336}.tds-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.tds-loader-spinner{display:inline-flex;align-items:center;justify-content:center}.tds-loader-spinner svg{display:block;animation:tds-loader-spin 1s linear infinite}.tds-loader-circle{animation:tds-loader-dash 1.5s ease-in-out infinite}@keyframes tds-loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tds-loader-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,200;stroke-dashoffset:-35}to{stroke-dasharray:90,200;stroke-dashoffset:-124}}.tds-loader-small .tds-loader-spinner svg{width:20px;height:20px}.tds-loader-medium .tds-loader-spinner svg{width:24px;height:24px}.tds-loader-large .tds-loader-spinner svg{width:32px;height:32px}.tds-loader-primary .tds-loader-spinner{color:var(--color-primary, #4285F4)}.tds-loader-dark .tds-loader-spinner{color:var(--color-gray900, #191F28)}.tds-loader-light .tds-loader-spinner{color:var(--color-white, #FFFFFF)}.tds-loader-label{font-size:14px;line-height:1.5;color:var(--color-text-secondary, #8B95A1);text-align:center;white-space:pre-line}.tds-loader-primary .tds-loader-label,.tds-loader-dark .tds-loader-label{color:var(--color-text-secondary, #8B95A1)}.tds-loader-light .tds-loader-label{color:#fffc}.courses-page{padding:2.5rem 0;background:linear-gradient(135deg,#f8f9fc,#eef1f7);min-height:100vh}.courses-page h1{margin-bottom:2.5rem;font-size:2rem;font-weight:700;color:#1a1a2e;text-align:center;position:relative}.courses-page h1:after{content:"";display:block;width:60px;height:4px;background:linear-gradient(90deg,#ff6b35,#ff8f5a);border-radius:2px;margin:.75rem auto 0}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem}.course-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 8px 32px #00000014;transition:all .35s cubic-bezier(.25,.46,.45,.94);overflow:hidden;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column}.course-card:hover{transform:translateY(-8px);box-shadow:0 20px 48px #0000001f}.course-card h2{font-size:1.35rem;margin-bottom:.75rem;color:#1a1a2e;font-weight:700;line-height:1.4}.course-description{color:#666;margin-bottom:1.5rem;line-height:1.7;font-size:.95rem;flex:1}.course-progress{margin:0 0 1.5rem;padding:1.25rem;background:linear-gradient(135deg,#f8f9fc,#fff);border-radius:14px;border:1px solid #eef1f7}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem}.progress-label{font-size:.875rem;color:#666;font-weight:600}.progress-percentage{font-size:1.125rem;font-weight:700;background:linear-gradient(135deg,#ff6b35,#ff8f5a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-bar{width:100%;height:10px;background:#eef1f7;border-radius:5px;overflow:hidden;margin-bottom:.625rem}.progress-fill{height:100%;background:linear-gradient(90deg,#ff6b35,#ff8f5a);border-radius:5px;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.progress-info{font-size:.8rem;color:#888;text-align:center}.btn-block{width:100%;padding:1rem;font-size:1rem;font-weight:600;border-radius:12px;transition:all .3s ease}.course-card .btn-primary{background:linear-gradient(135deg,#ff6b35,#ff8f5a);border:none;color:#fff;box-shadow:0 4px 16px #ff6b3540}.course-card .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff6b3559}@media (max-width: 768px){.courses-page{padding:1.5rem 0}.courses-page h1{font-size:1.5rem;margin-bottom:2rem}.courses-grid{grid-template-columns:1fr;gap:1.5rem}.course-card{border-radius:16px;padding:1.5rem}.course-card h2{font-size:1.2rem}}.video-js .vjs-icon-placeholder:before,.vjs-icon-placeholder:before,.video-js button .vjs-icon-placeholder:before{font-family:inherit!important;content:""!important}.secure-video-container{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:8px;overflow:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.secure-video-container .video-js{width:100%;height:100%;border-radius:8px}.secure-video-container .vjs-big-play-button{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:80px!important;height:80px!important;border-radius:50%!important;border:3px solid rgba(255,255,255,.9)!important;background:#4285f4e6!important;line-height:80px!important;font-size:0!important}.secure-video-container .vjs-big-play-button:hover{background:#4285f4!important;transform:translate(-50%,-50%) scale(1.05)!important}.secure-video-container .vjs-big-play-button .vjs-icon-placeholder:before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-40%,-50%)!important;width:0!important;height:0!important;border-style:solid!important;border-width:15px 0 15px 25px!important;border-color:transparent transparent transparent white!important;background:none!important}.secure-video-container .vjs-control-bar{display:flex!important;align-items:center!important;background:linear-gradient(transparent,#000c)!important;height:50px!important;padding:0 10px!important}.secure-video-container .vjs-control{display:flex!important;align-items:center!important;justify-content:center!important;height:40px!important;outline:none!important}.secure-video-container .vjs-button{width:40px!important;flex-shrink:0!important}.secure-video-container .vjs-play-control{position:relative!important;order:1!important}.secure-video-container .vjs-play-control .vjs-icon-placeholder:before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-35%,-50%)!important;width:0!important;height:0!important;border-style:solid!important;border-width:8px 0 8px 14px!important;border-color:transparent transparent transparent white!important;background:none!important}.secure-video-container .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:4px!important;height:16px!important;border-style:solid!important;border-width:0!important;border-color:transparent!important;background:#fff!important;box-shadow:8px 0 #fff!important}.secure-video-container .vjs-volume-panel{display:flex!important;align-items:center!important;order:2!important;width:auto!important;margin-left:5px!important}.secure-video-container .vjs-volume-panel.vjs-hover,.secure-video-container .vjs-volume-panel:focus-within,.secure-video-container .vjs-volume-panel.vjs-slider-active{width:auto!important}.secure-video-container .vjs-mute-control{position:relative!important;width:40px!important;height:40px!important;flex-shrink:0!important}.secure-video-container .vjs-mute-control .vjs-icon-placeholder:before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:22px!important;height:22px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z'/%3E%3C/svg%3E")!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;border:none!important}.secure-video-container .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z'/%3E%3C/svg%3E")!important}.secure-video-container .vjs-volume-control{display:flex!important;align-items:center!important;width:80px!important;margin-right:10px!important;opacity:1!important;visibility:visible!important}.secure-video-container .vjs-volume-control.vjs-volume-horizontal{width:80px!important;height:40px!important;display:flex!important;align-items:center!important}.secure-video-container .vjs-volume-bar{width:100%!important;height:6px!important;background:#ffffff4d!important;border-radius:3px!important;margin:0!important;cursor:pointer!important}.secure-video-container .vjs-volume-bar.vjs-slider-horizontal{width:100%!important;height:6px!important}.secure-video-container .vjs-volume-level{background:#4285f4!important;border-radius:3px!important;height:100%!important}.secure-video-container .vjs-volume-level:before{content:""!important;position:absolute!important;right:-6px!important;top:50%!important;transform:translateY(-50%)!important;width:12px!important;height:12px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 1px 3px #0000004d!important}.secure-video-container .vjs-current-time{display:flex!important;align-items:center!important;order:3!important;padding:0 5px!important;min-width:auto!important;font-size:13px!important;color:#fff!important}.secure-video-container .vjs-time-divider{display:flex!important;align-items:center!important;order:4!important;padding:0 2px!important;min-width:auto!important;font-size:13px!important;color:#ffffffb3!important}.secure-video-container .vjs-duration{display:flex!important;align-items:center!important;order:5!important;padding:0 5px!important;min-width:auto!important;font-size:13px!important;color:#fff!important}.secure-video-container .vjs-remaining-time{display:none!important}.secure-video-container .vjs-progress-control{display:flex!important;align-items:center!important;flex:1!important;order:6!important;margin:0 10px!important;height:40px!important}.secure-video-container .vjs-progress-holder{height:6px!important;background:#fff3!important;border-radius:3px!important;cursor:pointer!important}.secure-video-container .vjs-play-progress{background:#4285f4!important;border-radius:3px!important}.secure-video-container .vjs-play-progress:before{content:""!important;position:absolute!important;right:-6px!important;top:50%!important;transform:translateY(-50%)!important;width:14px!important;height:14px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 1px 3px #0000004d!important;opacity:0!important;transition:opacity .2s!important}.secure-video-container .vjs-progress-control:hover .vjs-play-progress:before{opacity:1!important}.secure-video-container .vjs-load-progress{background:#ffffff4d!important;border-radius:3px!important}.secure-video-container .vjs-load-progress div{background:#fff6!important}.secure-video-container .vjs-progress-control:hover .vjs-progress-holder{height:8px!important}.secure-video-container .vjs-fullscreen-control{position:relative!important;order:7!important;margin-left:auto!important}.secure-video-container .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:22px!important;height:22px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z'/%3E%3C/svg%3E")!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;border:none!important}.secure-video-container .vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z'/%3E%3C/svg%3E")!important}.secure-video-container .vjs-playback-rate,.secure-video-container .vjs-picture-in-picture-control,.secure-video-container .vjs-subs-caps-button{display:none!important}.secure-video-container video::-webkit-media-controls-download-button,.secure-video-container video::-webkit-media-controls-enclosure,.secure-video-container video::-internal-media-controls-download-button,.secure-video-container video::-webkit-media-controls-picture-in-picture-button{display:none!important}.secure-video-container .vjs-mouse-display{background:#000c!important;border-radius:3px!important}.secure-video-container .vjs-time-tooltip{background:#000c!important;border-radius:3px!important;padding:4px 8px!important;font-size:12px!important}.video-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;z-index:100;color:#fff}.video-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.video-loading-overlay p{margin:0;font-size:14px;color:#fffc}.video-error-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000e6;z-index:100;color:#fff}.video-error-overlay .error-icon{width:48px;height:48px;margin-bottom:16px;color:#ff6b6b}.video-error-overlay p{margin:0 0 20px;font-size:14px;color:#ff6b6b}.video-error-overlay button{padding:10px 24px;background:#fff;color:#000;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.video-error-overlay button:hover{background:#e0e0e0}@media (max-width: 768px){.secure-video-container{border-radius:4px}.secure-video-container .vjs-big-play-button{width:60px!important;height:60px!important;line-height:60px!important}.secure-video-container .vjs-big-play-button .vjs-icon-placeholder:before{border-width:12px 0 12px 20px!important}.secure-video-container .vjs-control-bar{height:44px!important;padding:0 5px!important}.secure-video-container .vjs-button{width:36px!important}.secure-video-container .vjs-volume-control{width:0!important;overflow:hidden!important}.secure-video-container .vjs-volume-panel:hover .vjs-volume-control,.secure-video-container .vjs-volume-panel.vjs-hover .vjs-volume-control{width:60px!important}.secure-video-container .vjs-current-time,.secure-video-container .vjs-duration{font-size:11px!important;padding:0 3px!important}.secure-video-container .vjs-time-divider{font-size:11px!important;padding:0 1px!important}}@media (max-width: 480px){.secure-video-container .vjs-time-divider,.secure-video-container .vjs-duration{display:none!important}}.course-detail-page{padding:0 0 100px;background:linear-gradient(135deg,#f8f9fc,#e8eef5);min-height:100vh}.course-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 0}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1px solid #e0e5eb;border-radius:10px;font-size:.875rem;font-weight:500;color:#555;cursor:pointer;transition:all .2s ease;text-decoration:none;flex-shrink:0}.back-button:hover{background:#f0f5ff;border-color:#3b82f6;color:#3b82f6}.back-button svg{width:18px;height:18px}.course-detail-page h1{margin:0;font-size:1.5rem;font-weight:700;color:#1a1a2e;flex:1}.course-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start}.main-content{display:flex;flex-direction:column;gap:2rem}.video-section{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 24px #0000000f;border:1px solid rgba(0,0,0,.04)}.video-section h2{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;color:#1a1a2e}.video-player-wrapper{position:relative;margin-bottom:1.25rem;background:#0a0a0a;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #00000026}.video-player-wrapper>div{width:100%;height:auto}.video-placeholder{padding:5rem 2rem;text-align:center;background:#f8f9fc;border-radius:12px;color:#666;margin-bottom:1.25rem;border:2px dashed #ddd}.video-placeholder p{margin:0;font-size:1rem;color:#888}.lesson-description{padding:1rem 1.25rem;background:#f0f5ff;border-radius:10px;border-left:4px solid #3b82f6}.lesson-description p{margin:0;color:#555;line-height:1.7;font-size:.95rem}.sidebar{position:sticky;top:1rem}.lessons-list{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;border:1px solid rgba(0,0,0,.04);overflow:hidden}.lessons-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;background:linear-gradient(135deg,#f8f9fc,#f0f2f5);border-bottom:1px solid #e8eef5;transition:all .2s ease;-webkit-user-select:none;user-select:none}.lessons-header:hover{background:linear-gradient(135deg,#eef2f7,#e8ecf2)}.lessons-header h3{margin:0;font-size:.85rem;font-weight:700;color:#1a1a2e;display:flex;align-items:center;gap:.5rem}.toggle-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:.65rem;color:#666;background:#fff;border-radius:6px;box-shadow:0 1px 4px #00000014;transition:all .3s ease}.toggle-icon.open{transform:rotate(180deg);background:#3b82f6;color:#fff}.lessons-content{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}.lessons-content.open{max-height:400px;overflow-y:auto}.lessons-content::-webkit-scrollbar{width:4px}.lessons-content::-webkit-scrollbar-track{background:#f0f0f0}.lessons-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.lessons-content::-webkit-scrollbar-thumb:hover{background:#bbb}.lesson-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem 1rem;text-align:left;background:#fff;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:all .2s ease;font-size:.8rem;font-weight:500;color:#444;line-height:1.3;gap:.375rem}.lesson-item .lesson-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-item:last-child{border-bottom:none}.lesson-item:hover{background:#f0f5ff;color:#3b82f6}.lesson-item.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600}.lesson-item.active:hover{color:#fff}.lesson-item.completed{background:#f0fdf4}.lesson-item.completed:hover{background:#dcfce7}.lesson-item.completed.active{background:linear-gradient(135deg,#22c55e,#16a34a)}.lesson-progress-indicator{display:flex;align-items:center;justify-content:center;flex-shrink:0}.lesson-progress-indicator .completed-icon{width:14px;height:14px;color:#22c55e}.lesson-item.active .completed-icon{color:#fff}.lesson-progress-indicator .progress-percent{font-size:.65rem;font-weight:600;color:#3b82f6;background:#e0f2fe;padding:.1rem .3rem;border-radius:3px}.lesson-item.active .progress-percent{color:#fff;background:#ffffff40}.questions-section{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 24px #0000000f;border:1px solid rgba(0,0,0,.04)}.questions-section h3{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#1a1a2e;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.questions-section form{margin-bottom:1.25rem}.questions-section .form-textarea{width:100%;padding:1rem;border:2px solid #e8eef5;border-radius:10px;resize:vertical;min-height:100px;font-size:.9rem;line-height:1.6;transition:all .2s ease;background:#f8f9fc;box-sizing:border-box}.questions-section .form-textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.questions-section .form-textarea::placeholder{color:#aaa}.questions-section .btn-block{width:100%;margin-top:.75rem;padding:.875rem;font-size:.9rem;font-weight:600;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;cursor:pointer;transition:all .2s ease}.questions-section .btn-block:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f64d}.questions-list{max-height:400px;overflow-y:auto;padding-right:4px}.questions-list::-webkit-scrollbar{width:6px}.questions-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.questions-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.no-questions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;background:#f8f9fc;border-radius:12px;border:2px dashed #e0e5eb}.no-questions-icon{width:48px;height:48px;margin-bottom:.75rem;color:#aaa}.no-questions p{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#555}.no-questions span{font-size:.875rem;color:#888;line-height:1.5}.question-item{padding:1rem;margin-bottom:.75rem;background:#f8f9fc;border-radius:12px;border:1px solid #e8eef5;transition:all .2s ease}.question-item:last-child{margin-bottom:0}.question-item:hover{border-color:#ddd;box-shadow:0 4px 12px #0000000a}.question-header-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.question-header-row .question-content{flex:1;margin-bottom:0}.question-content{margin-bottom:.5rem;color:#333;font-size:.9rem;line-height:1.6}.question-date{font-size:.75rem;color:#999;margin-bottom:.5rem}.question-item .btn-danger{padding:.375rem .75rem;font-size:.75rem;background:#fff;color:#dc3545;border:1px solid #dc3545;border-radius:6px;cursor:pointer;transition:all .2s ease}.question-item .btn-danger:hover{background:#dc3545;color:#fff}.answers{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e8eef5}.answer-item{padding:.875rem 1rem;margin-top:.5rem;background:#fff;border-radius:10px;border-left:3px solid #3b82f6;box-shadow:0 2px 8px #0000000a}.answer-item strong{color:#3b82f6;font-weight:600;font-size:.8rem}.answer-content{color:#444;margin-top:.25rem;font-size:.875rem;line-height:1.6}.answer-date{font-size:.7rem;color:#aaa;margin-top:.375rem}.secure-video-container{position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.secure-video-container video{pointer-events:auto;-webkit-user-select:none;user-select:none}.secure-video-container *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.secure-video-container video::-webkit-media-controls-download-button{display:none!important}@media (max-width: 1024px){.course-layout{grid-template-columns:1fr 260px;gap:1.25rem}}@media (max-width: 768px){.course-detail-page{padding:0}.course-detail-page h1{font-size:1.5rem;padding:1.5rem 0}.course-layout{grid-template-columns:1fr;gap:1rem}.video-section,.lessons-list,.questions-section{border-radius:10px}.sidebar{position:static}.lessons-content.open{max-height:300px}.lesson-item{padding:.5rem .875rem;font-size:.75rem}.questions-list{max-height:250px}}@media (max-width: 480px){.video-section h2{font-size:1rem}.lessons-header{padding:.625rem .875rem}.lessons-header h3{font-size:.8rem}.lesson-item{padding:.5rem .75rem;font-size:.7rem}.question-item{padding:.75rem}}.payment-page{padding:2rem 0}.payment-page h1{margin-bottom:2rem;color:#333}.payment-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.course-summary{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.course-summary h2{margin-bottom:1rem;color:#333}.course-summary p{color:#666;margin-bottom:1.5rem;line-height:1.6}.payment-countdown-wrapper{margin-bottom:var(--spacing-md)}.price-info-dark{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:var(--border-radius-md, 12px);padding:var(--spacing-lg, 16px) var(--spacing-xl, 20px);margin-bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.price-discount-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.discount-percent{font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold, 700);color:#4285f4;line-height:1}.price-original-strikethrough{font-size:var(--font-size-base, 16px);color:#999;text-decoration:line-through}.price-installment-row{display:flex;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.price-monthly-large{font-size:var(--font-size-3xl, 30px);font-weight:var(--font-weight-bold, 700);color:#fff;line-height:1.2}.installment-period{font-size:var(--font-size-sm, 14px);color:#ccc}.price-benefit-row{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid rgba(255,255,255,.1)}.price-benefit-amount{font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-bold, 700);color:#4285f4;line-height:1.2}.benefit-label{font-size:var(--font-size-sm, 14px);color:#ccc}.benefit-arrow{font-size:var(--font-size-lg, 18px);color:#ccc;margin-left:auto}.price-info{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.price-info>div{display:flex;align-items:center;gap:1rem}.price-original{text-decoration:line-through;color:#999;font-size:1rem}.price-current{font-size:2rem;font-weight:700;color:#007bff}.price-discount{font-size:1rem;color:#4285f4;font-weight:500}.installment-info{color:#666;font-size:.9rem;margin-top:.5rem}.payment-widget-container{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.btn-large{padding:1rem 2rem;font-size:1.1rem}.payment-notice-content{padding:var(--spacing-md) 0}.payment-notice-content p{margin-bottom:var(--spacing-lg);line-height:1.6;color:var(--color-text-primary)}.payment-contact-info{background:var(--color-background-subtle);padding:var(--spacing-lg);border-radius:var(--border-radius-md);margin-top:var(--spacing-md)}.payment-contact-info p{margin-bottom:var(--spacing-sm);font-size:var(--font-size-base)}.payment-contact-info p:last-child{margin-bottom:0}.payment-contact-info strong{font-weight:var(--font-weight-semibold);color:var(--color-black);margin-right:var(--spacing-sm)}@media (max-width: 768px){.payment-content{grid-template-columns:1fr}}.chat-page{padding:2rem 0}.chat-page h1{margin-bottom:2rem;color:#333}.chat-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:600px}.no-messages{text-align:center;color:#999;padding:2rem}.message-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid var(--color-border, #dee2e6);align-items:flex-end}.message-form>div{flex:1}.file-upload-btn{min-width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center}.message-video{max-width:400px;max-height:400px}@media (max-width: 768px){.chat-container{height:500px}.message{max-width:85%}}.reviews-page{padding:2rem 0}.reviews-page h1{margin-bottom:2rem;color:#333}.review-form-section{margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.review-form{display:flex;flex-direction:column}.review-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.review-author{font-weight:700;color:#333}.star-icon{width:16px;height:16px;fill:#e0e0e0;stroke:#ccc;stroke-width:1}.review-date{color:#999;font-size:.875rem;margin-left:auto}.review-content{color:#666;line-height:1.6;margin-bottom:.5rem}.review-course{color:#999;font-size:.875rem}@media (max-width: 768px){.review-header{flex-direction:column;align-items:flex-start}.review-date{margin-left:0}}.payment-result-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:2rem 1rem}.payment-result-container{width:100%;max-width:500px;display:flex;align-items:center;justify-content:center}.result-content{text-align:center;background:#fff;border-radius:8px;padding:3rem;box-shadow:0 2px 8px #0000001a;width:100%}.success-icon{width:80px;height:80px;margin:0 auto 1rem;color:#22c55e}.error-icon{width:80px;height:80px;margin:0 auto 1rem;color:#ef4444}.result-content h1{margin-bottom:1rem;color:#333}.result-content p{color:#666;margin-bottom:.5rem}.result-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.loading{text-align:center;padding:3rem}.spinner{border:4px solid rgba(0,0,0,.1);border-top:4px solid var(--color-primary, #4285F4);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.loading p{color:var(--color-gray700, #6B7280);font-size:var(--font-size-base, 16px)}@media (max-width: 768px){.result-content{padding:2rem 1.5rem}.result-actions{flex-direction:column}.payment-result-container{padding:1rem}}.terms-page{min-height:calc(100vh - 56px);padding:var(--spacing-3xl) 0;background-color:var(--color-background);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.terms-container{max-width:800px;margin:0 auto;padding:0 var(--content-padding-mobile)}@media (min-width: 768px){.terms-container{padding:0 var(--content-padding-desktop)}}.terms-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-md);text-align:center}.terms-effective-date{font-size:var(--font-size-sm);color:var(--color-gray600);text-align:center;margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.terms-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.terms-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.terms-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-xs)}.terms-section p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray900);margin:0}.terms-section ol{margin:0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.terms-section li{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray900)}.terms-section ul{margin:var(--spacing-xs) 0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}@media (max-width: 768px){.terms-title{font-size:var(--font-size-2xl)}.terms-section-title{font-size:var(--font-size-lg)}}.privacy-page{min-height:calc(100vh - 56px);padding:var(--spacing-3xl) 0;background-color:var(--color-background);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.privacy-container{max-width:800px;margin:0 auto;padding:0 var(--content-padding-mobile)}@media (min-width: 768px){.privacy-container{padding:0 var(--content-padding-desktop)}}.privacy-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-md);text-align:center}.privacy-effective-date{font-size:var(--font-size-sm);color:var(--color-gray600);text-align:center;margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.privacy-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.privacy-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.privacy-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-xs)}.privacy-section p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray900);margin:0}.privacy-section ol{margin:0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.privacy-section li{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray900)}.privacy-section ul{margin:var(--spacing-xs) 0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.privacy-section strong{font-weight:var(--font-weight-semibold);color:var(--color-black)}.privacy-contact-info{background-color:var(--color-background-subtle);padding:var(--spacing-lg);border-radius:var(--border-radius-md);margin:var(--spacing-md) 0}.privacy-contact-info p{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.privacy-contact-info ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.privacy-contact-info li{font-size:var(--font-size-base);color:var(--color-gray900)}@media (max-width: 768px){.privacy-title{font-size:var(--font-size-2xl)}.privacy-section-title{font-size:var(--font-size-lg)}}.refund-page{min-height:calc(100vh - 56px);padding:var(--spacing-3xl) 0;background-color:var(--color-background);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.refund-container{max-width:800px;margin:0 auto;padding:0 var(--content-padding-mobile)}@media (min-width: 768px){.refund-container{padding:0 var(--content-padding-desktop)}}.refund-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-md);text-align:center}.refund-effective-date{font-size:var(--font-size-sm);color:var(--color-gray600);text-align:center;margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.refund-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.refund-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.refund-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-xs)}.refund-section p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray900);margin:0}.refund-section ol{margin:0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.refund-section li{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray900)}.refund-section ul{margin:var(--spacing-xs) 0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.refund-section strong{font-weight:var(--font-weight-semibold);color:var(--color-black)}.refund-contact-info{background-color:var(--color-background-subtle);padding:var(--spacing-lg);border-radius:var(--border-radius-md);margin:var(--spacing-md) 0}.refund-contact-info p{margin-bottom:var(--spacing-sm)}.refund-contact-info ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.refund-contact-info li{font-size:var(--font-size-base);color:var(--color-gray900)}@media (max-width: 768px){.refund-title{font-size:var(--font-size-2xl)}.refund-section-title{font-size:var(--font-size-lg)}}.help-center-page{padding:2rem 0;min-height:calc(100vh - 200px)}.help-center-page .container{max-width:800px;margin:0 auto;padding:0 var(--spacing-lg)}.help-center-page h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-2xl);text-align:center}.help-section{margin-bottom:var(--spacing-3xl)}.help-section h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.faq-item{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-background-subtle);border-radius:var(--border-radius-md)}.faq-item h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.faq-item p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}@media (max-width: 768px){.help-center-page{padding:1rem 0}.help-center-page h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl)}.help-section h2{font-size:var(--font-size-xl)}.faq-item{padding:var(--spacing-md)}}.device-support-page{padding:2rem 0;min-height:calc(100vh - 200px)}.device-support-page .container{max-width:800px;margin:0 auto;padding:0 var(--spacing-lg)}.device-support-page h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-2xl);text-align:center}.support-section{margin-bottom:var(--spacing-3xl)}.support-section h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.device-category{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-background-subtle);border-radius:var(--border-radius-md)}.device-category h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.device-category ul{list-style:none;padding:0;margin:0}.device-category li{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-sm);padding-left:var(--spacing-md);position:relative}.device-category li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.device-category strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.browser-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.browser-item{padding:var(--spacing-lg);background:var(--color-background-subtle);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.browser-item strong{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.browser-item span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.support-section ul{list-style:none;padding:0;margin:var(--spacing-lg) 0}.support-section li{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-sm);padding-left:var(--spacing-md);position:relative}.support-section li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.support-section strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.contact-info{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-background-subtle);border-radius:var(--border-radius-md);font-size:var(--font-size-base);color:var(--color-text-primary)}.contact-info strong{font-weight:var(--font-weight-semibold);margin-right:var(--spacing-sm)}.contact-info a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium)}.contact-info a:hover{text-decoration:underline}@media (max-width: 768px){.device-support-page{padding:1rem 0}.device-support-page h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl)}.support-section h2{font-size:var(--font-size-xl)}.browser-list{grid-template-columns:1fr}}.email-confirm-page{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--color-background)}.email-confirm-container{max-width:500px;width:100%;text-align:center;padding:var(--spacing-3xl);background:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:0 2px 8px #0000000a}.email-confirm-icon{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 auto var(--spacing-xl);position:relative;animation:email-confirm-scale .5s ease-out}@keyframes email-confirm-scale{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.email-confirm-icon.success{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32;box-shadow:0 4px 12px #2e7d3233}.email-confirm-icon.success:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid #2E7D32;animation:email-confirm-pulse 2s ease-in-out infinite}@keyframes email-confirm-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:0}}.email-confirm-icon.error{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828;box-shadow:0 4px 12px #c6282833}.email-confirm-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}.email-confirm-message{font-size:var(--font-size-lg);color:var(--color-gray700);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium)}.email-confirm-submessage{font-size:var(--font-size-base);color:var(--color-gray600);margin-top:var(--spacing-md);line-height:var(--line-height-relaxed)}.email-confirm-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.email-confirm-actions .btn{width:100%}@media (max-width: 768px){.email-confirm-container{padding:var(--spacing-xl);margin:var(--spacing-md)}.email-confirm-icon{width:80px;height:80px;font-size:var(--font-size-3xl)}.email-confirm-title{font-size:var(--font-size-2xl)}.email-confirm-message{font-size:var(--font-size-base)}.email-confirm-submessage{font-size:var(--font-size-sm)}}.email-verification-complete-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--color-background, #F9FAFB)}.email-verification-complete-container{background:#fff;border-radius:var(--border-radius-lg, 12px);padding:var(--spacing-4xl, 48px);max-width:500px;width:100%;text-align:center;box-shadow:0 4px 12px #00000014}.verification-icon{margin:0 auto var(--spacing-xl);width:64px;height:64px;display:flex;align-items:center;justify-content:center}.verification-icon.success{color:var(--color-success, #10B981)}.verification-icon.error{color:var(--color-error, #EF4444)}.verification-title{font-size:var(--font-size-3xl, 28px);font-weight:var(--font-weight-bold, 700);color:var(--color-black, #191F28);margin-bottom:var(--spacing-md)}.verification-message{font-size:var(--font-size-lg, 18px);color:var(--color-gray700, #374151);margin-bottom:var(--spacing-md);line-height:1.6}.verification-email{font-size:var(--font-size-base, 16px);color:var(--color-gray600, #6B7280);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-medium, 500)}.verification-submessage{font-size:var(--font-size-base, 16px);color:var(--color-gray600, #6B7280);margin-bottom:var(--spacing-2xl);line-height:1.6}.verification-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-2xl)}.loader-spinner{width:48px;height:48px;border:4px solid var(--color-border, #E5E8EB);border-top-color:var(--color-primary, #4285F4);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-lg)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.email-verification-complete-container{padding:var(--spacing-2xl, 32px)}.verification-title{font-size:var(--font-size-2xl, 24px)}.verification-message{font-size:var(--font-size-base, 16px)}}.admin-dashboard{padding:2rem 0}.admin-dashboard h1{margin-bottom:2rem;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.stat-card h3{font-size:.9rem;color:#666;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:#007bff;margin:0}.stat-link{display:inline-block;margin-top:.5rem;color:#007bff;text-decoration:none;font-size:.875rem}.stat-link:hover{text-decoration:underline}.admin-menu{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.admin-menu h2{margin-bottom:1.5rem;color:#333}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.menu-item{display:block;padding:1.5rem;background:#f8f9fa;border-radius:8px;text-decoration:none;color:#333;text-align:center;font-weight:500;transition:all .3s ease}.menu-item:hover{background:#007bff;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #007bff4d}@media (max-width: 768px){.stats-grid,.menu-grid{grid-template-columns:1fr}}.admin-intro-manage{padding:2rem 0}.admin-intro-manage h1{margin-bottom:2rem;color:#333}.section-form{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.section-form h2{margin-bottom:1.5rem;color:#333}.form-actions{display:flex;gap:1rem;margin-top:1rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.sections-list{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.sections-list h2{margin-bottom:1.5rem;color:#333}.section-item{padding:1.5rem;border:1px solid #dee2e6;border-radius:8px;margin-bottom:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{color:#007bff;margin:0}.section-actions{display:flex;gap:.5rem}.section-item h4{margin-bottom:.5rem;color:#333}.section-content{color:#666;line-height:1.6;margin-bottom:.5rem}.section-order{font-size:.875rem;color:#999}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-group{display:flex;flex-direction:column;gap:.5rem}.modal-form .form-label{font-weight:500;color:#333;font-size:.875rem}.modal-form .form-input,.modal-form .form-textarea{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:4px;font-size:.875rem;font-family:inherit}.modal-form .form-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.modal-form .form-textarea{resize:vertical;min-height:120px}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}.admin-course-manage{padding:2rem 0}.admin-course-manage h1{margin-bottom:2rem;color:#333}.course-form-section{margin-bottom:2rem}.form-card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-top:1rem}.form-card h2{margin-bottom:1.5rem;color:#333}.courses-list{display:flex;flex-direction:column;gap:2rem}.course-card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.course-header h2{margin:0;color:#333}.course-actions{display:flex;gap:.5rem}.course-price{font-size:1.2rem;font-weight:700;color:#007bff;margin:1rem 0}.installment{font-size:.9rem;color:#666;font-weight:400;margin-left:.5rem}.lessons-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #dee2e6}.lessons-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lessons-header h3{margin:0;color:#333}.lesson-form{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:1rem}.lessons-list{display:flex;flex-direction:column;gap:1rem}.lesson-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background:#f8f9fa;border-radius:8px}.lesson-info{flex:1}.lesson-info strong{display:block;margin-bottom:.5rem;color:#333}.lesson-info p{color:#666;margin:0;font-size:.9rem}.lesson-actions{display:flex;gap:.5rem;align-items:center}.lesson-order-controls{display:flex;flex-direction:column;gap:.25rem}.lesson-order-controls button{min-width:32px;padding:.25rem .5rem;font-size:.875rem}.lesson-order-controls button:disabled{opacity:.5;cursor:not-allowed}.upload-progress-container{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.upload-progress-bar{flex:1;height:8px;background-color:#e9ecef;border-radius:4px;overflow:hidden}.upload-progress-fill{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);transition:width .3s ease;border-radius:4px}.upload-progress-text{font-size:.875rem;color:#666;font-weight:500;min-width:45px;text-align:right}@media (max-width: 768px){.course-header,.lesson-item{flex-direction:column;gap:1rem}}.admin-payment-manage{padding:2rem 0}.admin-payment-manage h1{margin-bottom:2rem;color:#333}.payments-list{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.payments-table{width:100%;border-collapse:collapse}.payments-table th{text-align:left;padding:1rem;border-bottom:2px solid #dee2e6;color:#333;font-weight:600}.payments-table td{padding:1rem;border-bottom:1px solid #dee2e6;color:#666}.payments-table tr:hover{background:#f8f9fa}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.payment-key{font-family:monospace;font-size:.875rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.payments-table{font-size:.875rem}.payments-table th,.payments-table td{padding:.5rem}}.admin-student-manage{padding:2rem 0}.admin-student-manage h1,.add-admin-section{margin-bottom:2rem}.admin-form{margin-top:1rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.students-list{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.students-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.students-list-header h2{margin:0}.search-box{display:flex;gap:.5rem;align-items:center}.search-input{min-width:250px;padding:.5rem 1rem;border:1px solid var(--color-border, #dee2e6);border-radius:4px;font-size:.95rem}.search-input:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 2px #007bff40}.clear-search{white-space:nowrap}@media (max-width: 768px){.students-list-header{flex-direction:column;align-items:stretch}.search-box{width:100%}.search-input{flex:1;min-width:0}}.students-table{width:100%;border-collapse:collapse}.students-table th,.students-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border, #dee2e6)}.students-table th{background:var(--color-background-subtle, #f8f9fa);font-weight:600}.students-table tr:hover{background:var(--color-background-subtle, #f8f9fa)}.student-detail{max-height:70vh;overflow-y:auto}.detail-section{margin-bottom:2rem}.detail-section h3{margin-bottom:1rem;color:var(--color-gray900, #191F28);font-size:1.2rem}.detail-section h4{margin-bottom:.5rem;color:var(--color-gray700, #4E5968)}.detail-section p{margin-bottom:.5rem}.detail-table{width:100%;border-collapse:collapse;margin-top:.5rem}.detail-table th,.detail-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--color-border, #dee2e6)}.detail-table th{background:var(--color-background-subtle, #f8f9fa);font-weight:600}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;font-weight:500}.status-completed{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-failed{background:#f8d7da;color:#721c24}.status-cancelled{background:#e2e3e5;color:#383d41}.progress-list{display:flex;flex-direction:column;gap:1.5rem}.progress-item{padding:1rem;background:var(--color-background-subtle, #f8f9fa);border-radius:8px;border:1px solid var(--color-border, #dee2e6)}.progress-bar{width:100%;height:8px;background:var(--color-border, #dee2e6);border-radius:4px;overflow:hidden;margin:.5rem 0}.progress-fill{height:100%;background:#4285f4;transition:width .3s ease}.lessons-detail{margin-top:1rem}.lessons-detail ul{list-style:none;padding:0;margin:.5rem 0 0}.lessons-detail li{padding:.25rem 0;color:var(--color-gray700, #4E5968)}.lessons-detail li.completed{color:var(--color-gray900, #191F28);font-weight:500}.course-assign-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--color-background-subtle, #f8f9fa);border-radius:8px;border:1px solid var(--color-border, #dee2e6)}.course-assign-form .form-group{display:flex;flex-direction:column;gap:.5rem}.course-assign-form .form-label{font-weight:500;color:var(--color-gray700, #4E5968);font-size:.875rem}.course-assign-form .form-input{padding:.5rem;border:1px solid var(--color-border, #dee2e6);border-radius:4px;font-size:.875rem}.course-assign-form .form-input:disabled{background:var(--color-gray100, #F3F4F6);cursor:not-allowed}.course-assign-form .btn{align-self:flex-start}@media (max-width: 768px){.students-table{font-size:.875rem}.students-table th,.students-table td{padding:.5rem}}.admin-chat{padding:2rem 0}.admin-chat h1{margin-bottom:2rem;color:#333}.chat-layout{display:grid;grid-template-columns:300px 1fr;gap:2rem;height:600px}.conversations-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;overflow-y:auto}.conversations-list h2{margin-bottom:1rem;color:#333;font-size:1.2rem}.no-conversations{color:#999;text-align:center;padding:2rem 0}.conversation-item{padding:1rem;border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .3s ease;border:1px solid transparent}.conversation-item:hover{background:#f8f9fa}.conversation-item.active{background:#e7f3ff;border-color:#007bff}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.unread-badge{background:#007bff;color:#fff;border-radius:12px;padding:.25rem .5rem;font-size:.75rem}.conversation-preview{color:#666;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid #dee2e6}.chat-header h3{margin:0;color:#333}.messages-list{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#999}.message{display:flex;flex-direction:column;max-width:70%}.message.sent{align-self:flex-end;align-items:flex-end}.message.received{align-self:flex-start;align-items:flex-start}.message-content{padding:.75rem 1rem;border-radius:12px;word-wrap:break-word;display:flex;flex-direction:column;gap:.5rem}.message-text{word-wrap:break-word}.message.sent .message-content{background:#007bff;color:#fff}.message.received .message-content{background:#f1f3f5;color:#333}.message-time{font-size:.75rem;color:#999;margin-top:.25rem}.message-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #dee2e6;align-items:flex-end}.message-form .form-input{flex:1;margin:0}.file-upload-btn{min-width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;border-radius:8px;background:#f8f9fa;border:1px solid #dee2e6;cursor:pointer;transition:all .2s ease}.file-upload-btn:hover:not(:disabled){background:#e9ecef}.file-upload-btn:disabled{opacity:.5;cursor:not-allowed}.message-file{max-width:100%;border-radius:8px;margin-bottom:.25rem}.message-image{max-width:300px;max-height:300px;object-fit:cover;cursor:pointer;transition:opacity .2s}.message-image:hover{opacity:.9}.message-video{max-width:400px;max-height:300px;border-radius:8px}.message-file-link{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;padding:.5rem;border-radius:4px;transition:background-color .2s}.message-file-link .file-icon{width:16px;height:16px;flex-shrink:0}.file-upload-btn{padding:.5rem;display:flex;align-items:center;justify-content:center}.file-upload-btn svg{width:20px;height:20px}.message.sent .message-file-link{color:#fff}.message.received .message-file-link:hover{background-color:#0000000d}.message.sent .message-file-link:hover{background-color:#fff3}@media (max-width: 1024px){.chat-layout{grid-template-columns:1fr;height:auto}.conversations-list{max-height:300px}.chat-container{height:500px}.message{max-width:85%}}@media (max-width: 768px){.message-image{max-width:200px;max-height:200px}.message-video{max-width:100%;max-height:250px}}.admin-questions{padding:2rem 0}.admin-questions h1{margin-bottom:2rem;color:#333}.questions-layout{display:grid;grid-template-columns:400px 1fr;gap:2rem}.questions-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;max-height:700px;overflow-y:auto}.questions-list h2{margin-bottom:1rem;color:#333;font-size:1.2rem}.question-item{padding:1rem;border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .3s ease;border:1px solid #dee2e6}.question-item:hover{background:#f8f9fa}.question-item.active{background:#e7f3ff;border-color:#007bff}.question-item.unanswered{border-left:4px solid #ffc107}.question-item.answered{border-left:4px solid #28a745}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.unanswered-badge{background:#ffc107;color:#333;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.question-course{font-size:.875rem;color:#666;margin-bottom:.5rem}.question-content{color:#333;margin-bottom:.5rem;line-height:1.5}.question-date{font-size:.75rem;color:#999}.answer-section{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.answer-section h2{margin-bottom:1.5rem;color:#333}.question-detail{display:flex;flex-direction:column;gap:1rem}.question-info{display:flex;justify-content:space-between;align-items:center}.question-course-info{color:#666;font-size:.9rem;padding:.5rem;background:#f8f9fa;border-radius:4px}.question-full-content{padding:1rem;background:#f8f9fa;border-radius:8px;line-height:1.6;color:#333}.existing-answers{margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.existing-answers h3{margin-bottom:1rem;color:#333}.answer-item{padding:1rem;background:#e7f3ff;border-radius:8px;margin-bottom:.5rem}.answer-content{color:#333;margin-bottom:.5rem;line-height:1.6}.answer-date{font-size:.75rem;color:#666}.answer-form{margin-top:1rem}.no-selection{display:flex;align-items:center;justify-content:center;height:400px;color:#999}@media (max-width: 1024px){.questions-layout{grid-template-columns:1fr}.questions-list{max-height:300px}}.admin-reviews{padding:2rem 0}.admin-reviews h1{margin-bottom:2rem;color:#333}.filter-section{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid #dee2e6;background:#fff;border-radius:4px;cursor:pointer;transition:all .3s ease}.filter-btn:hover{background:#f8f9fa}.filter-btn.active{background:#007bff;color:#fff;border-color:#007bff}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.review-card.pending{border-left:4px solid #ffc107}.review-card.approved{border-left:4px solid #28a745}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}.review-author{display:flex;flex-direction:column;gap:.25rem}.review-author strong{color:#333}.review-date{font-size:.875rem;color:#999}.review-rating{display:flex;gap:2px}.star-icon{width:18px;height:18px;fill:#e0e0e0;stroke:#ccc;stroke-width:1}.star-icon.filled{fill:#f59e0b;stroke:#f59e0b}.review-course{color:#666;font-size:.9rem;margin-bottom:1rem}.review-content{color:#333;line-height:1.6;margin-bottom:1rem}.review-actions{display:flex;gap:.5rem;margin-top:1rem}.review-status{margin-top:1rem;padding:.5rem 1rem;border-radius:4px;text-align:center;font-weight:500}.approved-badge{background:#d4edda;color:#155724}@media (max-width: 768px){.review-header{flex-direction:column;gap:.5rem}}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.error-container{background:#fff;border-radius:16px;padding:3rem;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center}.error-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:#e53e3e}.error-title{font-size:2rem;font-weight:700;color:#1a202c;margin-bottom:1rem}.error-message{font-size:1.1rem;color:#4a5568;margin-bottom:2rem;line-height:1.6}.error-details{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-bottom:2rem;text-align:left}.error-text{font-family:Courier New,monospace;font-size:.9rem;color:#e53e3e;word-break:break-all;margin:0}.error-stack{margin-top:1rem;padding:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:4px}.error-stack summary{cursor:pointer;font-weight:600;color:#4a5568;margin-bottom:.5rem}.error-stack-text{font-family:Courier New,monospace;font-size:.75rem;color:#2d3748;white-space:pre-wrap;word-break:break-all;overflow-x:auto;max-height:300px;overflow-y:auto;padding:.5rem;background:#f7fafc;border-radius:4px;margin-top:.5rem}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}@media (max-width: 768px){.error-container{padding:2rem 1.5rem}.error-title{font-size:1.5rem}.error-message{font-size:1rem}.error-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.tds-toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:10001;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:calc(100% - 32px);max-width:400px}.tds-toast{background:var(--color-gray900, #191F28);color:var(--color-white, #FFFFFF);padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.5;box-shadow:0 4px 12px #00000026;animation:tds-toast-slide-down .3s ease;pointer-events:auto;cursor:pointer}@keyframes tds-toast-slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.tds-toast-default{background:var(--color-gray900, #191F28)}.tds-toast-success{background:var(--color-success, #00D084)}.tds-toast-error{background:var(--color-error, #F04452)}.tds-toast-warning{background:var(--color-warning, #F79009)}.tds-toast-content{color:var(--color-white, #FFFFFF)}.App{min-height:100vh;display:flex;flex-direction:column;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--color-background)}.main-content-wrapper{flex:1;display:flex;flex-direction:column}main{flex:1;padding:var(--spacing-lg) 0}.loading{display:flex;justify-content:center;align-items:center;min-height:400px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{color:#e74c3c;background-color:#fee;padding:1rem;border-radius:8px;margin:1rem 0}.success{color:#27ae60;background-color:#efe;padding:1rem;border-radius:8px;margin:1rem 0}.btn{padding:0 28px;border:none;border-radius:16px;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s ease;height:56px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:normal;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.25;position:relative;overflow:hidden;box-sizing:border-box}.btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000;opacity:0;transition:opacity .2s ease}.btn:active:before{opacity:.1}.btn-primary{background-color:#4285f4;color:#fff}.btn-primary:hover{background-color:#357ae8}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-outline{background-color:transparent;border:1px solid var(--color-border, #E5E8EB);color:var(--color-text-primary, #191F28)}.btn-outline:hover{background-color:var(--color-background-subtle, #F8F9FA);border-color:var(--color-border-strong, #D1D6DB)}.btn-outline:active{background-color:var(--color-background-hover, #F0F1F3)}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-height:120px;resize:vertical}.form-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}@media (max-width: 768px){main{padding:0}.card{padding:1rem}.btn{padding:0 20px;font-size:15px;height:48px;min-height:48px}.btn-primary{padding:0 24px;font-size:15px}}:root{--color-black: #000000;--color-gray900: #1a1a1a;--color-gray800: #333333;--color-gray700: #4d4d4d;--color-gray600: #666666;--color-gray500: #808080;--color-gray400: #999999;--color-gray300: #b3b3b3;--color-gray200: #cccccc;--color-gray100: #e6e6e6;--color-gray50: #f5f5f5;--color-white: #ffffff;--color-text-primary: var(--color-gray900);--color-text-secondary: var(--color-gray600);--color-text-tertiary: var(--color-gray400);--color-border: var(--color-gray100);--color-background: var(--color-white);--color-background-subtle: var(--color-gray50);--color-background-warning: #fff9e6;--color-border-warning: #ffe066;--color-warning-text: #92400e;--color-warning-title: #d97706;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 5rem;--spacing-4xl: 6rem;--font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--line-height-loose: 1.8;--line-height-extra-loose: 1.9;--letter-spacing-tight: -.02em;--letter-spacing-normal: -.01em;--container-max-width: 1200px;--content-max-width: 900px;--content-padding-desktop: 2rem;--content-padding-mobile: 1rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-width: 1px;--border-width-thick: 2px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 30px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (max-width: 767px){:root{--font-size-xs: .875rem;--font-size-sm: 1rem;--font-size-base: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.625rem;--font-size-3xl: 2.125rem;--font-size-4xl: 2.75rem;--font-size-5xl: 3.75rem}body{font-size:var(--font-size-base)}p,span,div,a,li,td,th,label,input,textarea,select,button{font-size:inherit}small,.text-small{font-size:var(--font-size-sm)!important}}.text-hero{font-size:var(--font-size-5xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-black)}.text-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight);color:var(--color-black)}.text-subtitle{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-secondary)}.text-body{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:var(--line-height-extra-loose);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.text-body-large{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-extra-loose);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.section-spacing{margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl)}.section-spacing:not(:last-child){border-bottom:var(--border-width) solid var(--color-border)}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--content-padding-mobile)}@media (min-width: 768px){.container{padding:0 var(--content-padding-desktop)}}.content-container{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--content-padding-mobile)}@media (min-width: 768px){.content-container{padding:0 var(--content-padding-desktop)}}*{margin:0;padding:0;box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizeLegibility}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 767px){body{font-size:1.125rem}button{font-size:1.125rem!important}}#root{width:100%;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:16px;border:none;padding:0;font-size:17px;font-weight:600;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:transparent;color:inherit;cursor:pointer;transition:all .2s ease;height:56px;min-height:56px;display:inline-flex;align-items:center;justify-content:center}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9;color:#213547}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width: 768px){.container{padding:0 2rem}}
