.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.touch-optimized{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (max-width:768px){html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overscroll-behavior:none;-webkit-overflow-scrolling:touch}input,textarea,select{font-size:16px!important}button{min-width:44px;min-height:44px}[data-radix-tabs-trigger]{touch-action:manipulation;min-height:48px}.mobile-card-spacing{margin:.5rem;padding:1rem}.mobile-responsive-grid{grid-template-columns:1fr;gap:1rem;display:grid}.mobile-form-element{border-radius:.5rem;padding:.75rem;font-size:16px}}.mobile-bounce{animation:.6s ease-in-out mobile-bounce}.mobile-typing{animation:1.4s ease-in-out infinite mobile-typing}.mobile-fade-in{animation:.3s ease-out mobile-fade-in}.mobile-flashcard-input{font-size:16px!important}.mobile-flashcard-touch{touch-action:manipulation;min-width:44px;min-height:44px}.mobile-flashcard-spacing{margin:8px 0;padding:12px 16px}.pb-safe-bottom{padding-bottom:env(safe-area-inset-bottom,1rem)}.mb-safe-bottom{margin-bottom:env(safe-area-inset-bottom,1rem)}.mobile-slide-up{animation:.4s ease-out mobile-slide-up}.home-container{padding:.75rem}.home-header{margin-bottom:1.5rem}.home-tabs{margin-bottom:.75rem}.tab-content-mobile{padding:.5rem}.card-mobile{margin-bottom:.75rem;padding:.75rem}.progress-mobile{border-radius:.75rem;padding:.75rem}@keyframes mobile-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes mobile-typing{0%,60%,to{opacity:.4}30%{opacity:1}}@keyframes mobile-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-gradient-bg{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.mobile-glass-effect{-webkit-backdrop-filter:blur(10px);background-color:#ffffffe6}@media (prefers-color-scheme:dark){.mobile-glass-effect{background-color:#000c}}@supports (padding-top:env(safe-area-inset-top)){.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}.pb-safe-bottom{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.mb-safe-bottom{margin-bottom:calc(1rem + env(safe-area-inset-bottom))}}.gpu-accelerated{will-change:transform;transform:translateZ(0)}@media (hover:hover){.mobile-hover:hover{transition:transform .2s;transform:scale(1.02)}}.mobile-focus:focus-visible{outline-offset:2px;border-radius:8px;outline:2px solid #667eea}.chat-mobile-header{z-index:30;-webkit-backdrop-filter:blur(20px);position:sticky;top:0}.chat-mobile-input{-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-top:1px solid #0000001a;position:sticky;bottom:0}.chat-mobile-messages{-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}.message-bubble-mobile{word-wrap:break-word;overflow-wrap:break-word;max-width:85%}.typing-indicator-mobile{background:#0000000d;border-radius:20px;align-items:center;margin:8px 0;padding:12px 16px;display:flex}.typing-dot-mobile{background:#667eea;border-radius:50%;width:6px;height:6px;margin:0 2px;animation:1.4s ease-in-out infinite typing-dot-mobile}.typing-dot-mobile:first-child{animation-delay:0s}.typing-dot-mobile:nth-child(2){animation-delay:.2s}.typing-dot-mobile:nth-child(3){animation-delay:.4s}@keyframes typing-dot-mobile{0%,60%,to{opacity:.5;transform:scale(.8)}30%{opacity:1;transform:scale(1.2)}}.swipeable-mobile{touch-action:pan-x}.pull-to-refresh-mobile{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;height:60px;font-size:14px;font-weight:500;display:flex}@media (max-height:500px) and (orientation:landscape){.mobile-landscape-compact{padding:8px}.mobile-landscape-header,.mobile-landscape-input{padding:8px 16px}}@media (max-width:640px){.home-page-container{padding:.75rem}.tab-navigation-mobile{grid-template-columns:repeat(2,1fr);gap:.25rem}.card-mobile-padding{padding:.75rem}.button-mobile{min-height:44px;padding:.75rem 1rem;font-size:.875rem}.form-input-mobile{min-height:44px;font-size:16px}.progress-mobile{height:.375rem}.space-mobile-tight{gap:.5rem}.space-mobile-normal{gap:.75rem}.space-mobile-loose{gap:1rem}}@media (max-width:375px){.ultra-mobile{padding:.5rem}.ultra-mobile-text{font-size:.75rem}.ultra-mobile-button{min-height:40px;padding:.5rem .75rem;font-size:.75rem}}@media (min-width:641px) and (max-width:1024px){.tablet-portrait{padding:1rem}.tablet-portrait-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}
@font-face{font-family:SF Pro;src:url(/fonts/sf-pro/SFPRODISPLAYREGULAR.OTF)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro;src:url(/fonts/sf-pro/SFPRODISPLAYMEDIUM.OTF)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro;src:url(/fonts/sf-pro/SFPRODISPLAYSEMIBOLDITALIC.OTF)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro;src:url(/fonts/sf-pro/SFPRODISPLAYBOLD.OTF)format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--font-sf-pro:"SF Pro",-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.font-sf-pro{font-family:var(--font-sf-pro)}
