@import "https://fonts.googleapis.com/css2?family=Allura&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f5f5f3;--sheet:#fff;--ink:#161616;--muted:#92928e;--line:#d7d7d2;--shadow:0 25px 60px #1414121c;--sans:"NB International Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"NB International Pro Mono", "SFMono-Regular", Consolas, monospace;--header-h:59px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#10100f;--sheet:#181817;--ink:#efefeb;--muted:#999993;--line:#383835;--shadow:0 25px 60px #0000005c}}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}.site-header{padding:34px 24px 0}.site-header nav{white-space:nowrap;justify-content:center;gap:38px;display:flex;position:relative}.site-header a{color:var(--muted);font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;border-bottom:2px solid #0000;padding-bottom:5px;font-size:15px;font-weight:400;transition:border-color .18s,color .18s}.site-header a:hover,.site-header a:focus-visible,.site-header a[aria-current=page]{border-color:var(--ink);color:var(--ink)}.site-header .lang-switch{margin-left:24px;position:relative}.site-header .lang-switch:before{background:var(--line);content:"";width:1px;height:12px;position:absolute;top:2px;left:-31px}.letter{background:radial-gradient(circle at 50% 43%, var(--sheet) 0 18%, transparent 63%);min-height:calc(100svh - var(--header-h));flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}.letter-sheet{background:var(--sheet);box-shadow:var(--shadow);height:min(680px, calc(100svh - var(--header-h) - 77px));width:min(650px,100%);padding:60px 58px 52px;position:relative}.letter-copy{font-family:var(--mono);max-width:100%;font-size:13px;line-height:1.44}.letter-copy p{margin:0 0 16px}.letter-copy .greeting{font-family:var(--sans);letter-spacing:-.025em;margin-bottom:20px;font-size:22px;font-weight:500;line-height:1.1}.letter-copy .signature{letter-spacing:-.025em;transform-origin:0;margin:30px 0 0;font-family:Allura,cursive;font-size:46px;line-height:.7;transform:rotate(-4deg)}.portrait{width:124px;height:142px;margin:0;position:absolute;bottom:0;right:0;overflow:hidden}.portrait img{object-fit:cover;object-position:center 22%;width:100%;height:100%;display:block}.letter-foot{color:var(--muted);font-family:var(--mono);justify-content:space-between;width:min(650px,100%);margin-top:16px;font-size:11px;display:flex}.letter-foot p{margin:0}.socials{gap:18px;display:flex}.socials a{color:inherit;text-decoration:none;transition:color .16s}.socials a:hover{color:var(--ink)}.page{min-height:calc(100svh - var(--header-h));padding:54px 28px 56px}.page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;max-width:1120px;margin:0 auto;padding-bottom:14px;display:flex}.page-header h1,.page-header p,.entry p,.empty-state{font-family:var(--mono);margin:0;font-size:13px;font-weight:400;line-height:1.5}.page-header h1{color:var(--ink)}.page-header p{color:var(--muted);text-align:right}.entries{max-width:1120px;margin:0 auto}.entry{grid-template-columns:minmax(150px,22%) 1fr;gap:30px;padding:28px 0;display:grid}.entry+.entry{border-top:1px solid var(--line)}.entry-date,.entry-company{color:var(--muted)}.entry h2{letter-spacing:-.04em;margin:0 0 6px;font-size:clamp(26px,3.6vw,42px);font-weight:400;line-height:.95}.entry-company{margin-bottom:16px!important}.entry-company-link{color:inherit;transition:color .18s;display:inline-block;position:relative}.entry-company-link:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .22s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.entry-company-link:hover,.entry-company-link:focus-visible{color:var(--ink)}.entry-company-link:hover:after,.entry-company-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}.entry-company-link:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.entry div>p:last-child{max-width:670px}.projects .entry h2{font-family:var(--mono);letter-spacing:-.03em;font-size:clamp(22px,3vw,32px)}.empty-state{color:var(--muted);max-width:1120px;margin:28px auto 0}.journal .page-header,.posts{max-width:640px;margin-inline:auto}.posts{flex-direction:column;display:flex}.post-card{padding:34px 0}.post-card+.post-card{border-top:1px solid var(--line)}.post-date{color:var(--muted);font-family:var(--mono);letter-spacing:.02em;margin:0 0 12px;font-size:13px}.post-title{letter-spacing:-.035em;margin:0 0 14px;font-size:clamp(24px,3.4vw,32px);font-weight:500;line-height:1.05}.post-title a{transition:opacity .18s}.post-title a:hover,.post-title a:focus-visible{opacity:.62}.post-excerpt{font-family:var(--mono);margin:0 0 16px;font-size:13px;line-height:1.55}.post-more{border-bottom:1px solid color-mix(in srgb, var(--muted) 60%, transparent);color:var(--muted);font-family:var(--mono);padding-bottom:2px;font-size:13px;transition:border-color .18s,color .18s;display:inline-block}.post-more:hover,.post-more:focus-visible{border-color:var(--ink);color:var(--ink)}.article-body{max-width:640px;margin-inline:auto;padding-top:6px}.article-title{letter-spacing:-.04em;margin:0 0 28px;font-size:clamp(28px,4vw,40px);font-weight:500;line-height:1.05}.article-body h2{letter-spacing:-.02em;margin:38px 0 14px;font-size:17px;font-weight:500}.article-body p{font-family:var(--mono);margin:0 0 18px;font-size:13px;line-height:1.7}.article-body blockquote{border-left:1px solid var(--line);color:var(--muted);font-family:var(--mono);margin:22px 0;padding-left:18px;font-size:13px;line-height:1.7}.article-body .article-questions strong{font-weight:600}.article-loop{color:var(--muted);font-family:var(--mono);margin:22px 0 26px;font-size:12.5px;line-height:1.7;overflow-x:auto}.article-back{margin-top:22px}.audio-player{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);border-radius:999px;align-items:center;gap:12px;margin:0 0 30px;padding:8px 16px 8px 8px;font-size:11px;display:flex}.audio-player button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:border-color .18s,color .18s;display:flex}.audio-player button:hover,.audio-player button:focus-visible{border-color:var(--ink);color:var(--ink)}.audio-label{flex:none}.audio-time{font-variant-numeric:tabular-nums;flex:none}.audio-scrub{appearance:none;background:var(--line);cursor:pointer;border-radius:2px;flex:auto;min-width:40px;height:2px}.audio-scrub::-webkit-slider-thumb{appearance:none;background:var(--ink);border-radius:50%;width:9px;height:9px}.audio-scrub::-moz-range-thumb{background:var(--ink);border:0;border-radius:50%;width:9px;height:9px}.audio-scrub:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.loading-skeleton{background:var(--paper);visibility:visible;z-index:100;flex-direction:column;justify-content:center;align-items:center;height:100svh;padding:82px 24px 24px;transition:opacity .28s cubic-bezier(.16,1,.3,1),visibility .28s step-end;display:flex;position:fixed;inset:0}.loading-skeleton.is-hidden{opacity:0;pointer-events:none;visibility:hidden}.skeleton-nav{gap:38px;display:flex;position:absolute;top:39px;left:50%;transform:translate(-50%)}.skeleton-nav i,.skeleton-footer i,.skeleton-line,.skeleton-signature,.skeleton-portrait{background:linear-gradient(100deg, var(--line) 20%, color-mix(in srgb, var(--line), var(--sheet) 45%) 38%, var(--line) 56%);background-position:130% 0;background-size:240% 100%;animation:1.15s linear infinite skeleton-shimmer;display:block}.skeleton-nav i{width:62px;height:11px}.skeleton-nav i:nth-child(2){width:92px}.skeleton-nav i:nth-child(3){width:58px}.skeleton-nav i:nth-child(4){width:65px}.skeleton-sheet{background:var(--sheet);box-shadow:var(--shadow);width:min(650px,100%);height:min(680px,100svh - 135px);padding:60px 58px 52px;position:relative}.skeleton-line{width:100%;height:8px;margin-bottom:12px}.skeleton-greeting{width:132px;height:18px;margin-bottom:23px}.skeleton-line.short{width:57%;margin-bottom:24px}.skeleton-line.medium{width:72%}.skeleton-signature{width:132px;height:15px;margin-top:30px;transform:skew(-22deg)}.skeleton-portrait{width:124px;height:142px;position:absolute;bottom:0;right:0}.skeleton-footer{justify-content:flex-end;gap:12px;width:min(650px,100%);margin-top:16px;display:flex}.skeleton-footer i{width:45px;height:8px}.skeleton-footer i:first-child{width:72px;margin-right:auto}@keyframes skeleton-shimmer{to{background-position:-130% 0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:680px){:root{--header-h:43px}.site-header{padding:24px 16px 0}.site-header nav{gap:14px}.site-header .lang-switch{margin-left:12px}.site-header .lang-switch:before{left:-13px}.site-header a{letter-spacing:.06em;font-size:10px}.letter{padding:18px 16px}.letter-sheet{height:auto;min-height:0;padding:36px 30px 128px}.portrait{width:108px;height:116px}.letter-foot{font-size:10px}.socials{gap:12px}.page{padding:40px 20px 42px}.page-header{flex-direction:column;align-items:flex-start;gap:5px}.page-header p{text-align:left}.entry{grid-template-columns:1fr;gap:12px;padding:24px 0}.loading-skeleton{padding:76px 16px 18px}.skeleton-nav{gap:14px;top:27px}.skeleton-nav i{width:40px;height:8px}.skeleton-nav i:nth-child(2){width:55px}.skeleton-nav i:nth-child(3){width:38px}.skeleton-nav i:nth-child(4){width:43px}.skeleton-sheet{height:auto;min-height:0;padding:36px 30px 128px}.skeleton-portrait{width:108px;height:116px}}@media (max-height:760px) and (min-width:681px){.letter{padding-top:62px}.letter-sheet{padding-block:26px}.letter-copy{font-size:11.5px;line-height:1.31}.letter-copy p{margin-bottom:10px}.letter-copy .greeting{margin-bottom:14px;font-size:18px}.letter-copy .signature{margin-top:20px;font-size:38px}.portrait{width:116px;height:124px}}@media (prefers-reduced-motion:reduce){.loading-skeleton,.site-header a{transition-duration:1ms}.skeleton-nav i,.skeleton-footer i,.skeleton-line,.skeleton-signature,.skeleton-portrait{animation:none}}
