@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", sans-serif;--bg-main:#060608;--bg-surface:#111118b3;--bg-surface-hover:#191926cc;--border-color:#ffffff14;--border-hover:#6366f166;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-releases:#10b981;--accent-security:#f43f5e;--accent-adoption:#f59e0b;--accent-analysis:#8b5cf6;--accent-gradient:linear-gradient(135deg, #10b981 0%, #8b5cf6 50%, #f43f5e 100%);--releases-gradient:linear-gradient(135deg, #059669 0%, #10b981 100%);--security-gradient:linear-gradient(135deg, #e11d48 0%, #f43f5e 100%);--adoption-gradient:linear-gradient(135deg, #d97706 0%, #f59e0b 100%);--analysis-gradient:linear-gradient(135deg, #7c3aed 0%, #8b5cf6 100%);--shadow-glow:0 0 20px #6366f126;--shadow-glow-releases:0 0 20px #10b98140;--shadow-glow-security:0 0 20px #f43f5e40;--shadow-glow-adoption:0 0 20px #f59e0b40;--shadow-glow-analysis:0 0 20px #8b5cf640;--border-radius-sm:8px;--border-radius-md:14px;--border-radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 10% 20%,#6366f10d 0%,#0000 40%),radial-gradient(circle at 90% 80%,#06b6d40d 0%,#0000 40%),radial-gradient(circle,#a855f708 0%,#0000 50%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-container{flex-direction:column;gap:2.5rem;max-width:1400px;margin:0 auto;padding:2.5rem 1.5rem;display:flex}header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-bottom:2rem;display:flex}.logo-section h1{font-family:var(--font-display);letter-spacing:-.03em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.75rem;margin-bottom:.25rem;font-size:2.5rem;font-weight:800;display:flex}.logo-section p{color:var(--text-secondary);font-size:.95rem;font-weight:400}.header-actions{align-items:center;gap:1rem;display:flex}.btn-scan{font-family:var(--font-sans);background:var(--accent-gradient);color:#fff;border-radius:var(--border-radius-md);cursor:pointer;box-shadow:var(--shadow-glow);border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.btn-scan:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 0 25px #6366f159}.btn-scan:active:not(:disabled){transform:translateY(1px)}.btn-scan:disabled{opacity:.6;cursor:not-allowed}.stats-strip{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.stat-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--border-radius-md);align-items:center;gap:1.25rem;padding:1.5rem;transition:all .3s;display:flex}.stat-card:hover{border-color:#ffffff26;transform:translateY(-2px)}.stat-icon-wrapper{border-radius:var(--border-radius-sm);width:50px;height:50px;color:var(--text-primary);background:#ffffff0a;justify-content:center;align-items:center;display:flex}.stat-card.total .stat-icon-wrapper{color:#818cf8;background:#818cf81a}.stat-card.releases .stat-icon-wrapper{color:var(--accent-releases);background:#10b9811a}.stat-card.security .stat-icon-wrapper{color:var(--accent-security);background:#f43f5e1a}.stat-card.adoption .stat-icon-wrapper{color:var(--accent-adoption);background:#f59e0b1a}.stat-card.analysis .stat-icon-wrapper{color:var(--accent-analysis);background:#8b5cf61a}.stat-info{flex-direction:column;display:flex}.stat-value{font-family:var(--font-display);color:var(--text-primary);font-size:1.75rem;font-weight:700}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.8rem}.status-badge{border:1px solid var(--border-color);background:#ffffff0d;border-radius:50px;align-items:center;gap:.4rem;width:fit-content;padding:.25rem .75rem;font-size:.85rem;display:flex}.status-dot{background-color:var(--text-muted);border-radius:50%;width:8px;height:8px}.status-dot.active{background-color:#22c55e;animation:2s infinite pulse;box-shadow:0 0 10px #22c55e}.status-dot.scanning{background-color:#eab308;animation:1s infinite pulse;box-shadow:0 0 10px #eab308}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.filters-group{border-radius:var(--border-radius-md);border:1px solid var(--border-color);background:#ffffff08;gap:.25rem;padding:.35rem;display:flex}.filter-btn{font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1)}.filter-btn:hover{color:var(--text-primary)}.filter-btn.active{color:var(--text-primary);background:#ffffff14;font-weight:600;box-shadow:inset 0 1px #ffffff0d}.filter-btn.active.releases-tab{color:var(--accent-releases);background:#10b98126;border:1px solid #10b9814d}.filter-btn.active.security-tab{color:var(--accent-security);background:#f43f5e26;border:1px solid #f43f5e4d}.filter-btn.active.adoption-tab{color:var(--accent-adoption);background:#f59e0b26;border:1px solid #f59e0b4d}.filter-btn.active.analysis-tab{color:var(--accent-analysis);background:#8b5cf626;border:1px solid #8b5cf64d}.search-wrapper{flex:1;min-width:320px;max-width:450px;position:relative}.search-wrapper svg{color:var(--text-muted);pointer-events:none;transition:color .3s;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{font-family:var(--font-sans);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-md);width:100%;color:var(--text-primary);outline:none;padding:.75rem 1rem .75rem 2.75rem;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:#6366f199;box-shadow:0 0 15px #6366f126}.search-input:focus+svg{color:#818cf8}.news-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;display:grid}.article-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--border-radius-md);flex-direction:column;justify-content:space-between;gap:1.25rem;min-height:250px;padding:1.75rem;transition:all .35s cubic-bezier(.16,1,.3,1);animation:.5s ease-out forwards slideUp;display:flex;position:relative;overflow:hidden}.article-card:before{content:"";background:var(--accent-gradient);opacity:0;width:100%;height:3px;transition:opacity .3s;position:absolute;top:0;left:0}.article-card.releases-card:before{background:var(--releases-gradient)}.article-card.security-card:before{background:var(--security-gradient)}.article-card.adoption-card:before{background:var(--adoption-gradient)}.article-card.analysis-card:before{background:var(--analysis-gradient)}.article-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-6px)}.article-card.releases-card:hover{box-shadow:var(--shadow-glow-releases);border-color:#10b9814d}.article-card.security-card:hover{box-shadow:var(--shadow-glow-security);border-color:#f43f5e4d}.article-card.adoption-card:hover{box-shadow:var(--shadow-glow-adoption);border-color:#f59e0b4d}.article-card.analysis-card:hover{box-shadow:var(--shadow-glow-analysis);border-color:#8b5cf64d}.article-card:hover:before{opacity:1}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.badge-source{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border-color);color:var(--text-secondary);background:#ffffff0d;border-radius:6px;padding:.3rem .65rem;font-size:.75rem;font-weight:600}.badge-category{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:.3rem .65rem;font-size:.72rem;font-weight:700}.badge-category.releases{color:var(--accent-releases);background:#10b9811a;border:1px solid #10b98133}.badge-category.security{color:var(--accent-security);background:#f43f5e1a;border:1px solid #f43f5e33}.badge-category.adoption{color:var(--accent-adoption);background:#f59e0b1a;border:1px solid #f59e0b33}.badge-category.analysis{color:var(--accent-analysis);background:#8b5cf61a;border:1px solid #8b5cf633}.article-title{font-family:var(--font-sans);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:1.15rem;font-weight:600;line-height:1.4;text-decoration:none;transition:color .2s;display:-webkit-box;overflow:hidden}.article-title:hover{color:#fff;text-decoration:underline}.article-summary{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.card-footer{border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.time-stamp{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.78rem;display:flex}.link-btn{color:#818cf8;align-items:center;gap:.25rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:color .2s,transform .2s;display:flex}.link-btn:hover{color:#a5b4fc;transform:translate(2px)}.article-card.releases-card .link-btn{color:var(--accent-releases)}.article-card.releases-card .link-btn:hover{color:#34d399}.article-card.security-card .link-btn{color:var(--accent-security)}.article-card.security-card .link-btn:hover{color:#fb7185}.article-card.adoption-card .link-btn{color:var(--accent-adoption)}.article-card.adoption-card .link-btn:hover{color:#fbbf24}.article-card.analysis-card .link-btn{color:var(--accent-analysis)}.article-card.analysis-card .link-btn:hover{color:#c084fc}.empty-state{text-align:center;background:var(--bg-surface);border:1px dashed var(--border-color);border-radius:var(--border-radius-md);color:var(--text-secondary);flex-direction:column;grid-column:1/-1;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.empty-state h3{font-size:1.25rem;font-family:var(--font-display);color:var(--text-primary)}.skeleton-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-md);flex-direction:column;gap:1.25rem;min-height:250px;padding:1.75rem;display:flex}.skeleton-line{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loadingSkeleton}.skeleton-line.badge{width:80px;height:22px}.skeleton-line.title{width:100%;height:24px}.skeleton-line.title-short{width:70%;height:24px}.skeleton-line.text{width:100%;height:14px}.skeleton-line.text-mid{width:85%;height:14px}.skeleton-line.text-short{width:50%;height:14px}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #22c55eb3}70%{transform:scale(1);box-shadow:0 0 0 6px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}@keyframes loadingSkeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spin{animation:1s linear infinite spinAnimation}@keyframes spinAnimation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:4rem;padding-top:2rem;font-size:.85rem}@media (width<=768px){header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{justify-content:space-between;width:100%}.toolbar{flex-direction:column;align-items:stretch}.search-wrapper{min-width:100%}.news-grid{grid-template-columns:1fr}}.btn-logout{font-family:var(--font-sans);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;background:#ffffff0d;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:all .25s;display:flex}.btn-logout:hover{color:var(--accent-security);background:#f43f5e26;border-color:#f43f5e4d}.login-container{z-index:1000;background-color:var(--bg-main);justify-content:center;align-items:center;width:100vw;min-height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.login-glow-bg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.glow-circle{filter:blur(80px);opacity:.15;border-radius:50%;position:absolute}.glow-circle.gc1{background:#10b981;width:400px;height:400px;animation:15s infinite alternate floatGlow;top:-100px;left:-100px}.glow-circle.gc2{background:#8b5cf6;width:500px;height:500px;animation:20s infinite alternate-reverse floatGlow;bottom:-150px;right:-100px}@keyframes floatGlow{0%{transform:translate(0)scale(1)}to{transform:translate(50px,50px)scale(1.1)}}.login-card{z-index:10;-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);width:100%;max-width:420px;box-shadow:0 20px 40px #0000004d, var(--shadow-glow);background:#111118bf;padding:3rem 2.5rem;animation:.6s cubic-bezier(.16,1,.3,1) forwards loginFadeIn;position:relative}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.login-header h2{font-family:var(--font-display);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:800}.login-header p{color:var(--text-secondary);font-size:.9rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;transition:color .3s;position:absolute;left:1rem}.input-wrapper input{font-family:var(--font-sans);border:1px solid var(--border-color);border-radius:var(--border-radius-md);width:100%;color:var(--text-primary);background:#ffffff08;outline:none;padding:.85rem 1rem .85rem 2.75rem;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.input-wrapper input:focus{background:#ffffff0d;border-color:#6366f199;box-shadow:0 0 15px #6366f126}.input-wrapper input:focus+.input-icon{color:#818cf8}.login-error-msg{border-radius:var(--border-radius-sm);color:var(--accent-security);text-align:center;background:#f43f5e1a;border:1px solid #f43f5e33;padding:.75rem 1rem;font-size:.85rem;font-weight:500;animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.btn-login{font-family:var(--font-sans);background:var(--accent-gradient);color:#fff;border-radius:var(--border-radius-md);cursor:pointer;box-shadow:var(--shadow-glow);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.9rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.btn-login:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 0 25px #6366f159}.btn-login:active{transform:translateY(1px)}
