:root{--bg-color: #0f172a;--text-color: #f8fafc;--primary-color: #6366f1;--primary-hover: #4f46e5;--secondary-color: #1e293b;--accent-color: #38bdf8;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--font-family: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif}body{margin:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;gap:.5rem;font-size:1rem}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--secondary-color);color:var(--text-color);border:1px solid var(--glass-border)}.btn-secondary:hover{background-color:#334155}.input-group{margin-bottom:1.5rem}.label{display:block;margin-bottom:.5rem;font-weight:500;color:#94a3b8}.input{width:100%;padding:.75rem;border-radius:.5rem;background-color:#1e293b;border:1px solid #334155;color:#fff;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.input:focus{outline:none;border-color:var(--primary-color)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.card{background:#1e293b;padding:1.5rem;border-radius:1rem;border:1px solid #334155;transition:all .3s ease;cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;text-align:center}.card:hover{transform:translateY(-5px);border-color:var(--primary-color);box-shadow:0 10px 15px -3px #0000001a}.card-icon{background:#6366f11a;padding:1rem;border-radius:50%;margin-bottom:1rem;color:var(--primary-color)}.card h3{margin:0 0 .5rem;font-size:1.25rem}.card p{margin:0;color:#94a3b8;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}
