@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--bg-primary:#07070f;--bg-secondary:#0d0d1a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--bg-glass:#ffffff0d;--accent-blue:#3b82f6;--accent-blue-glow:#3b82f64d;--accent-cyan:#06b6d4;--accent-cyan-glow:#06b6d440;--accent-green:#22c55e;--accent-green-glow:#22c55e40;--accent-red:#ef4444;--accent-red-glow:#ef44444d;--accent-amber:#f59e0b;--accent-amber-glow:#f59e0b40;--accent-purple:#a855f7;--accent-purple-glow:#a855f740;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--border:#ffffff14;--border-accent:#3b82f64d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-glow-blue:0 0 40px #3b82f626;--shadow-glow-cyan:0 0 40px #06b6d426;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card:hover{background:var(--bg-card-hover);border-color:#ffffff1f;transform:translateY(-2px)}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent-blue), var(--accent-cyan));color:#fff;box-shadow:0 4px 20px var(--accent-blue-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 30px #3b82f673}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:#ffffff26}.btn-danger{color:#fff;box-shadow:0 4px 20px var(--accent-red-glow);background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-success{color:#fff;box-shadow:0 4px 20px var(--accent-green-glow);background:linear-gradient(135deg,#22c55e,#16a34a)}.btn-amber{color:#fff;box-shadow:0 4px 20px var(--accent-amber-glow);background:linear-gradient(135deg,#f59e0b,#d97706)}.btn-lg{border-radius:var(--radius-lg);padding:14px 28px;font-size:16px}.btn-sm{border-radius:var(--radius-sm);padding:6px 14px;font-size:12px}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.badge-blue{color:var(--accent-blue);background:#3b82f626;border:1px solid #3b82f64d}.badge-green{color:var(--accent-green);background:#22c55e26;border:1px solid #22c55e4d}.badge-red{color:var(--accent-red);background:#ef444426;border:1px solid #ef44444d}.badge-amber{color:var(--accent-amber);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-purple{color:var(--accent-purple);background:#a855f726;border:1px solid #a855f74d}.badge-cyan{color:var(--accent-cyan);background:#06b6d426;border:1px solid #06b6d44d}.badge-glow{animation:2s ease-in-out infinite badge-glow}.badge-blue.badge-glow{box-shadow:0 0 20px #3b82f666,inset 0 0 10px #3b82f61a}.badge-green.badge-glow{box-shadow:0 0 20px #22c55e66,inset 0 0 10px #22c55e1a}.badge-red.badge-glow{box-shadow:0 0 20px #ef444480,inset 0 0 10px #ef44441a}.badge-amber.badge-glow{box-shadow:0 0 20px #f59e0b66,inset 0 0 10px #f59e0b1a}.badge-purple.badge-glow{box-shadow:0 0 20px #a855f766,inset 0 0 10px #a855f71a}.badge-cyan.badge-glow{box-shadow:0 0 20px #06b6d466,inset 0 0 10px #06b6d41a}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge .dot.pulse{animation:2s ease-in-out infinite pulse-dot}.terminal{border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);background:#0a0a12;font-size:13px;position:relative;overflow:hidden}.terminal:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 2px);position:absolute;inset:0}.terminal-glow{border-color:#ef44444d;box-shadow:0 0 30px #ef444426,inset 0 0 20px #ef444408}.terminal-header{border-bottom:1px solid var(--border);z-index:2;background:#ffffff08;align-items:center;gap:8px;padding:10px 14px;display:flex;position:relative}.terminal-dot{border-radius:50%;width:10px;height:10px;box-shadow:0 0 8px}.terminal-dot.red{color:#ef4444;background:#ef4444}.terminal-dot.yellow{color:#f59e0b;background:#f59e0b}.terminal-dot.green{color:#22c55e;background:#22c55e}.terminal-body{z-index:2;min-height:120px;padding:16px;position:relative}.terminal-line{margin-bottom:4px;line-height:1.6;animation:.3s both fadeIn}.terminal-line.prompt:before{content:"$ ";color:var(--accent-cyan);font-weight:600}.terminal-line.success{color:var(--accent-green)}.terminal-line.error{color:var(--accent-red);font-weight:500}.terminal-line.warning{color:var(--accent-amber)}.terminal-line.info{color:var(--accent-blue)}.terminal-line.muted{color:var(--text-muted)}.terminal-line.stack-trace{color:var(--text-muted);padding-left:20px;font-size:12px}.terminal-line.stack-trace:before{content:"↳ ";color:var(--accent-red);margin-left:-20px;margin-right:8px}.terminal-cursor{background:var(--accent-cyan);vertical-align:middle;width:8px;height:15px;box-shadow:0 0 8px var(--accent-cyan);border-radius:1px;margin-left:2px;animation:1.2s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px var(--accent-blue-glow)}50%{box-shadow:0 0 40px #3b82f666}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes badge-glow{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.02)}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.95}75%{opacity:.98}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes strike-through{0%{width:0}to{width:100%}}@keyframes alarm-flash{0%,to{background:#ef44440d}50%{background:#ef44441f}}.animate-fade-in-up{animation:.6s both fadeInUp}.animate-fade-in{animation:.5s both fadeIn}.animate-float{animation:3s ease-in-out infinite float}.animate-spin{animation:1s linear infinite spin}.animate-shake{animation:.5s shake}.animate-alarm{animation:1s ease-in-out infinite alarm-flash}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.gradient-text{background:linear-gradient(135deg, var(--accent-blue), var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-amber{background:linear-gradient(135deg, var(--accent-amber), #fb923c);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.divider{background:linear-gradient(90deg, transparent, var(--border), transparent);height:1px;margin:24px 0}.bg-mesh{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bg-mesh:before{content:"";background:radial-gradient(circle,#3b82f614 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;left:-200px}.bg-mesh:after{content:"";background:radial-gradient(circle,#a855f70f 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;bottom:-150px;right:-150px}.code-editor{border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);background:#0a0a12;font-size:13px;overflow:hidden}.code-editor-header{border-bottom:1px solid var(--border);background:#ffffff08;align-items:center;gap:8px;padding:10px 14px;display:flex}.code-editor-filename{color:var(--text-secondary);font-size:12px;font-family:var(--font-mono)}.code-editor-body{counter-reset:line;padding:16px}.code-line{gap:16px;line-height:1.7;display:flex}.code-line-num{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-align:right;min-width:24px;font-size:11px}.code-line-content{color:var(--text-secondary);flex:1}.code-line.highlight{border-left:2px solid var(--accent-red);background:#ef44441f;border-radius:2px;padding-left:4px}.code-line.safe{border-left:2px solid var(--accent-green);background:#22c55e14;border-radius:2px;padding-left:4px}.kw{color:#c792ea}.str{color:#c3e88d}.fn{color:#82aaff}.num{color:#f78c6c}.cm{color:#546e7a;font-style:italic}.prop{color:#ffcb6b}.stat-card{text-align:center;padding:20px}.stat-number{margin-bottom:4px;font-size:36px;font-weight:900;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, #ffffff12 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.progress-bar{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.progress-fill{border-radius:99px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-fill.blue{background:linear-gradient(90deg, var(--accent-blue), var(--accent-cyan))}.progress-fill.green{background:linear-gradient(90deg,#22c55e,#86efac)}.progress-fill.red{background:linear-gradient(90deg,#ef4444,#fca5a5)}.file-tree{font-family:var(--font-mono);font-size:13px}.file-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;padding:5px 8px;transition:all .2s;display:flex;position:relative}.file-item:hover{background:var(--bg-card);color:var(--text-primary)}.file-item.dead{color:var(--accent-red);background:#ef444412;text-decoration:line-through;animation:.4s fadeIn}.file-item.safe{color:var(--accent-green)}.file-item .icon{font-size:14px}.ripple-container{position:relative;overflow:visible}.ripple{border:2px solid var(--accent-amber);pointer-events:none;border-radius:50%;animation:1.5s ease-out forwards ripple-anim;position:absolute;transform:translate(-50%,-50%)}@keyframes ripple-anim{0%{opacity:.8;width:0;height:0}to{opacity:0;width:200px;height:200px}}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}
