@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Poppins:wght@300;400;600;700&display=swap";:root{--bg-primary: #000000;--bg-secondary: #0a0e14;--bg-card: rgba(10, 14, 20, .85);--border-primary: rgba(0, 255, 255, .15);--border-glow: rgba(0, 255, 255, .4);--cyan-primary: #00ffff;--cyan-secondary: #00d9ff;--magenta-primary: #ff00ff;--green-primary: #00ff88;--red-primary: #ff3366;--text-primary: #e0f5ff;--text-secondary: #8ba5b8;--text-muted: #4a5f70;--shadow-cyan: 0 0 20px rgba(0, 255, 255, .15);--shadow-magenta: 0 0 20px rgba(255, 0, 255, .15);--shadow-green: 0 0 20px rgba(0, 255, 136, .15);--shadow-red: 0 0 20px rgba(255, 51, 102, .15)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-primary);color:var(--text-primary);font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(0,255,255,.08) 0%,rgba(255,0,255,.05) 25%,transparent 50%);animation:gradientRotate 15s ease-in-out infinite alternate;pointer-events:none;z-index:0}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}@keyframes gradientRotate{0%{transform:rotate(0) scale(1)}to{transform:rotate(45deg) scale(1.1)}}.app{position:relative;z-index:1;width:95%;max-width:1000px;margin:2rem auto;padding:2.5rem;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 8px 32px #0006,0 0 80px #00ffff0d,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.header{display:flex;align-items:center;gap:16px;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--border-primary);position:relative}.header:after{content:"";position:absolute;bottom:-1px;left:0;width:120px;height:2px;background:linear-gradient(90deg,var(--cyan-primary),transparent);animation:scanLine 3s ease-in-out infinite}@keyframes scanLine{0%,to{transform:translate(0);opacity:1}50%{transform:translate(200px);opacity:.3}}.logo{width:56px;height:56px;border-radius:12px;padding:8px;background:#00ffff14;border:1px solid var(--border-glow);box-shadow:var(--shadow-cyan);animation:logoPulse 2s ease-in-out infinite}@keyframes logoPulse{0%,to{box-shadow:0 0 15px #00ffff4d}50%{box-shadow:0 0 30px #0ff9}}h1{font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:700;letter-spacing:2px;background:linear-gradient(135deg,var(--cyan-primary),var(--magenta-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShimmer 3s ease-in-out infinite}@keyframes textShimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.scanner-box{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#00ffff08;border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden;transition:all .3s ease}.scanner-box:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,255,.1),transparent);transition:left .6s ease}.scanner-box:hover:before{left:100%}.scanner-box:hover{border-color:var(--border-glow);box-shadow:var(--shadow-cyan)}input[type=file]{flex:1;min-width:200px;padding:12px 16px;background:#0006;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.9rem;cursor:pointer;transition:all .3s ease}input[type=file]:hover{border-color:var(--cyan-secondary);background:#00ffff0d}input[type=file]::file-selector-button{padding:8px 16px;background:linear-gradient(135deg,#0ff3,#f0f3);border:1px solid var(--border-glow);border-radius:6px;color:var(--cyan-primary);font-family:JetBrains Mono,monospace;font-weight:600;cursor:pointer;transition:all .3s ease;margin-right:12px}input[type=file]::file-selector-button:hover{background:linear-gradient(135deg,#00ffff4d,#ff00ff4d);box-shadow:0 0 15px #0ff6}button{padding:12px 28px;background:linear-gradient(135deg,var(--cyan-secondary),var(--magenta-primary));border:none;border-radius:8px;color:#fff;font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;letter-spacing:.5px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 15px #00ffff4d}button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}button:hover:before{width:300px;height:300px}button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #00ffff80}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:disabled:hover{box-shadow:0 4px 15px #00ffff4d}.scan-indicator{height:4px;margin:0 0 1.5rem;background:#0000004d;border-radius:4px;overflow:hidden;position:relative;opacity:0;transition:opacity .3s ease}.scan-indicator.active{opacity:1}.scan-bar{position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(90deg,transparent,var(--cyan-primary),var(--magenta-primary),transparent);animation:scanProgress 1.5s ease-in-out infinite;box-shadow:0 0 15px var(--cyan-primary)}@keyframes scanProgress{0%{left:-50%}to{left:100%}}.alert{margin-bottom:1.5rem;padding:14px 18px;border-left:3px solid;border-radius:8px;display:flex;align-items:center;gap:12px;font-family:JetBrains Mono,monospace;font-size:.9rem;animation:slideIn .4s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.alert.info{background:#00d9ff14;border-color:var(--cyan-secondary);color:var(--cyan-primary)}.alert.success{background:#00ff8814;border-color:var(--green-primary);color:var(--green-primary)}.alert.error{background:#ff336614;border-color:var(--red-primary);color:var(--red-primary)}.result-box{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;margin-bottom:2rem;position:relative;overflow:hidden;transition:all .4s ease}.result-box:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--cyan-primary),var(--magenta-primary),var(--cyan-primary));border-radius:12px;opacity:0;z-index:-1;transition:opacity .4s ease;animation:borderRotate 3s linear infinite}@keyframes borderRotate{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.result-box:hover:before{opacity:.5}.result-box h2{font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:700;letter-spacing:2px;color:var(--cyan-primary);margin:0 0 1.5rem;text-transform:uppercase;position:relative;display:inline-block}.result-box h2:after{content:"";position:absolute;bottom:-8px;left:0;width:60%;height:2px;background:linear-gradient(90deg,var(--cyan-primary),transparent)}.result-box p{margin:.8rem 0;font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.result-box p b{color:var(--text-primary);font-weight:600;margin-right:8px}.hash{color:var(--cyan-secondary);font-family:JetBrains Mono,monospace;font-size:.85rem;word-break:break-all;background:#00ffff0d;padding:4px 8px;border-radius:4px;display:inline-block}.glow-green{border-color:var(--green-primary);box-shadow:0 8px 32px #0f83,inset 0 1px #00ff881a}.glow-red{border-color:var(--red-primary);box-shadow:0 8px 32px #f363,inset 0 1px #ff33661a}.status-pill{display:inline-block;padding:8px 16px;border-radius:20px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;position:relative;overflow:hidden}.status-pill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.status-pill.green{background:#00ff8826;color:var(--green-primary);border:1px solid var(--green-primary);box-shadow:0 0 20px #00ff884d;animation:pulseGreen 2s ease-in-out infinite}.status-pill.red{background:#ff336626;color:var(--red-primary);border:1px solid var(--red-primary);box-shadow:0 0 20px #ff33664d;animation:pulseRed 2s ease-in-out infinite}.status-pill.gray{background:#ffffff0d;color:var(--text-muted);border:1px solid var(--text-muted)}@keyframes pulseGreen{0%,to{box-shadow:0 0 15px #00ff884d}50%{box-shadow:0 0 30px #0f89}}@keyframes pulseRed{0%,to{box-shadow:0 0 15px #ff33664d}50%{box-shadow:0 0 30px #f369}}.vt-link{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.vt-link a{color:var(--cyan-primary);text-decoration:none;font-family:JetBrains Mono,monospace;font-size:.9rem;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;position:relative}.vt-link a:after{content:"→";transition:transform .3s ease}.vt-link a:hover{color:var(--magenta-primary);text-shadow:0 0 10px var(--magenta-primary)}.vt-link a:hover:after{transform:translate(5px)}.history-box{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;position:relative;overflow:hidden}.history-box h2{font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:700;letter-spacing:2px;color:var(--cyan-primary);margin:0 0 1.5rem;text-transform:uppercase;position:relative;display:inline-block}.history-box h2:after{content:"";position:absolute;bottom:-8px;left:0;width:60%;height:2px;background:linear-gradient(90deg,var(--cyan-primary),transparent)}table{width:100%;border-collapse:separate;border-spacing:0;font-family:JetBrains Mono,monospace;font-size:.9rem}thead{background:#00ffff0d}th{padding:14px 16px;text-align:left;color:var(--cyan-primary);font-weight:700;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--border-glow)}td{padding:14px 16px;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.05);transition:all .3s ease}tbody tr{transition:all .3s ease}tbody tr:hover{background:#00ffff08}tbody tr:hover td{color:var(--text-primary)}td.green{color:var(--green-primary);font-weight:600}td.red{color:var(--red-primary);font-weight:600}td.gray{color:var(--text-muted)}.no-history{text-align:center;color:var(--text-muted);font-style:italic;padding:2rem;font-size:.95rem}.fade-in{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.boot-screen{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--bg-primary);position:relative;overflow:hidden}.boot-screen:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.05) 1px,transparent 1px);background-size:30px 30px;animation:gridMove 15s linear infinite}.terminal{width:90%;max-width:500px;text-align:left;font-family:JetBrains Mono,monospace;position:relative;z-index:1;animation:terminalFlicker 2s ease-in-out infinite}.terminal p{margin:10px 0;color:var(--green-primary);font-size:1rem;text-shadow:0 0 5px var(--green-primary)}.terminal .ok{color:var(--cyan-primary);font-weight:700;animation:blink 1s infinite;text-shadow:0 0 10px var(--cyan-primary)}@keyframes terminalFlicker{0%,to{opacity:1}50%{opacity:.95}}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.4}}@media(max-width:768px){.app{width:95%;padding:1.5rem;margin:1rem auto}h1{font-size:1.3rem;letter-spacing:1px}.logo{width:48px;height:48px}.scanner-box{flex-direction:column;align-items:stretch}input[type=file],button{width:100%}.result-box,.history-box{padding:1.5rem}table{font-size:.8rem}th,td{padding:10px 8px}.terminal{width:90%}.terminal p{font-size:.85rem}}@media(max-width:480px){.app{padding:1rem}h1,.result-box h2,.history-box h2{font-size:1.1rem}table{font-size:.75rem}th,td{padding:8px 6px}}
