.scrollbar-thin{scrollbar-width:thin}.scrollbar-thumb-border{scrollbar-color:hsl(var(--border)) transparent}.scrollbar-track-transparent{scrollbar-track-color:transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--border));border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--border)/.8)}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.transition-all-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.backdrop-blur-enhanced{backdrop-filter:blur(8px) saturate(150%)}@media (max-width:768px){.touch-target{min-height:44px;min-width:44px}.mobile-text-optimize{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.focus-enhanced:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:.5rem}.loading-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.shadow-subtle{box-shadow:0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px -1px rgb(0 0 0/.1)}.shadow-subtle-hover:hover{box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1)}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:0;padding:1px;background:linear-gradient(135deg,hsl(var(--primary)) 0,hsl(var(--primary)/.3) 100%);border-radius:inherit;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor}