:root{--vh:1vh;--vvh:100vh;--vvw:100vw;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--keyboard-height:0px;--is-standalone:0;--has-keyboard:0;--mobile-xs:320px;--mobile-sm:375px;--mobile-md:414px;--tablet-sm:640px;--tablet-md:768px;--tablet-lg:1024px;--touch-target-min:44px;--touch-target-comfortable:48px;--animation-duration-fast:150ms;--animation-duration-normal:250ms;--animation-duration-slow:350ms;--animation-easing:cubic-bezier(0.25,0.46,0.45,0.94);--teach-header-height:56px;--teach-nav-height:64px;--teach-content-padding:16px;--teach-background:#000000;--teach-surface:#1a1a1a;--teach-primary:#3b82f6;--reduced-motion-scale:0.98;--reduced-motion-duration:50ms}@supports (padding:env(safe-area-inset-top)){@media (display-mode:standalone){.ios .teach-layout-content,.ios [data-teach-container]{padding-top:max(env(safe-area-inset-top),20px)!important}}}.teach-content-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.teach-main-content{min-height:100%;padding:var(--teach-content-padding);padding-bottom:calc(var(--teach-nav-height) + env(safe-area-inset-bottom) + var(--teach-content-padding))}.teach-mobile-bottom-nav .flex{height:var(--teach-nav-height);align-items:center}.teach-header{position:sticky;top:0;left:0;right:0;height:var(--teach-header-height);z-index:50;background:var(--teach-surface)}@media (orientation:landscape){.teach-layout-content,[data-teach-container]{padding-left:max(env(safe-area-inset-left),16px)!important;padding-right:max(env(safe-area-inset-right),16px)!important}}.standalone ::-webkit-scrollbar{display:none}.standalone *{-ms-overflow-style:none;scrollbar-width:none}.teach-button:active,.teach-nav-item:active{transform:scale(.98);opacity:.9}input,select,textarea{font-size:16px!important}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.1) 50%,rgba(255,255,255,.05));background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.teach-offline-indicator{position:fixed;top:calc(env(safe-area-inset-top) + var(--teach-header-height));left:0;right:0;padding:8px;background:#ef4444;color:white;text-align:center;font-size:14px;z-index:200;transform:translateY(-100%);transition:transform .3s ease-out}.teach-offline-indicator.visible{transform:translateY(0)}.teach-hardware-accelerated{transform:translateZ(0);will-change:transform;backface-visibility:hidden}@media (min-width:320px){.teach-mobile-container{padding-left:max(var(--safe-left),4px);padding-right:max(var(--safe-right),4px);padding-bottom:calc(var(--teach-nav-height) + var(--safe-bottom) + 4px)}.teach-touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.teach-touch-target-comfortable{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable)}}@media (min-width:375px){.teach-mobile-container{padding-left:max(var(--safe-left),6px);padding-right:max(var(--safe-right),6px)}.teach-content-padding{padding:10px}}@media (min-width:414px){.teach-mobile-container{padding-left:max(var(--safe-left),8px);padding-right:max(var(--safe-right),8px)}.teach-content-padding{padding:12px}}@media (min-width:640px){.teach-tablet-container{max-width:600px;margin:0 auto;padding-left:max(var(--safe-left),10px);padding-right:max(var(--safe-right),10px)}.teach-content-padding{padding:14px}}@media (min-width:768px){.teach-tablet-container{max-width:720px}.teach-content-padding{padding:16px}}@media (min-width:1024px){.teach-tablet-container{max-width:800px}.teach-content-padding{padding:18px}}.teach-touch-feedback{transition:all var(--animation-duration-fast) var(--animation-easing);-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.teach-touch-feedback:active{transform:scale(var(--reduced-motion-scale));opacity:.8}@media (prefers-reduced-motion:reduce){.teach-touch-feedback:active{transform:scale(var(--reduced-motion-scale));transition-duration:var(--reduced-motion-duration)}.teach-hardware-accelerated{animation:none;transition:none}}.teach-scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;transform:translateZ(0);will-change:scroll-position}.teach-virtual-scroll{contain:layout style paint;will-change:transform}.teach-battery-efficient{transform:translateZ(0);will-change:transform;transition:transform var(--animation-duration-fast) var(--animation-easing)}@media (max-device-width:414px) and (orientation:portrait),(prefers-reduced-motion:reduce){.teach-battery-efficient{animation-duration:var(--reduced-motion-duration);transition-duration:var(--reduced-motion-duration)}.teach-optional-animation{animation:none!important;transition:none!important}}.teach-performance-monitor{position:fixed;top:calc(var(--safe-top) + 10px);right:10px;background:rgba(0,0,0,.8);color:white;padding:8px 12px;border-radius:8px;font-size:12px;z-index:10000;font-family:monospace;backdrop-filter:blur(10px)}.teach-performance-monitor.hidden{display:none}.teach-fps-counter{display:inline-block;margin-right:8px;color:#4ade80}.teach-fps-counter.low{color:#f87171}.teach-memory-indicator{display:inline-block;color:#fbbf24}@media (max-width:600px) and (max-height:600px){.teach-foldable-layout{padding-top:var(--safe-top);padding-bottom:calc(var(--teach-nav-height) + var(--safe-bottom))}}@media (orientation:landscape) and (max-height:500px){.teach-landscape-optimized{padding-top:calc(var(--safe-top) + 8px);padding-bottom:calc(var(--teach-nav-height) + var(--safe-bottom) + 8px)}.teach-mobile-bottom-nav{height:48px!important}}@media (min-resolution:192dpi){.teach-high-dpi{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}.teach-cache-optimized{contain:layout style paint;content-visibility:auto}.teach-lazy-trigger{min-height:1px;contain:layout}.teach-offline-ready{transition:opacity .2s ease}.teach-offline-ready.offline{opacity:.7;filter:grayscale(20%)}