@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.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}@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4.5rem}body,h1,h2,h3,p,dl,dd,ol{margin:0}ol{padding:0;list-style:none}button,a{font:inherit}a{color:inherit}}@layer base{:root,:root[data-theme=light]{color-scheme:light;--page:#d8dee9;--shell:#eceff4;--surface:#e5e9f0;--surface-raised:#fff;--text:#2e3440;--text-soft:#434c5e;--muted:#5d687c;--faint:#7a8497;--border:#4c566a3d;--border-strong:#4c566a6b;--line-rail:#d8dee994;--accent:#5e81ac;--accent-strong:#4c6f9c;--accent-soft:#5e81ac21;--cyan:#427b8f;--green:#557c4f;--yellow:#8a6d2f;--red:#a24f58;--purple:#865f87;--selection:#88c0d04d;--shadow:0 24px 70px #2e34402e, 0 2px 8px #2e344014}:root[data-theme=dark]{color-scheme:dark;--page:#242933;--shell:#2e3440;--surface:#3b4252;--surface-raised:#353c4a;--text:#eceff4;--text-soft:#d8dee9;--muted:#aeb8c7;--faint:#7f8a9d;--border:#d8dee929;--border-strong:#d8dee947;--line-rail:#3b42527a;--accent:#88c0d0;--accent-strong:#8fbcbb;--accent-soft:#88c0d01f;--cyan:#88c0d0;--green:#a3be8c;--yellow:#ebcb8b;--red:#bf616a;--purple:#b48ead;--selection:#5e81ac80;--shadow:0 28px 80px #0f12186b, 0 2px 10px #0f121847}::selection{background:var(--selection)}body{background:var(--page);min-width:280px;min-height:100vh;color:var(--text);text-rendering:optimizelegibility;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:1rem;line-height:1.65;transition:background-color .18s,color .18s}body:before{z-index:-1;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.16;content:"";pointer-events:none;background-size:32px 32px;position:fixed;inset:0}h1,h2,h3,.wordmark,.buffer-tab,.button,.section-kicker,.statusline,.code-line,.project-kind,.project-stack,.timeline-period,.role-list,.note-state,.email-link,.social-links,.text-link,.skills-console{font-family:IBM Plex Mono,ui-monospace,monospace}h1,h2,h3{letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(2.65rem,7vw,6.3rem);font-weight:500}h2{font-size:clamp(2rem,4.8vw,4.45rem);font-weight:500}h3{font-size:clamp(1.2rem,2vw,1.75rem);font-weight:500}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}}@layer components{.skip-link{z-index:100;background:var(--text);color:var(--shell);padding:.6rem .9rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;transition:transform .12s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.page-frame{width:100%;padding:clamp(.7rem,2vw,1.5rem)}.editor{background:var(--shell);border:1px solid var(--border-strong);width:min(100%,1480px);box-shadow:var(--shadow);margin:0 auto;overflow:clip}.editor-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--border-strong);grid-template-columns:max-content minmax(0,1fr) max-content max-content;min-height:3.4rem;display:grid;position:sticky;top:0}.wordmark{color:var(--text);border-right:1px solid var(--border);letter-spacing:-.02em;align-items:center;padding:0 1.2rem;font-size:.82rem;font-weight:600;text-decoration:none;display:flex}.wordmark span{color:var(--accent)}.buffer-tabs{scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.buffer-tabs::-webkit-scrollbar{display:none}.buffer-tab{color:var(--muted);border-right:1px solid var(--border);flex:none;align-items:center;gap:.5rem;padding:0 1rem;font-size:.72rem;text-decoration:none;transition:color .14s,background-color .14s;display:flex;position:relative}.buffer-tab:before{content:"";background:0 0;height:2px;position:absolute;inset:0 0 auto}.buffer-tab:hover{color:var(--text);background:var(--accent-soft)}.buffer-tab.active{background:var(--accent);color:var(--shell)}.tab-dot{background:var(--faint);border-radius:50%;width:.38rem;height:.38rem}.buffer-tab.active .tab-dot{box-shadow:none;opacity:.6;background:currentColor}.header-availability{color:var(--muted);border-left:1px solid var(--border);letter-spacing:.01em;text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:.55rem;padding:0 1rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.64rem;display:flex}.header-availability strong{color:var(--green);font-weight:600}.header-actions{border-left:1px solid var(--border);display:flex}.header-action,.theme-toggle{width:3.1rem;color:var(--muted);background:0 0;border:0;flex:none;place-items:center;padding:0;transition:background-color .14s,color .14s;display:grid}.header-action{border-right:1px solid var(--border);text-decoration:none}.theme-toggle{cursor:pointer}.header-action:hover,.theme-toggle:hover{background:var(--accent-soft);color:var(--accent)}.header-action:focus-visible,.theme-toggle:focus-visible{outline-offset:-3px}.header-action-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.05rem;height:1.05rem}.header-action-icon.is-filled{fill:currentColor;stroke:none}.theme-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.05rem;height:1.05rem}.theme-icon-dark,:root[data-theme=dark] .theme-icon-light{display:none}:root[data-theme=dark] .theme-icon-dark{display:block}.editor-buffer{grid-template-columns:4.4rem minmax(0,1fr);display:grid}.line-numbers{background:var(--line-rail);color:var(--faint);border-right:1px solid var(--border);user-select:none;flex-direction:column;align-items:flex-end;gap:1.1rem;padding:6.5rem 1.2rem 2rem 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem;line-height:1;display:flex}.hero-lines{padding-top:5.2rem}.buffer-content{min-width:0;padding:clamp(4rem,8vw,8.5rem) clamp(1.5rem,7vw,7rem)}.hero .buffer-content{padding-top:clamp(3.6rem,8vw,7.5rem)}.section,.contact-section{border-top:1px solid var(--border-strong)}.code-line{white-space:nowrap;margin-bottom:clamp(2rem,5vw,4.2rem);font-size:clamp(.82rem,1.7vw,1.1rem)}.syntax-keyword{color:var(--purple)}.syntax-property{color:var(--cyan)}.syntax-operator{color:var(--muted)}.syntax-string{color:var(--green)}.pulse{background:var(--green);border-radius:50%;flex:none;width:.48rem;height:.48rem;animation:1.8s ease-out infinite availability-pulse}.hero h1{max-width:1100px;color:var(--text-soft);font-size:clamp(2.1rem,5vw,4.8rem)}.hero h1 span{color:var(--accent)}.hero-intro{max-width:760px;color:var(--text-soft);margin-top:clamp(1.8rem,4vw,3.2rem);font-size:clamp(1.08rem,2vw,1.42rem);line-height:1.65}.hero-fit{background:color-mix(in srgb, var(--green) 7%, transparent);max-width:760px;color:var(--muted);border-left:2px solid var(--green);margin-top:1.1rem;padding:.7rem .9rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.72rem,1vw,.82rem);line-height:1.55}.hero-fit span{color:var(--green);text-transform:lowercase;font-weight:600}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.3rem;display:flex}.button{border:1px solid var(--border-strong);justify-content:center;align-items:center;gap:.8rem;min-height:3.15rem;padding:.82rem 1.1rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:transform .14s,background-color .14s,border-color .14s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--accent);color:var(--shell);border-color:var(--accent)}:root[data-theme=dark] .button.primary{color:#2e3440}.button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button.secondary:hover{background:var(--accent-soft);border-color:var(--accent)}.impact-grid{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);grid-template-columns:repeat(3,1fr);max-width:940px;margin-top:clamp(4rem,9vw,8rem);display:grid}.impact-grid div{padding:1.5rem 1.5rem 1.5rem 0}.impact-grid div+div{border-left:1px solid var(--border);padding-left:1.5rem}.impact-grid dt{color:var(--accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(1.65rem,3vw,2.6rem);font-weight:500;line-height:1}.impact-grid dd{max-width:10rem;color:var(--muted);margin-top:.65rem;font-size:.78rem;line-height:1.45}.about-grid{grid-template-columns:minmax(260px,.85fr) minmax(300px,1.15fr);gap:clamp(2rem,8vw,8rem);margin-top:clamp(5rem,10vw,10rem);display:grid}.section-kicker{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.72rem;font-weight:500}.about-grid h2{font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.18}.about-copy{color:var(--text-soft);gap:1.25rem;font-size:clamp(1rem,1.4vw,1.14rem);display:grid}.skills-console{border:1px solid var(--border-strong);margin-top:clamp(3rem,7vw,6rem);font-size:clamp(.74rem,.95vw,.88rem)}.console-title{background:var(--surface);color:var(--muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.65rem .9rem;display:flex}.console-body{white-space:nowrap;gap:.8rem;padding:1.15rem;display:grid;overflow-x:auto}.skill-line{align-items:baseline;display:flex}.skill-expression{min-width:0}.console-prompt{width:2rem;color:var(--faint);text-align:right;display:inline-block}.section-heading{grid-template-columns:minmax(280px,1.15fr) minmax(250px,.85fr);align-items:end;gap:3rem;margin-bottom:clamp(3.5rem,8vw,7rem);display:grid}.section-heading>p{max-width:520px;color:var(--muted);font-size:1.02rem}.engagement-section .buffer-content{background:linear-gradient(140deg, transparent 54%, var(--accent-soft)), var(--shell)}.engagement-intro{grid-template-columns:minmax(300px,1.15fr) minmax(280px,.85fr);align-items:end;gap:clamp(2rem,7vw,7rem);margin-bottom:clamp(3.5rem,7vw,6rem);display:grid}.engagement-intro h2{max-width:900px;font-size:clamp(2rem,4vw,4rem)}.engagement-intro>p{max-width:580px;color:var(--text-soft);padding-bottom:.35rem;font-size:clamp(1rem,1.5vw,1.18rem)}.engagement-panel{border:1px solid var(--border-strong);grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);display:grid}.engagement-triggers{padding:clamp(1.5rem,3vw,2.5rem)}.engagement-label,.engagement-model-title,.engagement-contract,.engagement-flow{font-family:IBM Plex Mono,ui-monospace,monospace}.engagement-label{color:var(--purple);margin-bottom:1rem;font-size:.72rem}.engagement-triggers ol{border-top:1px solid var(--border)}.engagement-triggers li{border-bottom:1px solid var(--border);grid-template-columns:2.4rem minmax(0,1fr);align-items:baseline;gap:.8rem;padding:1rem 0;display:grid}.engagement-triggers li>span{color:var(--faint);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.64rem}.engagement-triggers li p{color:var(--text-soft);font-size:clamp(.92rem,1.3vw,1.06rem)}.engagement-model{background:var(--surface);border-left:1px solid var(--border-strong);min-width:0}.engagement-model-title{color:var(--muted);border-bottom:1px solid var(--border-strong);justify-content:space-between;gap:1rem;padding:.7rem .9rem;font-size:.68rem;display:flex}.engagement-model-title span:last-child{color:var(--green)}.engagement-model-body{padding:clamp(1.5rem,3vw,2.5rem)}.engagement-contract{gap:.35rem;font-size:.75rem;display:grid}.engagement-flow{color:var(--text-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:.6rem;margin-top:2rem;padding:1.2rem 0;font-size:.7rem;display:grid}.engagement-flow span:nth-child(2n){color:var(--accent)}.engagement-model .button{width:100%;margin-top:2rem}.project-list{border-top:1px solid var(--border-strong)}.project-card{border-bottom:1px solid var(--border-strong);grid-template-columns:4.2rem 1fr;transition:background-color .16s;display:grid}.project-card:hover{background:var(--accent-soft)}.project-index{color:var(--faint);padding:2rem 1rem 2rem 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.project-main{padding:1.8rem 0 2rem}.project-title-row{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.project-kind{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-size:.68rem}.project-card h3 a{text-decoration:none}.project-card h3 a:hover{color:var(--accent)}.project-card h3 span{color:var(--accent);font-size:.7em;transition:transform .14s;display:inline-block}.project-card h3 a:hover span{transform:translate(2px,-2px)}.project-stack{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.project-stack span{background:var(--surface);color:var(--muted);border:1px solid var(--border);padding:.25rem .5rem;font-size:.62rem}.project-description{max-width:850px;color:var(--text-soft);margin-top:1.25rem}.project-impact{color:var(--text-soft);align-items:flex-start;gap:.7rem;margin-top:1.1rem;font-size:.86rem;display:flex}.result-label{background:color-mix(in srgb, var(--green) 11%, transparent);color:var(--green);border:1px solid color-mix(in srgb, var(--green) 32%, transparent);letter-spacing:.08em;text-transform:uppercase;flex:none;padding:.16rem .42rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.58rem;line-height:1.4}.timeline{position:relative}.timeline:before{background:var(--border-strong);content:"";width:1px;position:absolute;top:1rem;bottom:1rem;left:1.25rem}.timeline-item{grid-template-columns:4rem minmax(170px,.55fr) minmax(300px,1.45fr);gap:1.5rem;padding:0 0 3.5rem;display:grid;position:relative}.timeline-marker{z-index:1;background:var(--shell);width:2.5rem;height:2.5rem;color:var(--accent);border:1px solid var(--border-strong);place-items:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.65rem;display:grid;position:relative}.timeline-meta{color:var(--muted);padding-top:.25rem;font-size:.78rem}.timeline-period{color:var(--text-soft);margin-bottom:.3rem;font-size:.72rem}.timeline-content h3{margin-bottom:.7rem}.role-list{gap:.4rem;max-width:640px;margin-bottom:1.1rem;display:grid}.role-entry{background:var(--accent-soft);border-left:2px solid var(--accent);justify-content:space-between;align-items:center;gap:1.5rem;padding:.42rem .6rem;font-family:IBM Plex Mono,ui-monospace,monospace;display:flex}.role-entry span{color:var(--accent);font-size:.66rem}.role-entry small{color:var(--muted);white-space:nowrap;flex:none;font-size:.6rem}.timeline-content>p{max-width:720px;color:var(--text-soft)}.education-row{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:1.5rem;padding:2rem 0;display:flex}.education-row .section-kicker{margin-bottom:.8rem}.education-row h3{margin-bottom:.45rem;font-size:1.2rem}.education-row p:not(.section-kicker){color:var(--muted);font-size:.85rem}.education-date{flex:none;font-family:IBM Plex Mono,ui-monospace,monospace}.text-link{color:var(--accent);text-underline-offset:4px;gap:.6rem;margin-top:1.5rem;font-size:.75rem;text-decoration-thickness:1px;display:inline-flex}.notes-grid{border-top:1px solid var(--border-strong);border-left:1px solid var(--border-strong);grid-template-columns:repeat(3,1fr);display:grid}.note-card{border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);flex-direction:column;min-height:300px;padding:1.5rem;transition:background-color .16s,transform .16s;display:flex}.note-card:hover{z-index:1;background:var(--surface);transform:translateY(-4px)}.note-card>p:first-child{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:auto;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.66rem}.note-card h3{margin:3rem 0 1rem;font-size:1.24rem;line-height:1.3}.note-card h3 a{text-decoration:none}.note-card h3 a:hover{color:var(--accent)}.note-card h3 a span{color:var(--accent);font-size:.72em;transition:transform .14s;display:inline-block}.note-card h3 a:hover span{transform:translate(2px,-2px)}.note-card h3+p{color:var(--muted);font-size:.88rem}.note-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.5rem;display:flex}.note-state{background:color-mix(in srgb, var(--yellow) 13%, transparent);color:var(--yellow);border:1px solid color-mix(in srgb, var(--yellow) 35%, transparent);align-self:flex-start;padding:.25rem .5rem;font-size:.62rem}.note-link{color:var(--accent);text-underline-offset:4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.64rem}.contact-content{padding-top:clamp(5rem,11vw,11rem);padding-bottom:clamp(5rem,11vw,11rem)}.contact-content h2{max-width:1000px;color:var(--accent)}.contact-content>p:not(.section-kicker){max-width:700px;color:var(--text-soft);margin-top:2rem;font-size:clamp(1rem,1.8vw,1.25rem)}.contact-meta{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;font-family:IBM Plex Mono,ui-monospace,monospace;display:flex}.contact-meta span{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);padding:.3rem .55rem;font-size:.68rem}.email-link{color:var(--text);text-decoration-color:var(--accent);text-underline-offset:8px;margin-top:2rem;font-size:clamp(.78rem,2vw,1.25rem);text-decoration-thickness:1px;display:inline-block}.email-link:hover{color:var(--accent)}.social-links{flex-wrap:wrap;gap:.85rem;margin-top:3rem;font-size:.78rem;display:flex}.social-links a{color:var(--muted);border:1px solid var(--border);padding:.45rem .65rem;text-decoration:none}.social-links a:hover{color:var(--accent)}.statusline{z-index:20;background:var(--surface);min-height:1.8rem;color:var(--muted);border-top:1px solid var(--border-strong);font-size:.64rem;line-height:1.8rem;display:flex;position:sticky;bottom:0}.status-mode{background:var(--accent);color:var(--shell);padding:0 1rem;font-weight:600}:root[data-theme=dark] .status-mode{color:#2e3440}.status-file,.status-location,.status-position{border-right:1px solid var(--border);padding:0 .8rem}.status-spacer{flex:1}.status-position{border-right:0;border-left:1px solid var(--border)}.reveal{animation:.6s cubic-bezier(.2,.8,.2,1) both reveal-up}.delay-1{animation-delay:40ms}.delay-2{animation-delay:.11s}.delay-3{animation-delay:.18s}.delay-4{animation-delay:.25s}@keyframes availability-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--green) 38%, transparent)}70%,to{box-shadow:0 0 0 6px #0000}}@keyframes reveal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.article-buffer{grid-template-columns:4.4rem minmax(0,1fr);display:grid}.article-breadcrumb,.article-meta,.article-footer,.related-reading,.section-heading-action{font-family:IBM Plex Mono,ui-monospace,monospace}.blog-post-grid{padding:clamp(1rem,2vw,2rem)}.blog-grid,.homepage-posts{background:var(--border-strong);border:1px solid var(--border-strong);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.blog-grid{background:0 0;border:0;grid-template-columns:1fr;gap:clamp(.75rem,1.5vw,1.25rem);overflow:visible}.blog-grid .blog-card{border:1px solid var(--border-strong)}.article-breadcrumb{color:var(--muted);margin-bottom:2.5rem;font-size:.68rem;text-decoration:none;display:inline-block}.article-breadcrumb:hover{color:var(--accent)}.article-header{border-bottom:1px solid var(--border-strong);padding:clamp(2.75rem,5vw,5rem) clamp(1.5rem,8vw,9rem) clamp(2.5rem,5vw,4rem)}.article-header h1{letter-spacing:-.06em;max-width:19ch;margin:1rem 0 1.25rem;font-size:clamp(2.1rem,5vw,4.8rem);font-weight:500;line-height:.96}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;margin-top:0;font-size:.67rem;display:flex}.article-footer{color:var(--muted);border-top:1px solid var(--border-strong);justify-content:space-between;gap:2rem;padding:2rem clamp(1.5rem,8vw,9rem);font-size:.68rem;display:flex}.article-footer a,.related-reading{color:var(--accent);text-decoration:none}.related-reading{align-items:center;gap:.45rem;margin-top:1.1rem;font-size:.68rem;display:inline-flex}.related-reading:hover,.article-footer a:hover{color:var(--text)}.section-heading-action{max-width:33rem;color:var(--muted);font-size:.75rem}.section-heading-action .text-link{margin-top:.8rem;display:inline-block}.blog-index-buffer{grid-template-columns:4.4rem minmax(0,1fr);display:grid}.blog-index-content,.article-shell{border-left:1px solid var(--border);min-width:0}.blog-index-rail,.article-rail{background:var(--line-rail);color:var(--faint);flex-direction:column;align-items:center;gap:1.1rem;padding-top:5.4rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.64rem;display:flex}.blog-index-rail{padding-top:2rem}.blog-card-meta,.blog-card-command,.blog-card-read,.article-tags,.provenance-note,.article-back,.article-authors{font-family:IBM Plex Mono,ui-monospace,monospace}.blog-card{background:var(--surface-raised);min-width:0;position:relative}.blog-card-link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.blog-card-image{aspect-ratio:16/9;background:var(--surface);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.blog-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1);display:block}.blog-card-command{background:color-mix(in srgb, var(--shell) 90%, transparent);color:var(--accent);border:1px solid var(--border);opacity:0;padding:.25rem .5rem;font-size:.62rem;transition:opacity .16s,translate .16s;position:absolute;bottom:.8rem;right:.8rem;translate:0 .3rem}.blog-card-copy{flex-direction:column;flex:1;min-height:20rem;padding:clamp(1.4rem,3vw,2.5rem);display:flex}.blog-card-meta{color:var(--muted);flex-wrap:wrap;gap:.5rem;font-size:.65rem;display:flex}.view-count:not([hidden]){align-items:center;gap:.28rem;display:inline-flex}.view-count-separator{margin-right:.2rem}.view-count-icon{color:var(--green);font-size:.72rem}.blog-card h2{letter-spacing:-.04em;margin:1rem 0 .9rem;font-size:clamp(1.45rem,2.7vw,2.2rem);font-weight:500;line-height:1.05}.blog-card-copy>p{color:var(--text-soft);font-size:.92rem}.blog-card-read{color:var(--accent);margin-top:auto;padding-top:2rem;font-size:.68rem}.blog-card:hover .blog-card-image img{transform:scale(1.025)}.blog-card:hover .blog-card-command{opacity:1;translate:0}.blog-card:hover h2{color:var(--accent)}.blog-grid .blog-card-link{grid-template-columns:minmax(18rem,.85fr) minmax(0,1.15fr);display:grid}.blog-grid .blog-card-image{aspect-ratio:auto;border-right:1px solid var(--border);border-bottom:0;min-height:21rem}.blog-grid .blog-card-copy{min-height:21rem}.homepage-posts .blog-card-copy{min-height:18rem}.homepage-posts .blog-card-image{aspect-ratio:16/8}.homepage-posts .blog-card:first-child{grid-column:1/-1}.article-shell{background:var(--shell)}.article-shell>.article-breadcrumb{background:var(--surface);border-bottom:1px solid var(--border);gap:.5rem;margin:0;padding:1.2rem clamp(1.5rem,8vw,9rem);display:flex}.article-shell>.article-breadcrumb span{color:var(--faint)}.article-header>p{max-width:55rem;color:var(--text-soft);font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.55}.article-tags{flex-wrap:wrap;gap:.45rem;margin-top:1.6rem;display:flex}.article-tags span{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);padding:.2rem .42rem;font-size:.62rem}.provenance-note{background:var(--surface);width:min(100% - 3rem,49rem);color:var(--muted);border:1px solid var(--border);margin:3rem auto 0;padding:1rem 1.1rem;font-size:.68rem}.provenance-command{color:var(--green);margin-bottom:.45rem;display:block}.article-prose{width:min(100% - 3rem,49rem);color:var(--text-soft);margin:0 auto;padding:clamp(3.5rem,7vw,7rem) 0;font-size:clamp(1rem,1.2vw,1.08rem);line-height:1.82}.article-prose>*+*{margin-top:1.5rem}.article-prose h2,.article-prose h3,.article-prose h4{color:var(--text);letter-spacing:-.035em;font-weight:550;line-height:1.15}.article-prose h2{border-top:1px solid var(--border);margin-top:4.5rem;padding-top:1rem;font-size:clamp(1.8rem,3.5vw,2.7rem)}.article-prose h2:before{color:var(--accent);content:"##";letter-spacing:0;margin-right:.6rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.62em}.article-prose h3{margin-top:3rem;font-size:clamp(1.3rem,2.3vw,1.75rem)}.article-prose p,.article-prose li{text-wrap:pretty}.article-prose a{color:var(--accent-strong);text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-underline-offset:3px}.article-prose strong{color:var(--text);font-weight:600}.article-prose ul,.article-prose ol{padding-left:1.4rem}.article-prose ul{list-style:square}.article-prose ol{list-style:decimal}.article-prose li+li{margin-top:.55rem}.article-prose li::marker{color:var(--accent)}.article-prose blockquote{background:var(--accent-soft);color:var(--text);border-left:3px solid var(--accent);margin-inline:0;padding:1.2rem 1.4rem}.article-prose :not(pre)>code{background:var(--surface);color:var(--purple);border:1px solid var(--border);padding:.14em .34em;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.84em}.article-prose pre{color:#eceff4;border:1px solid var(--border-strong);tab-size:2;background:#242933;margin-block:2rem;padding:1.2rem;font-size:.78rem;line-height:1.65;overflow-x:auto}.article-prose .expressive-code{margin-block:2rem}.article-prose table{border-collapse:collapse;width:100%;margin-block:2rem;font-size:.82rem;display:block;overflow-x:auto}.article-prose th,.article-prose td{border:1px solid var(--border);text-align:left;vertical-align:top;min-width:8rem;padding:.75rem}.article-prose th{background:var(--surface);color:var(--text);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem}.article-prose img{background:var(--surface);border:1px solid var(--border);width:min(100vw - 4rem,64rem);max-width:none;height:auto;margin:2.5rem 50%;display:block;translate:-50%}.article-authors{flex-wrap:wrap;gap:.8rem;display:flex}.article-author{grid-template-columns:2.5rem auto;align-items:center;gap:0 .7rem;display:grid}.article-author-avatar,.article-author-initials{border-radius:50%;grid-row:1/5;width:2.5rem;height:2.5rem}.article-author-avatar{object-fit:cover}.article-author-initials{background:var(--accent-soft);color:var(--accent);place-items:center;display:grid}.article-author p{color:var(--text);font-size:.72rem;font-weight:600;line-height:1.2}.article-author>div>span{color:var(--muted);font-size:.58rem}.article-author-socials{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.article-author-socials a{color:var(--muted);text-decoration:none;display:inline-flex}.article-author-socials a:hover{color:var(--accent)}.article-author-socials svg{fill:currentColor;width:.9rem;height:.9rem}.article-back{flex:none}.status-file{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}@layer responsive{@media (width<=980px){.editor-header{grid-template-columns:max-content minmax(0,1fr) max-content max-content}.wordmark{padding-inline:.9rem}.buffer-tab{padding-inline:.8rem}.editor-buffer{grid-template-columns:3.2rem minmax(0,1fr)}.line-numbers{padding-right:.85rem}.buffer-content{padding-inline:clamp(1.5rem,5vw,4rem)}.section-heading{grid-template-columns:1fr;align-items:start;gap:1.5rem}.engagement-intro,.engagement-panel{grid-template-columns:1fr}.engagement-intro{gap:1.5rem}.engagement-model{border-top:1px solid var(--border-strong);border-left:0}.about-grid{gap:3rem}.timeline-item{grid-template-columns:4rem minmax(150px,.45fr) minmax(280px,1.55fr);gap:1rem}.notes-grid{grid-template-columns:1fr}.note-card{min-height:230px}}@media (width<=860px){.about-grid{grid-template-columns:1fr}.about-copy{max-width:640px}}@media (width<=720px){html{scroll-padding-top:9.15rem}.page-frame{padding:0}.editor{border-width:0}.editor-header{grid-template:"wordmark actions"3.4rem"tabs tabs"3.4rem"status status"1.9rem/max-content minmax(0,1fr);min-height:8.7rem;top:0}.header-action,.theme-toggle{width:2.8rem}.header-actions{grid-area:actions;justify-self:end}.buffer-tabs{border-top:1px solid var(--border);grid-area:tabs}.header-availability{border-top:1px solid var(--border);border-left:0;grid-area:status;gap:.4rem;padding-inline:.25rem;font-size:clamp(.46rem,2.35vw,.68rem)}.wordmark{grid-area:wordmark;font-size:0}.wordmark span{font-size:.8rem}.buffer-tab{min-height:3.4rem;font-size:.66rem}.tab-dot{display:none}.editor-buffer{grid-template-columns:1fr}.line-numbers{display:none}.buffer-content{padding:4.5rem 1.25rem}.hero .buffer-content{padding-top:3.5rem}.code-line{text-overflow:ellipsis;max-width:100%;overflow:hidden}.hero h1 br{display:none}.hero-intro{font-size:1.05rem}.hero-actions{flex-direction:column;align-items:stretch}.button{justify-content:space-between}.impact-grid{grid-template-columns:1fr;margin-top:4.5rem}.impact-grid div,.impact-grid div+div{border-left:0;grid-template-columns:6rem 1fr;align-items:center;padding:1.1rem 0;display:grid}.impact-grid div+div{border-top:1px solid var(--border)}.impact-grid dd{max-width:none;margin-top:0}.about-grid{grid-template-columns:1fr;margin-top:5.5rem}.console-body{white-space:normal;padding-left:.25rem;overflow-x:visible}.skill-line{align-items:flex-start;line-height:1.65}.project-card{grid-template-columns:2.2rem 1fr}.project-index{padding-top:1.8rem}.project-title-row{flex-direction:column;gap:1rem}.project-stack{justify-content:flex-start}.engagement-triggers,.engagement-model-body{padding:1.25rem}.engagement-flow{gap:.45rem}.timeline:before{left:1rem}.timeline-item{grid-template-columns:3rem 1fr;gap:.75rem;padding-bottom:3.2rem}.timeline-marker{width:2rem;height:2rem}.timeline-meta,.timeline-content{grid-column:2}.timeline-content{margin-top:.4rem}.role-entry{flex-direction:column;align-items:flex-start;gap:.2rem}.education-row{flex-direction:column;align-items:flex-start;gap:1rem}.note-card{min-height:250px}.email-link{overflow-wrap:anywhere;max-width:100%}.social-links{gap:1.2rem}.status-location,.status-position{display:none}}@media (width<=430px){.buffer-tab{padding-inline:.65rem}.header-action,.theme-toggle{width:2.55rem}.wordmark{padding-inline:.7rem}.buffer-content{padding-inline:1rem}.impact-grid div,.impact-grid div+div{grid-template-columns:5.3rem 1fr}}@media (height<=600px){.statusline{position:static}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.article-buffer,.blog-grid,.homepage-posts{grid-template-columns:1fr}.article-header{padding-inline:1.25rem}.blog-index-buffer{grid-template-columns:1fr}.blog-index-rail,.article-rail{display:none}.blog-index-content,.article-shell{border-left:0}.blog-grid .blog-card-link{display:flex}.blog-grid .blog-card-image{aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--border);min-height:0}.blog-grid .blog-card-copy{min-height:20rem}.homepage-posts .blog-card:first-child{grid-column:auto}.article-shell>.article-breadcrumb{padding-inline:1.25rem;overflow:hidden}.article-shell>.article-breadcrumb span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.article-prose,.provenance-note{width:min(100% - 2.5rem,49rem)}.article-prose img{width:calc(100vw - 2.5rem)}.article-footer{flex-direction:column;align-items:flex-start}}@media (width<=430px){.article-authors{flex-direction:column}}}
