@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;800&display=swap";:root{--bg-base:#030712;--bg-surface:#111827b3;--bg-surface-hover:#1f2937cc;--border-color:#ffffff14;--border-glow:#6366f14d;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--primary:#6366f1;--primary-glow:#6366f180;--secondary:#a855f7;--secondary-glow:#a855f780;--accent-easy:#10b981;--accent-medium:#f59e0b;--accent-hard:#ef4444;--radius-sm:8px;--radius-md:16px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden}.app-container{z-index:1;flex-direction:column;align-items:center;min-height:100vh;padding:4rem 2rem;display:flex;position:relative}.ambient-glow{filter:blur(120px);z-index:-1;opacity:.15;border-radius:50%;width:600px;height:600px;animation:10s ease-in-out infinite alternate pulse;position:fixed}.bg-primary{background:var(--primary);top:-200px;left:-200px}.bg-secondary{background:var(--secondary);animation-delay:-5s;bottom:-200px;right:-200px}@keyframes pulse{0%{opacity:.1;transform:scale(1)}to{opacity:.2;transform:scale(1.2)}}.main-content{flex-direction:column;gap:3rem;width:100%;max-width:900px;display:flex}.header{text-align:center;flex-direction:column;align-items:center;gap:1rem;animation:.8s cubic-bezier(.16,1,.3,1) slideDown;display:flex}.logo-container{align-items:center;gap:1rem;display:flex}.logo-icon-bg{background:linear-gradient(135deg, var(--primary), var(--secondary));box-shadow:0 0 30px var(--primary-glow);border-radius:14px;justify-content:center;align-items:center;padding:12px;display:flex}.logo-icon{color:#fff}.title{letter-spacing:-1px;font-family:Outfit,sans-serif;font-size:3.5rem;font-weight:800}.text-gradient{background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.subtitle{color:var(--text-secondary);max-width:600px;font-size:1.125rem}.input-section{flex-direction:column;gap:1.5rem;animation:1s ease-out .3s both fadeIn;display:flex}.input-wrapper{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);transition:all .3s;position:relative;box-shadow:0 8px 32px #0003}.input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 20px var(--border-glow), 0 8px 32px #0000004d;transform:translateY(-2px)}.input-icon{color:var(--text-muted);position:absolute;top:1.5rem;left:1.5rem}.tech-input{width:100%;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;padding:1.5rem 1.5rem 1.5rem 3.5rem;font-family:Inter,sans-serif;font-size:1.125rem}.tech-input::placeholder{color:var(--text-muted)}.error-message{color:#ef4444;border-radius:var(--radius-sm);text-align:center;background:#ef44441a;border:1px solid #ef444433;padding:.75rem 1rem;font-size:.875rem}.generate-btn{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 10px 25px var(--primary-glow);border:none;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 2rem;font-size:1.125rem;font-weight:600;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden}.generate-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .7s;position:absolute;top:0;left:-100%}.generate-btn:hover:not(:disabled){box-shadow:0 15px 35px var(--secondary-glow);transform:translateY(-3px)scale(1.02)}.generate-btn:hover:not(:disabled):before{left:100%}.generate-btn:active:not(:disabled){transform:translateY(1px)}.generate-btn:disabled{opacity:.8;cursor:not-allowed}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.output-section{flex-direction:column;gap:2rem;display:flex}.ideas-grid{gap:2rem;display:grid}.idea-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);padding:2rem;transition:transform .3s,box-shadow .3s,border-color .3s;box-shadow:0 10px 40px #0003}.idea-card:hover{border-color:var(--border-glow);transform:translateY(-5px);box-shadow:0 15px 50px #0000004d}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.project-name{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:700;line-height:1.2}.difficulty-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:9999px;padding:.4rem 1rem;font-size:.75rem;font-weight:700}.difficulty-badge.easy{color:var(--accent-easy);background:#10b9811a;border:1px solid #10b98133}.difficulty-badge.medium{color:var(--accent-medium);background:#f59e0b1a;border:1px solid #f59e0b33}.difficulty-badge.hard{color:var(--accent-hard);background:#ef44441a;border:1px solid #ef444433}.card-content{flex-direction:column;gap:1.5rem;display:flex}.content-block{border-radius:var(--radius-sm);background:#0003;border:1px solid #ffffff08;padding:1.25rem}.block-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:flex}.block-title svg{color:var(--primary)}.content-block p{color:var(--text-primary);font-size:.95rem}.features-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.features-list li{align-items:flex-start;gap:.75rem;font-size:.95rem;display:flex}.feature-dot{background:var(--secondary);width:6px;height:6px;box-shadow:0 0 10px var(--secondary-glow);border-radius:50%;margin-top:.5rem}.grid-2-col{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.enhancements-text{font-style:italic;color:var(--text-secondary)!important}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.6s cubic-bezier(.16,1,.3,1) both fadeIn}@media (width<=768px){.app-container{padding:2rem 1rem}.title{font-size:2.5rem}.grid-2-col{grid-template-columns:1fr;gap:1.5rem}.card-header{flex-direction:column}}
