@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-cyrillic-ext-400-normal.3htarsyq29jlx.woff2)format("woff2"),url(../media/geist-cyrillic-ext-400-normal.0gcjr8mojf5gf.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-cyrillic-400-normal.0qeecs06bobtl.woff2)format("woff2"),url(../media/geist-cyrillic-400-normal.3miz2x_xi_zjn.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-vietnamese-400-normal.30u03karnftjq.woff2)format("woff2"),url(../media/geist-vietnamese-400-normal.39kalqz-p5_9n.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-latin-ext-400-normal.2pyggfpy7n-df.woff2)format("woff2"),url(../media/geist-latin-ext-400-normal.3gh4qp5c81meb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-latin-400-normal.383tfv-wiktxb.woff2)format("woff2"),url(../media/geist-latin-400-normal.1493_rzcpedjh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(../media/geist-cyrillic-ext-500-normal.41czpm314xj5n.woff2)format("woff2"),url(../media/geist-cyrillic-ext-500-normal.2lo7h72hs-pn0.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(../media/geist-cyrillic-500-normal.2h0a3n_o6n601.woff2)format("woff2"),url(../media/geist-cyrillic-500-normal.2a5hltsxt7d8o.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(../media/geist-vietnamese-500-normal.0j2idug5p5y76.woff2)format("woff2"),url(../media/geist-vietnamese-500-normal.03zh29b2yuzte.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(../media/geist-latin-ext-500-normal.0i83ozvjcqk-8.woff2)format("woff2"),url(../media/geist-latin-ext-500-normal.2f8ewasi96ndz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(../media/geist-latin-500-normal.38l4-nuansk4e.woff2)format("woff2"),url(../media/geist-latin-500-normal.1s42-6k31qk-o.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(../media/geist-cyrillic-ext-600-normal.15p0ugk29jtyi.woff2)format("woff2"),url(../media/geist-cyrillic-ext-600-normal.00vbnwv201w1a.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(../media/geist-cyrillic-600-normal.3jciosfhm4bxc.woff2)format("woff2"),url(../media/geist-cyrillic-600-normal.3ytrvbklh-yx-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(../media/geist-vietnamese-600-normal.36n-r-dh8vrid.woff2)format("woff2"),url(../media/geist-vietnamese-600-normal.2fvbjp7allfuw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(../media/geist-latin-ext-600-normal.1qve9nom2mhxd.woff2)format("woff2"),url(../media/geist-latin-ext-600-normal.3_oki79hzfxbb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(../media/geist-latin-600-normal.27szznjxpbeif.woff2)format("woff2"),url(../media/geist-latin-600-normal.3oxqdffw58x_r.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(../media/geist-cyrillic-ext-700-normal.3i972ercqqndw.woff2)format("woff2"),url(../media/geist-cyrillic-ext-700-normal.2592oobu8-c60.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(../media/geist-cyrillic-700-normal.0z1jfzh03k228.woff2)format("woff2"),url(../media/geist-cyrillic-700-normal.2k24sge_vzk90.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(../media/geist-vietnamese-700-normal.19wih7kh89wbn.woff2)format("woff2"),url(../media/geist-vietnamese-700-normal.3z1owdgufblmx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(../media/geist-latin-ext-700-normal.3t-tyo-e5sj45.woff2)format("woff2"),url(../media/geist-latin-ext-700-normal.10i07x2v7vktd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(../media/geist-latin-700-normal.3ulpc8k-3xit-.woff2)format("woff2"),url(../media/geist-latin-700-normal.3op-0-13kmi-k.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-mono-cyrillic-ext-400-normal.1_3w-6xrxnic8.woff2)format("woff2"),url(../media/geist-mono-cyrillic-ext-400-normal.28zojgogwadbn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-mono-cyrillic-400-normal.0w64r7z8-ih-_.woff2)format("woff2"),url(../media/geist-mono-cyrillic-400-normal.02c-zap_5oput.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-mono-symbols2-400-normal.3rf535oh7emi7.woff2)format("woff2"),url(../media/geist-mono-symbols2-400-normal.3q0ydwitqs4g1.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-mono-vietnamese-400-normal.2-w98qwfhss3t.woff2)format("woff2"),url(../media/geist-mono-vietnamese-400-normal.29k50zjumvkn0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-mono-latin-ext-400-normal.06e95wwtohjhy.woff2)format("woff2"),url(../media/geist-mono-latin-ext-400-normal.3up5nfrss5o9p.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/geist-mono-latin-400-normal.1pils9mz99gi8.woff2)format("woff2"),url(../media/geist-mono-latin-400-normal.3hdm2x6oajrio.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--background:#fafaf8;--panel:#fdfdfb;--foreground:#252925;--muted:#6d726d;--line:#e4e6df;--line-strong:#d4d8ce;--hover:#f2f3ed;--accent:#467451;--accent-bg:#edf3e9;--inverted:#fafaf8;--sans:"Geist",Arial,sans-serif;--mono:"Geist Mono",monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--background:#141614;--panel:#191c19;--foreground:#e8ece5;--muted:#a0a79e;--line:#2c322b;--line-strong:#41483f;--hover:#222720;--accent:#a4c891;--accent-bg:#263222;--inverted:#182015;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--background);color:var(--foreground);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.65}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{background:0 0;border:0}button,a,summary{touch-action:manipulation}a,button,summary,input{outline-offset:5px}:focus-visible{outline:2px solid var(--accent)}::selection{color:#25351e;background:#cee1bf}svg{vertical-align:middle;flex-shrink:0}p,h1,h2,h3{margin:0}.muted{color:var(--muted)}.skip-link{z-index:100;background:var(--foreground);color:var(--background);border-radius:4px;padding:10px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.site-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--background) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:65px;position:sticky;top:0}.nav-shell{border-inline:1px solid var(--line);align-items:center;gap:24px;max-width:802px;height:100%;margin:auto;padding:0 24px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:8px;min-height:44px;margin-right:auto;font-size:17px;font-weight:600;display:flex}.brand-dot{color:var(--accent)}.monogram{width:54px;height:54px}.monogram.small{width:25px;height:25px}nav{color:var(--muted);gap:23px;font-size:12px;display:flex}nav a{align-items:center;min-height:44px;transition:color .2s;display:flex}nav a:hover{color:var(--foreground)}.nav-actions{align-items:center;gap:7px;display:flex}.icon-button{min-width:44px;height:44px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:9px;transition:background .2s,color .2s;display:inline-flex}.icon-button:hover{background:var(--hover);color:var(--foreground)}kbd{border:1px solid var(--line-strong);font-family:var(--mono);border-radius:4px;padding:0 4px;font-size:10px;line-height:19px}.nav-rule{background:var(--line);width:1px;height:17px}.page-frame{border-inline:1px solid var(--line);max-width:802px;margin:0 auto;position:relative}.page-frame:before,.page-frame:after{content:"";background:var(--line);opacity:.4;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.page-frame:before{left:-25px}.page-frame:after{right:-25px}.cover{border-bottom:1px solid var(--line);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);height:164px;color:var(--muted);background-position:50%;background-size:24px 24px;position:relative;overflow:hidden}.cover:after{content:"";background:linear-gradient(90deg,var(--background),transparent 25%,transparent 75%,var(--background));pointer-events:none;position:absolute;inset:0}.cover-note,.cover-bottom,.cover-coordinate{font-family:var(--mono);letter-spacing:1.2px;z-index:1;background:var(--background);padding:2px 5px;font-size:9px;position:absolute}.cover-note{top:17px;left:26px}.cover-bottom{bottom:13px;left:26px}.cover-coordinate{letter-spacing:.5px;bottom:13px;right:26px}.cover-drawing{height:100%;color:var(--foreground);justify-content:center;align-items:center;gap:24px;padding-top:4px;display:flex}.code-bracket{font-family:var(--mono);color:var(--line-strong);font-size:63px;font-weight:400;line-height:1}.cover-word{font-family:var(--mono);letter-spacing:-2px;color:var(--muted);font-size:31px;transform:rotate(-3deg)}.cover-word span{color:var(--accent)}.profile{background:var(--panel)}.profile-heading{align-items:center;gap:20px;padding:26px 30px 12px;display:flex}.avatar{color:#e8ecd9;border:5px solid var(--panel);outline:1px solid var(--line-strong);background:#343e31;border-radius:23px;flex:0 0 82px;place-items:center;width:82px;height:82px;display:grid;position:relative;transform:rotate(-4deg);box-shadow:0 3px 8px #00000008}.avatar-photo{object-fit:cover;object-position:center top;background:var(--hover);border-radius:17px;width:100%;height:100%;min-height:0;display:block}.avatar-spark{color:#9aaf82;text-shadow:0 0 2px var(--panel);font-size:22px;position:absolute;bottom:-10px;right:-7px}.identity{flex:1;min-width:0}.name-line{align-items:center;gap:10px;display:flex}h1{letter-spacing:-1.2px;font-size:30px;font-weight:600;line-height:1.2}.name-suffix{color:var(--muted);letter-spacing:-.4px;font-size:18px;font-weight:400}.identity-mark{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.identity p{font-family:var(--mono);color:var(--muted);margin-top:7px;font-size:12px}.resume-button{border:1px solid var(--line-strong);white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:7px;height:36px;min-height:44px;margin-left:auto;padding:0 12px;font-size:12px;transition:background .2s;display:flex}.resume-button:hover{background:var(--hover)}.intro-line{color:var(--muted);align-items:center;gap:9px;padding:10px 30px 22px;font-size:13px;display:flex}.status-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-bg);border-radius:50%;flex-shrink:0}.profile-facts{border-top:1px solid var(--line);font-size:11px;font-family:var(--mono);grid-template-columns:1.15fr 1fr;display:grid}.profile-facts>div{align-items:center;gap:10px;min-height:44px;padding:13px 30px;display:flex}.profile-facts>div:nth-child(odd){border-right:1px solid var(--line)}.profile-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.profile-facts svg{color:var(--muted)}.profile-facts strong{font-weight:500}.social-row{border-top:1px solid var(--line);align-items:center;gap:23px;padding:6px 30px;display:flex}.social-row a{align-items:center;gap:7px;min-height:44px;font-size:12px;display:inline-flex}.social-row a:hover{color:var(--accent)}.social-row a>svg:last-child{color:var(--muted)}.social-note{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10px}.hatch{border-block:1px solid var(--line);background:repeating-linear-gradient(135deg,transparent 0,transparent 5px,var(--line) 5px,var(--line) 6px);opacity:.8;height:27px;position:relative}.hatch:before,.hatch:after{content:"+";color:var(--muted);font-size:16px;font-family:var(--mono);line-height:18px;position:absolute;top:-11px}.hatch:before{left:-5px}.hatch:after{right:-5px}.section-title{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:10px;padding:20px 30px;display:flex}.section-title>div{align-items:center;gap:13px;display:flex}.section-number{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:10px;line-height:19px}h2{letter-spacing:-.7px;font-size:21px;font-weight:500;line-height:1.3}.section-aside{font-family:var(--mono);letter-spacing:.7px;color:var(--muted);white-space:nowrap;font-size:9px}.wave{color:var(--accent);margin-left:5px;font-size:18px}.about-body{color:var(--muted);padding:23px 30px 25px;font-size:14px;line-height:1.85}.about-body p+p{margin-top:12px}.about-body p:first-child{color:var(--foreground);font-size:15px}.about-body strong{color:var(--foreground);font-weight:500}.text-link{color:var(--accent);align-items:center;gap:8px;min-height:36px;margin-top:13px;font-size:12px;display:inline-flex}.text-link:hover{gap:12px}.project-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:9px 25px;display:flex}.filters{gap:4px;display:flex}.filters button{min-height:44px;color:var(--muted);border-radius:5px;padding:0 10px;font-size:11px}.filters button[aria-pressed=true]{color:var(--foreground);background:var(--hover);font-weight:500}.filters button:hover{color:var(--foreground)}.project-count{color:var(--muted);font-size:10px;font-family:var(--mono)}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.project-row{border-bottom:1px solid var(--line);background:var(--panel)}.project-row summary{align-items:flex-start;gap:17px;padding:24px 30px;transition:background .2s;display:flex}.project-row summary:hover{background:var(--hover)}.project-icon{border:1px solid var(--line-strong);background:var(--hover);border-radius:10px;flex:0 0 43px;place-items:center;width:43px;height:43px;margin-top:2px;display:grid}.project-icon.peedia{color:#47744c;background:#eff4e9;border-color:#d7e1cc}.project-icon.tune-wave{color:#77658b;background:#f2eef6;border-color:#e2d9ec}.project-icon.epark{color:#93764f;background:#f5f1e8;border-color:#e9dfca}.project-icon.en-ml{color:#527e8f;background:#eaf1f4;border-color:#d1e0e7}.project-icon.cashflow{color:#68765b;background:#eff1e8;border-color:#dce0cf}[data-theme=dark] .project-icon{background:var(--hover);border-color:var(--line-strong);color:var(--accent)}.project-summary{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.project-title{letter-spacing:-.2px;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.featured-label{font-family:var(--mono);letter-spacing:.5px;background:var(--accent-bg);color:var(--accent);border-radius:3px;padding:1px 5px;font-size:8px;font-weight:400}.project-description{color:var(--muted);max-width:560px;font-size:12px;line-height:1.6}.project-stack{color:var(--muted);font-size:10px;font-family:var(--mono);margin-top:4px}.expand-icon{height:29px;color:var(--muted);place-items:center;display:grid}details[open] .expand-icon svg,details[open] .job-chevron{transform:rotate(180deg)}.expand-icon svg,.job-chevron{transition:transform .2s}.project-details{padding:0 30px 24px 90px}.eyebrow{font-family:var(--mono);letter-spacing:.6px;color:var(--accent);font-size:9px}.project-details ul,.job-details ul{color:var(--muted);margin:13px 0 18px;padding:0 0 0 16px;font-size:13px;line-height:1.75}.project-details li+li,.job-details li+li{margin-top:7px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags>span{font-family:var(--mono);border:1px solid var(--line);background:var(--panel);color:var(--muted);white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px}.project-links{flex-wrap:wrap;gap:20px;margin-top:15px;display:flex}.project-links a{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;align-items:center;gap:5px;font-size:12px;display:inline-flex}.project-links a:hover{color:var(--accent)}.section-footnote{color:var(--muted);font-size:10px;font-family:var(--mono);align-items:center;gap:8px;padding:13px 30px;display:flex}.experience-list{padding:0 30px}.experience-item+.experience-item{border-top:1px solid var(--line)}.experience-item summary{align-items:center;gap:17px;padding:24px 0;display:flex}.company-logo{border:1px solid var(--line);width:43px;height:43px;font-family:var(--mono);letter-spacing:-2px;background:var(--panel);border-radius:50%;flex:0 0 43px;place-items:center;font-size:18px;font-weight:600;display:grid}.cloudstack{color:#62747c}.zil{color:#4c826d;font-size:27px}.job-summary{flex:1;grid-template-columns:1fr auto;gap:4px;display:grid}.company-line{align-items:center;gap:9px;display:flex}.company-line strong{font-size:14px;font-weight:600}.current-badge{background:var(--accent-bg);color:var(--accent);border-radius:4px;padding:1px 6px;font-size:9px}.job-role{color:var(--muted);grid-row:2;font-size:12px}.job-date{color:var(--muted);font-family:var(--mono);grid-area:1/2/span 2;align-self:center;font-size:10px}.job-chevron{color:var(--muted);margin-left:9px}.job-details{padding:0 0 24px 60px}.full-resume{border-top:1px solid var(--line);min-height:44px;color:var(--muted);align-items:center;gap:8px;padding:12px 30px;font-size:11px;display:flex}.full-resume:hover{color:var(--foreground);background:var(--hover)}.toolkit{padding:10px 30px}.tool-row{grid-template-columns:115px 1fr;align-items:baseline;gap:18px;padding:15px 0;display:grid}.tool-row+.tool-row{border-top:1px dashed var(--line)}.tool-row>span{color:var(--muted);font-size:11px}.education-row{align-items:center;gap:17px;padding:26px 30px;display:flex}.education-row+.education-row{border-top:1px solid var(--line)}.education-icon{border:1px solid var(--line);background:var(--panel);width:43px;height:43px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.education-row h3{font-size:13px;font-weight:500}.education-row p{color:var(--muted);margin-top:3px;font-size:12px}.education-row div>span{font-family:var(--mono);color:var(--muted);font-size:10px}.education-date{color:var(--muted);font-size:10px;font-family:var(--mono);white-space:nowrap;margin-left:auto}.contact-asterisk{color:var(--accent);font-size:27px;line-height:1}.contact-body{padding:24px 30px 22px}.contact-body>p:first-child{color:var(--muted);font-size:13px;line-height:1.85}.email-box{border:1px solid var(--line-strong);background:var(--panel);border-radius:6px;align-items:center;gap:7px;width:fit-content;max-width:100%;margin-top:20px;padding:2px 4px 2px 13px;display:flex}.email-box>a{align-items:center;gap:10px;min-width:0;min-height:44px;font-size:13px;display:flex}.email-box>a>span{overflow-wrap:anywhere}.email-box>a>svg:first-child{color:var(--muted)}.email-box>a>svg:last-child{color:var(--muted);margin-left:15px}.email-box>.icon-button{border-left:1px solid var(--line);border-radius:0;height:28px;min-height:44px}.copy-status{color:var(--muted);overflow-wrap:anywhere;align-items:center;min-height:35px;margin-top:11px;font-size:11px;display:flex}.copy-status a{align-items:center;gap:4px;min-height:44px;display:inline-flex}.copy-status a:hover{color:var(--accent)}footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:25px 30px;display:flex}footer>div{align-items:center;gap:14px;font-size:10px;line-height:1.8;display:flex}footer .monogram{color:var(--muted)}.back-top{color:var(--muted);align-items:center;gap:7px;min-height:44px;font-size:10px;display:flex}.colophon{border-top:1px solid var(--line);font-family:var(--mono);color:var(--muted);letter-spacing:.5px;justify-content:space-between;gap:15px;padding:10px 30px 24px;font-size:8px;display:flex}.colophon a{align-items:center;gap:5px;min-height:44px;display:flex}.colophon>span{align-items:center;display:flex}.search-dialog{border:1px solid var(--line-strong);background:var(--panel);color:var(--foreground);border-radius:12px;width:min(550px,100vw - 32px);max-height:80dvh;margin:12vh auto auto;padding:0;overflow:hidden;box-shadow:0 24px 90px #0003}.search-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#161c1760}.search-input-row{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:9px 14px;display:flex}.search-input-row input{min-width:0;color:var(--foreground);outline-offset:2px;background:0 0;border:0;flex:1;padding:8px 0;font-size:14px}.search-results{max-height:55dvh;padding:10px;overflow:auto}.search-label{color:var(--muted);font-family:var(--mono);letter-spacing:.6px;padding:6px 10px 10px;font-size:9px;display:block}.search-results>a{border-radius:6px;align-items:center;gap:13px;min-height:60px;padding:10px;font-size:13px;display:flex}.search-results>a:hover,.search-results>a:focus{background:var(--hover)}.search-results>a>svg{color:var(--muted)}.search-results>a>svg:last-child{margin-left:auto}.search-results small{color:var(--muted);margin-top:1px;font-size:10px;display:block}.search-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:11px 20px;font-size:10px;display:flex}.search-empty{text-align:center;color:var(--muted);overflow-wrap:anywhere;padding:32px 15px}.search-empty p{margin:9px 0}.search-empty button{min-height:44px;color:var(--accent);text-decoration:underline}.story-page{min-height:100vh}.story-nav{border-bottom:1px solid var(--line);padding:20px 30px}.story-nav a{gap:10px}.story-header{padding:40px 30px 30px}.story-header h1{max-width:650px;margin:15px 0;font-size:34px;line-height:1.25}.story-byline{color:var(--muted);margin-bottom:22px;font-size:12px}.story-header>p:not(.eyebrow):not(.story-byline){color:var(--muted);margin-bottom:22px;font-size:16px;line-height:1.8}.story-body{padding:10px 30px 25px}.story-body section{padding-top:26px}.story-body h2{margin-bottom:12px}.story-body p{color:var(--muted);font-size:15px;line-height:1.9}.story-links{flex-wrap:wrap;gap:24px;padding:0 30px 25px;display:flex}.story-links a{min-height:44px;color:var(--accent);align-items:center;gap:7px;display:flex}.story-byline a{text-underline-offset:3px;text-decoration:underline}@media (max-width:600px){.story-nav,.story-header,.story-body,.story-links{padding-left:18px;padding-right:18px}.story-header h1{font-size:27px}.story-header>p:not(.eyebrow):not(.story-byline),.story-body p{font-size:14px}.story-page footer{flex-wrap:wrap}}@media (min-width:1100px){.cover:before{content:"";background:var(--line);height:1px;position:absolute;top:47%;left:30px;right:30px;transform:rotate(-10deg)}}@media (max-width:850px){.page-frame,.nav-shell{margin-inline:24px}.page-frame:before{left:-13px}.page-frame:after{right:-13px}.nav-shell{gap:16px;padding-inline:20px}nav{gap:16px}.profile-heading{gap:15px}.identity-mark{display:none}h1{font-size:27px}.profile-facts>div{padding-inline:22px}.profile-facts{grid-template-columns:1.1fr 1fr;font-size:10px}}@media (max-width:600px){html{scroll-padding-top:76px}.site-header{height:61px}.page-frame,.nav-shell{margin-inline:14px}.page-frame:before,.page-frame:after{display:none}.nav-shell{gap:10px;padding:0 12px}.brand{gap:4px;font-size:15px}.brand .monogram{width:22px}nav{gap:15px;font-size:11px}nav a:last-child{display:none}.nav-actions{gap:0}.nav-rule{display:none}.search-toggle,.theme-toggle{min-width:35px}.search-toggle kbd{display:none}.cover{height:86px}.cover-note{letter-spacing:.6px;padding:1px 4px;font-size:7.5px;top:8px;left:14px}.cover-drawing{gap:12px;padding-top:2px}.cover-word{letter-spacing:-1px;font-size:20px}.code-bracket{font-size:32px}.cover-bottom{letter-spacing:.6px;padding:1px 4px;font-size:6.5px;bottom:7px;left:14px}.cover-coordinate{padding:1px 4px;font-size:6.5px;bottom:7px;right:14px}.profile-heading{align-items:center;gap:12px;padding:18px 16px 12px}.avatar{border-width:4px;border-radius:20px;flex:0 0 72px;width:72px;height:72px}.avatar .avatar-photo{border-radius:16px}.avatar .monogram{width:48px;height:48px}.avatar-spark{font-size:20px;bottom:-8px;right:-6px}.identity{flex:1;min-width:0}.name-line{justify-content:space-between;align-items:center;gap:6px;display:flex}h1{letter-spacing:-.5px;white-space:nowrap;font-size:18px;font-weight:600;line-height:1.2}.name-suffix{letter-spacing:-.3px;font-size:12px}.identity p{margin-top:3px;font-size:10.5px;line-height:1.35}.resume-button{border-radius:5px;flex-shrink:0;gap:3.5px;height:26px;min-height:26px;margin-left:auto;padding:0 7px;font-size:10px;position:relative}.resume-button:before{content:"";touch-action:manipulation;position:absolute;inset:-8px}.resume-button svg{width:11px;height:11px}.intro-line{align-items:baseline;gap:8px;padding:4px 18px 18px;font-size:11px}.status-dot{width:5px;height:5px}.profile-facts{grid-template-columns:1fr;font-size:10px}.profile-facts>div{gap:10px;min-height:43px;padding:11px 18px}.profile-facts>div:nth-child(odd){border-right:0}.profile-facts>div:nth-child(3){border-bottom:1px solid var(--line)}.social-row{gap:20px;padding:4px 18px}.social-row a{font-size:11px}.social-note{display:none}.hatch{height:22px}.section-title{gap:7px;padding:17px 18px}.section-title>div{gap:10px}h2{letter-spacing:-.5px;font-size:19px}.section-aside{letter-spacing:.2px;font-size:8px}.section-number{font-size:9px;line-height:18px}.about-body{padding:19px 18px 20px;font-size:13px}.about-body p:first-child{font-size:14px}.text-link{min-height:44px;font-size:11px}.project-toolbar{padding:6px 10px}.filters{gap:0}.filters button{padding:0 8px;font-size:10px}.project-count{padding-right:6px;font-size:9px}.project-row summary{gap:12px;padding:21px 18px}.project-icon{border-radius:9px;flex-basis:36px;width:36px;height:36px}.project-icon svg{width:18px}.project-title{gap:8px;font-size:14px}.featured-label{font-size:7px}.project-description{font-size:11px}.project-stack{font-size:9px;line-height:1.6}.expand-icon{height:24px}.project-details{padding:0 18px 20px}.project-details ul,.job-details ul{font-size:12px}.section-footnote{padding:12px 18px;font-size:9px}.experience-list{padding:0 18px}.experience-item summary{gap:12px;padding:21px 0}.company-logo{flex-basis:36px;width:36px;height:36px;font-size:16px}.company-logo.zil{font-size:24px}.job-summary{flex-direction:column;gap:3px;display:flex}.company-line strong{font-size:13px}.job-role{font-size:11px}.job-date{font-size:9px}.job-details{padding-left:0}.full-resume{padding:12px 18px}.toolkit{padding:4px 18px}.tool-row{grid-template-columns:1fr;gap:9px;padding:15px 0}.tool-row>span{font-size:10px}.tags>span{padding:3px 7px;font-size:9px}.education-row{flex-wrap:wrap;gap:12px;padding:22px 18px}.education-icon{width:36px;height:36px}.education-row h3{font-size:12px}.education-row p{font-size:11px}.education-row div>span{font-size:9px}.education-date{flex-basis:100%;margin-top:-5px;margin-left:48px;font-size:9px}.contact-body{padding:20px 18px 14px}.contact-body>p:first-child{font-size:12px}.desktop-break{display:none}.email-box{gap:3px;width:100%;padding-left:9px}.email-box>a{flex:1;gap:7px;font-size:10px}.email-box>a>svg:first-child{width:14px}.email-box>a>svg:last-child{display:none}.email-box>.icon-button{min-width:36px}.copy-status{font-size:10px}footer{gap:10px;padding:20px 18px}footer>div{gap:10px;font-size:9px}.back-top{gap:5px;font-size:9px}.colophon{flex-wrap:wrap;gap:4px;padding:6px 18px 15px;font-size:7px}.colophon>span{min-height:25px}.colophon a{min-height:32px}.search-dialog{margin-top:8vh}.search-input-row{gap:8px;padding-inline:10px}.search-input-row input{font-size:12px}}@media (max-width:370px){.identity{min-width:0}h1{letter-spacing:-.4px;font-size:16px}.name-suffix{font-size:11px}.profile-heading{gap:10px;padding:16px 12px 10px}.avatar{border-radius:18px;flex:0 0 64px;width:64px;height:64px}.avatar .avatar-photo{border-radius:14px}.resume-button{border-radius:4px;gap:3px;height:24px;min-height:24px;padding:0 5px;font-size:9px}.resume-button svg{width:10px;height:10px}.section-title,.about-body{padding-inline:14px}.section-aside{font-size:7px}.project-count,.brand>span{display:none}.cover{height:76px}.cover-drawing{gap:10px}.cover-word{font-size:17px}.code-bracket{font-size:28px}.cover-note{font-size:6.8px;top:6px;left:12px}.cover-bottom{font-size:6px;bottom:5px;left:12px}.cover-coordinate{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
