:root{--color-bg-primary: #0f1419;--color-bg-primary-alpha: rgba(15, 20, 25, .95);--color-bg-secondary: #1a1f26;--color-bg-accent: #232931;--color-text-primary: #e6edf3;--color-text-secondary: #9198a1;--color-text-muted: #6e7681;--color-accent: #58a6ff;--color-accent-hover: #79c0ff;--color-accent-subtle: rgba(88, 166, 255, .1);--color-accent-border: rgba(88, 166, 255, .3);--color-border: #30363d;--color-border-muted: #21262d;--color-success: #56d364;--color-success-subtle: rgba(86, 211, 100, .1);--color-error: #f85149;--color-warning: #e3b341;--color-skill-frontend: #79c0ff;--color-skill-frontend-bg: rgba(121, 192, 255, .1);--color-skill-frontend-border: rgba(121, 192, 255, .3);--color-skill-backend: #56d364;--color-skill-backend-bg: rgba(86, 211, 100, .1);--color-skill-backend-border: rgba(86, 211, 100, .3);--color-skill-tools: #e3b341;--color-skill-tools-bg: rgba(227, 179, 65, .1);--color-skill-tools-border: rgba(227, 179, 65, .3);--color-focus-ring: rgba(88, 166, 255, .5);--font-primary: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Space Grotesk", var(--font-primary);--font-code: "JetBrains Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-snug: 1.4;--leading-base: 1.6;--leading-relaxed: 1.75;--leading-loose: 2;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--shadow-accent: 0 4px 20px rgba(88, 166, 255, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--blur-sm: 4px;--blur-md: 10px;--blur-lg: 20px;--z-base: 0;--z-raised: 10;--z-nav: 50;--z-modal: 100;--z-toast: 200}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:dark}body{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-bold);line-height:var(--leading-tight);margin-bottom:var(--space-md);color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent-subtle);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:var(--color-bg-primary);padding:var(--space-sm);text-decoration:none;z-index:var(--z-toast);font-weight:var(--font-semibold)}.skip-link:focus{top:0}img{max-width:100%;height:auto;display:block}code{font-family:var(--font-code);font-size:var(--text-sm);background:var(--color-bg-accent);padding:.2em .4em;border-radius:var(--radius-sm)}.section-intro{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin-bottom:var(--space-xl)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
