@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.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;src:url(/_astro/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.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;src:url(/_astro/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/space-grotesk-latin-600-normal.DjKNqYRj.woff2)format("woff2"),url(/_astro/space-grotesk-latin-600-normal.BflQw4A9.woff)format("woff")}.mark[data-astro-cid-f7espo7c]{width:var(--logo-size,30px);height:var(--logo-size,30px);flex:none}.mark[data-astro-cid-f7espo7c] .i[data-astro-cid-f7espo7c]{fill:var(--logo-ink)}.mark[data-astro-cid-f7espo7c] .a[data-astro-cid-f7espo7c]{fill:var(--accent)}.wm[data-astro-cid-f7espo7c]{font:600 calc(var(--logo-size,30px) * .8) / 1 "Space Grotesk", system-ui, sans-serif;letter-spacing:-.01em}.site-header[data-astro-cid-nen7h5rs]{z-index:5;position:relative}.hdr[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:84px;padding-block:8px;display:flex;position:relative}.brand[data-astro-cid-nen7h5rs]{min-height:44px;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.navwrap[data-astro-cid-nen7h5rs]{max-width:100%;position:relative}#nav[data-astro-cid-nen7h5rs]{flex-wrap:wrap;align-items:center;gap:2px;display:flex;position:relative}#nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],#nav[data-astro-cid-nen7h5rs] .s[data-astro-cid-nen7h5rs]{z-index:1;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 14px;text-decoration:none;display:inline-flex;position:relative}#nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text);font-weight:500}#nav[data-astro-cid-nen7h5rs]:not([data-cap]) a[data-astro-cid-nen7h5rs][aria-current]{background:var(--text);color:var(--bg)}#nav[data-astro-cid-nen7h5rs]:not([data-cap]) a[data-astro-cid-nen7h5rs]:hover:not([aria-current]){background:var(--sunk)}#nav[data-astro-cid-nen7h5rs][data-cap] a[data-astro-cid-nen7h5rs][data-cap-on]{color:var(--bg)}#nav[data-astro-cid-nen7h5rs] .shop[data-astro-cid-nen7h5rs]{color:var(--muted)}.menu-btn[data-astro-cid-nen7h5rs][hidden]{display:none}#nav[data-astro-cid-nen7h5rs]{--cap-bg:var(--text)}@media (width<=860px){.navwrap[data-astro-cid-nen7h5rs]{width:100%}.navwrap[data-astro-cid-nen7h5rs][data-pop],html[data-js] .navwrap[data-astro-cid-nen7h5rs]{width:auto}html[data-js] .navwrap[data-astro-cid-nen7h5rs]:not([data-pop]) #navp[data-astro-cid-nen7h5rs]{display:none}html[data-js] .navwrap[data-astro-cid-nen7h5rs]:not([data-pop]) .menu-btn[data-astro-cid-nen7h5rs][hidden]{display:inline-flex}.navwrap[data-astro-cid-nen7h5rs][data-pop] #navp[data-astro-cid-nen7h5rs]{z-index:30;background:var(--surface);border-radius:var(--r);width:max-content;min-width:200px;max-width:calc(100vw - 32px);box-shadow:0 0 0 1px var(--line), var(--shadow);transform-origin:100% 0;opacity:0;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.navwrap[data-astro-cid-nen7h5rs][data-pop] #navp[data-astro-cid-nen7h5rs][hidden]{display:none}.navwrap[data-astro-cid-nen7h5rs][data-pop] #nav[data-astro-cid-nen7h5rs]{flex-flow:column;align-items:stretch;gap:2px}.navwrap[data-astro-cid-nen7h5rs][data-pop] #nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.navwrap[data-astro-cid-nen7h5rs][data-pop] #nav[data-astro-cid-nen7h5rs] .s[data-astro-cid-nen7h5rs]{justify-content:flex-start}}@media (width>=861px){.menu-btn[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{border-radius:var(--r-lg) var(--r-lg) 0 0;margin-top:clamp(56px,8vw,112px);padding-block:40px 32px}.fgrid[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;display:flex}.brand[data-astro-cid-jo6i4kqk]{min-height:44px;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.blurb[data-astro-cid-jo6i4kqk]{color:var(--muted);max-width:28.2em;margin-top:8px;font-size:.9375rem}.foot-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:4px 18px;display:flex}.foot-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{align-items:center;min-height:44px;display:inline-flex}.fthemes[data-astro-cid-jo6i4kqk]{color:var(--muted);align-items:center;gap:10px;font-size:.875rem;display:flex}.fthemes[data-astro-cid-jo6i4kqk][hidden]{display:none}.seg[data-astro-cid-jo6i4kqk]{border-radius:calc(var(--btn-r) + 3px);background:var(--sunk);isolation:isolate;--cap-bg:var(--plate);box-shadow:inset 0 0 0 1px var(--line);padding:3px;display:inline-flex;position:relative}.seg[data-astro-cid-jo6i4kqk] button{z-index:1;cursor:pointer;border-radius:var(--btn-r);min-height:36px;font:500 .875rem var(--font-body);color:var(--muted);touch-action:manipulation;background:0 0;border:0;padding:0 14px;position:relative}.seg[data-astro-cid-jo6i4kqk] button[aria-checked=true]{color:var(--text)}@media (pointer:coarse){.seg[data-astro-cid-jo6i4kqk] button{min-height:44px}}.copy[data-astro-cid-jo6i4kqk]{color:var(--muted);margin-top:12px;font-size:.8125rem}:root{--hl:#fff;--shade:#00000014;--contact:#0000001f;--bg:#faf6f1;--surface:#fff;--text:#261a15;--muted:#6a5a50;--primary:#4a3328;--secondary:#4b6a78;--accent:#0a8481;--onp:#faf6f1;--ona:#fff;--sunk:#ede9e4;--line:#dcd7d2;--ring:#908883;--plate:#fff;--wash:#e2ebe6;--danger:#ce2c31;--dangerface:#ce2c31;--dangerwash:#f8eee9}:root[data-theme=dark]{--hl:#ffffff14;--shade:#00000040;--contact:#0006;--bg:#17110e;--surface:#221a16;--text:#f4ece4;--muted:#b8a89b;--primary:#d9b48f;--secondary:#9cbbcb;--accent:#3dd0c8;--onp:#17110e;--ona:#17110e;--sunk:#241e1b;--line:#36302c;--ring:#867e79;--plate:#36302c;--wash:#1b2421;--danger:#ff9592;--dangerface:#d4363c;--dangerwash:#201613}@media (prefers-color-scheme:dark){:root[data-theme=system]{--hl:#ffffff14;--shade:#00000040;--contact:#0006;--bg:#17110e;--surface:#221a16;--text:#f4ece4;--muted:#b8a89b;--primary:#d9b48f;--secondary:#9cbbcb;--accent:#3dd0c8;--onp:#17110e;--ona:#17110e;--sunk:#241e1b;--line:#36302c;--ring:#867e79;--plate:#36302c;--wash:#1b2421;--danger:#ff9592;--dangerface:#d4363c;--dangerwash:#201613}}.band{--hl:#ffffff14;--shade:#00000040;--contact:#0006;--bg:#4a3328;--surface:#261a15;--text:#f4ece4;--muted:#b8a89b;--primary:#d9b48f;--secondary:#9cbbcb;--accent:#3dd0c8;--onp:#17110e;--ona:#17110e;--sunk:#261a15;--line:#624d42;--ring:#9f9086;--plate:#624d42;--wash:#494338;--danger:#ff9592;--dangerface:#d4363c;--dangerwash:#51372c}:root[data-theme=dark] .band{--hl:#ffffff14;--shade:#00000040;--contact:#0006;--bg:#221a16;--surface:#17110e;--text:#f4ece4;--muted:#b8a89b;--primary:#d9b48f;--secondary:#9cbbcb;--accent:#3dd0c8;--onp:#17110e;--ona:#17110e;--sunk:#17110e;--line:#3f3733;--ring:#8b837d;--plate:#3f3733;--wash:#252c28;--danger:#ff9592;--dangerface:#d4363c;--dangerwash:#2b1f1b}@media (prefers-color-scheme:dark){:root[data-theme=system] .band{--hl:#ffffff14;--shade:#00000040;--contact:#0006;--bg:#221a16;--surface:#17110e;--text:#f4ece4;--muted:#b8a89b;--primary:#d9b48f;--secondary:#9cbbcb;--accent:#3dd0c8;--onp:#17110e;--ona:#17110e;--sunk:#17110e;--line:#3f3733;--ring:#8b837d;--plate:#3f3733;--wash:#252c28;--danger:#ff9592;--dangerface:#d4363c;--dangerwash:#2b1f1b}}@font-face{font-family:Figtree Fallback;src:local(Arial),local(Liberation Sans),local(Roboto);font-weight:100 400;size-adjust:101.27%;ascent-override:93.8%;descent-override:24.69%;line-gap-override:0%}@font-face{font-family:Figtree Fallback;src:local(Arial),local(Liberation Sans),local(Roboto);font-weight:500;size-adjust:102.01%;ascent-override:93.13%;descent-override:24.51%;line-gap-override:0%}@font-face{font-family:Figtree Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Roboto Bold);font-weight:600 900;size-adjust:95.22%;ascent-override:99.77%;descent-override:26.26%;line-gap-override:0%}@font-face{font-family:Bricolage Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Roboto Bold);font-weight:100 900;size-adjust:96.77%;ascent-override:96.1%;descent-override:27.9%;line-gap-override:0%}:root,.band{--font-display:"Bricolage Grotesque Variable", "Bricolage Fallback", "Figtree Variable", "Figtree Fallback", system-ui, sans-serif;--font-body:"Figtree Variable", "Figtree Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--maxw:1320px;--r:22px;--r-lg:28px;--btn-r:999px;--r-ph:18px;--gutter:clamp(16px, 3vw, 40px);--btn:var(--primary);--onbtn:var(--onp);--logo-ink:var(--primary);--shadow:0 1px 2px #17110e14, 0 16px 32px -16px #17110e55;--bp-contact:#0006;--bp-hl:#ffffff59;--bp-shade:#0003;--black:#000;--ondanger:#fff;--scene-0:radial-gradient(circle at 72% 34%, #f2d3a0 0 5%, transparent 5.5%), linear-gradient(#5d7289 0%, #d9987a 52%, #33424f 52.1%, #1f2c35 100%);--scene-1:radial-gradient(ellipse at 30% 100%, #2b4a3e 0 40%, transparent 41%), radial-gradient(ellipse at 80% 100%, #1f3a31 0 45%, transparent 46%), linear-gradient(#a9b9a2, #e4dcc0 70%);--scene-2:linear-gradient(170deg, transparent 58%, #a3643f 58.2%, #7d4a30 100%), radial-gradient(circle at 25% 28%, #fbe8c0 0 6%, transparent 6.5%), linear-gradient(#e7b98a, #f3dcc0 58%);--scene-3:radial-gradient(circle at 50% 100%, #b5532d 0 30%, transparent 31%), radial-gradient(circle at 15% 90%, #d58a2f 0 24%, transparent 25%), linear-gradient(#d9c8a4, #b9a27d);--scene-4:radial-gradient(circle at 60% 40%, #f0c7a5 0 12%, transparent 12.5%), linear-gradient(180deg, #8a6a58, #4c3830);--scene-5:radial-gradient(circle at 20% 30%, #f5b44f 0 3%, transparent 3.5%), radial-gradient(circle at 70% 55%, #3dd0c8 0 2.5%, transparent 3%), radial-gradient(circle at 45% 70%, #f5b44f 0 3%, transparent 3.5%), linear-gradient(#1c2233, #3a2a38);--scene-6:linear-gradient(115deg, transparent 40%, #2c3a46 40.2% 55%, transparent 55.2%), linear-gradient(75deg, #506a7a 0 30%, #8fa7b4 30.2% 50%, #dfe6e8 50.2%);--scene-7:radial-gradient(ellipse at 50% 120%, #18313a 0 55%, transparent 56%), linear-gradient(#6aa7ae, #c9e0d8)}.band{--btn:var(--accent);--onbtn:var(--ona);--logo-ink:var(--text)}:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:40px;--s7:64px;--s8:96px;--viewer-bg:#17110e;--viewer-btn:#221a16;--viewer-btn-hover:#2b211c;--viewer-text:#f4ece4;--viewer-muted:#b8a89b;--viewer-focus:#3dd0c8}.bp,.bs,.bt{isolation:isolate;border-radius:var(--btn-r);min-height:44px;font:600 1rem/1 var(--font-body);cursor:pointer;touch-action:manipulation;will-change:transform;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;display:inline-flex;position:relative}.bp:focus-visible,.bs:focus-visible,.bt:focus-visible{border-radius:var(--btn-r)}.bp{--c:var(--btn);color:var(--onbtn);box-shadow:0 1px 2px var(--bp-contact)}.bp:after{content:"";border-radius:inherit;z-index:-1;background:linear-gradient(var(--c), color-mix(in oklab, var(--black) 8%, var(--c)));box-shadow:inset 0 1px 0 var(--bp-hl), inset 0 -2px 0 var(--bp-shade);position:absolute;inset:0}.bp .glow{border-radius:inherit;pointer-events:none;z-index:-1;box-shadow:0 8px 24px -6px color-mix(in srgb, var(--c) 60%, transparent);opacity:.85;will-change:transform;transition:opacity .15s linear;position:absolute;inset:0}.bp:hover .glow{opacity:1}.bp.noglow .glow{display:none}.bs{color:var(--text);box-shadow:0 1px 2px var(--contact)}.bs:before,.bs:after,.bt:after{content:"";border-radius:inherit;z-index:-1;position:absolute;inset:0}.bs:before{background:var(--surface);box-shadow:inset 0 0 0 1px var(--ring), inset 0 1px 0 var(--hl), inset 0 -2px 0 var(--shade)}.bs:after,.bt:after{opacity:0;transition:opacity .15s linear}.bs:after{background:color-mix(in srgb, var(--text) 5%, transparent)}.bt:after{background:var(--wash)}.bs:hover:after,.bt:hover:after{opacity:1}.band .bs{--ring:var(--muted)}.bt{color:var(--secondary);text-underline-offset:4px;padding:0 14px;text-decoration:underline 1px}.bt.danger{color:var(--danger)}.bt.danger:after{background:var(--dangerwash)}.bp.danger{--c:var(--dangerface);color:var(--ondanger)}.bp.dense,.bs.dense,.bt.dense{min-height:36px;padding:0 14px;font-size:.875rem}@media (pointer:coarse){.bp.dense,.bs.dense,.bt.dense{min-height:44px}}.bp[disabled],.bs[disabled],.bt[disabled]{opacity:.6;cursor:not-allowed}.bp[disabled] .glow{display:none}.ic-btn{place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.btnrow{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}@media (prefers-reduced-motion:reduce){.bp .glow,.bs:after,.bt:after{transition:none}}.card,.alb a,.proj>a{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line);color:var(--text);will-change:transform;text-decoration:none}.card{height:100%;padding:12px;display:block}.card .eph{aspect-ratio:4/3;border-radius:calc(var(--r) - 8px);display:block;position:relative;overflow:hidden}.card h3{margin:14px 8px 2px}.card p{color:var(--muted);margin:0 8px 8px;font-size:.9375rem}.card .tag{position:absolute;top:10px;left:10px}.alb[hidden]{display:none}.alb a{padding:10px;display:block}.alb .ph-wrap{aspect-ratio:4/3;border-radius:calc(var(--r) - 8px);display:block;overflow:hidden}.alb .ph-wrap picture,.alb .ph-wrap img{width:100%;height:100%;display:block}.alb .ph-wrap img{object-fit:cover}.alb .meta{flex-direction:column;gap:2px;margin-top:10px;padding:12px 8px 6px;display:flex}.alb strong{font-weight:600}.alb .meta span{color:var(--muted);font-size:.875rem}.alb a:hover strong{text-underline-offset:3px;text-decoration:underline 1px}.proj>a{height:100%;color:inherit;gap:18px;padding:12px;display:grid}.proj .shot{aspect-ratio:16/10;background-color:var(--sunk);border:1px solid var(--line);border-radius:calc(var(--r) - 8px);box-shadow:var(--shadow);padding:10px;display:block;overflow:hidden}.proj .ptxt{justify-items:start;gap:10px;padding:4px 10px 12px;display:grid}.proj p{color:var(--muted)}.proj .more{color:var(--secondary);text-underline-offset:3px;text-decoration:underline}.ph{background-size:cover;width:100%;height:100%;display:block}.tag{font:500 .8125rem/1 var(--font-body);border:1px solid var(--ring);color:var(--secondary);background:var(--surface);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.tag.soon{color:var(--text)}.sc0{background:var(--scene-0)}.sc1{background:var(--scene-1)}.sc2{background:var(--scene-2)}.sc3{background:var(--scene-3)}.sc4{background:var(--scene-4)}.sc5{background:var(--scene-5)}.sc6{background:var(--scene-6)}.sc7{background:var(--scene-7)}.sc-soon{background:repeating-linear-gradient(135deg, var(--sunk) 0 14px, var(--line) 14px 15px)}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);max-width:320px;color:inherit;will-change:transform;padding:16px;text-decoration:none;display:block}.capsule{z-index:0;pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.capsule.x{transform-origin:0}.capsule>span{background:var(--cap-bg);will-change:transform;position:absolute;top:0;left:0}.capsule>span.pb{transform-origin:0 0;border-radius:0}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--font-body);overflow-wrap:anywhere;min-width:0;margin:0}img,svg{max-width:100%}h1,h2,h3,h4,p,ul,ol,figure{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"opsz" 48;font-weight:600;line-height:1.05}h4{font-family:var(--font-display)}h1{font-size:clamp(2.4rem,1.3rem + 4.6vw,5rem)}h2{font-size:clamp(1.5rem,1.1rem + 1.5vw,2.375rem)}h3{font-size:1.3125rem}.band{background:var(--bg);color:var(--text)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark}}ul,ol{padding:0;list-style:none}a{color:var(--secondary);text-underline-offset:3px;text-decoration:underline 1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--surface);color:var(--text);box-shadow:0 0 0 2px var(--accent);border-radius:6px;padding:10px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:8px}.ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.wrap{width:min(var(--maxw), 100% - 2 * var(--gutter));margin-inline:auto}main:focus,h1:focus{outline:none}.page{padding-block:clamp(28px,5vw,64px)}.lede{color:var(--muted);max-width:38.46em;font-size:1.1875rem}.prose{max-width:39.74em}.prose p+p{margin-top:1em}.list-d{gap:10px;margin-top:16px;padding:0;list-style:none;display:grid}.list-d li{padding-left:22px;position:relative}.list-d li:before{content:"";background:var(--accent);border-radius:2px;width:10px;height:10px;position:absolute;top:.7em;left:0}
