@tailwind base;@tailwind components;@tailwind utilities;@layer base{html{-webkit-tap-highlight-color:transparent}body{@apply bg-gray-950 text-white}}@layer utilities{.btn-touch{min-height:44px;min-width:44px;@apply px-4 py-3}.safe-padding{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.safe-padding-bottom{padding-bottom:env(safe-area-inset-bottom)}.scroll-mobile{-webkit-overflow-scrolling:touch;scrollbar-width:thin}}@media (max-width:640px){.chat-container{@apply flex flex-col h-screen}.sidebar{@apply fixed inset-y-0 left-0 z-50 w-80 transform transition-transform duration-300}.sidebar.closed{@apply -translate-x-full}.mobile-nav{@apply fixed bottom-0 left-0 right-0 bg-gray-900 border-t border-gray-800 z-40;padding-bottom:env(safe-area-inset-bottom)}.fab{@apply fixed bottom-20 right-4 w-14 h-14 rounded-full shadow-lg z-40;@apply flex items-center justify-center;@apply bg-blue-600 hover:bg-blue-700 text-white}input,select,textarea{@apply text-base;min-height:44px}.message{@apply px-3 py-2 text-sm}.no-scrollbar::-webkit-scrollbar{display:none}.modal{@apply fixed inset-0 z-50;@apply flex items-end sm:items-center justify-center}.modal-content{@apply w-full max-h-[90vh] rounded-t-xl sm:rounded-xl;@apply overflow-auto}.swipe-indicator{@apply w-12 h-1 bg-gray-600 rounded-full mx-auto my-2}table{@apply block overflow-x-auto}h1{@apply text-xl}h2{@apply text-lg}.card{@apply p-3}}@media (min-width:641px) and (max-width:1024px){.chat-container{@apply grid grid-cols-[300px_1fr]}.sidebar{@apply w-300}.btn-touch{min-height:40px;@apply px-4 py-2}.grid-responsive{@apply grid grid-cols-2 gap-4}}@media (min-width:1025px){.chat-container{@apply grid grid-cols-[320px_1fr_320px]}.sidebar{@apply w-320}.btn-touch{@apply px-4 py-2}.grid-responsive{@apply grid grid-cols-3 gap-6}.hover-desktop:hover{@apply bg-gray-800}}@media (display-mode:standalone){body{-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-container{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}@media (max-width:640px) and (orientation:landscape){.mobile-nav{@apply h-12}.fab{@apply bottom-14 right-2 w-12 h-12}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.border{border-width:.5px}}:root{color-scheme:dark}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{@apply outline-2 outline-offset-2 outline-blue-500}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{@apply bg-gray-900}::-webkit-scrollbar-thumb{@apply bg-gray-700 rounded}::-webkit-scrollbar-thumb:hover{@apply bg-gray-600}.skeleton{@apply bg-gray-800 animate-pulse rounded}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass{background:rgba(17,24,39,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.gradient-blue{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-green{background:linear-gradient(135deg,#0ba360,#3cba92)}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .3s ease-out}.touch-pinch-zoom{touch-action:pan-x pan-y pinch-zoom;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes pull-refresh{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pull-refresh-spinner{animation:pull-refresh 1s linear infinite}@media (max-width:640px){.card-mobile{@apply rounded-none border-x-0}form{@apply space-y-3}.btn-mobile-full{@apply w-full}.space-mobile-compact>*+*{margin-top:.5rem!important}}*{touch-action:manipulation}a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(59,130,246,.3)}@supports (padding:max(0px)){.safe-top{padding-top:max(1rem,env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.safe-left{padding-left:max(1rem,env(safe-area-inset-left))}.safe-right{padding-right:max(1rem,env(safe-area-inset-right))}}@media (max-width:640px) and (orientation:landscape){header{@apply py-2}.modal-content{@apply max-h-[85vh]}}@media (prefers-contrast:high){.border{border-width:2px}a,button{outline:2px solid transparent}a:focus,button:focus{outline-color:currentColor}}