@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";:root{--bg-void: #050506;--bg-panel: #0c0c0f;--bg-elevated: #121218;--bg-hover: #1a1a22;--border: #1e1e28;--border-glow: #2a2a38;--text-primary: #e8e6e3;--text-secondary: #8a8884;--text-muted: #5c5a56;--accent-amber: #c9a227;--accent-copper: #b87333;--accent-teal: #2dd4bf;--accent-rust: #c45c26;--glow-amber: rgba(201, 162, 39, .15);--glow-teal: rgba(45, 212, 191, .12);--font-mono: "IBM Plex Mono", "Consolas", monospace;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--radius: 2px;--nav-height: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:dark}body{font-family:var(--font-sans);background:var(--bg-void);color:var(--text-primary);line-height:1.65;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--accent-amber);color:var(--bg-void)}a{color:var(--accent-teal);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-amber)}img{max-width:100%;display:block}.scanlines:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}.site-wrapper{position:relative;min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:calc(var(--nav-height) + 2rem) 1.5rem 4rem}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:#050506d9;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-inner{max-width:1100px;margin:0 auto;height:100%;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{font-family:var(--font-mono);font-weight:600;font-size:.95rem;letter-spacing:.2em;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.logo-mark{width:8px;height:8px;background:var(--accent-amber);box-shadow:0 0 8px var(--glow-amber);animation:pulse-mark 3s ease-in-out infinite}@keyframes pulse-mark{0%,to{opacity:1}50%{opacity:.4}}.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none}.nav-links a{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:.4rem .75rem;border:1px solid transparent;transition:all .2s}.nav-links a:hover,.nav-links a.active{color:var(--accent-amber);border-color:var(--border-glow);background:var(--bg-elevated)}.header-actions{display:flex;align-items:center;gap:.5rem}.lang-btn{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;padding:.35rem .65rem;background:transparent;border:1px solid var(--border-glow);color:var(--accent-teal);cursor:pointer;transition:all .2s}.lang-btn:hover{border-color:var(--accent-teal);box-shadow:0 0 12px var(--glow-teal)}.hero{position:relative;padding:3rem 0 4rem;border-bottom:1px solid var(--border)}.hero-canvas-wrap{position:absolute;inset:0;overflow:hidden;opacity:.5;mask-image:linear-gradient(to bottom,black 40%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 40%,transparent 100%)}.hero-content{position:relative;z-index:1}.hero-eyebrow{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.25em;color:var(--accent-copper);margin-bottom:1rem}.hero h1{font-family:var(--font-mono);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;line-height:1.25;margin-bottom:1.25rem}.hero-intro{max-width:640px;color:var(--text-secondary);font-size:1.05rem;margin-bottom:2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem}.btn{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:.65rem 1.25rem;border:1px solid var(--border-glow);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all .25s;display:inline-flex;align-items:center;gap:.5rem}.btn:hover{border-color:var(--accent-amber);color:var(--accent-amber);box-shadow:0 0 20px var(--glow-amber)}.btn-primary{background:linear-gradient(135deg,#c9a22726,#2dd4bf14);border-color:var(--accent-amber);color:var(--accent-amber)}.btn-primary:hover{background:linear-gradient(135deg,#c9a22740,#2dd4bf1f)}.view-counter{display:inline-flex;align-items:center;gap:1.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:var(--text-muted);padding:.75rem 1rem;border:1px solid var(--border);background:var(--bg-panel)}.view-counter span{color:var(--accent-teal)}.view-counter .divider{width:1px;height:14px;background:var(--border-glow)}.section{padding:3rem 0}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.section-header h2{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-copper)}.section-header a{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--text-muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.card{background:var(--bg-panel);padding:1.5rem;transition:background .2s;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;width:2px;height:0;background:var(--accent-amber);transition:height .3s}.card:hover{background:var(--bg-elevated)}.card:hover:before{height:100%}.card-codename{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;color:var(--accent-rust);margin-bottom:.5rem}.card h3{font-family:var(--font-mono);font-size:.95rem;font-weight:500;margin-bottom:.5rem;line-height:1.4}.card h3 a{color:var(--text-primary)}.card h3 a:hover{color:var(--accent-amber)}.card-meta{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);margin-bottom:.75rem}.card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem}.tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.05em;padding:.2rem .45rem;border:1px solid var(--border-glow);color:var(--text-muted)}.page-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.page-header h1{font-family:var(--font-mono);font-size:clamp(1.5rem,3vw,2rem);font-weight:500;margin-bottom:.5rem}.page-header p{color:var(--text-secondary);max-width:560px}.resume-block{margin-bottom:3rem}.resume-block h2{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-copper);margin-bottom:1.25rem;padding-left:.75rem;border-left:2px solid var(--accent-amber)}.timeline-item{padding:1.25rem 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:140px 1fr;gap:1.5rem}.timeline-period{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.03em}.timeline-body h3{font-size:1rem;font-weight:500;margin-bottom:.25rem}.timeline-role{font-size:.875rem;color:var(--accent-teal);margin-bottom:.75rem}.timeline-body ul{list-style:none;font-size:.875rem;color:var(--text-secondary)}.timeline-body li{padding-left:1rem;position:relative;margin-bottom:.35rem}.timeline-body li:before{content:"—";position:absolute;left:0;color:var(--accent-rust);font-size:.7rem}.skills-list{display:grid;gap:.5rem}.skills-list li{font-size:.875rem;color:var(--text-secondary);padding:.5rem .75rem;background:var(--bg-panel);border:1px solid var(--border);font-family:var(--font-mono);font-size:.8rem}.prose{max-width:720px;font-size:1rem;line-height:1.8;color:var(--text-secondary)}.prose h2{font-family:var(--font-mono);font-size:1.1rem;color:var(--text-primary);margin:2rem 0 1rem}.prose h3{font-size:1rem;color:var(--text-primary);margin:1.5rem 0 .75rem}.prose p{margin-bottom:1.25rem}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-elevated);padding:.15rem .4rem;border:1px solid var(--border);color:var(--accent-teal)}.prose pre{background:var(--bg-panel);border:1px solid var(--border);padding:1rem;overflow-x:auto;margin:1.5rem 0}.prose pre code{background:none;border:none;padding:0}.prose ul,.prose ol{margin:1rem 0 1.25rem 1.25rem}.prose li{margin-bottom:.35rem}.prose a{color:var(--accent-teal);border-bottom:1px solid rgba(45,212,191,.3)}.post-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.post-header h1{font-family:var(--font-mono);font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.35;margin-bottom:.75rem}.post-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);display:flex;gap:1rem;flex-wrap:wrap}.project-hero{margin-bottom:3rem}.project-codename{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;color:var(--accent-rust);margin-bottom:.75rem}.project-hero h1{font-family:var(--font-mono);font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:.5rem}.project-hero .hero-line{font-size:1.1rem;color:var(--accent-amber);margin-bottom:1.5rem}.project-meta-bar{display:flex;flex-wrap:wrap;gap:1.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);margin-bottom:2rem}.project-section{margin-bottom:2.5rem}.project-section h2{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-copper);margin-bottom:1rem}.project-section p,.project-section li{color:var(--text-secondary);font-size:.95rem}.project-section ul{list-style:none;margin-top:.5rem}.project-section li{padding:.4rem 0 .4rem 1rem;position:relative;border-bottom:1px solid var(--border)}.project-section li:before{content:"▸";position:absolute;left:0;color:var(--accent-teal);font-size:.7rem}.tech-bar{display:flex;flex-wrap:wrap;gap:.5rem}.site-footer{border-top:1px solid var(--border);padding:2rem 1.5rem;margin-top:auto}.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.social-links{display:flex;gap:1rem}.social-links a{color:var(--text-muted)}.social-links a:hover{color:var(--accent-amber)}[data-i18n]{display:contents}@media(max-width:768px){.nav-links{gap:0}.nav-links a{padding:.35rem .5rem;font-size:.65rem}.timeline-item{grid-template-columns:1fr;gap:.5rem}.main-content{padding-left:1rem;padding-right:1rem}}@media(max-width:520px){.nav-links a span.full{display:none}}
