@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/caveat-latin-600-normal.zlTlWIYU.woff2)format("woff2"),url(/_astro/caveat-latin-600-normal.DUjB8dgm.woff)format("woff")}.about[data-astro-cid-oxgmilyn]{padding:28px var(--gutter);flex-flow:row-reverse wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}p[data-astro-cid-oxgmilyn]{font-family:"Caveat", var(--font);transform-origin:0;flex:320px;margin:0;font-size:32px;font-weight:600;line-height:1.1;transform:rotate(-2deg)}a[data-astro-cid-oxgmilyn]{background:var(--ink);min-height:44px;color:var(--card);border-radius:999px;align-items:center;padding:0 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}a[data-astro-cid-oxgmilyn]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (width<=640px){.about[data-astro-cid-oxgmilyn]{text-align:center;flex-direction:column;gap:0;padding-bottom:0}p[data-astro-cid-oxgmilyn]{transform-origin:50%;flex:none;padding-block:48px;font-size:30px}}.card[data-astro-cid-yk4hkwyg]{width:100%;max-width:760px;margin:auto 0;position:relative}.card[data-astro-cid-yk4hkwyg]:before{content:"";filter:blur(10px);background:#0000008c;border-radius:14px;position:absolute;inset:0;translate:0 8px}.sheet[data-astro-cid-yk4hkwyg]{background:var(--card);border-radius:14px;position:relative}@media (width<=640px){.card[data-astro-cid-yk4hkwyg]{margin-top:0}.card[data-astro-cid-yk4hkwyg]:before,.sheet[data-astro-cid-yk4hkwyg]{border-radius:0}}.profile[data-astro-cid-ykkw727v]{padding:var(--gutter) var(--gutter) 40px;flex-wrap:wrap;align-items:center;gap:24px 32px;display:flex}.avatar[data-astro-cid-ykkw727v]{object-fit:cover;border-radius:50%;flex:none;width:132px;height:132px}.who[data-astro-cid-ykkw727v]{flex-direction:column;flex:320px;gap:8px;display:flex}h1[data-astro-cid-ykkw727v]{letter-spacing:-.02em;margin:0;font-size:clamp(32px,5vw,44px);font-weight:700;line-height:1.1}p[data-astro-cid-ykkw727v]{margin:0}.role[data-astro-cid-ykkw727v]{color:var(--ink-2);font-size:19px;font-weight:500}.where[data-astro-cid-ykkw727v]{color:var(--ink-3);font-size:16px}@media (width<=640px){.profile[data-astro-cid-ykkw727v]{text-align:center;flex-direction:column;gap:20px;padding-block:32px}.avatar[data-astro-cid-ykkw727v]{width:112px;height:112px}.who[data-astro-cid-ykkw727v]{flex:none;align-items:center;gap:6px}}live-ticker[data-astro-cid-u6vsyxkm]{--slide-body:142px;--progress:var(--accent-bright);display:block}@media (width<=640px){live-ticker[data-astro-cid-u6vsyxkm]{--slide-body:186px}}.ticker[data-astro-cid-u6vsyxkm]{background:var(--strip);position:relative}.track[data-astro-cid-u6vsyxkm]{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.track[data-astro-cid-u6vsyxkm]>.slide{box-sizing:border-box;min-width:0;min-height:calc(var(--slide-body) + 48px);padding:24px var(--gutter);scroll-snap-align:start;flex-direction:column;flex:0 0 100%;justify-content:center;display:flex}.track[data-astro-cid-u6vsyxkm]>.slide[hidden]{display:none}@supports selector(::scroll-marker){.track[data-astro-cid-u6vsyxkm]{scroll-marker-group:after}.track[data-astro-cid-u6vsyxkm]::scroll-marker-group{background:var(--strip);justify-content:center;gap:4px;padding-bottom:12px;display:flex}.track[data-astro-cid-u6vsyxkm]>.slide::scroll-marker{content:"";background:var(--rule);border-radius:50%;width:8px;height:8px;margin:8px}.track[data-astro-cid-u6vsyxkm]>.slide::scroll-marker:target-current{background:var(--progress)}}live-ticker[data-astro-cid-u6vsyxkm][data-enhanced] .track[data-astro-cid-u6vsyxkm]{scroll-marker-group:none;grid-template-columns:minmax(0,1fr);display:grid;overflow:visible}live-ticker[data-astro-cid-u6vsyxkm][data-enhanced] .track[data-astro-cid-u6vsyxkm]>.slide{min-height:calc(var(--slide-body) + 76px);visibility:hidden;grid-area:1/1;padding-bottom:52px}live-ticker[data-astro-cid-u6vsyxkm][data-enhanced] .track[data-astro-cid-u6vsyxkm]>.slide[data-active]{visibility:visible}.controls[data-astro-cid-u6vsyxkm]{bottom:0;right:10px;left:var(--gutter);align-items:center;gap:16px;display:flex;position:absolute}.controls[data-astro-cid-u6vsyxkm][hidden]{display:none}.progress[data-astro-cid-u6vsyxkm]{flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.progress[data-astro-cid-u6vsyxkm] li{flex:1;min-width:0}.progress[data-astro-cid-u6vsyxkm] button{cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;width:100%;height:44px;padding:0;display:flex}.progress[data-astro-cid-u6vsyxkm] button:focus-visible{outline:2px solid var(--ink)}.progress[data-astro-cid-u6vsyxkm] .bar{background:var(--rule);border-radius:2px;flex:1;height:3px;transition:height .12s;overflow:hidden}.progress[data-astro-cid-u6vsyxkm] :is(button:hover,[aria-current]) .bar{background:color-mix(in srgb, var(--ink) 28%, transparent)}.progress[data-astro-cid-u6vsyxkm] button:hover .bar{height:5px}.progress[data-astro-cid-u6vsyxkm] .fill{background:var(--progress);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.progress[data-astro-cid-u6vsyxkm] [data-done] .fill{transform:none}.progress[data-astro-cid-u6vsyxkm] [aria-current] .fill{animation:fill var(--slide-duration) linear forwards}live-ticker[data-astro-cid-u6vsyxkm]:is([data-paused],[data-held]) .progress[data-astro-cid-u6vsyxkm] .fill{animation-play-state:paused}@keyframes fill{to{transform:none}}.pause[data-astro-cid-u6vsyxkm]{width:44px;height:44px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.pause[data-astro-cid-u6vsyxkm]:focus-visible{outline:2px solid var(--ink)}.pause[data-astro-cid-u6vsyxkm] svg[data-astro-cid-u6vsyxkm]{width:16px;height:16px}.pause[data-astro-cid-u6vsyxkm] svg[data-astro-cid-u6vsyxkm] *{fill:currentColor}live-ticker[data-astro-cid-u6vsyxkm][data-paused] .when-playing[data-astro-cid-u6vsyxkm],live-ticker[data-astro-cid-u6vsyxkm]:not([data-paused]) .when-paused[data-astro-cid-u6vsyxkm]{display:none}live-ticker[data-enhanced] .slide[data-active] [data-enter]{animation:.56s var(--ease-out) var(--delay,40ms) both}live-ticker[data-enhanced] .slide[data-active] [data-enter=rise]{animation-name:enter-rise}live-ticker[data-enhanced] .slide[data-active] [data-enter=left]{animation-name:enter-left}live-ticker[data-enhanced] .slide[data-active] [data-enter=right]{--delay:.2s;animation-name:enter-right}live-ticker[data-enhanced] .slide[data-active] [data-enter=pop]{animation-name:enter-pop;animation-timing-function:var(--ease-bounce);--delay:.12s}live-ticker[data-enhanced] .slide[data-active] [data-enter=sprout]{animation-name:enter-sprout;animation-duration:.36s;animation-timing-function:var(--ease-bounce)}@keyframes enter-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes enter-left{0%{opacity:0;transform:translate(-32px)}}@keyframes enter-right{0%{opacity:0;transform:translate(32px)}}@keyframes enter-pop{0%{opacity:0;transform:scale(.55)rotate(-12deg)}}@keyframes enter-sprout{0%{opacity:0;transform:scale(.2)}}@media (prefers-reduced-motion:reduce){[data-enter]{animation:none!important}}.feature[data-astro-cid-lpukqi6t]{min-height:0;color:inherit;flex-direction:column;flex:1;gap:8px;text-decoration:none;display:flex}a[data-astro-cid-lpukqi6t].feature:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:4px}p[data-astro-cid-lpukqi6t]{margin:0}.body[data-astro-cid-lpukqi6t]{flex-direction:column;flex:1 1 0;gap:4px;min-height:0;padding-bottom:16px;display:flex;overflow:hidden;mask-image:linear-gradient(#000 calc(100% - 16px),#0000)}.eyebrow[data-astro-cid-lpukqi6t]{margin-bottom:6px}.title[data-astro-cid-lpukqi6t]{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:28px;font-weight:700;line-height:1.2}.title[data-astro-cid-lpukqi6t] svg[data-astro-cid-lpukqi6t]{vertical-align:-.12em;width:24px;height:24px;color:var(--accent);margin-right:8px;display:inline-block}a[data-astro-cid-lpukqi6t].feature:hover .title[data-astro-cid-lpukqi6t] span[data-astro-cid-lpukqi6t]{text-underline-offset:5px;text-decoration:underline 2px}.description[data-astro-cid-lpukqi6t]{color:var(--ink-2);font-size:15px;line-height:1.4}.meta[data-astro-cid-lpukqi6t]{white-space:nowrap;color:var(--ink-3);flex:none;gap:18px;margin-left:-4px;padding:0 32px 0 4px;font-size:13px;line-height:1.4;display:flex;overflow:hidden;mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.meta[data-astro-cid-lpukqi6t]>*{flex:none;align-items:center;gap:5px;display:inline-flex}.meta[data-astro-cid-lpukqi6t]>a{min-height:24px;color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;padding-inline:4px}.meta[data-astro-cid-lpukqi6t]>a:hover{color:var(--ink);text-decoration-color:currentColor}.meta[data-astro-cid-lpukqi6t]>.tag{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink-2);border-radius:4px;padding:0 7px}.meta[data-astro-cid-lpukqi6t]>.tag+.tag{margin-left:-12px}.meta[data-astro-cid-lpukqi6t]>a:first-child{margin-left:-4px}.meta[data-astro-cid-lpukqi6t]>a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:3px}.meta[data-astro-cid-lpukqi6t] svg{width:14px;height:14px}@media (width<=640px){.title[data-astro-cid-lpukqi6t]{font-size:24px}.title[data-astro-cid-lpukqi6t] svg[data-astro-cid-lpukqi6t]{width:20px;height:20px}}.homelab[data-astro-cid-j5wxl7ry]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow art""slogan art""description art";align-content:center;align-items:center;gap:4px 24px;display:grid}p[data-astro-cid-j5wxl7ry]{margin:0}.eyebrow[data-astro-cid-j5wxl7ry]{grid-area:eyebrow;margin-bottom:6px}.slogan[data-astro-cid-j5wxl7ry]{letter-spacing:-.02em;text-wrap:balance;grid-area:slogan;font-size:32px;font-weight:700;line-height:1.15}.description[data-astro-cid-j5wxl7ry]{color:var(--ink-2);grid-area:description;font-size:15px;line-height:1.4}.iceberg[data-astro-cid-j5wxl7ry]{fill:none;width:160px;height:auto;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;grid-area:art}.iceberg[data-astro-cid-j5wxl7ry] path[data-astro-cid-j5wxl7ry]{vector-effect:non-scaling-stroke}.tip[data-astro-cid-j5wxl7ry]{fill:var(--card)}.under[data-astro-cid-j5wxl7ry]{stroke-dasharray:4 3}@media (width<=640px){.homelab[data-astro-cid-j5wxl7ry]{grid-template-areas:"eyebrow art""slogan art""description description";column-gap:16px}.slogan[data-astro-cid-j5wxl7ry]{font-size:24px}.description[data-astro-cid-j5wxl7ry]{margin-top:6px}.iceberg[data-astro-cid-j5wxl7ry]{width:104px}}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-wght-normal.CaVRRdDk.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{color-scheme:light;--font:"Hanken Grotesk Variable", system-ui, sans-serif;--ground:#222528;--card:#fafaf9;--strip:#f0f0ef;--ink:#16181b;--ink-2:#3c4147;--ink-3:#545a61;--rule:#16181b24;--caption:#ffffffb3;--accent:#c8321a;--accent-bright:#e0401f;--gutter:48px;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-bounce:cubic-bezier(.3, 1.5, .5, 1)}@media (width<=640px){:root{--gutter:20px}}body{background:var(--ground);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px;font-weight:600}.page[data-astro-cid-lcdefpme]{box-sizing:border-box;background:var(--contour) center / cover no-repeat, radial-gradient(ellipse 75% 85% at 80% 76%, #00000059, transparent 75%), radial-gradient(ellipse 95% 95% at 0% 0%, #ffffff12, transparent 72%), var(--ground);flex-direction:column;align-items:center;gap:48px;min-height:100lvh;padding:48px 16px 32px;display:flex}@media (width<=640px){.page[data-astro-cid-lcdefpme]{gap:24px;padding:0 0 24px}}.copyright[data-astro-cid-lcdefpme]{letter-spacing:.02em;color:var(--caption);margin:0;font-size:13px}
