@layer reset,base,theme,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;color-scheme:dark}body{min-height:100dvh;line-height:1.6}img,svg,video{display:block;max-width:100%}button{cursor:pointer;font:inherit;color:inherit;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}input,textarea,select{font:inherit;color:inherit}}@layer base{:root{--blue-50: hsl(220, 90%, 96%);--blue-100: hsl(220, 90%, 90%);--blue-200: hsl(220, 90%, 80%);--blue-300: hsl(220, 90%, 70%);--blue-400: hsl(220, 90%, 62%);--blue-500: hsl(220, 90%, 56%);--blue-600: hsl(220, 85%, 48%);--blue-700: hsl(220, 80%, 38%);--blue-800: hsl(220, 75%, 28%);--blue-900: hsl(220, 70%, 18%);--purple-50: hsl(260, 80%, 96%);--purple-100: hsl(260, 80%, 90%);--purple-200: hsl(260, 80%, 80%);--purple-300: hsl(260, 80%, 70%);--purple-400: hsl(260, 80%, 62%);--purple-500: hsl(260, 80%, 60%);--purple-600: hsl(260, 75%, 50%);--purple-700: hsl(260, 70%, 40%);--green-400: hsl(150, 70%, 50%);--green-500: hsl(150, 70%, 45%);--green-600: hsl(150, 65%, 38%);--amber-400: hsl(35, 90%, 60%);--amber-500: hsl(35, 90%, 55%);--red-400: hsl(0, 75%, 60%);--red-500: hsl(0, 75%, 55%);--gray-50: hsl(225, 10%, 95%);--gray-100: hsl(225, 10%, 88%);--gray-200: hsl(225, 12%, 75%);--gray-300: hsl(225, 12%, 60%);--gray-400: hsl(225, 12%, 48%);--gray-500: hsl(225, 12%, 38%);--gray-600: hsl(225, 15%, 28%);--gray-700: hsl(225, 18%, 20%);--gray-800: hsl(225, 20%, 14%);--gray-850: hsl(225, 22%, 12%);--gray-900: hsl(225, 25%, 10%);--gray-950: hsl(225, 28%, 7%);--gray-1000: hsl(225, 30%, 5%);--bg-primary: var(--gray-1000);--bg-secondary: var(--gray-950);--bg-tertiary: var(--gray-900);--bg-card: var(--gray-850);--bg-elevated: var(--gray-800);--bg-hover: hsla(225, 20%, 18%, .6);--accent-primary: var(--blue-500);--accent-secondary: var(--purple-500);--accent-success: var(--green-500);--accent-warning: var(--amber-500);--accent-danger: var(--red-500);--accent-gradient: linear-gradient(135deg, var(--blue-500), var(--purple-500));--accent-gradient-hover: linear-gradient(135deg, var(--blue-400), var(--purple-400));--accent-gradient-subtle: linear-gradient(135deg, hsla(220, 90%, 56%, .15), hsla(260, 80%, 60%, .15));--accent-gradient-text: linear-gradient(135deg, var(--blue-300), var(--purple-300));--text-primary: var(--gray-50);--text-secondary: var(--gray-300);--text-muted: var(--gray-400);--text-faint: var(--gray-500);--border-default: hsla(225, 15%, 30%, .4);--border-subtle: hsla(225, 15%, 25%, .3);--border-hover: hsla(225, 15%, 40%, .5);--border-accent: hsla(220, 90%, 56%, .3);--glass-bg: hsla(225, 22%, 12%, .65);--glass-bg-heavy: hsla(225, 22%, 10%, .8);--glass-border: hsla(0, 0%, 100%, .08);--glass-border-hover: hsla(0, 0%, 100%, .14);--glass-shadow: 0 8px 32px hsla(0, 0%, 0%, .3);--glass-blur: blur(20px);--glass-blur-heavy: blur(40px);--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-hero: clamp(2.75rem, 1.5rem + 5.5vw, 5.5rem);--text-h1: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--text-h2: clamp(1.5rem, 1.25rem + 1.5vw, 2.25rem);--text-h3: clamp(1.125rem, 1rem + .5vw, 1.5rem);--text-body: 1rem;--text-body-lg: 1.125rem;--text-small: .875rem;--text-xs: .75rem;--text-xxs: .6875rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--radius-xs: .375rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px hsla(0, 0%, 0%, .2);--shadow-sm: 0 2px 8px hsla(0, 0%, 0%, .2);--shadow-md: 0 4px 16px hsla(0, 0%, 0%, .25);--shadow-lg: 0 8px 32px hsla(0, 0%, 0%, .3);--shadow-xl: 0 16px 48px hsla(0, 0%, 0%, .35);--shadow-glow: 0 0 20px hsla(220, 90%, 56%, .2);--shadow-glow-lg: 0 0 40px hsla(220, 90%, 56%, .3);--shadow-glow-purple: 0 0 20px hsla(260, 80%, 60%, .2);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-elevated: 10;--z-navbar: 100;--z-sidebar: 200;--z-modal: 500;--z-spotlight: 600;--z-notification: 700;--z-cursor: 800;--z-tooltip: 900}}@layer theme{body{font-family:var(--font-body);font-size:var(--text-body);color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden}::selection{background:#2a6df44d;color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}scrollbar-color: var(--gray-600) transparent;scrollbar-width: thin;:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-xs)}a:hover{color:var(--accent-primary)}}@layer components{#app{position:relative;min-height:100dvh}.main-content{position:relative;z-index:var(--z-base)}.cursor-glow{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,hsla(220,90%,56%,.06) 0%,transparent 70%);pointer-events:none;z-index:var(--z-cursor);transform:translate(-50%,-50%);transition:opacity .3s ease;opacity:0;will-change:transform}.cursor-glow.active{opacity:1}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-navbar);padding:var(--space-sm) var(--space-xl);display:flex;align-items:center;justify-content:space-between;background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);transition:transform var(--transition-normal),background var(--transition-normal)}.navbar.scrolled{background:var(--glass-bg-heavy);box-shadow:var(--shadow-lg)}.navbar-brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:var(--weight-bold);font-size:var(--text-body-lg);letter-spacing:-.02em}.navbar-brand-icon{width:32px;height:32px;background:var(--accent-gradient);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff}.navbar-brand-text{background:var(--accent-gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-links{display:flex;align-items:center;gap:var(--space-lg)}.navbar-link{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-secondary);transition:color var(--transition-fast);position:relative;padding:var(--space-xs) 0}.navbar-link:hover,.navbar-link.active{color:var(--text-primary)}.navbar-link.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--accent-gradient);border-radius:var(--radius-full)}.navbar-actions{display:flex;align-items:center;gap:var(--space-sm)}.navbar-search-trigger{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-small);transition:border-color var(--transition-fast),background var(--transition-fast);min-width:200px}.navbar-search-trigger:hover{border-color:var(--glass-border-hover);background:var(--bg-hover)}.navbar-search-trigger kbd{font-family:var(--font-mono);font-size:var(--text-xxs);background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-xs);border:1px solid var(--border-subtle);margin-inline-start:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-md);font-weight:var(--weight-medium);font-size:var(--text-small);transition:all var(--transition-fast);white-space:nowrap;min-block-size:40px}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);box-shadow:var(--shadow-glow-lg);transform:translateY(-1px)}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.btn-secondary:hover:not(:disabled){border-color:var(--glass-border-hover);background:var(--bg-hover)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.btn-icon{padding:var(--space-xs);min-block-size:36px;min-inline-size:36px}.btn-lg{padding:var(--space-sm) var(--space-xl);font-size:var(--text-body);min-block-size:48px;border-radius:var(--radius-lg)}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-lg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:all var(--transition-normal);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity var(--transition-normal)}.card:hover{border-color:var(--glass-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card:hover:before{opacity:1}.card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),hsla(220,90%,56%,.06) 0%,transparent 50%);pointer-events:none;opacity:0;transition:opacity var(--transition-normal)}.card:hover .card-glow{opacity:1}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:var(--text-xxs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background:#2a6df426;color:var(--blue-300);border:1px solid hsla(220,90%,56%,.2)}.badge-success{background:#22c37326;color:var(--green-400);border:1px solid hsla(150,70%,45%,.2)}.badge-warning{background:#f49d2526;color:var(--amber-400);border:1px solid hsla(35,90%,55%,.2)}.badge-danger{background:#e2363626;color:var(--red-400);border:1px solid hsla(0,75%,55%,.2)}.badge-purple{background:#7e47eb26;color:var(--purple-300);border:1px solid hsla(260,80%,60%,.2)}.skill-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.skill-pill:hover{border-color:var(--border-accent);color:var(--accent-primary);background:#2a6df414}.progress-bar{width:100%;height:6px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:var(--accent-gradient);border-radius:var(--radius-full);transition:width 1s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3));border-radius:inherit}.circular-progress{position:relative;display:inline-flex;align-items:center;justify-content:center}.circular-progress svg{transform:rotate(-90deg)}.circular-progress-track{fill:none;stroke:var(--bg-elevated);stroke-width:6}.circular-progress-fill{fill:none;stroke:url(#progress-gradient);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.circular-progress-text{position:absolute;font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-h2);background:var(--accent-gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section{padding:var(--space-4xl) var(--space-xl);max-width:1280px;margin:0 auto}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.15em;background:var(--accent-gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-sm);display:block}.section-title{font-size:var(--text-h1);font-weight:var(--weight-extrabold);letter-spacing:-.03em;line-height:1.2;text-wrap:balance;margin-bottom:var(--space-md)}.section-description{font-size:var(--text-body-lg);color:var(--text-secondary);max-width:640px;margin:0 auto;line-height:1.7}.hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5xl) var(--space-xl) var(--space-3xl);overflow:hidden;text-align:center}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden}.hero-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,hsla(220,90%,56%,.12) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 30% 20%,hsla(260,80%,60%,.08) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 70% 30%,hsla(220,90%,56%,.06) 0%,transparent 50%)}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,black 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,black 30%,transparent 80%);opacity:.4}.hero-headline{font-size:var(--text-hero);font-weight:var(--weight-extrabold);letter-spacing:-.04em;line-height:1.1;text-wrap:balance;margin-bottom:var(--space-lg);max-width:900px}.hero-headline-gradient{background:var(--accent-gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subheadline{font-size:clamp(1rem,.875rem + .75vw,1.375rem);color:var(--text-secondary);max-width:640px;line-height:1.7;margin-bottom:var(--space-2xl);text-wrap:pretty}.hero-search{position:relative;width:100%;max-width:600px;margin-bottom:var(--space-2xl);z-index:5}.hero-search-input{width:100%;padding:var(--space-md) var(--space-xl);padding-inline-start:3.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);font-size:var(--text-body-lg);color:var(--text-primary);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:all var(--transition-normal);outline:none}.hero-search-input::placeholder{color:var(--text-muted)}.hero-search-input:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.hero-search-icon{position:absolute;left:var(--space-lg);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.hero-search-suggestions{position:absolute;top:calc(100% + var(--space-xs));left:0;right:0;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass-blur-heavy);backdrop-filter:var(--glass-blur-heavy);overflow:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:all var(--transition-normal);box-shadow:var(--shadow-xl);z-index:10}.hero-search-suggestions.visible{opacity:1;transform:translateY(0);pointer-events:all}.hero-search-suggestion{padding:var(--space-sm) var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;transition:background var(--transition-fast);font-size:var(--text-small);color:var(--text-secondary)}.hero-search-suggestion:hover,.hero-search-suggestion.focused{background:var(--bg-hover);color:var(--text-primary)}.hero-search-suggestion-icon{color:var(--accent-primary);flex-shrink:0}.hero-stats{display:flex;align-items:center;gap:var(--space-2xl);margin-top:var(--space-xl);flex-wrap:wrap;justify-content:center}.hero-stat{display:flex;flex-direction:column;align-items:center;gap:.125rem}.hero-stat-value{font-family:var(--font-mono);font-size:var(--text-h3);font-weight:var(--weight-bold);background:var(--accent-gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.hero-career-graph{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.career-explorer{padding:var(--space-4xl) var(--space-xl);max-width:1280px;margin:0 auto}.career-filters{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-2xl);flex-wrap:wrap;justify-content:center}.career-filter{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-secondary);border:1px solid var(--border-subtle);background:transparent;transition:all var(--transition-fast)}.career-filter:hover{border-color:var(--border-hover);color:var(--text-primary)}.career-filter.active{background:var(--accent-gradient);border-color:transparent;color:#fff;box-shadow:var(--shadow-glow)}.career-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-lg)}.career-card{position:relative;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:all var(--transition-normal);cursor:pointer;overflow:hidden}.career-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-accent, var(--accent-gradient));opacity:0;transition:opacity var(--transition-normal)}.career-card:hover{border-color:var(--glass-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-xl),0 0 30px hsla(var(--card-hue, 220),80%,50%,.1)}.career-card:hover:before{opacity:1}.career-card-header{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.career-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.career-card-title{font-size:var(--text-h3);font-weight:var(--weight-bold);letter-spacing:-.02em;margin-bottom:.125rem}.career-card-description{font-size:var(--text-small);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.career-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-md);background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.career-card-metric{display:flex;flex-direction:column;gap:.125rem}.career-card-metric-label{font-size:var(--text-xxs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.career-card-metric-value{font-family:var(--font-mono);font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--text-primary)}.career-card-skills{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.career-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.career-card-difficulty{display:flex;gap:3px}.career-card-difficulty-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-elevated);transition:background var(--transition-fast)}.career-card-difficulty-dot.filled{background:var(--card-accent-color, var(--accent-primary))}.career-card-cta{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--accent-primary);display:flex;align-items:center;gap:var(--space-2xs);transition:gap var(--transition-fast)}.career-card:hover .career-card-cta{gap:var(--space-xs)}.roadmap-page{min-height:100dvh;padding-top:60px;display:flex;flex-direction:column}.roadmap-header{padding:var(--space-xl) var(--space-xl);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.roadmap-header-left{display:flex;align-items:center;gap:var(--space-md)}.roadmap-back-btn{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-small);transition:color var(--transition-fast);padding:var(--space-xs);border-radius:var(--radius-sm)}.roadmap-back-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.roadmap-title{font-size:var(--text-h2);font-weight:var(--weight-bold);letter-spacing:-.02em}.roadmap-progress-summary{display:flex;align-items:center;gap:var(--space-lg)}.roadmap-container{flex:1;position:relative;overflow:hidden;cursor:grab}.roadmap-container:active{cursor:grabbing}.roadmap-canvas{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.roadmap-controls{position:absolute;bottom:var(--space-xl);right:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xs);z-index:var(--z-elevated)}.roadmap-control-btn{width:40px;height:40px;border-radius:var(--radius-md);background:var(--glass-bg-heavy);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.roadmap-control-btn:hover{color:var(--text-primary);border-color:var(--glass-border-hover);background:var(--bg-hover)}.roadmap-node{position:absolute;min-width:240px;max-width:300px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md);cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none}.roadmap-node:hover{border-color:var(--glass-border-hover);transform:scale(1.02);box-shadow:var(--shadow-lg);z-index:2}.roadmap-node.completed{border-color:#22c3734d;background:#22c3730d}.roadmap-node.in-progress{border-color:#2a6df44d;background:#2a6df40d;box-shadow:var(--shadow-glow)}.roadmap-node.recommended{border-color:#7e47eb4d;animation:pulse-border 2s ease-in-out infinite}.roadmap-node-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.roadmap-node-checkbox{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--border-default);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast);cursor:pointer}.roadmap-node-checkbox:hover{border-color:var(--accent-primary)}.roadmap-node.completed .roadmap-node-checkbox{background:var(--accent-success);border-color:var(--accent-success)}.roadmap-node.in-progress .roadmap-node-checkbox{border-color:var(--accent-primary);background:#2a6df433}.roadmap-node-title{font-size:var(--text-small);font-weight:var(--weight-semibold);flex:1}.roadmap-node-category{font-size:var(--text-xxs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.roadmap-node-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--text-muted)}.skill-panel{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90vw;background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);backdrop-filter:var(--glass-blur-heavy);border-left:1px solid var(--glass-border);z-index:var(--z-sidebar);transform:translate(100%);transition:transform var(--transition-slow);overflow-y:auto;padding:var(--space-xl);box-shadow:-8px 0 32px #0000004d}.skill-panel.open{transform:translate(0)}.skill-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.skill-panel-title{font-size:var(--text-h3);font-weight:var(--weight-bold)}.skill-panel-section{margin-bottom:var(--space-xl)}.skill-panel-section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-sm)}.skill-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.skill-stat{padding:var(--space-sm);background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.skill-stat-label{font-size:var(--text-xxs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.skill-stat-value{font-family:var(--font-mono);font-size:var(--text-body-lg);font-weight:var(--weight-bold)}.ai-mentor-fab{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:var(--z-elevated)}.ai-mentor-fab-btn{width:56px;height:56px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-glow-lg);transition:all var(--transition-normal);position:relative}.ai-mentor-fab-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-glow-lg),var(--shadow-xl)}.ai-mentor-fab-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;background:var(--accent-gradient);opacity:.3;animation:mentor-pulse 2s ease-in-out infinite;z-index:-1}.ai-mentor-panel{position:fixed;bottom:calc(var(--space-xl) + 70px);right:var(--space-xl);width:400px;max-width:calc(100vw - 2 * var(--space-xl));max-height:70dvh;background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;transition:all var(--transition-slow)}.ai-mentor-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:all}.ai-mentor-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between}.ai-mentor-header-left{display:flex;align-items:center;gap:var(--space-sm)}.ai-mentor-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:.875rem}.ai-mentor-name{font-weight:var(--weight-semibold);font-size:var(--text-small)}.ai-mentor-status{font-size:var(--text-xs);color:var(--accent-success);display:flex;align-items:center;gap:.25rem}.ai-mentor-status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-success);animation:status-pulse 2s ease-in-out infinite}.ai-mentor-messages{flex:1;overflow-y:auto;padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.ai-mentor-message{max-width:85%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-small);line-height:1.6;animation:message-in .3s ease-out}.ai-mentor-message.ai{align-self:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-bottom-left-radius:var(--radius-xs)}.ai-mentor-message.user{align-self:flex-end;background:var(--accent-gradient);color:#fff;border-bottom-right-radius:var(--radius-xs)}.ai-mentor-typing{align-self:flex-start;display:flex;gap:4px;padding:var(--space-sm) var(--space-md)}.ai-mentor-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typing-bounce 1.4s ease-in-out infinite}.ai-mentor-typing-dot:nth-child(2){animation-delay:.2s}.ai-mentor-typing-dot:nth-child(3){animation-delay:.4s}.ai-mentor-quick-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--glass-border)}.ai-mentor-quick-action{padding:.375rem .75rem;border-radius:var(--radius-full);font-size:var(--text-xs);background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--transition-fast);white-space:nowrap}.ai-mentor-quick-action:hover{border-color:var(--border-accent);color:var(--accent-primary);background:#2a6df414}.ai-mentor-input-area{padding:var(--space-sm) var(--space-lg) var(--space-md);display:flex;gap:var(--space-xs)}.ai-mentor-input{flex:1;padding:var(--space-xs) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);font-size:var(--text-small);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast)}.ai-mentor-input:focus{border-color:var(--accent-primary)}.ai-mentor-send{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:transform var(--transition-fast)}.ai-mentor-send:hover{transform:scale(1.05)}.spotlight-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-spotlight);opacity:0;pointer-events:none;transition:opacity var(--transition-normal);display:flex;align-items:flex-start;justify-content:center;padding-top:20vh}.spotlight-overlay.open{opacity:1;pointer-events:all}.spotlight-container{width:560px;max-width:90vw;background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:var(--glass-blur-heavy);backdrop-filter:var(--glass-blur-heavy);box-shadow:var(--shadow-xl);overflow:hidden;transform:scale(.95) translateY(-10px);transition:transform var(--transition-normal)}.spotlight-overlay.open .spotlight-container{transform:scale(1) translateY(0)}.spotlight-input-wrapper{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--glass-border)}.spotlight-input{flex:1;background:transparent;border:none;font-size:var(--text-body-lg);color:var(--text-primary);outline:none}.spotlight-input::placeholder{color:var(--text-muted)}.spotlight-results{max-height:360px;overflow-y:auto;padding:var(--space-xs)}.spotlight-result{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.spotlight-result:hover,.spotlight-result.focused{background:var(--bg-hover)}.spotlight-result-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.spotlight-result-text{flex:1}.spotlight-result-title{font-size:var(--text-small);font-weight:var(--weight-medium)}.spotlight-result-desc{font-size:var(--text-xs);color:var(--text-muted)}.spotlight-result-shortcut{font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--text-muted)}.spotlight-group-title{font-size:var(--text-xxs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:var(--space-sm) var(--space-md);margin-top:var(--space-xs)}.dashboard{padding:calc(60px + var(--space-2xl)) var(--space-xl) var(--space-3xl);max-width:1280px;margin:0 auto}.dashboard-greeting{margin-bottom:var(--space-2xl)}.dashboard-greeting-title{font-size:var(--text-h1);font-weight:var(--weight-extrabold);letter-spacing:-.03em;margin-bottom:var(--space-xs)}.dashboard-greeting-sub{font-size:var(--text-body-lg);color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-lg)}.dashboard-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.dashboard-card-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-md)}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.community-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:all var(--transition-normal)}.community-card:hover{border-color:var(--glass-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.leaderboard-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.leaderboard-item:hover{background:var(--bg-hover)}.leaderboard-rank{font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-body-lg);width:32px;text-align:center;color:var(--text-muted)}.leaderboard-rank.top-3{background:var(--accent-gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.leaderboard-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--accent-gradient-subtle);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:var(--text-small);color:var(--accent-primary)}.leaderboard-name{flex:1;font-weight:var(--weight-medium)}.leaderboard-score{font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--accent-primary)}.notifications-container{position:fixed;top:var(--space-xl);right:var(--space-xl);z-index:var(--z-notification);display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none}.toast{background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:var(--space-sm);pointer-events:all;animation:toast-in .4s ease-out forwards;max-width:400px}.toast.leaving{animation:toast-out .3s ease-in forwards}.toast-icon{flex-shrink:0}.toast-content{flex:1}.toast-title{font-size:var(--text-small);font-weight:var(--weight-semibold);margin-bottom:.125rem}.toast-description{font-size:var(--text-xs);color:var(--text-secondary)}.footer{padding:var(--space-3xl) var(--space-xl) var(--space-xl);border-top:1px solid var(--glass-border);max-width:1280px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:2.2fr 1.2fr 1fr;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer-brand-description{font-size:var(--text-small);color:var(--text-secondary);line-height:1.7;margin-top:var(--space-sm);max-width:480px}.footer-column-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-md)}.footer-link{display:block;font-size:var(--text-small);color:var(--text-secondary);padding:.25rem 0;transition:color var(--transition-fast)}.footer-link:hover{color:var(--text-primary)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-xl);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulse-border{0%,to{border-color:#7e47eb4d;box-shadow:0 0 10px #7e47eb1a}50%{border-color:#7e47eb99;box-shadow:0 0 20px #7e47eb33}}@keyframes mentor-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.15);opacity:.15}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes typewriter-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-on-scroll{opacity:0;transform:translateY(20px)}.animate-on-scroll.visible{animation:fade-in-up .6s ease-out forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.stagger-9{animation-delay:.45s}.stagger-10{animation-delay:.5s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-glow{display:none}.animate-on-scroll{opacity:1;transform:none}}@layer utilities{@media (max-width: 1024px){.dashboard-grid{grid-template-columns:repeat(6,1fr)}.span-4{grid-column:span 3}.span-6,.span-8{grid-column:span 6}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.navbar-links,.navbar-search-trigger{display:none}.hero{padding:var(--space-4xl) var(--space-md) var(--space-2xl)}.hero-stats{gap:var(--space-lg)}.career-grid,.dashboard-grid{grid-template-columns:1fr}.span-4,.span-6,.span-8,.span-12{grid-column:span 1}.skill-panel{width:100%;max-width:100%}.ai-mentor-panel{right:var(--space-sm);left:var(--space-sm);width:auto;bottom:calc(var(--space-xl) + 70px);max-height:65dvh}.footer-grid{grid-template-columns:1fr;gap:var(--space-xl)}.footer-bottom{flex-direction:column;gap:var(--space-sm);text-align:center}.section{padding:var(--space-2xl) var(--space-md)}.roadmap-header{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.career-filters{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch}.career-filter{flex-shrink:0}}}
