@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2'),url(fonts/inter-300.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2'),url(fonts/inter-300.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2'),url(fonts/inter-400.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2'),url(fonts/inter-400.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2'),url(fonts/inter-500.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2'),url(fonts/inter-500.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2'),url(fonts/inter-600.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2'),url(fonts/inter-600.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-ext.woff2) format('woff2'),url(fonts/jetbrains-mono-400.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin.woff2) format('woff2'),url(fonts/jetbrains-mono-400.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-ext.woff2) format('woff2'),url(fonts/jetbrains-mono-500.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin.woff2) format('woff2'),url(fonts/jetbrains-mono-500.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/jetbrains-mono-latin-ext.woff2) format('woff2'),url(fonts/jetbrains-mono-700.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/jetbrains-mono-latin.woff2) format('woff2'),url(fonts/jetbrains-mono-700.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Patrick Hand';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/patrick-hand-latin-ext.woff2) format('woff2'),url(fonts/patrick-hand-400.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Patrick Hand';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/patrick-hand-latin.woff2) format('woff2'),url(fonts/patrick-hand-400.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/playfair-display-latin-ext.woff2) format('woff2'),url(fonts/playfair-display-400.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/playfair-display-latin.woff2) format('woff2'),url(fonts/playfair-display-400.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/playfair-display-latin-ext.woff2) format('woff2'),url(fonts/playfair-display-600.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/playfair-display-latin.woff2) format('woff2'),url(fonts/playfair-display-600.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/playfair-display-italic-latin-ext.woff2) format('woff2'),url(fonts/playfair-display-italic-400.woff) format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/playfair-display-italic-latin.woff2) format('woff2'),url(fonts/playfair-display-italic-400.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.is-loading .outer-wrap,.is-loading .skip-link{visibility:hidden}.loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:#fdfbf7;background-image:radial-gradient(#d1d5db 1px,transparent 1px);background-size:24px 24px;transition:opacity 0.4s ease,visibility 0.4s ease}.dark .loader{background-color:#18181b;background-image:radial-gradient(#3f3f46 1px,transparent 1px)}.loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loader-blob{width:100px;height:100px;animation:loader-wobble 1.2s ease-in-out infinite}.loader-squiggle{width:80px;height:16px}.loader-squiggle path{stroke-dasharray:160;stroke-dashoffset:160;animation:loader-draw 1.4s ease-in-out infinite}@keyframes loader-wobble{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-8px) rotate(-4deg)}75%{transform:translateY(-4px) rotate(3deg)}}@keyframes loader-draw{0%{stroke-dashoffset:160}50%{stroke-dashoffset:0}100%{stroke-dashoffset:-160}}@media (prefers-reduced-motion:reduce){.loader-blob{animation:none}.loader-squiggle path{animation:none;stroke-dashoffset:0}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;flex-direction:column;align-items:center;position:relative;padding-top:6rem;overflow-x:clip;background-color:var(--bg);color:var(--ink);background-image:radial-gradient(var(--dot-color) 1px,transparent 1px);background-size:24px 24px}::selection{background:var(--accent-pop);color:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}ul{list-style:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}:root{--bg:#fdfbf7;--surface:#ffffff;--ink:#2a2a2a;--text:#27272a;--muted:#71717a;--muted-dark:#a1a1aa;--accent-pop:#ff4d8d;--accent-blue:#4f46e5;--accent-green:#10b981;--accent-orange:#f97316;--shadow-sketch:2px 3px 0px 0px rgba(0,0,0,0.8);--shadow-sketch-sm:1px 2px 0px 0px rgba(0,0,0,0.8);--border-color:#2a2a2a;--dot-color:#d1d5db;--nav-bg:rgba(255,255,255,0.9);--border-faint:rgba(42,42,42,0.2)}.dark{--bg:#18181b;--surface:#27272a;--ink:#e4e4e7;--text:#e4e4e7;--muted:#71717a;--muted-dark:#a1a1aa;--shadow-sketch:2px 3px 0px 0px rgba(255,255,255,0.85);--shadow-sketch-sm:1px 2px 0px 0px rgba(255,255,255,0.85);--border-color:#e4e4e7;--dot-color:#3f3f46;--nav-bg:rgba(39,39,42,0.9);--border-faint:rgba(255,255,255,0.2)}.font-sans{font-family:'Inter',sans-serif}.font-serif{font-family:'Playfair Display',serif}.font-hand{font-family:'Patrick Hand',cursive}.font-mono{font-family:'JetBrains Mono',monospace}.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:0.5rem;left:0.5rem;z-index:100;width:auto;height:auto;clip:auto;padding:0.5rem 1rem;background:var(--accent-pop);color:#fff;border-radius:0.25rem;font-weight:700}.outer-wrap{overflow-x:hidden;width:100%;display:flex;flex-direction:column;align-items:center}.main-content{width:100%;max-width:56rem;padding:0 1.5rem 5rem;z-index:10;position:relative}.roughen{filter:url(#hand-drawn);transition:none}.svg-filters{position:absolute;width:0;height:0;overflow:visible}.deco-star{position:fixed;top:2.5rem;left:2.5rem;opacity:0.2;pointer-events:none;transform:rotate(12deg);display:none}.site-nav{position:fixed;top:1.5rem;left:50%;transform:translateX(-50%);z-index:60}.nav-blur{position:absolute;inset:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:0.5rem;transform:rotate(-1deg)}.nav-inner{position:relative;display:flex;align-items:center;gap:1rem;padding:0.75rem 1rem;border-radius:0.5rem;background:var(--nav-bg);box-shadow:var(--shadow-sketch);border:2px solid var(--border-color);transform:rotate(-1deg);will-change:transform;max-width:calc(100vw - 2rem)}.nav-link{font-family:'Patrick Hand',cursive;font-weight:700;font-size:0.875rem;color:var(--ink);position:relative;transition:all 0.2s}.nav-link:hover::after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:2px;background:#2a2a2a;border-radius:2px;transform:rotate(-2deg)}.dark .nav-link:hover::after{background:#fff}.nav-divider{width:2px;height:1.5rem;background:var(--ink);margin:0 0.25rem;border-radius:9999px;transform:rotate(3deg)}.theme-toggle{padding:0.25rem;border-radius:9999px;transition:background-color 0.2s;display:flex;align-items:center}.theme-toggle:hover{background:var(--surface)}.icon-sun,.icon-moon{width:1.25rem;height:1.25rem;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.3s}.icon-moon{display:none}.dark .icon-sun{display:none}.dark .icon-moon{display:block;stroke:#fff}.theme-toggle:hover .icon-sun{transform:rotate(45deg)}.theme-toggle:hover .icon-moon{transform:rotate(-12deg)}.hero{display:flex;flex-direction:column;gap:2.5rem;align-items:center;margin-bottom:5rem;margin-top:3rem}.avatar-wrap{flex-shrink:0;position:relative}.hello-arrow{position:absolute;left:-5rem;top:2rem;width:5rem;opacity:0.8;display:none;z-index:-1}.hello-arrow svg{color:var(--accent-pop);transform:rotate(6deg)}.hello-text{position:absolute;top:-1.5rem;left:-0.5rem;font-family:'Patrick Hand',cursive;color:var(--muted);font-size:1.25rem;transform:rotate(-6deg);width:6rem;text-align:center}.dark .hello-text{color:var(--muted-dark)}.avatar-frame{position:relative;width:8rem;height:8rem}.avatar-shadow{position:absolute;inset:0;border:2px solid var(--border-color);border-radius:9999px;transform:translate(4px,4px);z-index:0}.avatar-outline{position:absolute;inset:0;border:2px solid var(--border-color);border-radius:9999px;z-index:20;pointer-events:none}.dark .avatar-shadow,.dark .avatar-outline{border-color:#fff}.avatar-clip{position:absolute;inset:0;border-radius:9999px;overflow:hidden;z-index:10}.avatar-img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transform:scale(1.25) translateY(15px);filter:grayscale(1);transition:all 0.5s;background:#fff;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.avatar-img:hover{filter:grayscale(0)}.online-dot{position:absolute;bottom:0.5rem;right:0.5rem;width:1.25rem;height:1.25rem;background:#22c55e;border:2px solid #fff;border-radius:9999px;z-index:30;animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}.dark .online-dot{border-color:var(--surface)}.hero-text{flex:1;text-align:center}.hero-name{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:700;margin-bottom:1rem;letter-spacing:-0.025em;color:var(--ink);position:relative;display:inline-block}.dark .hero-name{color:#fff}.hero-chart-icon{position:absolute;top:-2rem;right:-1.5rem;width:2.5rem;height:2.5rem;color:var(--accent-pop);transform:rotate(-12deg)}.hero-tagline{margin-bottom:1.5rem}.hero-tagline p{font-family:'Patrick Hand',cursive;font-size:1.25rem;color:var(--accent-pop);font-weight:700;transform:rotate(-1deg);display:inline-block;background:rgba(255,77,141,0.1);padding:0.25rem 0.5rem;border-radius:0.25rem}.hero-bio{color:var(--ink);font-size:1rem;line-height:1.75rem;font-family:'Inter',sans-serif}.dark .hero-bio{color:var(--text)}.hero-bio .bold{font-weight:700}.scribble-underline{position:relative;display:inline-block;font-weight:700}.scribble-underline::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:6px;background-image:url("data:image/svg+xml,%3Csvg width='100' height='10' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 5 Q 10 10, 20 5 T 40 5 T 60 5 T 80 5 T 100 5' stroke='%23ff4d8d' stroke-width='2' vector-effect='non-scaling-stroke' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat}.distributed-text{font-family:'Patrick Hand',cursive;font-weight:700;font-size:1.125rem;vertical-align:middle;margin:0 0.25rem}.devops-text{font-weight:700;border-bottom:2px dashed var(--border-color)}.dark .devops-text{border-color:#fff}.company-inline{display:inline-flex;align-items:center;gap:0.5rem;vertical-align:middle;margin:0 0.25rem;cursor:default}.company-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#fff;border:2px solid var(--border-color);border-radius:9999px;box-shadow:var(--shadow-sketch-sm);transition:transform 0.2s}.company-icon:hover{transform:translateY(-2px)}.company-icon img{height:1rem;width:1rem;object-fit:contain}.company-name{font-weight:700;color:var(--ink)}.dark .company-name{color:#fff}.hero-buttons{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.sketch-radius{border-radius:255px 15px 225px 15px / 15px 225px 15px 255px}.btn-primary{border:2px solid var(--border-color);background:var(--surface);padding:0.5rem 1.5rem;font-size:0.875rem;font-weight:700;font-family:'Patrick Hand',cursive;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink);box-shadow:var(--shadow-sketch-sm);transition:all 0.3s;display:inline-block}.dark .btn-primary{color:#fff}.btn-primary:hover{background:var(--accent-pop);color:#fff;box-shadow:var(--shadow-sketch);transform:translateY(-4px)}.btn-outline{border:2px dashed var(--border-color);background:transparent;padding:0.5rem 1.5rem;font-size:0.875rem;font-weight:700;font-family:'Patrick Hand',cursive;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink);transition:all 0.3s;display:inline-block}.dark .btn-outline{color:#fff}.btn-outline:hover{background:var(--ink);color:var(--bg)}.social-stack-row{display:flex;flex-direction:column;gap:2rem;margin-bottom:5rem;align-items:stretch}.social-links{display:flex;gap:1rem;justify-content:center}.social-btn{position:relative;overflow:hidden;border-radius:0.5rem;border:2px solid var(--border-color);background:var(--surface);padding:1rem;display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;box-shadow:var(--shadow-sketch-sm);transition:all 0.3s}.social-btn:hover{box-shadow:var(--shadow-sketch);transform:translateY(-4px) rotate(2deg)}.social-btn:nth-child(2):hover{transform:translateY(-4px) rotate(-2deg)}.social-btn svg{width:2rem;height:2rem;fill:var(--ink)}.dark .social-btn svg{fill:#fff}.stack-bar{flex:1;position:relative;min-height:4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem}.stack-bar-bg{position:absolute;inset:0;border-radius:0.5rem;border:2px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sketch-sm);pointer-events:none}.stack-label{position:relative;z-index:10;font-family:'Patrick Hand',cursive;font-weight:700;font-size:1.125rem;color:var(--ink);white-space:nowrap;transform:rotate(-2deg)}.dark .stack-label{color:#fff}.stack-badges{position:relative;z-index:10;display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center}.badge{position:relative;font-family:'JetBrains Mono',monospace;font-size:0.875rem;font-weight:700;padding:0.25rem 0.5rem;display:block}.badge-bg{position:absolute;inset:0;border-radius:0.25rem;pointer-events:none}.badge--pop{color:var(--accent-pop)}.badge--pop .badge-bg{background:rgba(255,77,141,0.1);border:1px solid rgba(255,77,141,0.4)}.dark .badge--pop .badge-bg{background:rgba(255,77,141,0.2)}.badge--blue{color:var(--accent-blue)}.badge--blue .badge-bg{background:rgba(79,70,229,0.1);border:1px solid rgba(79,70,229,0.4)}.dark .badge--blue .badge-bg{background:rgba(79,70,229,0.2)}.badge--green{color:var(--accent-green)}.badge--green .badge-bg{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.4)}.dark .badge--green .badge-bg{background:rgba(16,185,129,0.2)}.badge--orange{color:var(--accent-orange)}.badge--orange .badge-bg{background:rgba(249,115,22,0.1);border:1px solid rgba(249,115,22,0.4)}.dark .badge--orange .badge-bg{background:rgba(249,115,22,0.2)}.rot-1{transform:rotate(1deg)}.rot-n1{transform:rotate(-1deg)}.rot-2{transform:rotate(2deg)}.rot-n2{transform:rotate(-2deg)}.rot-n3{transform:rotate(-3deg)}.section{margin-bottom:5rem}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.section-title{font-family:'Playfair Display',serif;font-size:1.875rem;font-weight:700;letter-spacing:-0.025em;color:var(--ink);position:relative;display:inline-block}.dark .section-title{color:#fff}.section-squiggle{width:6rem;height:1rem;color:var(--accent-pop);stroke:currentColor}.timeline{display:flex;flex-direction:column;gap:2.5rem;position:relative;padding-left:0}.timeline-line{position:absolute;left:0.75rem;width:2px;background:var(--border-faint);display:none}.timeline-entry{position:relative}.timeline-dot{position:absolute;left:-35px;top:0.5rem;width:1rem;height:1rem;background:var(--surface);border:2px solid var(--border-color);border-radius:9999px;display:none;transition:background-color 0.2s}.dark .timeline-dot{border-color:#fff}.timeline-entry:hover .timeline-dot{background:var(--accent-pop)}.timeline-row{display:flex;flex-direction:column;gap:0.5rem}.timeline-date{width:8rem;flex-shrink:0;font-family:'Patrick Hand',cursive;font-size:1rem;color:var(--muted)}.dark .timeline-date{color:var(--muted-dark)}.timeline-body{flex:1}.timeline-company{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--ink);display:flex;align-items:center;flex-wrap:wrap;gap:0.75rem}.dark .timeline-company{color:#fff}.current-badge{font-family:'Patrick Hand',cursive;font-size:0.875rem;background:var(--accent-pop);color:#fff;padding:0.25rem 0.75rem;border-radius:9999px;transform:rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,0.1);border:1px solid rgba(0,0,0,0.1);display:inline-block}.timeline-role{font-family:'JetBrains Mono',monospace;font-size:0.75rem;color:var(--muted);margin:0.5rem 0 0.75rem;text-transform:uppercase;letter-spacing:0.05em}.dark .timeline-role{color:var(--muted-dark)}.timeline-desc{font-size:0.875rem;color:var(--muted);line-height:1.625;font-family:'Inter',sans-serif;border-left:2px solid;padding-left:1rem}.dark .timeline-desc{color:var(--muted-dark)}.timeline-desc--pop{border-color:rgba(255,77,141,0.5)}.timeline-desc--muted{border-color:#e4e4e7}.projects-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem}.projects-header .deco-arrow{display:none}.deco-arrow svg{color:var(--muted)}.dark .deco-arrow svg{color:var(--muted-dark)}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}.project-card{display:block;position:relative;padding-top:2rem;height:100%;transition:all 0.3s}.project-card:hover{transform:translateY(-4px) rotate(2deg)}.project-card--alt:hover{transform:translateY(-4px) rotate(-2deg)}.project-card--wide:hover{transform:translateY(-4px) rotate(1deg)}.project-inner{position:relative;z-index:10;height:100%;display:flex;flex-direction:column}.project-tab{position:relative;height:2.5rem;margin-bottom:-2px;margin-left:1rem;z-index:20}.project-tab-shape{position:absolute;left:0;bottom:0;top:0;width:8rem;transform:skewX(-6deg);transform-origin:bottom left}.project-tab-shape--wide{width:10rem}.project-tab-bg{position:absolute;inset:0;border-radius:0.5rem 0.5rem 0 0;border:2px solid var(--border-color);border-bottom:0}.project-tab-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:skewX(6deg);font-family:'Patrick Hand',cursive;font-weight:700}.project-body{flex:1;position:relative;padding:1.5rem;display:flex;flex-direction:column;height:100%}.project-body-bg{position:absolute;inset:0;background:var(--surface);border-radius:0.75rem;border-top-left-radius:0;border:2px solid var(--border-color);transition:box-shadow 0.3s;pointer-events:none}.project-body-content{position:relative;z-index:10;display:flex;flex-direction:column;height:100%}.project-wide-text{margin-bottom:1rem}.project-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:0.5rem;transition:color 0.2s}.dark .project-title{color:#fff}.project-desc{font-size:0.875rem;color:var(--muted);font-weight:700;line-height:1.625;margin-bottom:1rem}.dark .project-desc{color:var(--muted-dark)}.project-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:auto;padding-top:1rem;border-top:2px dashed var(--border-faint)}.project-tag{font-family:'JetBrains Mono',monospace;font-size:0.75rem;font-weight:700;padding:0.25rem 0.5rem;border-radius:0.25rem}.project--blue .project-tab-bg{background:rgba(79,70,229,0.1);border-color:var(--border-color)}.project--blue .project-tab-label{color:var(--accent-blue)}.project--blue .project-body-bg{box-shadow:4px 4px 0px 0px #4f46e5}.project--blue:hover .project-body-bg{box-shadow:6px 6px 0px 0px #4f46e5}.project--blue:hover .project-title{color:var(--accent-blue)}.project--blue .project-tag{background:rgba(79,70,229,0.1);color:var(--accent-blue);border:1px solid rgba(79,70,229,0.4)}.dark .project--blue .project-tab-bg{background:rgba(79,70,229,0.2);border-color:rgba(79,70,229,0.4)}.dark .project--blue .project-body-bg{border-color:rgba(79,70,229,0.4)}.dark .project--blue .project-tag{background:rgba(79,70,229,0.2)}.project--green .project-tab-bg{background:rgba(16,185,129,0.1);border-color:var(--border-color)}.project--green .project-tab-label{color:var(--accent-green)}.project--green .project-body-bg{box-shadow:4px 4px 0px 0px #10b981}.project--green:hover .project-body-bg{box-shadow:6px 6px 0px 0px #10b981}.project--green:hover .project-title{color:var(--accent-green)}.project--green .project-tag{background:rgba(16,185,129,0.1);color:var(--accent-green);border:1px solid rgba(16,185,129,0.4)}.dark .project--green .project-tab-bg{background:rgba(16,185,129,0.2);border-color:rgba(16,185,129,0.4)}.dark .project--green .project-body-bg{border-color:rgba(16,185,129,0.4)}.dark .project--green .project-tag{background:rgba(16,185,129,0.2)}.project--orange .project-tab-bg{background:rgba(249,115,22,0.1);border-color:var(--border-color)}.project--orange .project-tab-label{color:var(--accent-orange)}.project--orange .project-body-bg{box-shadow:4px 4px 0px 0px #f97316}.project--orange:hover .project-body-bg{box-shadow:6px 6px 0px 0px #f97316}.project--orange:hover .project-title{color:var(--accent-orange)}.project--orange .project-tag{background:rgba(249,115,22,0.1);color:var(--accent-orange);border:1px solid rgba(249,115,22,0.4)}.dark .project--orange .project-tab-bg{background:rgba(249,115,22,0.2);border-color:rgba(249,115,22,0.4)}.dark .project--orange .project-body-bg{border-color:rgba(249,115,22,0.4)}.dark .project--orange .project-tag{background:rgba(249,115,22,0.2)}.project-deco{position:absolute;opacity:0.1;pointer-events:none}.project-deco--hatch{top:0;right:0;width:5rem;height:5rem}.project-deco--face{bottom:-0.5rem;right:-0.5rem;opacity:0.2;transform:rotate(12deg)}.blog-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:2rem}.blog-header svg{width:2rem;height:2rem;color:var(--muted);stroke:currentColor;fill:none}.dark .blog-header svg{color:var(--muted-dark)}.blog-list{display:flex;flex-direction:column;gap:1.5rem}.blog-link{position:relative;display:flex;flex-direction:column;gap:0.5rem;padding:1rem}.blog-link-bg{position:absolute;inset:0;border-radius:0.5rem;border:2px solid transparent;transition:background-color 0.2s,border-color 0.2s,box-shadow 0.2s;pointer-events:none}.blog-link:hover .blog-link-bg{background:var(--surface);border-color:var(--border-color);box-shadow:var(--shadow-sketch-sm)}.blog-link-inner{position:relative;z-index:10;display:flex;flex-direction:column;justify-content:space-between;width:100%;gap:0.5rem}.blog-title{font-family:'Patrick Hand',cursive;font-weight:700;font-size:1rem;color:var(--ink);transition:color 0.2s}.dark .blog-title{color:var(--text)}.blog-link:hover .blog-title{color:var(--accent-pop)}.blog-date{font-family:'JetBrains Mono',monospace;font-size:0.75rem;color:var(--muted);white-space:nowrap;border-bottom:1px solid #e4e4e7;padding-bottom:0.25rem}.dark .blog-date{color:var(--muted-dark)}.site-footer{margin-top:3rem;padding-top:2rem;border-top:2px dashed rgba(42,42,42,0.3);padding-bottom:2rem;position:relative}.dark .site-footer{border-top-color:rgba(255,255,255,0.2)}.footer-heart{position:absolute;top:-1rem;left:50%;transform:translateX(-50%);background:var(--bg);padding:0 0.5rem}.footer-heart svg{color:var(--muted);width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:2}.footer-inner{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1rem}.footer-copy{font-family:'Patrick Hand',cursive;font-size:0.875rem;color:var(--muted);font-weight:700}.dark .footer-copy{color:var(--muted-dark)}.footer-wavy{text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:2px;text-decoration-color:var(--accent-pop)}.footer-socials{display:flex;gap:1.5rem}.footer-social-link{color:var(--ink);transition:color 0.2s,transform 0.2s}.dark .footer-social-link{color:var(--muted-dark)}.footer-social-link:hover{color:var(--accent-pop);transform:scale(1.1)}.dark .footer-social-link:hover{color:#fff}.footer-social-link svg{width:1.5rem;height:1.5rem}#toast-container{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);z-index:9998;display:flex;flex-direction:column-reverse;align-items:center;gap:0.75rem;pointer-events:none}.toast{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1.5rem;background:var(--surface);border:2px solid var(--border-color);border-radius:255px 15px 225px 15px / 15px 225px 15px 255px;box-shadow:var(--shadow-sketch);font-family:'Patrick Hand',cursive;font-size:1.125rem;font-weight:700;color:var(--ink);white-space:nowrap;opacity:0;transform:translateY(1rem) scale(0.95) rotate(-2deg);transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1),opacity 0.3s ease;filter:url(#hand-drawn)}.dark .toast{color:#fff}.toast.is-visible{transform:translateY(0) scale(1) rotate(-2deg);opacity:1}.toast.is-exiting{transform:translateY(0) scale(0.9) rotate(-2deg);opacity:0;transition:transform 0.25s ease-in,opacity 0.2s ease-in}.toast-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;flex-shrink:0}.toast-icon svg{width:1rem;height:1rem;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.toast-icon--info{background:rgba(255,77,141,0.15);border:1.5px solid rgba(255,77,141,0.4)}.toast-icon--info svg{stroke:var(--accent-pop)}.toast-icon--success{background:rgba(16,185,129,0.15);border:1.5px solid rgba(16,185,129,0.4)}.toast-icon--success svg{stroke:var(--accent-green)}.toast-icon--warning{background:rgba(249,115,22,0.15);border:1.5px solid rgba(249,115,22,0.4)}.toast-icon--warning svg{stroke:var(--accent-orange)}.toast-icon--error{background:rgba(239,68,68,0.15);border:1.5px solid rgba(239,68,68,0.4)}.toast-icon--error svg{stroke:#ef4444}.deco-blob{position:fixed;bottom:2.5rem;right:2.5rem;opacity:0.1;pointer-events:none;display:none}.doodle-burst{position:fixed;width:85px;height:85px;pointer-events:none;overflow:visible;transform-origin:center center;z-index:9999}.doodle-burst path{stroke:var(--accent-pop);stroke-width:2;stroke-linecap:round;fill:none;stroke-dasharray:24;stroke-dashoffset:24;animation:funky-burst 0.4s ease-in-out forwards}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes float{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(2deg)}100%{transform:translateY(0) rotate(0deg)}}.doodle-float{animation:float 4s ease-in-out infinite}@keyframes funky-burst{0%{stroke-dashoffset:24;opacity:0}15%{opacity:1}50%{stroke-dashoffset:0}85%{opacity:1}100%{stroke-dashoffset:-24;opacity:0}}@media (prefers-reduced-motion:reduce){.doodle-float{animation:none}.doodle-burst path{animation:none}.online-dot{animation:none}}@media (min-width:640px){.timeline{padding-left:2.5rem}.timeline-line{display:block}.timeline-dot{display:block}.timeline-row{flex-direction:row;align-items:baseline;gap:1.5rem}.blog-link{margin-left:-1rem;margin-right:-1rem}.blog-link-inner{flex-direction:row;align-items:baseline;gap:1rem}}@media (min-width:768px){.nav-inner{padding:1rem 2rem;gap:2rem}.nav-link{font-size:1rem}.icon-sun,.icon-moon{width:1.5rem;height:1.5rem}.hero{flex-direction:row;align-items:flex-start}.avatar-frame{width:10rem;height:10rem}.hero-text{text-align:left}.hero-buttons{justify-content:flex-start}.hero-name{font-size:3.75rem}.hero-tagline p{font-size:1.5rem}.hero-bio{font-size:1.125rem}.social-stack-row{flex-direction:row}.social-links{width:auto}.stack-bar{flex-direction:row;justify-content:space-between;padding:0 1.5rem}.stack-badges{justify-content:flex-end;gap:0.75rem}.stack-label{font-size:1.25rem}.section-title{font-size:2.25rem}.timeline-date{font-size:1.125rem}.timeline-company{font-size:1.5rem}.timeline-desc{font-size:1rem}.projects-header .deco-arrow{display:block}.projects-grid{grid-template-columns:repeat(2,1fr)}.project-card--wide{grid-column:span 2}.project-title{font-size:1.5rem}.project-desc{font-size:1rem}.project-wide-content{flex-direction:row;justify-content:space-between}.project-wide-text{padding-right:2.5rem;margin-bottom:0}.project-wide-text .project-desc{max-width:32rem}.project-wide-tags{margin-top:0;padding-top:0;border-top:none;align-self:flex-end}.blog-title{font-size:1.125rem}.blog-date{font-size:0.8125rem}.footer-inner{flex-direction:row}.footer-copy{font-size:1rem}}@media (min-width:1024px){.deco-star{display:block}.deco-blob{display:block}.hello-arrow{display:block}}.blog-index-page{margin-top:3rem}.blog-search-wrap{position:relative;margin-bottom:2.5rem}.blog-search-bar-bg{position:absolute;inset:0;border-radius:0.5rem;border:2px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sketch-sm);pointer-events:none}.blog-search-bar{position:relative;z-index:10;width:100%;padding:0.75rem 1rem;font-family:'Patrick Hand',cursive;font-size:1.125rem;font-weight:700;color:var(--ink);background:transparent;border:none;outline:none}.dark .blog-search-bar{color:#fff}.blog-search-bar::placeholder{color:var(--muted);opacity:1}.dark .blog-search-bar::placeholder{color:var(--muted-dark)}.blog-no-results{text-align:center;font-family:'Patrick Hand',cursive;font-size:1.125rem;color:var(--muted);padding:3rem 1rem}.dark .blog-no-results{color:var(--muted-dark)}.blog-pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.5rem}.blog-page-btn{padding:0.4rem 1.25rem;font-size:0.8125rem}.blog-page-btn:disabled{opacity:0.35;pointer-events:none}.blog-page-info{font-family:'JetBrains Mono',monospace;font-size:0.8125rem;color:var(--muted)}.dark .blog-page-info{color:var(--muted-dark)}.blog-view-all{display:inline-block;margin-top:1.5rem;font-family:'Patrick Hand',cursive;font-size:1rem;font-weight:700;color:var(--accent-pop);transition:opacity 0.2s}.blog-view-all:hover{opacity:0.7}.blog-post-page{margin-top:3rem}.blog-back-link{display:inline-flex;align-items:center;gap:0.5rem;font-family:'Patrick Hand',cursive;font-size:1rem;font-weight:700;color:var(--muted);margin-bottom:2rem;transition:color 0.2s}.dark .blog-back-link{color:var(--muted-dark)}.blog-back-link:hover{color:var(--accent-pop)}.blog-post-header{margin-bottom:2.5rem}.blog-post-title{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:700;letter-spacing:-0.025em;color:var(--ink);margin-bottom:0.75rem}.dark .blog-post-title{color:#fff}.blog-post-date{display:block;font-family:'JetBrains Mono',monospace;font-size:0.8125rem;color:var(--muted)}.dark .blog-post-date{color:var(--muted-dark)}.blog-hero-wrap{position:relative;margin-bottom:2.5rem}.blog-hero-bg{position:absolute;inset:0;border-radius:0.5rem;border:2px solid var(--border-color);box-shadow:var(--shadow-sketch);background-color:var(--surface);z-index:-1;pointer-events:none}.dark .blog-hero-bg{background-color:var(--surface-dark,#1a1a2e)}.blog-hero-img{display:block;width:100%;border-radius:0.5rem;object-fit:cover;max-height:28rem}.blog-post-content{font-family:'Inter',sans-serif;font-size:1.0625rem;line-height:1.8;color:var(--ink)}.dark .blog-post-content{color:var(--text)}.blog-post-content p{margin-bottom:1.5rem}.blog-post-content strong{font-weight:700}.blog-post-content a{color:var(--accent-pop);text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-skip-ink:none}.blog-post-content code{font-family:'JetBrains Mono',monospace;font-size:0.875em;background:rgba(0,0,0,0.05);padding:0.15em 0.35em;border-radius:0.25rem}.dark .blog-post-content code{background:rgba(255,255,255,0.1)}.code-block-wrapper{position:relative;margin-bottom:1.5rem;z-index:1}.code-block-bg{position:absolute;inset:0;border-radius:0.5rem;border:2px solid var(--border-color);box-shadow:var(--shadow-sketch-sm);background-color:var(--surface);z-index:-1;pointer-events:none}.dark .code-block-bg{background-color:#24292e}.copy-code-btn{position:absolute;top:0.5rem;right:0.5rem;background:var(--surface);border:2px solid var(--border-color);color:var(--ink);border-radius:0.375rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all 0.2s;z-index:10;box-shadow:var(--shadow-sketch-sm)}.dark .copy-code-btn{color:#fff}.code-block-wrapper:hover .copy-code-btn{opacity:1}.copy-code-btn:hover{background:var(--accent-pop);color:#fff}.copy-code-btn.copied{background:var(--accent-green);color:#fff;border-color:var(--accent-green)}.blog-post-content .code-block-wrapper pre{margin-bottom:0}.shiki{color:var(--shiki-light);background-color:var(--shiki-light-bg)}html.dark .shiki{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}.shiki span{color:var(--shiki-light)}html.dark .shiki span{color:var(--shiki-dark)}.blog-post-content pre.shiki{padding:1rem 1.25rem;border-radius:0.5rem;overflow-x:auto;margin:0;border:none;box-shadow:none;background-color:transparent !important}.dark .blog-post-content pre.shiki{background-color:transparent !important}.blog-post-content pre:not(.shiki){padding:1rem 1.25rem;border-radius:0.5rem;overflow-x:auto;margin:0;border:none;box-shadow:none;background:transparent;color:var(--ink)}.dark .blog-post-content pre:not(.shiki){background:transparent;color:#e4e4e7}.blog-post-content pre code{background:transparent;padding:0;color:inherit;font-size:0.875rem;line-height:1.5}.dark .blog-post-content pre code{background:transparent}.terminal-screen-wrapper{position:relative;margin-bottom:1.5rem;z-index:1}.terminal-screen-bg{position:absolute;inset:0;border-radius:0.5rem;border:2px solid var(--border-color);box-shadow:var(--shadow-sketch);background-color:var(--surface);z-index:-1;pointer-events:none}.dark .terminal-screen-bg{background-color:#1e1e1e}.terminal-screen-bg::before{content:"";position:absolute;top:2rem;left:0;right:0;height:2px;background-color:var(--border-color)}.terminal-screen{background-color:transparent;border-radius:0.5rem;overflow:hidden;position:relative;margin:0;border:none;box-shadow:none}.dark .terminal-screen{background-color:transparent}.terminal-screen::before{content:"";display:block;height:2rem;background-color:rgba(0,0,0,0.05);position:relative}.dark .terminal-screen::before{background-color:rgba(255,255,255,0.05)}.terminal-screen::after{content:"";position:absolute;top:0.65rem;left:0.75rem;width:0.75rem;height:0.75rem;border-radius:50%;background:#ff5f56;box-shadow:1.25rem 0 0 #ffbd2e,2.5rem 0 0 #27c93f}.blog-post-content .terminal-screen pre{margin:0 !important;border:none !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important;padding:1.25rem !important}.dark .blog-post-content .terminal-screen pre{background:transparent !important}.terminal-screen pre code{color:var(--accent-green)}.blog-post-content ul{list-style:disc;padding-left:1.5rem;margin-bottom:1.5rem}.blog-post-content li{margin-bottom:0.5rem}.blog-post-empty{text-align:center;padding:4rem 1rem;color:var(--muted);font-family:'Patrick Hand',cursive;font-size:1.25rem}.dark .blog-post-empty{color:var(--muted-dark)}@media (min-width:768px){.blog-post-title{font-size:3rem}}