@tailwind base;@tailwind components;@tailwind utilities;:root{--bg-primary: #0f0f11;--bg-secondary: #18181b;--border-color: rgba(255, 255, 255, .1);--text-primary: #e4e4e7;--text-secondary: rgba(255, 255, 255, .6)}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}@keyframes slideRight{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-slideRight{animation:slideRight .3s ease-out}.animate-slideUp{animation:slideUp .3s ease-out}.animate-fadeIn{animation:fadeIn .3s ease-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;padding:1rem}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{animation:shimmer 2s infinite;background:linear-gradient(to right,#ffffff0d,#ffffff1a,#ffffff0d);background-size:1000px 100%}.card-hover{transition:all .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.glass{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.btn-primary{@apply px-4 py-2 bg-blue-600 text-white rounded-lg font-semibold hover:bg-blue-700 transition;}.btn-secondary{@apply px-4 py-2 bg-white/10 text-white rounded-lg font-semibold hover:bg-white/20 transition;}.btn-danger{@apply px-4 py-2 bg-red-600 text-white rounded-lg font-semibold hover:bg-red-700 transition;}.input-dark{@apply w-full px-4 py-2 bg-white/5 border border-white/10 rounded-lg text-white placeholder-white/40 focus:outline-none focus:border-white/30 transition;}.textarea-dark{@apply w-full px-4 py-2 bg-white/5 border border-white/10 rounded-lg text-white placeholder-white/40 focus:outline-none focus:border-white/30 transition resize-none;}.status-dot{@apply w-2 h-2 rounded-full;}.status-dot.connected{@apply bg-green-400;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.status-dot.disconnected{@apply bg-gray-500;}.status-dot.loading{@apply bg-blue-400;animation:pulse 1s cubic-bezier(.4,0,.6,1) infinite}.modal-overlay{@apply fixed inset-0 bg-black/80 backdrop-blur-sm z-50 flex items-center justify-center;animation:fadeIn .2s ease-out}.modal-content{@apply bg-[#18181b] rounded-2xl border border-white/10 shadow-2xl;animation:slideUp .3s ease-out}
