@font-face{font-family:Hubot Sans;src:url(/fonts/hubot-sans-variable.woff2)format("woff2");font-weight:200 900;font-stretch:75% 125%;font-style:normal;font-display:swap}:root{color:var(--text);background:var(--surface);color-scheme:light;--surface:#fff;--text:#242424;--heading:#111;--terrain-image:url(/_astro/topography.BdG35_8O.svg);--dash-image:url(/dashed-border.svg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--muted:#777;--line:#e2e2e2;--content:660px;font-family:Hubot Sans,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:#145c6d}a:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #145c6d}p,h1,h2,ul{margin:0}h1,h2{color:var(--heading);font-weight:500}h1{letter-spacing:calc(-1px - .02em);font-size:27px;line-height:1.35}h2{letter-spacing:calc(-.55px - .02em);margin-bottom:14px;font-size:20px;line-height:1.4}ul{padding:0;list-style:none}.muted,.years{color:var(--muted)}.page-frame{border:1px dashed var(--line);width:calc(100% - 48px);max-width:960px;margin:40px auto 100px}.content-width{width:calc(100% - 64px);max-width:var(--content);margin-inline:auto}.hero{border-bottom:1px dashed var(--line)}.hero-inner{justify-content:space-between;align-items:center;gap:30px;min-height:320px;padding-bottom:3px;display:flex}.personal-mark{margin-bottom:23px;display:block}.greeting{margin-bottom:5px}.locations{color:var(--muted);flex-shrink:0;min-width:130px;padding-top:34px;line-height:1.9}.locations span{display:block}.current-location{color:var(--text);width:max-content;position:relative}.current-location:before{content:"";pointer-events:none;background:url(/location-circle.svg) 50%/100% 100% no-repeat;position:absolute;inset:-2px -20px -4px -22px;transform:rotate(-3deg)}.home-main{padding-block:100px}.about{grid-template-columns:140px 1fr;align-items:start;gap:30px;display:grid}.about h2{margin-top:2px}.about p{line-height:1.65}.contour{color:#e7e8ea;border:1px solid #f2f2f2;overflow:hidden}.contour svg{width:100%;height:100%;display:block}.about-pattern{aspect-ratio:1;background-image:var(--terrain-image);background-position:-30px 0;background-repeat:repeat;background-size:630px 630px;border:1px dashed #e2e2e2;width:100%;height:auto}.experience{margin-top:96px}.experience h2{margin-bottom:18px}.job-list{grid-template-columns:minmax(150px,1fr) max-content max-content;column-gap:10px;display:grid}.job{grid-column:1/-1;grid-template-columns:subgrid;border-bottom:1px dashed var(--line);align-items:center;gap:10px;min-height:44px;font-size:14px;display:grid}.job:last-child{border:0}.company{align-items:center;gap:12px;display:flex}.company-mark{object-fit:contain;flex-shrink:0;width:16px;height:16px;display:block}.role{text-align:left}.years{white-space:nowrap}.principles h2{margin-top:-3px;margin-bottom:10px}.principles{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:36px;margin-top:96px;display:grid}.principles-art{border:1px dashed var(--line);background:var(--terrain-image) center/600px 600px repeat;min-height:188px}.principle-list li{letter-spacing:-.15px;padding-block:5px;line-height:1.6}.footer{border-top:1px dashed var(--line);padding-block:36px 48px}.footer p{margin-bottom:8px}.footer nav{flex-wrap:wrap;gap:26px;display:flex}.skip-link{z-index:10;background:#fff;padding:10px;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.writing-page{min-height:75vh;padding-block:72px 100px}.back-link{color:var(--muted);margin-bottom:54px;display:inline-block}.writing-page h1{margin-bottom:16px}.writing-page header{margin-bottom:44px}.article-list li{border-top:1px dashed var(--line);padding-block:24px}.article-list h2{margin-block:6px}.article-list time,.article-date{color:var(--muted);font-size:13px}.prose{font-size:16px;line-height:1.8}.prose>*+*{margin-top:22px}.prose h2{margin-top:42px}.prose h3{letter-spacing:-.02em;font-weight:500}.prose img{max-width:100%;height:auto}.prose ul{padding-left:24px;list-style:outside}.prose ol{padding-left:24px}.prose blockquote{border-left:2px solid var(--line);color:#666;margin-inline:0;padding-left:20px}.prose pre{background:#f6f6f6;padding:18px;font-size:13px;overflow-x:auto}.prose code{font-size:.9em}.prose hr{border:0;border-top:1px dashed var(--line);margin-block:40px}@media (width>=1100px){.page-frame{max-width:960px}}@media (width<=760px){.page-frame{width:auto;margin:20px 20px 40px}.content-width{width:calc(100% - 48px)}.hero-inner{gap:20px;min-height:290px}h1{max-width:280px;font-size:24px}.locations{min-width:112px;font-size:12px}.current-location:before{inset:0 -10px -2px -12px}.home-main{padding-block:64px}.about{grid-template-columns:100px 1fr;gap:24px}.about-pattern{height:auto}.experience,.principles{margin-top:64px}.job-list{display:block}.job{grid-template-columns:1fr auto;gap:2px 12px;padding-block:12px}.company{grid-area:1/1}.role{text-align:left;color:#686868;grid-area:2/1;padding-left:28px;font-size:12px}.years{grid-area:1/2;font-size:12px}.principles{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}.principle-list li{font-size:13px}}@media (width<=480px){.page-frame{margin:12px 12px 28px}.content-width{width:calc(100% - 40px)}.hero-inner{flex-direction:column;align-items:flex-start;gap:30px;padding-block:42px}.personal-mark{margin-bottom:22px}h1{max-width:none;font-size:25px}.locations{margin-left:1px;padding-top:0;font-size:12px;line-height:1.8}.locations span{display:block}.current-location:before{inset:-2px -12px -3px -10px}.about{grid-template-columns:1fr;gap:24px}.about-pattern{width:100px;height:auto}.home-main{padding-block:44px}.experience,.principles{margin-top:52px}h2{font-size:19px}.job{font-size:13px}.principles{grid-template-columns:1fr;gap:24px}.principles-art{aspect-ratio:1;order:-1;width:100px;height:auto;min-height:0}.principle-list li{font-size:13px}.footer{padding-block:28px 34px}.writing-page{padding-block:40px 60px}.back-link{margin-bottom:36px}}@media (prefers-reduced-motion:no-preference){a{transition:color .15s}}.topographic-banner{border-bottom:1px dashed var(--line);background-image:var(--terrain-image);background-position:0 -105px;background-repeat:repeat;background-size:600px 600px;height:39px}@media (width<=480px){.topographic-banner{height:30px}}.page-frame,.hero,.about-pattern,.job,.principles-art,.footer,.article-list li,.prose hr,.topographic-banner{border-image-source:var(--dash-image);border-image-slice:1;border-image-repeat:round}.company-link{color:inherit;text-decoration:none}.company-link:hover,.company-link:focus-visible{color:#145c6d;text-decoration:underline}.about-pattern,.principles-art,.topographic-banner{isolation:isolate;position:relative}.about-pattern:after,.principles-art:after,.topographic-banner:after{content:"";pointer-events:none;background-image:linear-gradient(135deg, var(--spotlight-color,#559edb) 0%, var(--terrain-middle-color,#98c6ea) 50%, var(--terrain-base-color,#dceef9) 100%);background-size:calc(var(--spotlight-radius,70px) * 2) calc(var(--spotlight-radius,70px) * 2);background-position:calc(var(--spot-x,50%) - var(--spotlight-radius,70px)) calc(var(--spot-y,50%) - var(--spotlight-radius,70px));mask-image:url(/_astro/topography.BdG35_8O.svg), radial-gradient(circle var(--spotlight-radius,70px) at var(--spot-x,50%) var(--spot-y,50%), black 0%, #000000f2 20%, #000000b3 45%, #0000004d 70%, #0000000f 90%, transparent 100%);mask-mode:alpha;mask-size:var(--terrain-size), 100% 100%;mask-position:var(--terrain-position), 0 0;opacity:0;background-repeat:no-repeat;transition:opacity .9s ease-out .15s;position:absolute;inset:0;mask-repeat:repeat,no-repeat;mask-composite:intersect}@media (any-hover:hover){.about-pattern[data-illuminated]:after,.principles-art[data-illuminated]:after,.topographic-banner[data-illuminated]:after{opacity:1;transition:opacity .18s ease-out}}@media (prefers-reduced-motion:reduce){.about-pattern:after,.principles-art:after,.topographic-banner:after{transition:none}}@media (any-hover:hover){.about-pattern,.principles-art,.topographic-banner{cursor:grab;user-select:none}.about-pattern[data-dragging],.principles-art[data-dragging],.topographic-banner[data-dragging]{cursor:grabbing}}.pattern-color-picker{z-index:100;background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:12px 16px;font-size:12px;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 24px #0000000d}.pattern-color-picker label{color:#666;margin-bottom:6px;display:block}.pattern-color-input{align-items:center;gap:10px;display:flex}.pattern-color-input input{cursor:pointer;background:#fff;border:1px solid #e2e2e2;border-radius:6px;width:32px;height:32px;padding:2px}.pattern-color-input input:focus-visible{outline-offset:3px;outline:2px solid #559edb}.pattern-color-input output{font-variant-numeric:tabular-nums}.topographic-bottom{border-bottom:0;border-top:1px dashed var(--line);background-position:0 0;height:270px}@media (width<=480px){.topographic-bottom{height:180px}}.about-pattern:before,.principles-art:before,.topographic-banner:before{content:"";pointer-events:none;background:var(--terrain-base-color,#dceef9);mask-image:url(/_astro/topography.BdG35_8O.svg);mask-mode:alpha;mask-size:var(--terrain-size);mask-position:var(--terrain-position);opacity:0;transition:opacity .9s ease-out .15s;position:absolute;inset:0;mask-repeat:repeat}@media (any-hover:hover){.about-pattern[data-illuminated]:before,.principles-art[data-illuminated]:before,.topographic-banner[data-illuminated]:before{opacity:1;transition:opacity .18s ease-out}}@media (prefers-reduced-motion:reduce){.about-pattern:before,.principles-art:before,.topographic-banner:before{transition:none}}.pattern-base-control{margin-top:12px}.pattern-color-picker select{width:100%;min-width:145px;font:inherit;color:inherit;background:#fff;border:1px solid #e2e2e2;border-radius:6px;padding:6px 8px}.pattern-color-picker select:focus-visible{outline-offset:3px;outline:2px solid #559edb}#pattern-randomize{width:100%;color:inherit;font:inherit;cursor:pointer;background:#f7f7f7;border:1px solid #e2e2e2;border-radius:6px;margin-top:8px;padding:7px 10px;display:block}#pattern-randomize:hover{background:#ededed}#pattern-randomize:focus-visible{outline-offset:3px;outline:2px solid #559edb}.topographic-bottom{--spotlight-radius:105px}.palette-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:10px;font-weight:500;display:flex}.palette-header:has(+[hidden]){margin-bottom:0}#palette-toggle{color:#666;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:24px;height:24px;padding:0;font:20px/1 sans-serif;display:grid}#palette-toggle:hover{background:#f2f2f2}#palette-toggle:focus-visible{outline-offset:2px;outline:2px solid #559edb}.pattern-color-picker select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23555' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.palette-actions{gap:4px;display:flex}#palette-dismiss{color:#666;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:24px;height:24px;padding:0;font:20px/1 sans-serif;display:grid}#palette-dismiss:hover{background:#f2f2f2}#palette-dismiss:focus-visible{outline-offset:2px;outline:2px solid #559edb}.pattern-color-picker[hidden]{display:none}@media (width<=480px){.locations{flex-direction:column-reverse;display:flex}}:root[data-theme=dark]{color-scheme:dark;--surface:#14181d;--text:#d5dbe2;--heading:#f1f4f7;--muted:#9ba5b1;--line:#343c46;--terrain-image:url(/_astro/topography-dark.BaPGTZX0.svg);--dash-image:url(/dashed-border-dark.svg)}[data-theme=dark] a:hover,[data-theme=dark] .company-link:hover,[data-theme=dark] .company-link:focus-visible{color:#98c6ea}[data-theme=dark] .company-mark[src$=github\.png],[data-theme=dark] .company-mark[src$=profound\.png]{filter:invert()}[data-theme=dark] .current-location:before{opacity:.6}[data-theme=dark] .role{color:var(--text)}[data-theme=dark] .skip-link,[data-theme=dark] .pattern-color-picker,[data-theme=dark] .pattern-color-input input,[data-theme=dark] .pattern-color-picker select{border-color:var(--line);background-color:#1d232b}[data-theme=dark] .pattern-color-picker label,[data-theme=dark] #palette-toggle,[data-theme=dark] #palette-dismiss{color:var(--muted)}[data-theme=dark] .pattern-color-picker select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23b9c3ce' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}[data-theme=dark] #pattern-randomize{border-color:var(--line);background:#262e38}[data-theme=dark] #pattern-randomize:hover,[data-theme=dark] #palette-toggle:hover,[data-theme=dark] #palette-dismiss:hover{background:#323d49}[data-theme=dark] .prose blockquote{color:var(--muted)}[data-theme=dark] .prose pre{background:#1d232b}.palette-theme-control{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.pattern-color-picker .palette-theme-control label{color:inherit;cursor:pointer;margin:0}.palette-theme-control input{accent-color:#559edb;cursor:pointer;width:16px;height:16px}[data-theme=dark] .personal-mark{content:url(/personal-mark-dark.svg)}.footer-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.theme-toggle{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.theme-toggle:hover{color:var(--heading);background:color-mix(in srgb, var(--text) 6%, transparent)}.theme-toggle:focus-visible{outline-offset:4px;outline:2px solid #559edb}.theme-sun{display:none}[data-theme=dark] .theme-sun{display:block}[data-theme=dark] .theme-moon{display:none}:root[data-theme=dark]{--terrain-base-color:#344d65;--terrain-middle-color:#438fae;--spotlight-color:#78dce8}.company-mark[src$=profound\.png]{padding:2px}
