@font-face{font-family:Caveat Brush;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0852124ba524680-s.0-h8_7gm6e55s.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Brush;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bbbeb3eb1c763348-s.p.1nj78fbjd7aa2.woff2)format("woff2");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:Caveat Brush Fallback;src:local(Arial);ascent-override:120.9%;descent-override:37.78%;line-gap-override:0.0%;size-adjust:79.41%}.kWX2pW_className{font-family:Caveat Brush,Caveat Brush Fallback;font-style:normal;font-weight:400}.kWX2pW_variable{--font-heading:"Caveat Brush", "Caveat Brush Fallback"}
@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c7104fc689f91cec-s.34afi_j1p0a6k.woff2)format("woff2");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:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a26175ae00aab94b-s.26f9ryzsbsglu.woff2)format("woff2");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-20C4,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(../media/ab71ef6cb3cac5a2-s.p.1qijn9nev9bbg.woff2)format("woff2");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:Patrick Hand Fallback;src:local(Arial);ascent-override:127.97%;descent-override:38.32%;line-gap-override:0.0%;size-adjust:81.43%}.Ah3fQG_className{font-family:Patrick Hand,Patrick Hand Fallback;font-style:normal;font-weight:400}.Ah3fQG_variable{--font-body:"Patrick Hand", "Patrick Hand Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.flex{display:flex}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}}:root{--paper:#faf7ef;--ink:#444543;--muted:#686b66;--blue:#b0d4f1;--yellow:#f2e399;--rule:#d5e4e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{color:var(--ink);background:var(--paper);font-family:var(--font-body), "Segoe Print", cursive;margin:0;font-size:20px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:6px;outline:2px dashed #326a96}main:focus{outline:none}::selection{color:var(--ink);background:var(--yellow)}.notebook{background-image:linear-gradient(to bottom, transparent 31px, var(--rule) 31px, var(--rule) 32px);background-size:100% 32px;min-height:100vh;position:relative}.paper-margin{opacity:.65;pointer-events:none;background:#e6b9b6;width:1px;position:absolute;inset:0 auto 0 max(24px,50% - 520px)}.page-shell{max-width:964px;margin:auto;padding:0 32px}.site-header{border-bottom:1px dashed #8f9c9c;justify-content:space-between;align-items:center;min-height:97px;display:flex}.wordmark{font-family:var(--font-heading), cursive;align-items:center;gap:12px;font-size:31px;display:flex}.profile-avatar{object-fit:cover;border:1.5px solid var(--ink);border-radius:45% 51% 42% 48%;width:38px;height:38px;transform:rotate(-7deg)}.blue-dot{color:#4b80a8}nav{align-items:center;gap:31px;display:flex}.ink-link{background:linear-gradient(var(--blue), var(--blue)) left 90% / 0 55% no-repeat;transition:background-size .2s}.ink-link:hover{background-size:100% 55%}.ink-link[aria-current]{background-image:linear-gradient(var(--yellow), var(--yellow));background-size:100% 55%}.nav-note{background:var(--yellow);clip-path:polygon(2% 7%,98% 0,95% 96%,0 91%);place-items:center;width:39px;height:32px;display:grid;transform:rotate(4deg)}.hero{grid-template-columns:1.55fr 1fr;align-items:center;gap:32px;padding:65px 0 64px;display:grid}.intro-copy{min-width:0}.eyebrow{letter-spacing:1.7px;color:var(--muted);align-items:center;gap:8px;font-family:ui-monospace,monospace;font-size:10px;line-height:1.6;display:flex}.tiny-star{color:#436e90;font-size:21px;line-height:1}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-heading), "Segoe Print", cursive;font-weight:400}h1{letter-spacing:-1.3px;margin-top:22px;font-size:clamp(44px,5.1vw,62px);line-height:1.1;position:relative}.name-highlight{isolation:isolate;white-space:nowrap;position:relative}.name-highlight:after{content:"";z-index:-1;background:var(--blue);clip-path:polygon(1% 14%,99% 0,97% 93%,0 100%);height:38%;position:absolute;bottom:0;left:-4px;right:-5px;transform:rotate(-1.2deg)}.wave{margin-left:11px;font-size:29px;display:inline-block;transform:rotate(-12deg)}.intro-lead{margin:26px 0 10px;font-size:23px}.intro-description{max-width:480px;color:var(--muted);font-size:20px;line-height:1.6}.text-cta{border-bottom:1px dashed #718b96;align-items:center;gap:10px;margin-top:23px;font-size:18px;transition:gap .2s;display:inline-flex}.text-cta:hover{gap:17px}.intro-actions{flex-wrap:wrap;align-items:baseline;gap:24px;display:flex}.intro-contact{align-items:center;gap:6px;font-size:18px;display:inline-flex}.intro-contact:hover{text-underline-offset:5px;-webkit-text-decoration:underline #89b2cc;text-decoration:underline #89b2cc}.hero-art{padding:12px 8px 20px;position:relative}.portrait-note{background:#fffdf8;border:1px solid #d3cfc3;max-width:267px;margin:auto;padding:9px 9px 13px;position:relative;transform:rotate(5deg);box-shadow:4px 5px #45454312}.portrait-note svg{background:#e9e9db;width:100%;display:block}.portrait-caption{text-align:center;color:#6b6a60;padding-top:7px;font-size:17px;display:block}.tape{z-index:1;clip-path:polygon(4% 0,98% 3%,94% 28%,100% 51%,95% 74%,99% 96%,0 100%,4% 75%,0 51%);background:#e8dca9bf;width:88px;height:30px;position:absolute;top:-15px;left:34%;transform:rotate(-9deg)}.side-note{color:var(--muted);text-align:center;margin-top:26px;font-size:17px;display:block;transform:rotate(-5deg)}.section{padding:0 0 55px;scroll-margin-top:20px}.section-heading{align-items:baseline;gap:15px;margin-bottom:13px;display:flex}.section-number{color:#747d7b;letter-spacing:1px;flex-shrink:0;font-family:ui-monospace,monospace;font-size:11px}h2{font-size:34px;line-height:1.25}.heading-icon{vertical-align:-3px;stroke-width:1.5px;margin-left:6px;display:inline-block}.heart{fill:#eadc9c;transform:rotate(12deg)}.about-copy{max-width:730px;color:var(--muted)}.principles{gap:5px;margin-top:20px;display:grid}.scribble-number{color:#728f9f;margin-right:12px;font-size:18px}mark{color:inherit;background:linear-gradient(3deg,#f1e29a 80%,#0000 81%) 0 88%/100% 65% no-repeat;padding:0 3px}.wavy-underline{text-underline-offset:5px;-webkit-text-decoration:underline wavy #89b2cc;text-decoration:underline wavy #89b2cc;text-decoration-thickness:1.5px}.section-description{color:var(--muted);margin-bottom:22px}.projects{gap:24px;display:grid}.project-card{background:#fcfaf4;border:1px solid #c3c6bd;grid-template-columns:.9fr 1.2fr;display:grid;overflow:hidden;box-shadow:4px 4px #4445430d}.project-art{background:#e1e9e4 radial-gradient(#9eafa6 1px,#0000 1px) 0 0/14px 14px;place-items:center;min-height:245px;padding:35px 24px;display:grid;position:relative}.project-art-kordify{background-color:#e7e3ed;background-image:radial-gradient(#b7acc9 1px,#0000 1px)}.project-art-tellercat{background-color:#e0ebe5}.project-preview{background:var(--paper);border:1.5px solid var(--ink);border-radius:5px;width:100%;max-width:340px;transition:transform .2s;overflow:hidden;transform:rotate(-3deg);box-shadow:6px 6px #44454320}.project-preview:hover{transform:rotate(0)translateY(-3px)}.project-preview img{width:100%;height:auto;display:block}.project-art-tellercat .project-preview{transform:rotate(2deg)}.project-art-tellercat .project-preview:hover{transform:rotate(0)translateY(-3px)}.browser-top{border-bottom:1px solid #b4bab1;align-items:center;gap:4px;padding:9px;display:flex}.browser-top i{background:#859283;border-radius:50%;width:4px;height:4px}.browser-top span{color:#657264;margin:auto;font-family:ui-monospace,monospace;font-size:9px}.project-sticker{background:var(--yellow);padding:2px 10px;font-size:13px;position:absolute;bottom:14px;right:14px;transform:rotate(5deg)}.project-details{flex-direction:column;padding:24px;display:flex}.project-meta{letter-spacing:1.4px;color:var(--muted);justify-content:space-between;font-family:ui-monospace,monospace;font-size:9px;display:flex}h3{margin:15px 0 9px;font-size:29px;line-height:1.2}.project-details>p{color:var(--muted);font-size:18px;line-height:1.45}.project-bottom{margin-top:auto;padding-top:22px}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{border:1px solid #d5d7ce;padding:2px 5px;font-family:ui-monospace,monospace;font-size:9px}.project-link{border-bottom:1px dashed #a5b1a6;align-items:center;gap:5px;margin-top:13px;font-size:17px;display:inline-flex}.project-link:hover{color:#355c72}.coming-note{color:#676f68;align-items:center;gap:10px;padding-top:19px;font-size:17px;display:flex}.coming-note svg{color:#647f93;flex-shrink:0}.coming-note a{white-space:nowrap}.coming-note a svg{vertical-align:-2px;display:inline}.tech-list{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.tech-list li{clip-path:polygon(1% 5%,99% 0,98% 95%,0 100%);background:#eae8df;align-items:center;gap:10px;padding:8px 15px;font-size:19px;display:inline-flex}.tech-list li:nth-child(2n){transform:rotate(1deg)}.tech-symbol{place-items:center;width:23px;height:23px;font-family:system-ui,sans-serif;font-size:15px;font-weight:700;display:grid}.symbol-ink{color:#fff;background:#3c4545;border-radius:50%}.symbol-cyan{color:#27748e;font-size:24px}.symbol-blue{color:#fff;background:#3d739e;border-radius:2px;font-size:11px}.symbol-green{color:#3c6642;font-size:14px}.colophon-note{color:var(--muted);margin-top:16px;font-size:17px}.closing-note{clip-path:polygon(.2% 2%,99.5% 0,100% 97%,.5% 100%);background:#ece8d8;align-items:flex-start;gap:20px;margin:7px 0 47px;padding:31px 28px;display:flex;position:relative;transform:rotate(-.6deg)}.closing-star{color:#697f73;margin-top:15px;font-size:46px;line-height:1;transform:rotate(12deg)}.closing-note h2{margin:8px 0;font-size:37px}.closing-note>div>p:not(.eyebrow){color:var(--muted);font-size:18px}.closing-note>div{min-width:0}.email-link{overflow-wrap:anywhere;border-bottom:1px dashed #718b96;align-items:center;gap:9px;width:fit-content;max-width:100%;margin-top:15px;font-size:20px;display:flex}.email-link svg{flex-shrink:0}.email-link:hover{color:#355c72}.closing-arrow{color:#8a947e;position:absolute;top:43px;right:34px}.copy-wrap{margin-top:15px}.domain-copy{color:var(--ink);background:linear-gradient(var(--yellow), var(--yellow)) left 85% / 100% 55% no-repeat;cursor:pointer;border:0;align-items:center;gap:13px;padding:0 4px;font-size:19px;display:inline-flex}.domain-copy:hover{background-size:100% 85%}.copy-status{color:#485e4f;min-height:23px;font-size:14px;display:block}.social-links{flex-wrap:wrap;gap:24px;margin:-12px 0 32px;display:flex}.social-links a{align-items:center;gap:7px;display:inline-flex}.site-footer{color:var(--muted);border-top:1px dashed #9ba69e;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 29px;font-size:14px;display:flex}.site-footer p{align-items:center;gap:5px;display:inline-flex}.back-top:hover{text-decoration:underline}.skip-link{z-index:20;background:var(--yellow);border:1px solid var(--ink);padding:8px 15px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}@media (max-width:760px){.page-shell{padding:0 28px 0 42px}.paper-margin{left:24px}.hero{grid-template-columns:1.4fr .8fr;gap:10px;padding-top:46px}h1{font-size:45px}.name-highlight{white-space:normal}.eyebrow{letter-spacing:1px;font-size:9px}.intro-lead{font-size:21px}.portrait-caption,.side-note{font-size:14px}.project-card{grid-template-columns:1fr 1.2fr}.project-art{padding:25px 17px}.project-details{padding:20px}.project-sticker{font-size:11px}.site-footer{flex-wrap:wrap;gap:6px 15px}}@media (max-width:560px){body{font-size:19px}.page-shell{padding:0 21px 0 36px}.paper-margin{left:19px}.site-header{flex-wrap:wrap;gap:12px 18px;min-height:81px;padding-block:16px}.site-header nav{margin-left:auto}.wordmark{gap:8px;font-size:27px}.profile-avatar{width:32px;height:32px}nav{gap:17px;font-size:18px}.nav-note{display:none}.hero{grid-template-columns:1fr;gap:31px;padding:37px 0 41px}h1{letter-spacing:-1px;font-size:clamp(38px,10.2vw,56px)}.name-highlight{white-space:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone}.wave{margin-left:5px;font-size:23px}.intro-lead{margin-top:22px}.hero-art{width:100%;max-width:240px;margin:0 auto}.portrait-caption,.side-note{font-size:16px}.section{padding-bottom:43px}.section-heading{gap:9px}h2{font-size:28px}.section-number{font-size:9px}.heading-icon{width:21px;margin-left:2px}.project-card{grid-template-columns:1fr}.project-art{min-height:240px}.project-details{padding:23px}.project-bottom{padding-top:18px}.tech-list{gap:9px}.tech-list li{padding:7px 12px;font-size:17px}.closing-note{gap:12px;margin-bottom:33px;padding:27px 19px}.closing-note h2{font-size:29px}.closing-star{font-size:27px}.closing-arrow{display:none}.closing-note .eyebrow{font-size:8px}.email-link{gap:6px;font-size:17px}.site-footer{padding-bottom:24px;font-size:13px}.site-footer p:first-child{width:100%}.back-top{margin-left:auto}}@media (max-width:360px){.site-header nav{gap:9px;font-size:16px}.wordmark{font-size:24px}.profile-avatar{width:28px;height:28px}.eyebrow{letter-spacing:.7px}.section-heading{align-items:flex-start}.section-number{padding-top:7px}.closing-note{gap:8px;padding-inline:14px}.domain-copy{gap:8px;font-size:18px}.closing-star{display:none}}.copy-fallback{gap:5px;margin-top:8px;font-size:15px;display:grid}.copy-fallback input{background:var(--paper);width:100%;min-width:0;color:var(--ink);border:1px dashed #718b96;border-radius:0;padding:7px 9px;font-family:ui-monospace,monospace;font-size:13px}.copy-fallback input:focus-visible{outline-offset:3px;outline:2px dashed #326a96}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
.hover-hint{vertical-align:middle;max-width:100%;display:inline-flex}.animated-emoji{vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.animated-emoji img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.animated-emoji .emoji-still{display:none}.heading-emoji{margin-left:7px}.blog-emoji{margin-left:3px;transform:rotate(5deg)}.closing-emoji{margin-top:12px}.paper-tooltip{z-index:1000;background:var(--blue);width:max-content;max-width:min(240px,100vw - 20px);color:var(--ink);font-family:var(--font-body), cursive;pointer-events:none;overflow-wrap:anywhere;border:1px solid #748d9d;border-radius:2px 5px 3px 2px;padding:7px 12px;font-size:16px;line-height:1.4;animation:.12s ease-out tooltip-arrive;position:fixed;transform:rotate(-1.5deg);box-shadow:3px 3px #44454318}.paper-tooltip:before{content:"";background:var(--blue);border-top:1px solid #748d9d;border-left:1px solid #748d9d;width:8px;height:8px;position:absolute;top:-5px;left:13px;transform:rotate(45deg)}.motion-toggle{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:3px 0;display:inline-flex}.motion-toggle:hover,.motion-toggle:focus-visible{color:#355c72}.motion-toggle span{border-bottom:1px dashed #a5b1a6}.hover-card{transition:transform .22s ease-out,box-shadow .22s,border-color .22s}.hover-card:focus-within{border-color:#7596a3;box-shadow:5px 6px #89a8b326}.portrait-note{transition:transform .3s,box-shadow .3s}.profile-avatar,.nav-note{transition:transform .25s}.name-highlight:after{transition:height .2s,transform .2s}.tech-list li,.tech-list li:nth-child(2n){clip-path:none;background:0 0;padding:0;transform:none}.tech-chip{clip-path:polygon(1% 5%,99% 0,98% 95%,0 100%);transform:rotate(var(--chip-angle,-.6deg));cursor:help;background:#eae8df;align-items:center;gap:10px;padding:8px 15px;transition:transform .2s,background-color .2s;display:inline-flex}.tech-list li:nth-child(2n) .tech-chip{--chip-angle:1deg;background:#e4e9e5}.tech-chip:focus-visible{outline-offset:-4px;background:var(--blue);outline:2px dashed #326a96}:is(.text-cta,.project-link,.intro-contact,.email-link,.back-top){background-image:linear-gradient(var(--blue), var(--blue));background-position:0 90%;background-repeat:no-repeat;background-size:0 65%;transition:background-size .22s,color .22s,gap .22s}:is(.text-cta,.project-link,.intro-contact,.email-link,.back-top):is(:hover,:focus-visible),.ink-link:focus-visible,.ink-link[aria-current]:focus-visible{background-size:100% 65%}:is(.project-link,.intro-contact,.email-link,.social-links a,.text-cta) svg{transition:transform .2s}.domain-copy:focus-visible{background-size:100% 85%}.post-card:focus-visible{box-shadow:-3px 0 0 var(--blue);background:#f1eddf90}.post-card:focus-visible .post-read svg{transform:translate(4px)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.hover-card:hover{transform:perspective(1200px) rotateX(var(--card-x,0deg)) rotateY(var(--card-y,0deg)) translateY(-4px);border-color:#91a7aa;box-shadow:7px 10px #6f8c8820}.portrait-note:hover{transform:rotate(1deg)translateY(-5px);box-shadow:7px 10px #45454315}.wordmark:is(:hover,:focus-visible) .profile-avatar{transform:rotate(3deg)scale(1.08)}.nav-note:is(:hover,:focus-visible){transform:rotate(-5deg)scale(1.08)}.name-highlight:hover:after{height:60%;transform:rotate(0)}.tech-chip:hover{background:var(--blue);transform:translateY(-3px)rotate(-2deg)}.post-card:hover{box-shadow:-3px 0 0 var(--blue);transform:translate(4px)}:is(.project-link,.intro-contact,.email-link,.social-links a):is(:hover,:focus-visible) svg{transform:translate(2px,-2px)}.text-cta:is(:hover,:focus-visible) .lucide-arrow-down{transform:translateY(3px)}.portrait-note:hover .doodle-star{animation:.65s ease-out doodle-pop}}@keyframes tooltip-arrive{0%{opacity:0;transform:translateY(3px)rotate(-1.5deg)}to{opacity:1;transform:translateY(0)rotate(-1.5deg)}}@keyframes doodle-pop{0%,to{rotate:0deg;scale:1}45%{rotate:12deg;scale:1.2}}.doodle-star{transform-box:fill-box;transform-origin:50%}html[data-motion=paused] .emoji-moving{display:none}html[data-motion=paused] .emoji-still{display:block}html[data-motion=paused] *,html[data-motion=paused] :before,html[data-motion=paused] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html[data-motion=paused] :is(.hover-card,.post-card){transform:none!important}html[data-motion=paused] .portrait-note{transform:rotate(5deg)}html[data-motion=paused] .profile-avatar{transform:rotate(-7deg)}html[data-motion=paused] .nav-note{transform:rotate(4deg)}html[data-motion=paused] .tech-chip{transform:rotate(var(--chip-angle,-.6deg))}html[data-motion=paused] :is(.project-link,.intro-contact,.email-link,.social-links a,.text-cta) svg{transform:none}@media (prefers-reduced-motion:reduce){html:not([data-motion=on]) .emoji-moving{display:none}html:not([data-motion=on]) .emoji-still{display:block}.hover-card{transform:none}}@media (max-width:560px){.tech-chip{padding:7px 12px}.heading-emoji{max-width:28px;max-height:28px;margin-left:3px}.closing-emoji{max-width:30px;max-height:30px}.paper-tooltip{font-size:15px}.blog-emoji{max-width:30px;max-height:30px}}@media (max-width:360px){.closing-note>.hover-hint{display:none}}
.hero-art:has(.hero-portrait){width:100%;max-width:340px;margin-inline:auto;padding:0}.hero-portrait{width:100%;margin:0}.portrait-stage{isolation:isolate;aspect-ratio:4/5;position:relative}.portrait-paper{z-index:0;pointer-events:none;position:absolute}.portrait-paper-yellow{background:#f0e5ae;border-radius:47% 49% 42% 48%/46% 37% 55% 46%;inset:16% 8% 11% 7%;transform:rotate(-11deg)}.portrait-paper-blue{background:#c7deea;border-radius:44% 46% 39% 44%/38% 41% 53% 48%;inset:18% 9% 9% 11%;transform:rotate(7deg)}.portrait-scribbles{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.portrait-photo{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 5px #3f3f3512);clip-path:polygon(0 0,100% 0,100% 84%,97% 90%,88% 96%,74% 99%,60% 100%,40% 100%,26% 99%,12% 96%,3% 90%,0 84%);width:100%;height:100%;position:absolute;inset:0}.portrait-photo-trigger{z-index:2;cursor:default;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.portrait-photo-trigger.is-over-photo{cursor:pointer}.portrait-photo-trigger:focus-visible{outline-offset:-5px;outline:2px dashed #326a96}.portrait-tooltip-emoji{vertical-align:middle;width:24px;height:24px}.portrait-joke{z-index:4;width:200px;color:var(--muted);text-align:left;align-items:center;gap:7px;font-size:17px;line-height:1.3;display:flex;position:absolute;top:54%;left:-51%;transform:rotate(-3deg)}.portrait-joke-arrow{color:#469bab;width:80px;height:100px;position:absolute;top:-7px;right:-11px;overflow:visible}.portrait-joke-emoji{flex:0 0 30px;width:30px;height:30px;position:relative;top:2px;left:-30px}.portrait-little-note{z-index:3;background:var(--yellow);color:#5f604d;pointer-events:none;padding:3px 11px;font-size:15px;line-height:1.6;position:absolute;bottom:7%;left:-1%;transform:rotate(-7deg);box-shadow:2px 3px #4445430d}.portrait-little-note>span{color:#718e94;padding-left:4px;display:inline-block}.portrait-photo-caption{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;margin-top:-3px;font-size:18px;display:flex;position:relative}.portrait-caption-arrow{align-items:center;gap:6px;display:flex;transform:rotate(-4deg)}.portrait-photo-caption svg{color:#718e94;width:42px;height:30px;margin-top:-15px}.profile-avatar{object-position:center 24%;background-color:#e4e8df}.portrait-loop,.portrait-spark{transform-origin:50%;transform-box:fill-box}@media (prefers-reduced-motion:no-preference){.portrait-paper-yellow{animation:8s ease-in-out infinite paper-drift-yellow}.portrait-paper-blue{animation:9s ease-in-out infinite paper-drift-blue}.portrait-loop{animation:22s linear infinite scribble-orbit}.portrait-loop path{animation:12s linear infinite scribble-dash}.portrait-spark-one{animation:5.5s ease-in-out infinite portrait-star-float}.portrait-spark-two{animation:6.5s ease-in-out -2s infinite reverse portrait-star-float}.portrait-small-marks{animation:7s ease-in-out infinite portrait-marks-drift}}@keyframes paper-drift-yellow{0%,to{transform:rotate(-11deg)translateY(0)}50%{transform:rotate(-6deg)translateY(-5px)}}@keyframes paper-drift-blue{0%,to{transform:rotate(7deg)translateY(0)}50%{transform:rotate(11deg)translateY(3px)}}@keyframes scribble-orbit{0%,to{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}@keyframes scribble-dash{to{stroke-dashoffset:-130px}}@keyframes portrait-star-float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-7px)rotate(8deg)}}@keyframes portrait-marks-drift{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (max-width:760px) and (min-width:561px){.portrait-little-note{padding-inline:8px;font-size:12px}.portrait-photo-caption{font-size:15px}.portrait-joke{width:175px;font-size:14px;left:-47%}.portrait-joke-arrow{width:84px;right:-4px}}@media (max-width:560px){.hero-art:has(.hero-portrait){max-width:285px}.portrait-little-note{font-size:14px;left:0}.portrait-photo-caption{font-size:17px}.portrait-joke{justify-content:center;width:auto;margin:12px 0 0;font-size:16px;position:relative;top:auto;left:auto}.portrait-joke-arrow{width:48px;height:36px;position:static;transform:rotate(-20deg)}}
