@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-deepest: #0a0a0f;--bg-deep: #0d0d14;--bg-card: #12121a;--bg-surface: #1a1a2e;--bg-elevated: #1e1e30;--bg-hover: #222238;--accent-indigo: #6366f1;--accent-violet: #8b5cf6;--accent-purple: #a78bfa;--accent-pink: #c084fc;--gradient-primary: linear-gradient(135deg, #6366f1, #8b5cf6, #a78bfa);--gradient-soft: linear-gradient(135deg, rgba(99,102,241,.15), rgba(167,139,250,.15));--gradient-border: linear-gradient(135deg, #6366f1, #a78bfa);--gradient-glow: radial-gradient(ellipse at center, rgba(139,92,246,.15) 0%, transparent 70%);--text-primary: #f0f0f5;--text-secondary: #a0a0b0;--text-muted: #707080;--text-disabled: #404050;--status-success: #22c55e;--status-warning: #f59e0b;--status-error: #ef4444;--status-info: #3b82f6;--border-subtle: rgba(255,255,255,.06);--border-default: rgba(255,255,255,.1);--border-accent: rgba(99,102,241,.4);--shadow-sm: 0 2px 8px rgba(0,0,0,.4);--shadow-md: 0 4px 24px rgba(0,0,0,.5);--shadow-lg: 0 8px 40px rgba(0,0,0,.6);--shadow-glow: 0 0 40px rgba(139,92,246,.2);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-deepest);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden;width:100%}#root{min-height:100vh;display:flex;flex-direction:column;width:100%;overflow-x:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-deepest)}::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:var(--radius-full);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:#6366f199}.glass-card{background:#12121acc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.glass-surface{background:#1a1a2e99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle)}.glass-elevated{background:#1e1e30e6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-default)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-bg{background:var(--gradient-primary)}.gradient-border{border:1px solid transparent;background-clip:padding-box;position:relative}.gradient-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--gradient-border);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 20px #6366f14d}50%{box-shadow:0 0 40px #8b5cf699}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes particleFloat{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:.5}to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot));opacity:0}}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease forwards}.animate-slideUp{animation:slideUp var(--transition-slow) ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:1000px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:all var(--transition-base);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #6366f159}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 25px #8b5cf680}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.btn-danger{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover:not(:disabled){background:#ef444440}.input-field{width:100%;padding:10px 14px;background:#0a0a0fcc;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:all var(--transition-base)}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent-indigo);box-shadow:0 0 0 3px #6366f126,0 0 20px #6366f11a}.progress-bar{height:6px;background:var(--bg-hover);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--gradient-primary);transition:width var(--transition-slow)}.progress-fill.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.progress-fill.danger{background:linear-gradient(90deg,#ef4444,#f87171)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3}a{color:var(--accent-violet);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-purple)}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-subtle)!important}.recharts-text{fill:var(--text-muted)!important;font-size:12px!important}.form-group{display:flex;flex-direction:column;gap:6px;width:100%}.form-group label{display:block;font-size:13px;color:var(--text-secondary);font-weight:500}.form-control{width:100%;padding:10px 14px;background:#0a0a0fcc;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:all var(--transition-base)}.form-control::placeholder{color:var(--text-muted)}.form-control:focus{border-color:var(--accent-indigo);box-shadow:0 0 0 3px #6366f126,0 0 20px #6366f11a}.form-control:disabled{background:#ffffff08;color:var(--text-disabled);border-color:var(--border-subtle);cursor:not-allowed}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23a0a0b0'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}.btn-secondary{background:#ffffff0d!important;color:var(--text-secondary)!important;border:1px solid var(--border-subtle)!important}.btn-secondary:hover:not(:disabled){background:#ffffff1a!important;color:var(--text-primary)!important;border-color:var(--border-default)!important}.skills-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.skills-tabs--sub{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:0;padding:4px;border-bottom:none;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.skills-tabs .tab-btn,.skills-tabs--sub .tab-btn{padding:8px 14px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;line-height:1.3}.skills-tabs .tab-btn:hover,.skills-tabs--sub .tab-btn:hover{background:#ffffff0f;color:var(--text-primary)}.skills-tabs .tab-btn.active{background:#6366f11f;color:var(--accent-violet);font-weight:600}.skills-tabs--sub .tab-btn.active{background:#6366f133;color:var(--text-primary);font-weight:600;box-shadow:inset 0 0 0 1px #6366f159}
