:root{--bg:#060a0f;--panel:#0b1826;--panel-2:#0f1823;--line:#a0c8e624;--line-2:#a0c8e647;--text:#f2f6fa;--soft:#c9d6e3;--muted:#9aa4b2;--amber:#f5a524;--teal:#4fd1c5;--lav:#a99cff;--cyan:#67e8f9;--navy:#082a42;--blue:#0a607c;--font:"Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--brand:"Chakra Petch", var(--mono);--maxw:1120px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background-color:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:48px 48px;margin:0;line-height:1.65}a{color:inherit}img{max-width:100%}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}.skip{background:var(--amber);color:var(--bg);z-index:100;border-radius:8px;padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}.site-header{z-index:50;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#060a0fd1;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:24px;min-height:68px;display:flex}.logo{font-family:var(--brand);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:18px;font-weight:700;text-decoration:none}.logo .a{color:var(--amber)}.logo .t{color:var(--teal)}.nav{scrollbar-width:none;gap:26px;display:flex;overflow-x:auto}.nav a{color:var(--soft);white-space:nowrap;border-bottom:2px solid #0000;padding:6px 0;font-size:15px;font-weight:600;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--teal)}.menu{display:none}.menu summary{cursor:pointer;border:1px solid var(--line-2);border-radius:10px;place-items:center;width:44px;height:44px;list-style:none;display:grid}.menu summary::-webkit-details-marker{display:none}.menu-icon,.menu-icon:before,.menu-icon:after{background:var(--text);border-radius:2px;width:20px;height:2px;transition:transform .2s,background-color .2s;display:block}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.menu[open] .menu-icon{background:0 0}.menu[open] .menu-icon:before{transform:translateY(6px)rotate(45deg)}.menu[open] .menu-icon:after{transform:translateY(-6px)rotate(-45deg)}.menu-panel{background:var(--panel);border-bottom:1px solid var(--line);padding:8px 24px 16px;display:grid;position:absolute;top:100%;left:0;right:0}.menu-panel a{color:var(--soft);border-bottom:1px solid var(--line);padding:12px 0;font-size:17px;font-weight:600;text-decoration:none}.menu-panel a:last-child{border-bottom:0}.menu-panel a:hover,.menu-panel a[aria-current=page]{color:var(--teal)}.btn{cursor:pointer;font-size:16px;font-weight:700;font-family:var(--font);border:1.5px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:13px 26px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--amber);color:var(--bg);box-shadow:0 0 28px #f5a52440}.btn.ghost{border-color:var(--teal);color:var(--teal);background:#4fd1c50f}.btn.ghost:hover{background:#4fd1c524}.tag{font-family:var(--mono);border:1px solid var(--line-2);color:var(--soft);background:#ffffff08;border-radius:999px;padding:3px 12px;font-size:13px;display:inline-block}.tag.amber{color:var(--amber);background:#f5a52414;border-color:#f5a52499}.tag.teal{color:var(--teal);background:#4fd1c514;border-color:#4fd1c599}.tag.lav{color:var(--lav);border-style:dashed;border-color:#a99cff99}.tags{flex-wrap:wrap;gap:8px;display:flex}section{padding:88px 0}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin:0 0 10px;font-size:14px}h1.title,h2.title{font-family:var(--brand);letter-spacing:-.01em;margin:0 0 36px;font-size:clamp(30px,4vw,42px);font-weight:700;line-height:1.15}.lead{color:var(--soft);max-width:62ch;font-size:18px}.lead a{color:var(--cyan)}section.alt{border-block:1px solid var(--line);background:#0b182673}section.page-head{padding-top:72px}.page-head h1.title{margin-bottom:16px;font-size:clamp(34px,5vw,52px)}.page-head .lead{margin:0 0 40px}.hero{border-bottom:1px solid var(--line);background:linear-gradient(100deg,#050c1600 0%,#082a428c 55%,#0a607c80 100%);padding:96px 0 80px}.hero .container{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:48px;display:grid}.prompt{font-family:var(--mono);color:var(--teal);margin:0 0 4px;font-size:16px;font-weight:500}.prompt span{color:var(--muted)}.hero .name{font-family:var(--mono);color:var(--soft);margin:0 0 22px;font-size:15px;font-weight:400}.hero h1{font-family:var(--brand);letter-spacing:-.01em;margin:0 0 22px;font-size:clamp(38px,5.4vw,62px);font-weight:700;line-height:1.08}.hero h1 .a{color:var(--amber)}.hero h1 .t{color:var(--teal)}.hero p.desc{color:var(--soft);max-width:54ch;margin:0 0 32px;font-size:19px}.cta{flex-wrap:wrap;gap:14px;display:flex}.scroll-hint{font-family:var(--mono);color:var(--muted);letter-spacing:.1em;margin-top:44px;font-size:14px}.code-card{border:1px solid var(--line-2);font-family:var(--mono);background:#0b1118;border-radius:14px;overflow:hidden;box-shadow:0 0 48px #4fd1c51f}.code-card .bar{background:var(--panel-2);border-bottom:1px solid var(--line);color:#6b7684;align-items:center;gap:8px;padding:11px 16px;font-size:13px;display:flex}.code-card .bar i{background:#3a4553;border-radius:50%;width:10px;height:10px;display:block}.code-card .bar .on{color:var(--amber);margin-left:10px}.code-card pre{color:var(--muted);margin:0;padding:18px 20px;font-size:14px;line-height:1.7;overflow:hidden}.code-card .j{color:var(--amber)}.code-card .p{color:var(--teal)}.code-card .n{color:var(--lav)}.tech{border-bottom:1px solid var(--line);background:#0b182680;padding:34px 0}.tech .container{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tech .label{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-right:8px;font-size:13px}.tech .tag{padding:5px 16px;font-size:15px}.about-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:56px;display:grid}.about-grid p{color:var(--soft);margin:0 0 18px;font-size:17px}.about-grid p.cv{margin-top:28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 20px}.stat b{font-family:var(--mono);margin-bottom:6px;font-size:32px;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:14px;line-height:1.4;display:block}.c-amber{color:var(--amber)}.c-teal{color:var(--teal)}.c-cyan{color:var(--cyan)}.c-lav{color:var(--lav)}.timeline{border-left:2px solid var(--line-2);gap:28px;margin:0;padding:0 0 0 28px;list-style:none;display:grid}.job{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 26px;position:relative}.job:before{content:"";background:var(--bg);border:3px solid var(--teal);border-radius:50%;width:14px;height:14px;position:absolute;top:30px;left:-37px}.job.now:before{border-color:var(--amber);box-shadow:0 0 14px #f5a52499}.job .when{font-family:var(--mono);color:var(--muted);margin:0 0 6px;font-size:14px}.job h3{margin:0 0 2px;font-size:21px;line-height:1.3}.job .org{color:var(--teal);margin:0 0 12px;font-weight:600}.job p.d{color:var(--soft);margin:0 0 14px}.certs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:40px;display:grid}.cert{border:1px solid var(--line);background:#0b182699;border-radius:12px;padding:16px 18px}.cert b{font-size:16px;display:block}.cert span{color:var(--muted);font-size:14px}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.card:hover{border-color:var(--teal);transform:translateY(-3px)}.card .cover{height:170px;font-family:var(--mono);color:var(--soft);background:linear-gradient(110deg, #050c16 0%, var(--navy) 55%, var(--blue) 100%);border-bottom:1px solid var(--line);padding:22px 26px;font-size:14px;line-height:1.7;overflow:hidden}.card .cover .a{color:var(--amber)}.card .cover .t{color:var(--teal)}.card .cover .m{color:var(--muted)}.card .body{flex-direction:column;flex:1;gap:14px;padding:24px 26px 26px;display:flex}.card h3{margin:0;font-size:22px}.card h3 a{text-decoration:none}.card h3 a:hover{color:var(--cyan)}.card p{color:var(--soft);margin:0}.card .links{gap:20px;margin-top:auto;font-size:15px;font-weight:600;display:flex}.card .links a{color:var(--cyan);text-decoration:none}.card .links a:hover{text-decoration:underline}.post-list{gap:20px;display:grid}.post-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 28px;text-decoration:none;transition:border-color .2s,transform .2s;display:block}.post-card:hover{border-color:var(--teal);transform:translateY(-3px)}.post-card .meta,.post-meta{font-family:var(--mono);color:var(--muted);margin:0 0 8px;font-size:14px}.post-card h2,.post-card h3{margin:0 0 8px;font-size:23px;line-height:1.3}.post-card p{color:var(--soft);margin:0 0 16px}.more{margin-top:28px}.more a{color:var(--cyan);font-weight:700;text-decoration:none}.more a:hover{text-decoration:underline}.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:56px;display:grid}.contact-grid ul{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.contact-grid li a{color:var(--cyan);font-weight:600;text-decoration:none}.contact-grid li a:hover{text-decoration:underline}.contact-grid li span{color:var(--muted)}form.contact{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:18px;padding:28px;display:grid}form.contact label{gap:8px;font-size:15px;font-weight:600;display:grid}form.contact input,form.contact textarea{background:var(--panel-2);border:1px solid var(--line-2);color:var(--text);font:inherit;border-radius:10px;padding:12px 14px;font-weight:400}form.contact input:focus,form.contact textarea:focus{outline:2px solid var(--cyan);outline-offset:1px}form.contact textarea{resize:vertical;min-height:140px}form.contact small{color:var(--muted);font-size:13px}form.contact .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}form.contact .turnstile{min-height:65px}form.contact .form-status{color:var(--soft);margin:0;font-size:15px}form.contact .form-status:empty{display:none}form.contact .form-status[data-state=success]{color:var(--teal)}form.contact .form-status[data-state=error]{color:var(--amber)}form.contact .form-notice{border:1px solid var(--amber);color:var(--soft);border-radius:10px;margin:0;padding:12px 14px}form.contact .form-notice a{color:var(--cyan)}.site-footer{border-top:1px solid var(--line);background:#050a10d9;padding:40px 0}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.site-footer p{color:var(--muted);margin:0;font-size:14px}.site-footer strong{color:var(--text)}.site-footer nav{flex-wrap:wrap;gap:20px;display:flex}.site-footer a{color:var(--soft);font-size:14px;text-decoration:none}.site-footer a:hover{color:var(--cyan)}.post-head{padding:72px 0 24px}.post-head h1{font-family:var(--brand);letter-spacing:-.01em;margin:0 0 16px;font-size:clamp(32px,4.6vw,48px);font-weight:700;line-height:1.15}.post-head .back{color:var(--cyan);margin-bottom:24px;font-weight:600;text-decoration:none;display:inline-block}.post-head .back:hover{text-decoration:underline}.narrow{max-width:780px;margin:0 auto;padding:0 24px}.prose{color:var(--soft);padding-bottom:80px;font-size:18px}.prose h2{color:var(--text);margin:48px 0 12px;font-size:28px;line-height:1.25}.prose h3{color:var(--text);margin:36px 0 10px;font-size:22px}.prose p{margin:0 0 20px}.prose a{color:var(--cyan)}.prose ul,.prose ol{margin:0 0 20px;padding-left:24px}.prose li{margin-bottom:8px}.prose strong{color:var(--text)}.prose code{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--line);color:var(--amber);border-radius:6px;padding:1px 7px;font-size:.88em}.prose pre{border:1px solid var(--line-2);border-radius:12px;margin:0 0 24px;padding:20px 22px;font-size:15px;line-height:1.7;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose blockquote{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:12px;margin:0 0 24px;padding:18px 22px}.prose blockquote p:last-child{margin-bottom:0}@media (width<=900px){.hero .container,.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:36px}.code-card{display:none}.projects{grid-template-columns:minmax(0,1fr)}section{padding:64px 0}}@media (width<=760px){.nav{display:none}.menu{display:block}}@media (width<=640px){.job{padding:20px}.timeline{padding-left:22px}.job:before{left:-31px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card,.post-card,.menu-icon,.menu-icon:before,.menu-icon:after{transition:none}}
