:root{--bg-primary: #0a0c10;--bg-secondary: #121620;--bg-tertiary: #1b2130;--accent-color: #4f46e5;--accent-glow: rgba(79, 70, 229, .4);--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .1);--color-success-border: rgba(16, 185, 129, .2);--color-success-glow: rgba(16, 185, 129, .4);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-warning-border: rgba(245, 158, 11, .2);--color-warning-glow: rgba(245, 158, 11, .4);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .1);--color-danger-border: rgba(239, 68, 68, .2);--color-danger-glow: rgba(239, 68, 68, .4);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", sans-serif;--glass-bg: rgba(18, 22, 32, .7);--glass-border: rgba(255, 255, 255, .06);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}.light{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #e5e7eb;--accent-color: #6366f1;--accent-glow: rgba(99, 102, 241, .4);--text-primary: #111827;--text-secondary: #374151;--text-muted: #6b7280;--border-color: rgba(0, 0, 0, .1);--border-hover: rgba(0, 0, 0, .2);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .06)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;overflow-x:hidden;position:relative;background-image:radial-gradient(circle at 10% 20%,rgba(79,70,229,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(16,185,129,.03) 0%,transparent 40%)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;border-bottom:1px solid var(--border-color);padding-bottom:1.5rem}.logo-section{display:flex;align-items:center;gap:.75rem}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--accent-color),#818cf8);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px var(--accent-glow)}.logo-text{font-family:var(--font-display);font-weight:700;font-size:1.5rem;background:linear-gradient(to right,#fff,#9ca3af);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-badge{font-size:.7rem;background:var(--bg-tertiary);color:var(--accent-color);border:1px solid rgba(79,70,229,.2);padding:.2rem .5rem;border-radius:6px;font-weight:600;letter-spacing:.05em}.nav-tabs{display:flex;background:#ffffff08;border:1px solid var(--border-color);padding:.25rem;border-radius:10px;gap:.25rem}.nav-tab{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-weight:600;font-size:.9rem;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;gap:.5rem}.nav-tab:hover{color:var(--text-primary);background:#ffffff05}.nav-tab.active{background:var(--accent-color);color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.grid-layout{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media (min-width: 900px){.grid-layout{grid-template-columns:1fr 1fr}}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:2rem;transition:var(--transition-smooth)}.card:hover{border-color:var(--border-hover)}.card-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.card-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:2rem}.btn{background:var(--accent-color);color:#fff;border:none;font-family:var(--font-sans);font-weight:600;font-size:.95rem;padding:.85rem 1.75rem;border-radius:12px;cursor:pointer;transition:var(--transition-smooth);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 14px var(--accent-glow);width:100%}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow);background:#5a52ff}.btn:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:none}.btn-secondary:hover{background:#ffffff0d;border-color:var(--text-muted);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.upload-zone{border:2px dashed var(--border-color);border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:var(--transition-smooth);background:#ffffff03;display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-zone:hover{border-color:var(--accent-color);background:#4f46e505}.upload-zone-active{border-color:var(--color-success);background:#10b98105}.upload-icon{color:var(--text-secondary);transition:var(--transition-smooth)}.upload-zone:hover .upload-icon{color:var(--accent-color);transform:scale(1.1)}.upload-label{font-weight:600;font-size:1rem;color:var(--text-primary)}.upload-hint{font-size:.8rem;color:var(--text-muted)}.pattern-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pattern-container{width:100%;max-width:320px;background:#000;border-radius:14px;overflow:hidden;border:1px solid var(--border-color);position:relative;box-shadow:0 10px 30px #00000080}.pattern-img{width:100%;height:auto;display:block;image-rendering:pixelated}.pattern-meta{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem;width:100%;display:flex;flex-direction:column;gap:.5rem}.meta-row{display:flex;justify-content:space-between;font-size:.85rem}.meta-label{color:var(--text-secondary);font-weight:500}.meta-value{color:var(--text-primary);font-weight:600;font-family:monospace}.qr-container{padding:1.5rem;background:#fff;border-radius:14px;display:inline-flex;justify-content:center;align-items:center;box-shadow:0 10px 30px #0006}.result-box{border-radius:16px;padding:1.5rem;margin-top:1.5rem;border:1px solid transparent;display:flex;align-items:center;gap:1rem}.result-box.genuine{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.result-box.suspicious{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.result-box.copy{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.verdict-badge{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:.05em}.score-display{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.score-ring{width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle,var(--bg-tertiary) 60%,transparent 62%);border:6px solid var(--border-color);position:relative;box-shadow:0 0 20px #0003}.score-ring-value{font-family:var(--font-display);font-size:2.25rem;font-weight:700}.score-ring-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.metric-card{background:#ffffff05;border:1px solid var(--border-color);border-radius:12px;padding:1rem;text-align:center}.metric-name{font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.metric-val{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.scan-line{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(to right,transparent,var(--accent-color),transparent);box-shadow:0 0 8px var(--accent-color);animation:scan 2s linear infinite;z-index:10}@keyframes scan{0%{top:0}50%{top:100%}to{top:0}}.app-footer{margin-top:auto;text-align:center;padding:2rem 0 1rem;color:var(--text-muted);font-size:.8rem}
