@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #0a0a0f;--bg-secondary: #0d1117;--bg-tertiary: #161b22;--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-hover: rgba(255, 255, 255, .06);--glass-blur: blur(20px);--neon-cyan: #00d4ff;--neon-purple: #8b5cf6;--neon-green: #00ff88;--neon-red: #ff3366;--neon-orange: #ff9f43;--text-primary: #ffffff;--text-secondary: #a0aec0;--text-dim: #5a6a7a;--gradient-accent: linear-gradient(135deg, var(--neon-cyan), var(--neon-purple));--gradient-success: linear-gradient(135deg, #00ff88, #00d4aa);--gradient-danger: linear-gradient(135deg, #ff3366, #ff6b6b);--gradient-warning: linear-gradient(135deg, #ff9f43, #ffbe76);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 32px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 64px rgba(0, 0, 0, .5);--shadow-glow-cyan: 0 0 30px rgba(0, 212, 255, .3);--shadow-glow-purple: 0 0 30px rgba(139, 92, 246, .3);--shadow-glow-red: 0 0 30px rgba(255, 51, 102, .4);--transition-fast: .15s ease;--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse at 20% 0%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(0,212,255,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(0,212,255,.05) 0%,transparent 70%),var(--bg-primary);background-attachment:fixed}.app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 20%,rgba(0,212,255,.08) 0%,transparent 40%),radial-gradient(circle at 70% 80%,rgba(139,92,246,.08) 0%,transparent 40%);animation:aurora 20s ease-in-out infinite alternate;pointer-events:none;z-index:0}@keyframes aurora{0%{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.8;transform:scale(1.1) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(-1deg)}}.app:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0}.header{position:sticky;top:0;z-index:100;background:#0a0a0fcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:.75rem 2rem}.header-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;text-shadow:0 0 30px rgba(0,212,255,.5);cursor:default;transition:var(--transition-base)}.logo:hover{filter:brightness(1.2);transform:scale(1.02)}.nav{display:flex;gap:.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.35rem}.nav button{position:relative;background:transparent;border:none;color:var(--text-secondary);padding:.6rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:var(--transition-base);overflow:hidden}.nav button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-accent);opacity:0;transition:var(--transition-base);border-radius:inherit}.nav button:hover{color:var(--text-primary)}.nav button:hover:before{opacity:.1}.nav button.active{color:var(--text-primary);background:var(--gradient-accent);box-shadow:var(--shadow-glow-cyan)}.nav button.active:before{opacity:0}.status{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.5rem 1rem}.dot{width:10px;height:10px;border-radius:50%;background:var(--neon-green);box-shadow:0 0 10px var(--neon-green),0 0 20px var(--neon-green);animation:pulse-glow 2s ease-in-out infinite}.dot.offline{background:var(--neon-red);box-shadow:0 0 10px var(--neon-red),0 0 20px var(--neon-red);animation:pulse-glow-red 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}@keyframes pulse-glow-red{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.main{flex:1;max-width:1400px;margin:0 auto;padding:2rem;width:100%;position:relative;z-index:1;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:1.5rem;transition:var(--transition-base);animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card:hover{background:var(--glass-hover);border-color:#00d4ff26;box-shadow:var(--shadow-md)}.card-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-sub{color:var(--text-dim);font-size:.85rem;font-weight:500}.dropzone{position:relative;border:2px dashed var(--glass-border);border-radius:var(--radius-xl);padding:4rem 3rem;text-align:center;cursor:pointer;transition:var(--transition-base);background:linear-gradient(135deg,#00d4ff05,#8b5cf605);overflow:hidden}.dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-accent);opacity:0;transition:var(--transition-base)}.dropzone:hover,.dropzone.active{border-color:var(--neon-cyan);box-shadow:var(--shadow-glow-cyan)}.dropzone:hover:before,.dropzone.active:before{opacity:.05}.dropzone input{display:none}.dropzone h3{font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem;position:relative}.dropzone p{color:var(--text-dim);font-size:.9rem;position:relative}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.75rem;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition-base);overflow:hidden;font-family:inherit}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);opacity:0;transition:var(--transition-base)}.btn:hover:before{opacity:1}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-glow-cyan)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 40px #00d4ff66}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.btn-secondary:hover{background:var(--glass-hover);border-color:var(--neon-cyan)}.btn-danger{background:var(--gradient-danger);color:#fff;box-shadow:0 0 20px #f363}.btn-danger:hover{box-shadow:var(--shadow-glow-red);transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.8rem;border-radius:var(--radius-sm)}.btn-block{width:100%;margin-top:1rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat{background:var(--glass-bg);border:1px solid var(--glass-border);padding:1.25rem;border-radius:var(--radius-md);text-align:center;transition:var(--transition-base)}.stat:hover{background:var(--glass-hover);transform:translateY(-2px)}.stat-val{font-size:2rem;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-val.success{background:var(--gradient-success);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 20px rgba(0,255,136,.3)}.stat-val.danger{background:var(--gradient-danger);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 20px rgba(255,51,102,.3)}.stat-val.warning{background:var(--gradient-warning);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-top:.5rem;font-weight:600}.item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:.75rem;transition:var(--transition-base)}.item:hover{background:var(--glass-hover);border-color:#00d4ff33;transform:translate(4px)}.item.detected{background:#ff33661a;border-color:var(--neon-red);box-shadow:0 0 20px #ff336626;animation:threat-pulse 2s ease-in-out infinite}@keyframes threat-pulse{0%,to{box-shadow:0 0 20px #ff336626}50%{box-shadow:0 0 30px #ff336640}}.item-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border)}.item-info{flex:1;min-width:0}.item-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.item-meta{font-size:.8rem;color:var(--text-dim)}.badge{padding:.35rem .85rem;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-clean{background:linear-gradient(135deg,#0f83,#00d4aa33);color:var(--neon-green);border:1px solid rgba(0,255,136,.3)}.badge-detected{background:linear-gradient(135deg,#f363,#ff6b6b33);color:var(--neon-red);border:1px solid rgba(255,51,102,.3);animation:badge-glow 2s ease-in-out infinite}@keyframes badge-glow{0%,to{box-shadow:0 0 10px #f363}50%{box-shadow:0 0 20px #f366}}.badge-skipped{background:linear-gradient(135deg,#ff9f4333,#ffbe7633);color:var(--neon-orange);border:1px solid rgba(255,159,67,.3)}table{width:100%;border-collapse:separate;border-spacing:0 .5rem}thead tr{background:transparent}th{padding:1rem;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-weight:600;border:none}tbody tr{background:var(--glass-bg);border-radius:var(--radius-md);transition:var(--transition-base)}tbody tr:hover{background:var(--glass-hover);transform:scale(1.01)}td{padding:1rem;border:none;vertical-align:middle}td:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}td:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.hash{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-dim);background:var(--glass-bg);padding:.25rem .5rem;border-radius:var(--radius-sm)}.severity{padding:.35rem .75rem;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.severity-low{background:linear-gradient(135deg,#00ff8826,#00d4aa26);color:var(--neon-green)}.severity-medium{background:linear-gradient(135deg,#ff9f4326,#ffbe7626);color:var(--neon-orange)}.severity-high{background:linear-gradient(135deg,#ff336626,#ff6b6b26);color:var(--neon-red)}.severity-critical{background:linear-gradient(135deg,#ff336640,#ff003240);color:#ff6b6b;animation:critical-pulse 1.5s ease-in-out infinite}@keyframes critical-pulse{0%,to{opacity:1}50%{opacity:.8}}.modal-bg{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-primary);border:1px solid var(--neon-cyan);border-radius:var(--radius-xl);padding:2rem;width:90%;max-width:450px;box-shadow:0 0 40px #00d4ff33,var(--shadow-lg);animation:modal-slide .3s ease;position:relative;z-index:10000}@keyframes modal-slide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary)}.form-input{width:100%;padding:.85rem 1rem;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:var(--transition-base)}.form-input:focus{outline:none;border-color:var(--neon-cyan);box-shadow:0 0 0 3px #00d4ff1a}.form-input::placeholder{color:var(--text-dim)}select.form-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0aec0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}select.form-input option{background:var(--bg-secondary);color:var(--text-primary);padding:.75rem}select.form-input option:hover,select.form-input option:focus,select.form-input option:checked{background:var(--bg-tertiary)}.modal-btns{display:flex;gap:1rem;margin-top:2rem}.modal-btns button{flex:1}.progress{height:8px;background:var(--glass-bg);border-radius:50px;margin:1.5rem 0;overflow:hidden;border:1px solid var(--glass-border)}.progress-bar{height:100%;background:var(--gradient-accent);border-radius:50px;transition:width .3s ease;box-shadow:0 0 10px var(--neon-cyan)}.empty{text-align:center;padding:4rem 2rem;color:var(--text-dim)}.empty-icon{font-size:4rem;opacity:.3;margin-bottom:1.5rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.switch-row{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-top:1.5rem;transition:var(--transition-base)}.switch-row:hover{background:var(--glass-hover)}.switch{width:52px;height:28px;background:var(--glass-border);border-radius:50px;position:relative;cursor:pointer;transition:var(--transition-base);flex-shrink:0}.switch:after{content:"";position:absolute;width:22px;height:22px;background:var(--text-primary);border-radius:50%;top:3px;left:3px;transition:var(--transition-base);box-shadow:var(--shadow-sm)}.switch.on{background:var(--gradient-accent);box-shadow:var(--shadow-glow-cyan)}.switch.on:after{transform:translate(24px)}.footer{text-align:center;padding:2rem;border-top:1px solid var(--glass-border);color:var(--text-dim);font-size:.85rem;position:relative;z-index:1;background:#0a0a0f80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer strong{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title{font-size:2.5rem;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.hero-icon{font-size:4rem;margin-bottom:1rem;animation:shield-glow 3s ease-in-out infinite}@keyframes shield-glow{0%,to{filter:drop-shadow(0 0 10px rgba(0,212,255,.3));transform:scale(1)}50%{filter:drop-shadow(0 0 25px rgba(0,212,255,.6));transform:scale(1.05)}}@media(max-width:768px){.header{padding:.75rem 1rem}.header-inner{flex-wrap:wrap;gap:1rem}.nav{order:3;width:100%;justify-content:center}.nav button{padding:.5rem .75rem;font-size:.8rem}.main{padding:1rem}.stats{grid-template-columns:repeat(2,1fr)}.dropzone{padding:2rem 1.5rem}table{display:block;overflow-x:auto}}@media(max-width:480px){.stats{grid-template-columns:1fr}.status,.nav button span{display:none}}.scanning-ring{position:relative;width:80px;height:80px;margin:0 auto 1.5rem}.scanning-ring:before,.scanning-ring:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid transparent;border-top-color:var(--neon-cyan);border-radius:50%;animation:spin 1s linear infinite}.scanning-ring:after{top:8px;right:8px;bottom:8px;left:8px;border-top-color:var(--neon-purple);animation-duration:.8s;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}code{font-family:JetBrains Mono,monospace;background:var(--glass-bg);padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.85rem;color:var(--neon-cyan);border:1px solid var(--glass-border)}
