.app-container{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:2rem 1rem}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s ease-in}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s ease-in}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #3498db;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dark-mode-transition{transition:background-color .3s ease,color .3s ease}@media (max-width: 768px){.main-content{padding:1rem}}@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}.dark ::-webkit-scrollbar-track{background:#1a1a1a}.dark ::-webkit-scrollbar-thumb{background:#4a4a4a}.dark ::-webkit-scrollbar-thumb:hover{background:#666}::selection{background:#3498db;color:#fff}.dark ::selection{background:#2980b9;color:#fff}:focus{outline:2px solid #3498db;outline-offset:2px}.dark :focus{outline-color:#2980b9}html{scroll-behavior:smooth}html,body{margin:0;padding:0;min-width:280px;min-height:100vh;font-size:14px;overflow-x:hidden;width:100%}body{position:relative}a{text-decoration:none;color:inherit;transition:color .3s ease}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem;overflow-x:hidden}.text-balance{text-wrap:balance}.animate-fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (min-width: 640px){html,body{font-size:16px}}@media (max-width: 640px){.container{padding:0 .75rem}}@media (min-width: 768px){.container{padding:0 1.5rem}}@media (min-width: 1024px){.container{padding:0 2rem}}@media (min-width: 1280px){.container{padding:0 2.5rem}}@media print{html,body{font-size:12pt;overflow:visible}.container{max-width:none;padding:0;overflow:visible}}
