:root,[data-theme=dark]{--color-primary: #10b981;--color-primary-dark: #059669;--color-secondary: #8b5cf6;--color-accent: #ffd700;--color-bg: #0a0a0f;--color-bg-dark: #0a0a0f;--color-bg-card: rgba(20, 20, 30, .8);--color-bg-glass: rgba(255, 255, 255, .05);--color-text: #ffffff;--color-text-muted: rgba(255, 255, 255, .7);--color-text-dim: rgba(255, 255, 255, .5);--color-border: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .2);--signal-safe: #4ade80;--signal-warning: #fbbf24;--signal-danger: #f87171;--glass-blur: 20px;--glass-bg: rgba(255, 255, 255, .05);--glass-border: 1px solid rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}[data-theme=light]{--color-bg: #f5f5f7;--color-bg-dark: #f5f5f7;--color-bg-card: rgba(255, 255, 255, .9);--color-bg-glass: rgba(0, 0, 0, .03);--color-text: #1d1d1f;--color-text-muted: rgba(29, 29, 31, .7);--color-text-dim: rgba(29, 29, 31, .5);--color-border: rgba(0, 0, 0, .1);--color-border-hover: rgba(0, 0, 0, .2);--glass-bg: rgba(255, 255, 255, .7);--glass-border: 1px solid rgba(0, 0, 0, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--color-bg-dark);color:var(--color-text);min-height:100vh;line-height:1.6;transition:background var(--transition-normal),color var(--transition-normal)}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:100;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:var(--glass-border);box-shadow:var(--glass-shadow)}.header-content{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.logo-section{display:flex;align-items:center;gap:var(--spacing-md)}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--glass-bg);border:var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.back-btn:hover{background:var(--color-bg-glass);border-color:var(--color-border-hover);color:var(--color-primary);transform:translate(-4px)}.logo-link{display:flex;align-items:center;text-decoration:none;transition:transform var(--transition-fast)}.logo-link:hover{transform:scale(1.1)}.logo-emoji{font-size:2rem;line-height:1}.app-header h1{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0}.tagline{flex:1;text-align:center;color:var(--color-text-muted);font-size:.95rem;margin:0}.header-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--glass-bg);border:var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle-btn:hover{background:var(--color-bg-glass);border-color:var(--color-border-hover);color:var(--color-primary)}.app-nav{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-xl) var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%}.nav-btn{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.nav-btn:hover{background:var(--glass-bg);color:var(--color-text)}.nav-btn.active{background:var(--color-primary);color:#fff}.app-main{flex:1;padding:var(--spacing-2xl) var(--spacing-xl)}.content-wrapper{max-width:1200px;margin:0 auto}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-lg);color:var(--color-text-muted)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(90deg,var(--color-bg-glass) 0%,rgba(255,255,255,.1) 50%,var(--color-bg-glass) 100%);background-size:1000px 100%;animation:shimmer 2s linear infinite;border-radius:var(--radius-md)}.skeleton-text{height:1rem;margin-bottom:var(--spacing-sm)}.skeleton-title{height:2rem;width:60%;margin-bottom:var(--spacing-md)}.skeleton-card{height:200px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes glow{0%,to{box-shadow:0 0 20px #10b9814d}50%{box-shadow:0 0 40px #10b98199}}.dashboard-card{animation:fadeInUp .5s ease-out both}.dashboard-card:nth-child(1){animation-delay:.1s}.dashboard-card:nth-child(2){animation-delay:.2s}.dashboard-card:nth-child(3){animation-delay:.3s}.module-card{animation:fadeInUp .4s ease-out both}.module-card:nth-child(1){animation-delay:.1s}.module-card:nth-child(2){animation-delay:.15s}.module-card:nth-child(3){animation-delay:.2s}.module-card:nth-child(4){animation-delay:.25s}.module-card:nth-child(5){animation-delay:.3s}.module-card:nth-child(6){animation-delay:.35s}.module-card:nth-child(7){animation-delay:.4s}.module-card:nth-child(8){animation-delay:.45s}.module-card:nth-child(9){animation-delay:.5s}.hero{animation:fadeIn .6s ease-out}.modules-section{animation:scaleIn .5s ease-out both;animation-delay:.4s}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);animation:scaleIn .4s ease-out;position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%);pointer-events:none}.glass-card:hover{border-color:#10b9814d;box-shadow:var(--glass-shadow),0 0 30px #10b9811a}.app-footer{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-top:var(--glass-border);padding:var(--spacing-xl);margin-top:var(--spacing-2xl)}.footer-content{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--color-text-muted);font-size:.9rem}.footer-content p{margin:0}.footer-links{display:flex;align-items:center;gap:var(--spacing-sm)}.footer-links span{opacity:.4}.app-footer a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.app-footer a:hover{color:var(--color-primary)}@media(max-width:768px){.header-content{flex-wrap:wrap;padding:var(--spacing-md)}.tagline{flex-basis:100%;order:3;text-align:left;margin-top:var(--spacing-sm)}.app-nav{padding:0 var(--spacing-md) var(--spacing-md);overflow-x:auto}.app-main{padding:var(--spacing-xl) var(--spacing-md)}.glass-card{padding:var(--spacing-lg)}}@supports not (backdrop-filter: blur(20px)){.app-header,.glass-card,.app-footer{background:var(--color-bg-card)}}.page{width:100%}.hero{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.hero-icon{font-size:4rem;margin-bottom:var(--spacing-lg);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero h1{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-text)}.text-muted{color:var(--color-text-muted);font-size:1.1rem;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.dashboard-card{display:flex;flex-direction:column;padding:var(--spacing-xl);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);text-decoration:none;color:var(--color-text);transition:all var(--transition-normal);cursor:pointer;position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.dashboard-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 64px #10b98140,0 8px 32px #10b98126,inset 0 1px #ffffff1a;border-color:var(--color-primary)}.dashboard-card:hover:before{opacity:1}.dashboard-card:active{transform:translateY(-2px) scale(1.01)}.card-icon{font-size:2.5rem;margin-bottom:var(--spacing-md);transition:all var(--transition-normal);filter:drop-shadow(0 4px 8px rgba(16,185,129,.3))}.dashboard-card:hover .card-icon{transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 8px 16px rgba(16,185,129,.5))}.dashboard-card h3{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text)}.dashboard-card p{flex:1;font-size:.95rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md);line-height:1.5}.card-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;align-self:flex-start}.modules-section{margin-top:var(--spacing-2xl);padding:var(--spacing-xl);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);border-radius:var(--radius-xl)}.modules-section h2{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-lg);color:var(--color-text)}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.module-card{padding:var(--spacing-md);background:var(--color-bg-glass);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast)}.module-card:hover{border-color:var(--color-primary);background:#10b9810d}.module-card strong{display:block;color:var(--color-text);margin-bottom:var(--spacing-xs)}.module-card p{font-size:.9rem;color:var(--color-text-muted);margin:0;line-height:1.4}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg);animation:fadeInUp .5s ease-out}.results-header h1{font-size:2rem;font-weight:700;margin:0 0 var(--spacing-sm) 0;color:var(--color-text)}.btn-action{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;box-shadow:0 4px 12px #10b98140}.btn-action:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-action:hover:before{left:100%}.btn-action:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,#047857 100%);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 24px #10b98180,0 4px 12px #10b9814d}.btn-action:active{transform:translateY(-1px) scale(1.02);transition:transform .1s ease}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted);animation:fadeIn .6s ease-out}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.7;animation:float 3s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 4px 8px rgba(16,185,129,.2))}.empty-state h2{font-size:1.5rem;margin-bottom:var(--spacing-md);color:var(--color-text);animation:fadeInUp .6s ease-out both;animation-delay:.2s}.empty-state p{margin-bottom:var(--spacing-lg);animation:fadeInUp .6s ease-out both;animation-delay:.3s;line-height:1.6}.empty-state .btn-action{animation:fadeInUp .6s ease-out both;animation-delay:.4s}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:500;font-size:.95rem}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:1rem;transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #10b9811a,0 0 20px #10b98133;transform:translateY(-2px)}.form-input:hover,.form-select:hover{border-color:var(--color-border-hover)}.form-checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-checkbox-label{display:flex;align-items:center;padding:var(--spacing-md);background:var(--glass-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.form-checkbox-label:hover{border-color:var(--color-primary);background:#10b9810d;transform:translate(4px)}.form-checkbox-label input[type=checkbox]{margin-right:var(--spacing-sm);width:18px;height:18px;accent-color:var(--color-primary)}.form-checkbox-label input[type=checkbox]:checked+span{color:var(--color-primary);font-weight:500}.scan-progress{margin:var(--spacing-xl) 0;padding:var(--spacing-xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);border-radius:var(--radius-xl);animation:fadeInUp .5s ease-out}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.progress-title{font-size:1.25rem;font-weight:600;color:var(--color-text)}.progress-status{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:#10b9811a;color:var(--color-primary);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;animation:pulse 2s ease-in-out infinite}.progress-status.status-completed{background:#22c55e1f;color:var(--signal-safe);animation:none}.progress-status.status-failed{background:#ef444426;color:var(--signal-danger);animation:none}.progress-status.status-cancelled{background:#94a3b826;color:var(--color-text-muted);animation:none}.progress-status.status-queued,.progress-status.status-pending{background:#94a3b81f;color:var(--color-text-muted);animation:none}.scan-meta-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 10px;border-radius:var(--radius-md);background:#94a3b81f;color:var(--color-text-muted);font-size:12px}.progress-bar-container{width:100%;height:8px;background:var(--color-bg-glass);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-lg);box-shadow:inset 0 2px 4px #0000001a}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-md);transition:width .5s ease;position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s linear infinite}.progress-modules{display:grid;gap:var(--spacing-sm)}.progress-module{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-bg-glass);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast)}.progress-module.active{border-color:var(--color-primary);background:#10b9811a;animation:pulse 2s ease-in-out infinite}.progress-module.completed{opacity:.7}.progress-module.failed{border-color:#ef444480;background:#ef444414}.progress-module-name{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;color:var(--color-text)}.progress-module-icon{font-size:1.2rem}.progress-module.completed .progress-module-icon{color:var(--signal-safe)}.progress-module.active .progress-module-icon{color:var(--color-primary);animation:spin 1s linear infinite}.progress-module-status{font-size:.85rem;color:var(--color-text-muted)}.finding-spoiler{margin-bottom:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal)}.finding-spoiler:hover{border-color:var(--color-border-hover);box-shadow:0 4px 12px #0000001a}.finding-spoiler-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}.finding-spoiler-header:hover{background:#10b9810d}.finding-spoiler-title{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.finding-severity-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.finding-severity-badge.critical{background:#f8717133;color:#f87171;border:1px solid rgba(248,113,113,.3)}.finding-severity-badge.high{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.finding-severity-badge.medium{background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.finding-severity-badge.low{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.finding-spoiler-toggle{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:.85rem;transition:all var(--transition-fast)}.finding-spoiler-toggle-icon{transition:transform var(--transition-fast)}.finding-spoiler.open .finding-spoiler-toggle-icon{transform:rotate(180deg)}.finding-spoiler-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.finding-spoiler.open .finding-spoiler-content{max-height:2000px}.finding-spoiler-body{padding:var(--spacing-lg);border-top:1px solid var(--color-border);animation:fadeIn .3s ease-out}.finding-detail-section{margin-bottom:var(--spacing-lg)}.finding-detail-section:last-child{margin-bottom:0}.finding-detail-label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.finding-detail-value{padding:var(--spacing-md);background:var(--color-bg-glass);border-radius:var(--radius-md);border:1px solid var(--color-border);font-family:Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.finding-detail-value code{color:var(--color-primary)}.security-joke{margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,transparent 100%);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);font-style:italic;color:var(--color-text-muted);animation:fadeInUp .6s ease-out}.security-joke:before{content:"🔒 ";font-size:1.5rem;margin-right:var(--spacing-sm)}.security-joke-text{font-size:.95rem;line-height:1.6}@media(max-width:768px){.hero{padding:var(--spacing-xl) var(--spacing-md)}.hero h1{font-size:2rem}.dashboard-grid,.modules-grid{grid-template-columns:1fr}.results-header{flex-direction:column;align-items:flex-start}.empty-state-icon{font-size:3rem}.dashboard-card{padding:var(--spacing-lg)}.card-icon{font-size:2rem}.hero-icon{font-size:3rem}.form-checkbox-group{grid-template-columns:1fr}.progress-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}
