*{box-sizing:border-box}body,html{overflow-x:hidden;width:100%;max-width:100vw}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media screen and (max-width:768px){input[type=email],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important;transform:translateZ(0);-webkit-appearance:none;border-radius:0}.btn-outline,.btn-primary,.btn-secondary,button{min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}@media screen and (max-width:480px){.container{padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}body{font-size:14px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:.875rem}h6{font-size:.75rem}}@media screen and (max-width:768px){*{max-width:100%;word-wrap:break-word;overflow-wrap:break-word}img{max-width:100%!important;height:auto!important;-o-object-fit:contain;object-fit:contain}table{width:100%;table-layout:fixed}code,pre,table{word-wrap:break-word}code,pre{white-space:pre-wrap;overflow-wrap:break-word}form,input,select,textarea{width:100%;max-width:100%}input,select,textarea{box-sizing:border-box}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.flex{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}p{margin-bottom:1rem;line-height:1.6}h1,h2,h3,h4,h5,h6{margin-bottom:.75rem;line-height:1.3}}@media screen and (max-width:768px){@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.transform{will-change:transform;transform:translateZ(0)}.hover-scale-105:hover{will-change:transform;transform:translateZ(0) scale(1.05)}.hover-scale-102:hover{will-change:transform;transform:translateZ(0) scale(1.02)}.mobile-menu-button{position:relative;z-index:20;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.course-card{width:100%;max-width:100%;box-sizing:border-box}.card{transition:all .25s cubic-bezier(.25,.46,.45,.94);will-change:transform,box-shadow,background-color}.card:hover{transform:translateZ(0)}.card:hover img{transform:scale(1)}.card:hover h2,.card:hover p{color:inherit}.card:active{transform:translateZ(0);transition:none;box-shadow:inherit;background:inherit}.card:active .bg-primary-500{background-color:inherit!important}.card:active .text-text-primary{color:inherit!important}.card.touch-manipulation{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card,.card.touch-manipulation{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card{contain:layout style paint;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0)}.card:focus{outline:none}.card:focus-visible{outline:2px solid #3B82F6;outline-offset:2px}.mobile-course-card{transition:all .3s cubic-bezier(.25,.46,.45,.94);will-change:transform,box-shadow,background-color;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;contain:layout style paint;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);box-shadow:0 2px 8px rgba(0,0,0,.08)}.mobile-course-card:hover{transform:translateZ(0)}.mobile-course-card.touch-active,.mobile-course-card:active{transform:translateZ(0) scale(.98);transition:transform .15s cubic-bezier(.25,.46,.45,.94);box-shadow:0 4px 16px rgba(0,0,0,.12)}.mobile-course-card.touch-active img{transform:scale(1.02);transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.mobile-course-card.touch-active h2{transform:translateY(-1px);transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.mobile-course-card.touch-active .bg-primary-500{transform:scale(1.05);transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.mobile-course-card.touch-active button{transform:scale(.98);transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.mobile-course-card.touch-active p{transform:translateY(-.5px);transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.mobile-course-card .bg-primary-500{position:relative;overflow:hidden}.mobile-course-card .bg-primary-500:before,.mobile-course-card.touch-active .bg-primary-500:before{display:none}.course-card .course-cover{width:100%;height:0;padding-bottom:133.33%;position:relative;overflow:hidden;border-radius:.5rem;background:linear-gradient(135deg,#FFE873,#FFFBBD)}.course-card .course-cover img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}header{position:relative;z-index:20}.header-logo{max-width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.header-container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:100%;box-sizing:border-box}.file-panel{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;contain:layout style paint;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);min-height:44px}.file-panel:active,.file-panel:hover{transform:translateZ(0)}.file-panel:active{transition:none;box-shadow:inherit}.file-icon{will-change:transform,background-color;backface-visibility:hidden;-webkit-backface-visibility:hidden}.file-panel:hover .file-icon{transform:translateZ(0)}.file-panel:active .file-icon{transform:translateZ(0);transition:none}.file-text{will-change:transform,color;backface-visibility:hidden;-webkit-backface-visibility:hidden}.file-panel:hover .file-text{transform:translateZ(0)}.file-panel:active .file-text{transform:translateX(1px);transition:all .15s cubic-bezier(.25,.46,.45,.94)}@media screen and (max-width:480px){.file-panel{padding:.75rem;min-height:48px}.file-icon{width:2.5rem;height:2.5rem;margin-right:.75rem}.file-text{font-size:.875rem;line-height:1.4}}}