@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#111827;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;min-height:100vh;background-color:#111827;color:#f3f4f6;overflow-x:hidden}h1{font-size:clamp(1.875rem,4vw,3.2rem);line-height:1.1;font-weight:700;letter-spacing:-.025em}h2{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2;font-weight:600}h3{font-size:clamp(1.25rem,2.5vw,1.875rem);line-height:1.3;font-weight:600}p{font-size:clamp(.875rem,2vw,1rem);line-height:1.6}button{border-radius:.5rem;border:1px solid transparent;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;font-family:inherit;background-color:#374151;color:#f9fafb;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem}button:hover{background-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}a{font-weight:500;color:#3b82f6;text-decoration:inherit;transition:color .2s ease-in-out}a:hover{color:#60a5fa}input,select,textarea{font-family:inherit;font-size:.875rem;border-radius:.5rem;border:1px solid #4b5563;background-color:#1f2937;color:#f9fafb;padding:.75rem;transition:all .2s ease-in-out;min-height:2.75rem}input:focus,select:focus,textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.card{background-color:#1f2937;border:1px solid #374151;border-radius:.75rem;padding:1.5rem;transition:all .2s ease-in-out}.card:hover{border-color:#4b5563;box-shadow:0 4px 20px #00000026}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.container{padding:0 1.5rem}}@media (min-width: 768px){.container{padding:0 2rem}}@keyframes progress-bar{0%{width:100%}to{width:0%}}.animate-progress{animation:progress-bar 2s linear forwards}@keyframes pulse-slow{50%{background-color:#1a202c}}.animate-pulse-slow{animation:pulse-slow 2.5s cubic-bezier(.4,0,.6,1) infinite}.mobile-padding{padding:1rem}@media (min-width: 640px){.mobile-padding{padding:1.5rem}}@media (min-width: 768px){.mobile-padding{padding:2rem}}.mobile-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.mobile-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.mobile-text{font-size:.875rem}@media (min-width: 640px){.mobile-text{font-size:1rem}}.mobile-button{width:100%;min-height:3rem}@media (min-width: 640px){.mobile-button{width:auto;min-height:2.75rem}}.mobile-header{padding:1rem 0;margin-bottom:1.5rem}@media (min-width: 640px){.mobile-header{padding:1.5rem 0;margin-bottom:2rem}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background-color:#1f2937;border-top:1px solid #374151;padding:.75rem;z-index:50}@media (min-width: 768px){.mobile-nav{position:static;border-top:none;padding:0}}.mobile-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.mobile-modal-content{background-color:#1f2937;border-radius:.75rem;padding:1.5rem;max-width:100%;max-height:90vh;overflow-y:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#374151}::-webkit-scrollbar-thumb{background:#6b7280;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.touch-target{min-height:44px;min-width:44px}.safe-area{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.loading-skeleton{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}
