.ai-container{padding:5rem 2rem;text-align:center;background:radial-gradient(circle at top left,#0f172a,#0a0a0a);color:#fff;position:relative;overflow:hidden}.ai-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(20,184,166,.12) 0%,transparent 60%),radial-gradient(circle at 80% 70%,rgba(20,184,166,.12) 0%,transparent 60%);z-index:0}.title{font-size:2.8rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(90deg,#14b8a6,#2dd4bf,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative;z-index:2}.subtitle{font-size:1.1rem;opacity:.85;margin-bottom:3rem;position:relative;z-index:2}.ai-grid{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));position:relative;z-index:2}.glass-card{backdrop-filter:blur(18px);background:#ffffff14;border-radius:1.5rem;padding:2rem;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #00000040;transition:all .4s ease}.hover-card:hover{transform:translateY(-8px);background:#ffffff1f;box-shadow:0 10px 40px #14b8a640}.card-title{font-size:1.3rem;margin-bottom:1rem;font-weight:600;color:#fff}.form{display:flex;flex-direction:column;gap:1rem}.input-file,.input-text,.input-area{background:#fff3;border:1px solid rgba(255,255,255,.15);padding:.75rem;border-radius:.75rem;color:#fff;font-size:.95rem;transition:all .3s ease}.input-file:hover,.input-text:hover,.input-area:hover,.input-file:focus,.input-text:focus,.input-area:focus{border-color:#14b8a6cc;background:#ffffff40;outline:none}.input-area{height:120px;resize:none}.btn-primary,.btn-secondary{border:none;border-radius:1rem;padding:.9rem 1.8rem;font-weight:600;cursor:pointer;color:#fff;transition:all .4s ease;background-size:200% auto;box-shadow:0 4px 20px #14b8a633}.btn-primary{background-image:linear-gradient(90deg,#14b8a6,#0d9488,#14b8a6)}.btn-secondary{background-image:linear-gradient(90deg,#2dd4bf,#14b8a6,#2dd4bf)}.btn-primary:hover,.btn-secondary:hover{background-position:right center;transform:scale(1.05);box-shadow:0 0 20px #14b8a666}.result-box{margin-top:1rem;text-align:left;font-family:Fira Code,monospace;white-space:pre-wrap;font-size:.9rem;background:#ffffff0d;border-radius:1rem;padding:1rem;border:1px solid rgba(255,255,255,.1);max-height:400px;overflow-y:auto}.result-box::-webkit-scrollbar{width:6px}.result-box::-webkit-scrollbar-thumb{background:#14b8a699;border-radius:4px}.score-section{margin-top:1rem;text-align:center}.score-label{font-weight:600;margin-bottom:.5rem;color:#14b8a6;font-size:1.05rem}.progress-container{height:10px;border-radius:10px;background:#ffffff26;overflow:hidden;margin-bottom:.5rem;box-shadow:inset 0 0 5px #0006}.progress-bar{height:10px;border-radius:10px;background:linear-gradient(90deg,#14b8a6,#2dd4bf,#5eead4);box-shadow:0 0 10px #14b8a699;transition:width 1s ease}.score-value{font-size:.95rem;opacity:.85}.recommendations-section{margin-top:1.5rem;background:#ffffff0d;border-radius:1rem;padding:1rem;border:1px solid rgba(255,255,255,.1)}.rec-title{font-weight:700;color:#14b8a6;font-size:1rem;margin-bottom:.5rem;text-align:left}.rec-list{font-size:.95rem;line-height:1.6;text-align:left;color:#e5e7eb;font-family:Inter,sans-serif}.result-text details{margin-top:1rem;background:#ffffff08;border-radius:1rem;border:1px solid rgba(255,255,255,.08);padding:.8rem 1rem;transition:all .3s ease}.result-text summary{cursor:pointer;font-weight:600;color:#14b8a6;font-size:.95rem}.result-text details[open]{background:#14b8a614;border-color:#14b8a633}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:#14b8a6}.spinner-circle{width:48px;height:48px;border:4px solid rgba(255,255,255,.15);border-top:4px solid #14b8a6;border-radius:50%;animation:spin 1.2s linear infinite,glowPulse 2s ease-in-out infinite;margin-bottom:1rem;box-shadow:0 0 20px #14b8a666}.loading-text{font-size:1rem;font-weight:500;text-align:center;letter-spacing:.5px;color:#e0fdfa;display:flex;align-items:center;justify-content:center}.dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}@keyframes glowPulse{0%,to{box-shadow:0 0 10px #14b8a680,0 0 30px #14b8a633}50%{box-shadow:0 0 25px #14b8a6cc,0 0 50px #14b8a666}}
