.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,select,textarea{font-size:16px!important}button{min-height:44px;min-width:44px}[data-radix-tabs-trigger]{min-height:48px;touch-action:manipulation}.mobile-card-spacing{margin:.5rem;padding:1rem}.mobile-responsive-grid{display:grid;grid-template-columns:1fr;gap:1rem}.mobile-form-element{padding:.75rem;font-size:16px;border-radius:.5rem}}.mobile-bounce{animation:mobile-bounce .6s ease-in-out}.mobile-typing{animation:mobile-typing 1.4s ease-in-out infinite}.mobile-fade-in{animation:mobile-fade-in .3s ease-out}.mobile-flashcard-input{font-size:16px!important}.mobile-flashcard-touch{min-height:44px;min-width:44px;touch-action:manipulation}.mobile-flashcard-spacing{padding:12px 16px;margin:8px 0}.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:mobile-slide-up .4s ease-out}.home-container{padding:.75rem}.home-header{margin-bottom:1.5rem}.home-tabs{margin-bottom:.75rem}.tab-content-mobile{padding:.5rem}.card-mobile{padding:.75rem;margin-bottom:.75rem}.progress-mobile{padding:.75rem;border-radius:.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%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-gradient-bg{background:linear-gradient(135deg,#667eea,#764ba2)}.mobile-glass-effect{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:rgba(255,255,255,.9)}@media (prefers-color-scheme:dark){.mobile-glass-effect{background-color:rgba(0,0,0,.8)}}@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{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}@media (hover:hover){.mobile-hover:hover{transform:scale(1.02);transition:transform .2s ease}}.mobile-focus:focus-visible{outline:2px solid #667eea;outline-offset:2px;border-radius:8px}.chat-mobile-header{top:0;z-index:30}.chat-mobile-header,.chat-mobile-input{position:sticky;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.chat-mobile-input{bottom:0;background:rgba(255,255,255,.95);border-top:1px solid rgba(0,0,0,.1)}.chat-mobile-messages{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.message-bubble-mobile{max-width:85%;word-wrap:break-word;overflow-wrap:break-word}.typing-indicator-mobile{display:flex;align-items:center;padding:12px 16px;background:rgba(0,0,0,.05);border-radius:20px;margin:8px 0}.typing-dot-mobile{width:6px;height:6px;border-radius:50%;background:#667eea;margin:0 2px;animation:typing-dot-mobile 1.4s ease-in-out infinite}.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{transform:scale(.8);opacity:.5}30%{transform:scale(1.2);opacity:1}}.swipeable-mobile{touch-action:pan-x}.pull-to-refresh-mobile{height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:white;font-size:14px;font-weight:500}@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)}