@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-vietnamese-standard-normal.Br4FGdAc.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-ext-standard-normal.qp-RdZgh.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-standard-normal.C5Lc8Qmc.woff2)format("woff2-variations");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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-standard-normal.BjhtXyW2.woff2)format("woff2-variations");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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-standard-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-standard-normal.s-izfB6B.woff2)format("woff2-variations");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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-standard-italic.DTr-ymY4.woff2)format("woff2-variations");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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-standard-italic.CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-standard-italic.kJKFiXvB.woff2)format("woff2-variations");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:Commit Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/commit-mono-latin-400-normal.wzhe4RuD.woff2)format("woff2"),url(/_astro/commit-mono-latin-400-normal.s0S3qwFW.woff)format("woff")}@font-face{font-family:Commit Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/commit-mono-latin-500-normal.5uPfnx7h.woff2)format("woff2"),url(/_astro/commit-mono-latin-500-normal.DSlnSK8M.woff)format("woff")}@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/syne-greek-wght-normal.5tOOQDeJ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/syne-latin-ext-wght-normal.JjI8ZrW1.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/syne-latin-wght-normal.BVsvWWA4.woff2)format("woff2-variations");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}:root{--bg:#0b0a09;--ink:#efece3;--ink-soft:#c4beb2;--steel:#a29d94;--accent:#ff5348;--line:#efece324;--line-soft:#efece314;--accent-soft:#ff534873;--accent-wash:#ff53480a;--steel-wash:#a29d9412;--pre:#131110;--pre-ink:#d9d5ca;--hairline:radial-gradient(circle at center, var(--line) 0 46%, transparent 62%);--hairline-soft:radial-gradient(circle at center, var(--line-soft) 0 46%, transparent 62%);--display:"Syne Variable", "Syne Fallback", system-ui, sans-serif;--reading:"Newsreader Variable", "Newsreader Fallback", Georgia, serif;--mono:"Commit Mono", "Mono Fallback", monospace;--measure:70rem;color-scheme:dark;font-synthesis:none}@font-face{font-family:Bricolage Fallback;src:local(Arial);size-adjust:96%;ascent-override:92%;descent-override:24%;line-gap-override:0%}@font-face{font-family:Syne Fallback;src:local(Arial);size-adjust:105%;ascent-override:90%;descent-override:25%;line-gap-override:0%}@font-face{font-family:Newsreader Fallback;src:local(Georgia);size-adjust:98%;ascent-override:94%;descent-override:25%;line-gap-override:0%}@font-face{font-family:Mono Fallback;src:local(Consolas);size-adjust:90%;ascent-override:100%;descent-override:25%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}*{margin:0}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--ink);text-rendering:optimizelegibility;font-family:Bricolage Grotesque Variable,Bricolage Fallback,sans-serif;font-size:1rem;font-weight:400;line-height:1.55;overflow-x:hidden}img,svg,video,canvas{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.scene{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}main,.site-header,.site-footer,.skip-link{z-index:1;position:relative}main{min-height:72vh}main:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(90deg,#0b0a09d1,#0b0a0957 68%,#0000);width:min(58rem,70vw);position:absolute;top:0;bottom:0;left:0}.wrap{z-index:1;width:min(calc(100% - 3rem), var(--measure));margin-inline:auto;position:relative}.chrome{width:min(calc(100% - 3rem), var(--measure));justify-content:space-between;align-items:baseline;gap:2rem;margin-inline:auto;display:flex}.skip-link{z-index:10;background:var(--accent);color:var(--bg);font:500 .7rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:.45rem .75rem;position:fixed;top:.75rem;left:1rem;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{padding-block:1.5rem}.wordmark{white-space:nowrap;align-items:baseline;gap:.7rem;display:inline-flex}@media (width<=760px){.wordmark-site{display:none}}.wordmark-name{font-family:var(--display);letter-spacing:-.02em;font-size:1.08rem;font-weight:700}.wordmark-site{color:var(--steel);font:.68rem/1 var(--mono);letter-spacing:.06em}.site-nav,.footer-links{align-items:center;gap:clamp(.9rem,2vw,1.8rem);padding:0;list-style:none;display:flex}.site-nav a,.footer-links a{color:var(--steel);font:.68rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase}.site-nav a:hover,.footer-links a:hover,.site-nav a[aria-current=page]{color:var(--accent)}.site-nav a[aria-current=page]:before{content:"·";margin-right:.38rem}.site-footer{background:var(--hairline-soft) repeat-x left top / 5px 2px;margin-top:clamp(6rem,16vh,13rem);padding-block:1.5rem 2.5rem}.footer-tagline{color:var(--steel);font:.68rem/1.35 var(--mono);letter-spacing:.02em}.kicker,.section-link,.post-meta,.article-meta,.project-year,.project-status{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem}.kicker{color:var(--steel)}.section-link{color:var(--accent)}.section-head{background:var(--hairline) repeat-x left bottom / 5px 2px;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.9rem;display:flex}.home-section,.page-section{margin-top:clamp(4rem,10vw,9rem)}.home-section:first-of-type{margin-top:clamp(9rem,28vh,22rem)}.masthead{width:min(100% - 3rem,34rem);margin-left:max(1.5rem, calc((100vw - var(--measure)) / 2));padding-top:clamp(8rem,38vh,25rem)}.masthead-name{max-width:9ch;color:var(--ink);font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;text-shadow:0 0 2.5rem #0b0a09e6;margin-top:.55rem;font-size:clamp(2.6rem,6vw,4.8rem);font-weight:700;line-height:1.02}.masthead-intro{max-width:32rem;color:var(--ink-soft);text-shadow:0 0 1.5rem #0b0a09f2;margin-top:1.7rem;font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.4}.masthead-intro p+p{margin-top:.9rem}.masthead-intro a{color:var(--ink);text-decoration:underline dotted var(--accent-soft);text-underline-offset:.2em}.section-more{font:.7rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.03em;margin-top:1.25rem}.section-more a{color:var(--accent)}.quiet{max-width:34rem;color:var(--steel);padding-block:1.5rem;font-size:1.03rem}.quiet a{color:var(--accent);text-decoration:underline dotted var(--accent-soft);text-underline-offset:.2em}.post-list,.project-list{padding:0;list-style:none}.post-item,.project-item{background:var(--hairline-soft) repeat-x left bottom / 5px 2px}.post-row,.project-row{align-items:baseline;gap:1rem;padding-block:1.15rem;transition:color .18s,padding .18s;display:grid}.post-row{grid-template-columns:7rem minmax(0,1fr) auto auto}.post-row:hover,.project-row:hover{background:var(--accent-wash);padding-inline:.45rem}.post-date{color:var(--steel);font:.68rem/1.3 var(--mono)}.post-main{gap:.22rem;min-width:0;display:grid}.post-title,.project-name{letter-spacing:-.02em;font-size:1.12rem;font-weight:700}.post-desc,.project-thesis{color:var(--steel);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.post-meta{color:var(--steel);white-space:nowrap}.post-arrow,.project-arrow{color:var(--accent);font-size:1rem}.project-row{grid-template-columns:minmax(0,1fr) auto}.project-main{gap:.18rem;min-width:0;display:grid}.project-side{align-items:baseline;gap:.9rem;display:flex}.project-year,.project-status{color:var(--steel)}.article-page{padding-bottom:2rem}.article-head{width:min(100% - 3rem,52rem);margin-left:max(1.5rem, calc((100vw - var(--measure)) / 2));padding-top:clamp(4rem,12vh,9rem)}.wrap .article-head{width:min(100%,52rem);margin-left:0}.article-title{max-width:15ch;font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;text-shadow:0 0 2rem #0b0a09cc;margin-top:.7rem;font-size:clamp(2.6rem,6vw,5.4rem);font-weight:700;line-height:1.02}.article-lede{max-width:42rem;color:var(--ink-soft);text-shadow:0 0 1.5rem #0b0a09f2;margin-top:1.45rem;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.42}.back-row{padding-top:1.25rem}.back-link{color:var(--accent);font:.68rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase}.back-link:before{content:"←  "}.article-meta{color:var(--steel);flex-wrap:wrap;gap:1rem;display:flex}.article-foot{background:var(--hairline) repeat-x left top / 5px 2px;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:5rem;padding-top:1rem;display:flex}.detail-hero-image{border:1px solid var(--line);width:min(100%,52rem);margin:3rem 0}.now dl{max-width:58rem}.now-row{background:var(--hairline-soft) repeat-x left bottom / 5px 2px;grid-template-columns:minmax(8rem,15rem) 1fr;gap:2rem;padding-block:1.2rem;display:grid}.now-row dt{color:var(--accent);font:.7rem/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}.now-row dd{color:var(--ink-soft)}.link-row{flex-wrap:wrap;gap:.6rem;display:flex}.chip{border:1px solid var(--line);color:var(--ink-soft);font:.68rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:.63rem .8rem;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip:after{content:"↗";color:var(--accent);margin-left:.4rem}.prose{width:min(100%,52rem);color:var(--ink-soft);font-family:var(--reading);margin-top:clamp(3rem,8vw,6rem);font-size:clamp(1.12rem,1.6vw,1.3rem);line-height:1.62}.intro-copy{margin-top:2.5rem}.prose>*+*{margin-top:1.25em}.prose h2,.prose h3,.prose h4{color:var(--ink);font-family:var(--display);letter-spacing:-.025em;font-weight:700;line-height:1.12}.prose h2{margin-top:2em;font-size:1.9rem}.prose h3{margin-top:1.7em;font-size:1.5rem}.prose h4{margin-top:1.5em;font-size:1.2rem}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.7em}.prose a{color:var(--accent);text-decoration:underline dotted var(--accent-soft);text-underline-offset:.2em}.prose strong{color:var(--ink);font-weight:650}.prose ul,.prose ol{padding-left:1.35em}.prose li+li{margin-top:.42em}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:2px solid var(--accent);color:var(--steel);padding-left:1.25rem;font-style:italic}.prose code{border:1px solid var(--line);background:var(--steel-wash);font:.78em var(--mono);padding:.1em .3em}.prose pre{border:1px solid var(--line);font:.73em/1.65 var(--mono);tab-size:2;padding:1.1rem 1.2rem;overflow-x:auto;background:var(--pre)!important;color:var(--pre-ink)!important}.prose pre code{font:inherit;background:0 0;border:0;padding:0}.prose hr{background:var(--hairline) repeat-x left center / 5px 2px;border:0;height:2px;margin-block:3rem}.prose img{width:100%;height:auto}.prose p:has(>img)>em{color:var(--steel);font:.72em/1.5 var(--mono);margin-top:.7rem;font-style:normal;display:block}.err{padding-top:clamp(7rem,22vh,15rem)}.err-code{color:var(--accent);font:.72rem/1 var(--mono);letter-spacing:.06em}.err-msg{max-width:17ch;font-family:var(--display);letter-spacing:-.03em;margin-top:.8rem;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.02}.err-line{max-width:32rem;color:var(--steel);margin-top:1.3rem;font-size:1.1rem}.err .back-link{margin-top:2rem;display:inline-block}@keyframes rise{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}.rise{animation:.7s both rise;animation-delay:calc(var(--i,0) * 90ms)}[data-reveal]{opacity:1;transform:none}html[data-scene=ready] [data-reveal]{animation:.65s both reveal;animation-delay:var(--d,0s)}@keyframes reveal{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.chrome,.wrap{width:min(calc(100% - 2rem), var(--measure))}.site-header{padding-block:1.1rem}.wordmark{gap:.45rem}.site-nav{flex-wrap:nowrap;gap:.8rem}.site-nav a,.footer-links a{font-size:.62rem}main:before{background:linear-gradient(#0b0a09a6,#0b0a0952 60%,#0000);width:100%}.masthead,.article-head{width:min(100% - 2rem,34rem);margin-left:1rem}.masthead{padding-top:clamp(7rem,36vh,12rem)}.home-section:first-of-type{margin-top:clamp(7rem,18vh,12rem)}.post-row{grid-template-columns:5.7rem minmax(0,1fr) auto;gap:.7rem}.post-meta{grid-column:2;font-size:.6rem}.post-arrow{grid-area:1/3/span 2}.project-side{gap:.45rem}.project-status{display:none}.article-title{font-size:clamp(2.5rem,14vw,4rem)}.now-row{grid-template-columns:1fr;gap:.45rem}.site-footer .chrome{gap:1rem;display:grid}}@media (width<=440px){.post-row{grid-template-columns:1fr auto}.post-date,.post-main,.post-meta{grid-column:1}.post-arrow{grid-area:1/2/span 3}.project-row{grid-template-columns:1fr auto}.project-thesis{white-space:normal}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}html[data-scene=ready] [data-reveal]{animation:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.activity{margin-top:clamp(14rem,26vh,22rem)}.activity-figures{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1.6rem;margin-top:2.4rem;display:grid}.activity-figure{flex-direction:column;gap:.55rem;padding-block:.3rem;display:flex}.activity-figure:nth-child(n+2){background:var(--hairline) repeat-y left top / 2px 5px;padding-left:1.6rem}.activity-value{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);order:-1;font-size:clamp(1.55rem,2.6vw,2.1rem);font-weight:700}.activity-key{color:var(--steel);font:.62rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}.activity-stats{color:var(--steel);font:.68rem/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-top:1.6rem}.activity-live{color:var(--ink)}.activity-chart{margin-top:1.5rem}.activity-chart canvas{cursor:crosshair;touch-action:pan-y;width:100%;height:clamp(9rem,30vw,13rem)}.activity-hover{min-height:.88rem;color:var(--steel);font:.68rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-top:.4rem}.activity-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);margin-top:2.5rem;display:grid}.activity-subhead{background:var(--hairline) repeat-x left bottom / 5px 2px;padding-bottom:.6rem}.activity-list{padding:0;list-style:none}.activity-item{background:var(--hairline-soft) repeat-x left bottom / 5px 2px}.activity-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.9rem;padding-block:.8rem;transition:color .18s,padding .18s;display:grid}.activity-row:hover{background:var(--accent-wash);padding-inline:.45rem}.activity-row-main{gap:.18rem;min-width:0;display:grid}.activity-name{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.activity-side{align-items:baseline;gap:.8rem;display:flex}.activity-stars{color:var(--ink-soft);font:.68rem/1.35 var(--mono)}.activity-meta,.activity-date{color:var(--steel);font:.68rem/1.35 var(--mono);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-desc{color:var(--steel);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.activity-arrow{color:var(--accent)}@media (width<=640px){.activity{margin-top:clamp(7rem,18vh,12rem)}.activity-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1.4rem}.activity-figure:nth-child(n+2){background:0 0;padding-left:0}.activity-figure:nth-child(2n){background:var(--hairline) repeat-y left top / 2px 5px;padding-left:1.4rem}.activity-chart canvas{height:clamp(7rem,34vw,10rem)}.activity-cols{grid-template-columns:1fr}}.scene[data-astro-cid-iwpgssty]{z-index:0;pointer-events:none;background:radial-gradient(ellipse at 88% 16%, color-mix(in srgb, var(--accent) 7%, var(--bg)) 0%, var(--bg) 58%);contain:strict;position:fixed;inset:0;overflow:hidden}.scene[data-astro-cid-iwpgssty][data-variant=quiet]{background:var(--bg)}.scene[data-astro-cid-iwpgssty]:not([data-variant=home]):not([data-variant=quiet]){background:radial-gradient(ellipse at 82% 39%, color-mix(in srgb, var(--accent) 7%, var(--bg)) 0%, var(--bg) 58%)}@media (width<=759px){.scene[data-astro-cid-iwpgssty]:not([data-variant=quiet]){background:radial-gradient(ellipse at 55% 45%, color-mix(in srgb, var(--accent) 5%, var(--bg)) 0%, var(--bg) 72%)}}.scene[data-astro-cid-iwpgssty]>canvas[data-astro-cid-iwpgssty]{opacity:0;width:100%;height:100%;display:block}.scene[data-astro-cid-iwpgssty][data-renderer=webgl]>canvas[data-astro-cid-iwpgssty],.scene[data-astro-cid-iwpgssty][data-renderer=canvas2d]>canvas[data-astro-cid-iwpgssty]{opacity:1}.scene[data-astro-cid-iwpgssty][data-renderer=fallback]>canvas[data-astro-cid-iwpgssty]{opacity:0}@media (width>=760px){body:has(.scene[data-variant=about]) .intro-copy{max-width:min(36rem,48vw)}body:has(.scene[data-variant=projects]) .project-list,body:has(.scene[data-variant=writing]) .post-list{max-width:min(42rem,50vw)}}@media (width<=759px){body:has(.scene[data-variant=home]) .masthead,body:has(.scene[data-variant=writing]) .article-head,body:has(.scene[data-variant=projects]) .article-head,body:has(.scene[data-variant=about]) .article-head,body:has(.scene[data-variant=notFound]) .err{padding-top:18vh}body:has(.scene:not([data-variant=quiet])) main:before{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 12%, transparent), color-mix(in srgb, var(--bg) 46%, transparent) 24vh, color-mix(in srgb, var(--bg) 62%, transparent) 60vh, color-mix(in srgb, var(--bg) 72%, transparent) 100vh)}}
