@font-face{font-family:JetBrains Mono;src:url(/static/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/static/fonts/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/static/fonts/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--border-color: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--accent-primary: #58a6ff;--accent-secondary: #3fb950;--accent-tertiary: #f78166;--accent-yellow: #d29922;--terminal-red: #ff5f56;--terminal-yellow: #ffbd2e;--terminal-green: #27c93f;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px 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);--transition-fast: .15s ease;--transition-base: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}.skip-link{position:absolute;left:var(--spacing-sm);top:-100px;z-index:100;background:var(--bg-tertiary);color:var(--accent-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--accent-primary);text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:var(--spacing-sm);outline:none}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-mono);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at top left,rgba(88,166,255,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(63,185,80,.05) 0%,transparent 50%);pointer-events:none;z-index:-1}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-primary)}.container{max-width:800px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-md);min-height:100vh;display:flex;flex-direction:column}.terminal-window{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.terminal-header{background:var(--bg-tertiary);padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.terminal-dot{width:12px;height:12px;border-radius:50%}.terminal-dot.red{background:var(--terminal-red)}.terminal-dot.yellow{background:var(--terminal-yellow)}.terminal-dot.green{background:var(--terminal-green)}.terminal-title{color:var(--text-secondary);font-size:var(--font-size-sm);margin-left:auto}.terminal-body{padding:var(--spacing-lg)}.terminal-line{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.prompt{color:var(--accent-secondary);font-weight:700}.command{color:var(--text-primary)}.terminal-output{padding-left:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.hero{margin-bottom:var(--spacing-2xl)}.name{font-size:var(--font-size-3xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs);background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.about-text{color:var(--text-secondary);line-height:1.8}.cursor{display:inline-block;color:var(--accent-primary);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.links-section{margin-bottom:var(--spacing-2xl)}.links{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.link-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);transition:all var(--transition-base)}.link-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.link-btn svg{transition:transform var(--transition-fast)}.link-btn:hover svg{transform:scale(1.1)}.skills-section{margin-bottom:var(--spacing-2xl)}.section-title{font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-lg)}.skill-category{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition-base)}.skill-category:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.category-name{font-size:var(--font-size-sm);color:var(--accent-primary);margin-bottom:var(--spacing-sm);font-weight:500}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.skill-tag{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:all var(--transition-fast)}.skill-tag.highlight{color:var(--accent-primary);background:#58a6ff1a;border-color:var(--accent-primary);font-weight:500}.projects-section{margin-bottom:var(--spacing-2xl)}.projects-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-card{display:block;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all var(--transition-base);text-decoration:none}.project-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.project-name{font-size:var(--font-size-lg);color:var(--accent-primary);font-weight:500}.external-link-icon{color:var(--text-muted);transition:color var(--transition-fast);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.project-card:hover .external-link-icon{color:var(--accent-primary)}.project-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--spacing-md)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.project-tag{font-size:.75rem;color:var(--accent-secondary);background:#3fb9501a;padding:2px var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid rgba(63,185,80,.3)}.status-section{margin-bottom:var(--spacing-2xl);padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.status-line{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.status-indicator{width:8px;height:8px;border-radius:50%}.status-indicator.online{background:var(--accent-secondary);box-shadow:0 0 10px var(--accent-secondary);animation:pulse 2s ease-in-out infinite}.status-indicator.busy{background:var(--accent-yellow);box-shadow:0 0 10px var(--accent-yellow)}.status-indicator.working{background:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:var(--text-primary);font-size:var(--font-size-sm)}.status-text a{color:var(--accent-primary);text-decoration:none;font-weight:500}.status-text a:hover{text-decoration:underline}.location{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.footer{margin-top:auto;padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.footer-content{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-muted)}.separator{color:var(--border-color)}.footer-link{color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover,.footer-link:focus-visible{color:var(--accent-primary)}.legal-page{margin-bottom:var(--spacing-2xl)}.legal-content{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.7;padding-left:0;padding-right:var(--spacing-sm)}.legal-content h1{font-size:var(--font-size-2xl);color:var(--accent-primary);margin-bottom:var(--spacing-lg);font-weight:700}.legal-content h1:before{content:"# ";color:var(--accent-secondary)}.legal-content h2{font-size:var(--font-size-lg);color:var(--text-primary);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm);font-weight:500}.legal-content h2:before{content:"## ";color:var(--accent-secondary)}.legal-content section{margin-bottom:var(--spacing-md)}.legal-content p{margin-bottom:var(--spacing-sm)}.legal-content p+p{margin-top:var(--spacing-sm)}.legal-content ul{margin-left:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.legal-content ul li{list-style:"- " outside;padding-left:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.legal-content a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.legal-content a:hover{color:var(--text-primary)}.legal-content strong{color:var(--text-primary);font-weight:700}.error-page{justify-content:center}.error-output{text-align:center;padding:var(--spacing-xl) 0}.error-code{font-size:6rem;font-weight:700;color:var(--accent-tertiary);line-height:1;margin-bottom:var(--spacing-md)}.error-message{font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.error-hint{color:var(--text-secondary);font-size:var(--font-size-sm)}.link{color:var(--accent-primary)}.link:hover{text-decoration:underline}@media(max-width:640px){:root{--font-size-3xl: 2rem;--font-size-2xl: 1.5rem}.container,.terminal-body{padding:var(--spacing-md)}.skills-grid{grid-template-columns:1fr}.links{flex-direction:column}.link-btn{justify-content:center}.footer-content{flex-direction:column;gap:var(--spacing-sm)}.separator{display:none}}.js .skills-section,.js .projects-section,.js .status-section{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.js .skills-section.is-visible,.js .projects-section.is-visible,.js .status-section.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js .skills-section,.js .projects-section,.js .status-section{opacity:1!important;transform:none!important}}::selection{background:var(--accent-primary);color:var(--bg-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
