@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-vietnamese-wdth-normal.Rd0aZl9c.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-latin-ext-wdth-normal.CQ1tG6In.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-latin-wdth-normal.BMVx8nn_.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}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100svh}img,svg,picture{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3,h4{font-size:inherit;font-weight:inherit;text-wrap:balance}p,li,dd{text-wrap:pretty}}@layer tokens{:root{--slate-950:#111a21;--slate-900:#16212a;--slate-800:#1d2a34;--slate-700:#2b3b47;--slate-600:#40525f;--slate-500:#5b6b76;--slate-300:#a9b8c0;--metal:#d3dbdd;--metal-light:#e6ebeb;--chalk:#f4f7f6;--white:#fff;--green-800:#125a3c;--green-700:#18704b;--green-500:#23a26d;--green-300:#7fd6ae;--green-100:#d9f1e5;--sky-500:#5fb9e0;--sky-300:#a6dbf2;--sky-100:#e0f2fa;--layer-hardware:#22313c;--layer-virt:#1b5a50;--layer-db:#1f8a5c;--layer-runtime:#74cfa6;--layer-app:#a6dbf2;--bg:var(--chalk);--bg-raised:var(--white);--fg:var(--slate-900);--fg-muted:var(--slate-500);--rule:var(--metal);--accent:var(--green-700);--accent-strong:var(--green-800);--signal:var(--green-500);--focus:var(--green-700);--button-bg:var(--slate-900);--button-fg:var(--chalk);--button-bg-hover:var(--green-700);--font-sans:"Mona Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--wdth-condensed:75%;--wdth-normal:100%;--wdth-expanded:125%;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.3125rem;--step-2:1.5rem;--step-3:clamp(1.75rem, 1.3rem + 1.6vw, 2.25rem);--step-4:clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem);--step-5:clamp(2.75rem, 1.1rem + 7.2vw, 6.5rem);--leading-tight:.96;--leading-snug:1.2;--leading-body:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-section:clamp(4.5rem, 2.5rem + 8vw, 9rem);--gutter:clamp(1.25rem, .6rem + 2.8vw, 2.5rem);--wrap:76rem;--measure:62ch;--radius-control:6px;--radius-plate:10px;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.14s;--duration:.26s}.surface-dark{--bg:var(--slate-800);--bg-raised:var(--slate-700);--fg:#eef3f2;--fg-muted:var(--slate-300);--rule:#3a4b57;--accent:var(--green-300);--accent-strong:#a5e6c7;--signal:var(--green-300);--focus:var(--sky-300);--button-bg:var(--chalk);--button-fg:var(--slate-900);--button-bg-hover:var(--green-300)}}@layer base{html{color-scheme:light;scroll-behavior:smooth;scroll-padding-top:var(--space-6)}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--step-0);font-stretch:var(--wdth-normal);font-weight:400;line-height:var(--leading-body);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.surface-dark{background:var(--bg);color:var(--fg)}a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--accent);text-underline-offset:.2em;transition:color var(--duration-fast) ease;text-decoration-thickness:2px}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}::selection{background:var(--green-100);color:var(--slate-900)}strong{font-weight:650}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer patterns{.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.grid-12{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--space-section)}.section-head{margin-bottom:var(--space-8)}.section-title{font-size:var(--step-4);font-stretch:var(--wdth-condensed);font-weight:800;line-height:var(--leading-tight);letter-spacing:-.005em}.section-intro{margin-top:var(--space-5);max-width:var(--measure);font-size:var(--step-1);color:var(--fg-muted);line-height:1.45}.display{font-stretch:var(--wdth-condensed);font-weight:800;line-height:var(--leading-tight);letter-spacing:-.005em}.subhead{font-size:var(--step-2);font-stretch:var(--wdth-condensed);font-weight:750;line-height:var(--leading-snug)}.label{font-size:var(--step--1);font-stretch:var(--wdth-expanded);letter-spacing:.005em;font-weight:600;line-height:1.3}.muted{color:var(--fg-muted)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--space-4)}.button{justify-content:center;align-items:center;gap:var(--space-2);border:2px solid var(--button-bg);border-radius:var(--radius-control);background:var(--button-bg);min-height:3rem;color:var(--button-fg);font-stretch:var(--wdth-expanded);font-size:var(--step--1);transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;padding:.7rem 1.25rem;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{background:var(--button-bg-hover);border-color:var(--button-bg-hover);color:var(--button-fg)}.button--quiet{color:var(--fg);background:0 0;border-color:currentColor}.button--quiet:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.status{align-items:center;gap:var(--space-2);display:inline-flex}.status:before{content:"";background:var(--signal);width:.6em;height:.6em;box-shadow:0 0 0 3px color-mix(in srgb, var(--signal) 22%, transparent);border-radius:50%;flex:none}.plain-list{padding:0;list-style:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);top:var(--space-3);z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--slate-900);color:var(--chalk);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{color:var(--chalk);transform:none}}.header[data-astro-cid-nen7h5rs]{padding-block:var(--space-3)}.bar[data-astro-cid-nen7h5rs]{align-items:center;column-gap:var(--space-5);grid-template-columns:1fr auto;grid-template-areas:"name lang""nav nav";display:grid}.name[data-astro-cid-nen7h5rs]{min-height:2.75rem;font-size:var(--step-2);grid-area:name;justify-self:start;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.nav[data-astro-cid-nen7h5rs]{grid-area:nav}.links[data-astro-cid-nen7h5rs]{justify-content:space-between;gap:var(--space-3);font-size:var(--step--1);display:flex}@media (width>=26rem){.links[data-astro-cid-nen7h5rs]{font-size:inherit}}.link[data-astro-cid-nen7h5rs]{align-items:center;min-height:2.75rem;text-decoration-line:none;display:inline-flex}.link[data-astro-cid-nen7h5rs]:hover,.link[data-astro-cid-nen7h5rs]:focus-visible{text-decoration-line:underline}.lang[data-astro-cid-nen7h5rs]{min-height:2rem;padding-inline:var(--space-3);border:1.5px solid var(--rule);border-radius:var(--radius-control);color:var(--fg-muted);transition:color var(--duration-fast) ease, border-color var(--duration-fast) ease;grid-area:lang;align-items:center;text-decoration:none;display:inline-flex;position:relative}.lang[data-astro-cid-nen7h5rs]:after{content:"";position:absolute;inset:-.5rem -.25rem}.lang[data-astro-cid-nen7h5rs]:hover{color:var(--fg);border-color:currentColor}@media (width>=40rem){.bar[data-astro-cid-nen7h5rs]{column-gap:var(--space-6);grid-template-columns:1fr auto auto;grid-template-areas:"name nav lang"}.links[data-astro-cid-nen7h5rs]{justify-content:flex-end;gap:var(--space-6)}}.caption[data-astro-cid-n4mrrfmv]{margin-bottom:var(--space-5)}.hint[data-astro-cid-n4mrrfmv]{margin-top:var(--space-1);display:none}[data-astro-cid-n4mrrfmv][data-enhanced] .hint[data-astro-cid-n4mrrfmv]{display:block}.diagram[data-astro-cid-n4mrrfmv]{container-type:inline-size}.figure[data-astro-cid-n4mrrfmv]{--pw:clamp(6.5rem, 100cqi - 9.5rem, 20rem);--h:calc(var(--pw) * .288675);--t:1.75rem;--pitch:2.5rem;--lift:0rem;--lead:1.75rem;height:calc(2 * var(--lift) + 4 * var(--pitch) + 2 * var(--h) + var(--t));position:relative}[data-astro-cid-n4mrrfmv][data-enhanced] .figure[data-astro-cid-n4mrrfmv]{--lift:1.125rem}.layer[data-astro-cid-n4mrrfmv]{--o:0;left:0;top:calc(2 * var(--lift) + var(--i) * var(--pitch));z-index:calc(5 - var(--i));width:100%;height:calc(2 * var(--h) + var(--t));color:var(--fg);pointer-events:none;-webkit-tap-highlight-color:transparent;transform:translateY(calc(var(--o) * var(--lift) * -1));transition:transform var(--duration) var(--ease-out), color var(--duration-fast) ease;text-decoration:none;position:absolute}[data-astro-cid-n4mrrfmv][data-enhanced] .layer[data-astro-cid-n4mrrfmv]{color:var(--fg-muted)}[data-astro-cid-n4mrrfmv][data-enhanced] .layer[data-astro-cid-n4mrrfmv].is-above{--o:2}[data-astro-cid-n4mrrfmv][data-enhanced] .layer[data-astro-cid-n4mrrfmv].is-selected{--o:1;color:var(--fg)}.layer--app[data-astro-cid-n4mrrfmv]{--c:var(--layer-app)}.layer--runtime[data-astro-cid-n4mrrfmv]{--c:var(--layer-runtime)}.layer--db[data-astro-cid-n4mrrfmv]{--c:var(--layer-db)}.layer--virt[data-astro-cid-n4mrrfmv]{--c:var(--layer-virt)}.layer--hardware[data-astro-cid-n4mrrfmv]{--c:var(--layer-hardware)}.plate[data-astro-cid-n4mrrfmv],.plate-body[data-astro-cid-n4mrrfmv],.face[data-astro-cid-n4mrrfmv]{position:absolute;inset:0}.plate[data-astro-cid-n4mrrfmv]{width:var(--pw);forced-color-adjust:none;right:auto}.face[data-astro-cid-n4mrrfmv]{pointer-events:auto;cursor:pointer}.face--left[data-astro-cid-n4mrrfmv]{background:color-mix(in srgb, var(--c) 80%, var(--slate-950));clip-path:polygon(0 var(--h), calc(50% + .75px) var(--h), calc(50% + .75px) calc(100% - .5px), 50% 100%, 0 calc(var(--h) + var(--t)))}.face--right[data-astro-cid-n4mrrfmv]{background:color-mix(in srgb, var(--c) 58%, var(--slate-950));clip-path:polygon(100% var(--h), 50% var(--h), 50% 100%, 100% calc(var(--h) + var(--t)))}.face--top[data-astro-cid-n4mrrfmv]{background:var(--c);clip-path:polygon(50% 0, 100% var(--h), 50% calc(2 * var(--h)), 0 var(--h))}.face--edge[data-astro-cid-n4mrrfmv]{--e:1.5px;background:color-mix(in srgb, var(--c) 68%, var(--white));pointer-events:none;clip-path:polygon(0 var(--h), 50% calc(2 * var(--h)), 100% var(--h), 100% calc(var(--h) + var(--e)), 50% calc(2 * var(--h) + var(--e)), 0 calc(var(--h) + var(--e)))}.name[data-astro-cid-n4mrrfmv]{left:var(--pw);top:calc(var(--h) + var(--t) / 2);min-height:var(--pitch);padding-left:var(--lead);pointer-events:auto;cursor:pointer;align-items:center;display:flex;position:absolute;transform:translateY(-50%)}.name[data-astro-cid-n4mrrfmv]:before{content:"";width:calc(var(--lead) - .75rem);opacity:.45;height:1.5px;transition:opacity var(--duration-fast) ease;background:currentColor;margin-top:-.75px;position:absolute;top:50%;left:.375rem}.layer[data-astro-cid-n4mrrfmv]:hover{color:var(--fg)}[data-astro-cid-n4mrrfmv][data-enhanced] .layer[data-astro-cid-n4mrrfmv].is-selected .name[data-astro-cid-n4mrrfmv]:before{opacity:1}.layer[data-astro-cid-n4mrrfmv]:focus-visible{outline:none}.name-text[data-astro-cid-n4mrrfmv]{border-radius:2px;display:block}.layer[data-astro-cid-n4mrrfmv]:focus-visible .name-text[data-astro-cid-n4mrrfmv]{outline:3px solid var(--focus);outline-offset:4px}.panels[data-astro-cid-n4mrrfmv]{gap:var(--space-5);max-width:30rem;margin-top:var(--space-5);display:grid}.tech[data-astro-cid-n4mrrfmv]{margin-top:var(--space-2);color:var(--fg-muted)}.note[data-astro-cid-n4mrrfmv]{margin-top:var(--space-2)}[data-astro-cid-n4mrrfmv][data-enhanced] .panels[data-astro-cid-n4mrrfmv]{gap:0}[data-astro-cid-n4mrrfmv][data-enhanced] .panel[data-astro-cid-n4mrrfmv]{grid-area:1/1}[data-astro-cid-n4mrrfmv][data-enhanced] .panel[data-astro-cid-n4mrrfmv]:not(.is-selected){visibility:hidden}.panel[data-astro-cid-n4mrrfmv]:focus-visible{outline-offset:6px}@media (prefers-reduced-motion:no-preference){.plate-body[data-astro-cid-n4mrrfmv]{animation:settle .56s var(--ease-out) both;animation-delay:calc((4 - var(--i)) * .13s)}.name[data-astro-cid-n4mrrfmv]{animation:.32s both appear;animation-delay:calc((4 - var(--i)) * .13s + .22s)}[data-astro-cid-n4mrrfmv][data-touched] .panel[data-astro-cid-n4mrrfmv].is-selected{animation:.2s both appear}}@media (prefers-reduced-motion:reduce){.layer[data-astro-cid-n4mrrfmv]{transition:none}}@keyframes settle{0%{opacity:0;transform:translateY(-2.75rem)}40%{opacity:1}}@keyframes appear{0%{opacity:0}}.hero[data-astro-cid-ge2uvauf]{padding-block:var(--space-4) var(--space-7)}.layout[data-astro-cid-ge2uvauf]{row-gap:var(--space-8)}.text[data-astro-cid-ge2uvauf],.stack[data-astro-cid-ge2uvauf]{grid-column:1/-1}.text[data-astro-cid-ge2uvauf]{container-type:inline-size}.headline[data-astro-cid-ge2uvauf]{max-width:14ch;font-size:min(var(--step-5), 16.2cqi, max(2.75rem, 13vh))}.actions[data-astro-cid-ge2uvauf]{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}@media (width>=56.25rem){.hero[data-astro-cid-ge2uvauf]{padding-block:var(--space-5) var(--space-8)}.text[data-astro-cid-ge2uvauf]{grid-column:1/span 7}.stack[data-astro-cid-ge2uvauf]{grid-column:8/span 5}}.glyph[data-astro-cid-nx2575py]{flex:none;gap:3px;width:2.75rem;display:inline-grid}.bar[data-astro-cid-nx2575py]{height:7px;box-shadow:inset 0 0 0 1.5px var(--rule);border-radius:2px;transform:skew(-24deg)}.bar[data-astro-cid-nx2575py].is-on{box-shadow:inset 0 0 0 1.5px var(--fg)}.bar--app[data-astro-cid-nx2575py].is-on{background:var(--layer-app)}.bar--runtime[data-astro-cid-nx2575py].is-on{background:var(--layer-runtime)}.bar--db[data-astro-cid-nx2575py].is-on{background:var(--layer-db)}.bar--virt[data-astro-cid-nx2575py].is-on{background:var(--layer-virt)}.bar--hardware[data-astro-cid-nx2575py].is-on{background:var(--layer-hardware)}.project[data-astro-cid-ftq3vvlr]{row-gap:var(--space-5);padding-block:var(--space-6)}.project[data-astro-cid-ftq3vvlr]+.project[data-astro-cid-ftq3vvlr]{border-top:1px solid var(--rule)}.project[data-astro-cid-ftq3vvlr]:first-child{padding-top:0}.project[data-astro-cid-ftq3vvlr]:last-child{padding-bottom:0}.project[data-astro-cid-ftq3vvlr]>[data-astro-cid-ftq3vvlr]{grid-column:1/-1;min-width:0}.project-name[data-astro-cid-ftq3vvlr]{font-size:var(--step-2);font-stretch:var(--wdth-condensed);overflow-wrap:break-word;font-weight:800;line-height:1.1}.project-meta[data-astro-cid-ftq3vvlr]{gap:var(--space-1) var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.project-kind[data-astro-cid-ftq3vvlr]{color:var(--fg-muted)}.project-body[data-astro-cid-ftq3vvlr]{max-width:48ch}.project-links[data-astro-cid-ftq3vvlr]{gap:var(--space-2) var(--space-5);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.project-facts[data-astro-cid-ftq3vvlr]{gap:var(--space-4);font-size:var(--step--1);line-height:1.45;display:grid}.fact--layers[data-astro-cid-ftq3vvlr] dd[data-astro-cid-ftq3vvlr]{align-items:flex-start;gap:var(--space-3);color:var(--fg-muted);display:flex}.layer-glyph[data-astro-cid-ftq3vvlr]{flex:none;margin-top:.2em;display:flex}.layer-names[data-astro-cid-ftq3vvlr]{align-self:baseline}.tech[data-astro-cid-ftq3vvlr]{flex-wrap:wrap;column-gap:.4em;font-weight:550;display:flex}.tech[data-astro-cid-ftq3vvlr] li[data-astro-cid-ftq3vvlr]{white-space:nowrap}.tech[data-astro-cid-ftq3vvlr] li[data-astro-cid-ftq3vvlr]:not(:last-child):after{content:","}.project--lead[data-astro-cid-ftq3vvlr] .project-name[data-astro-cid-ftq3vvlr]{font-size:var(--step-3);line-height:1.05}@media (width>=44rem){.project[data-astro-cid-ftq3vvlr]{padding-block:var(--space-7);align-items:baseline}.project[data-astro-cid-ftq3vvlr]>.project-head[data-astro-cid-ftq3vvlr]{grid-column:1/span 4}.project[data-astro-cid-ftq3vvlr]>.project-body[data-astro-cid-ftq3vvlr],.project[data-astro-cid-ftq3vvlr]>.project-facts[data-astro-cid-ftq3vvlr]{grid-column:5/-1}}@media (width>=72rem){.project[data-astro-cid-ftq3vvlr]>.project-body[data-astro-cid-ftq3vvlr]{grid-column:5/span 5}.project[data-astro-cid-ftq3vvlr]>.project-facts[data-astro-cid-ftq3vvlr]{grid-column:10/-1}}.company[data-astro-cid-6sxyiky6]{row-gap:var(--space-8)}.company[data-astro-cid-6sxyiky6]>[data-astro-cid-6sxyiky6]{grid-column:1/-1;min-width:0}.part-title[data-astro-cid-6sxyiky6]{font-size:var(--step-3);line-height:1.05}.offerings[data-astro-cid-6sxyiky6]{margin-top:var(--space-6)}.offerings[data-astro-cid-6sxyiky6] li[data-astro-cid-6sxyiky6]{padding-block:var(--space-2);border-top:1px solid var(--rule);break-inside:avoid;overflow-wrap:break-word}.names[data-astro-cid-6sxyiky6]{gap:var(--space-4) var(--gutter);margin-top:var(--space-6);display:grid}.names[data-astro-cid-6sxyiky6] dt[data-astro-cid-6sxyiky6]{color:var(--fg-muted)}.names[data-astro-cid-6sxyiky6] dd[data-astro-cid-6sxyiky6]{margin-top:var(--space-1)}.history[data-astro-cid-6sxyiky6],.timeline[data-astro-cid-6sxyiky6],.entry[data-astro-cid-6sxyiky6]{grid-template-columns:subgrid;display:grid}.history[data-astro-cid-6sxyiky6]>[data-astro-cid-6sxyiky6],.timeline[data-astro-cid-6sxyiky6]>[data-astro-cid-6sxyiky6],.entry[data-astro-cid-6sxyiky6]>[data-astro-cid-6sxyiky6]{grid-column:1/-1;min-width:0}.timeline[data-astro-cid-6sxyiky6]{row-gap:var(--space-7);margin-top:var(--space-6);--year-cap:.13em;--title-cap:calc(.25 * var(--step-2))}.entry-year[data-astro-cid-6sxyiky6]{font-size:var(--step-4)}.entry-title[data-astro-cid-6sxyiky6]{margin-top:var(--space-2)}.entry-body[data-astro-cid-6sxyiky6]{max-width:48ch}.entry-body[data-astro-cid-6sxyiky6]>p[data-astro-cid-6sxyiky6]{margin-top:var(--space-2)}.entry-aside[data-astro-cid-6sxyiky6]{font-size:var(--step--1);color:var(--fg-muted)}@media (width>=44rem){.offerings[data-astro-cid-6sxyiky6]{columns:2;column-gap:var(--gutter)}.names[data-astro-cid-6sxyiky6]{grid-template-columns:1fr 1fr}.entry[data-astro-cid-6sxyiky6]{align-items:start}.entry[data-astro-cid-6sxyiky6]>.entry-year[data-astro-cid-6sxyiky6]{margin-top:calc(var(--title-cap) - var(--year-cap));grid-column:1/span 4}.entry[data-astro-cid-6sxyiky6]>.entry-body[data-astro-cid-6sxyiky6]{grid-column:5/-1}.entry-title[data-astro-cid-6sxyiky6]{margin-top:0}}@media (width>=64rem){.company[data-astro-cid-6sxyiky6]{row-gap:0}.company[data-astro-cid-6sxyiky6]>.offer[data-astro-cid-6sxyiky6],.company[data-astro-cid-6sxyiky6]>.history[data-astro-cid-6sxyiky6]{grid-row:1/span 2;grid-template-rows:subgrid;display:grid}.company[data-astro-cid-6sxyiky6]>.offer[data-astro-cid-6sxyiky6]{grid-column:1/span 4}.company[data-astro-cid-6sxyiky6]>.history[data-astro-cid-6sxyiky6]{grid-column:5/-1}.offer[data-astro-cid-6sxyiky6]>[data-astro-cid-6sxyiky6]{min-width:0}.part-title[data-astro-cid-6sxyiky6]{align-self:end}.offerings[data-astro-cid-6sxyiky6]{columns:auto}.names[data-astro-cid-6sxyiky6]{grid-template-columns:none}.timeline[data-astro-cid-6sxyiky6]{margin-top:calc(var(--space-6) - var(--title-cap))}.entry[data-astro-cid-6sxyiky6]>.entry-year[data-astro-cid-6sxyiky6]{grid-column:1/span 2}.entry[data-astro-cid-6sxyiky6]>.entry-body[data-astro-cid-6sxyiky6]{grid-column:3/-1}}.steps[data-astro-cid-zjh442oh]{border-top:2px solid var(--fg)}.step[data-astro-cid-zjh442oh]{padding-block:var(--space-5)}.step[data-astro-cid-zjh442oh]+.step[data-astro-cid-zjh442oh]{border-top:1px solid var(--rule)}.step[data-astro-cid-zjh442oh]:last-child{padding-bottom:0}.step-title[data-astro-cid-zjh442oh]{margin-top:var(--space-1);text-wrap:balance}.step-body[data-astro-cid-zjh442oh]{max-width:var(--measure);margin-top:var(--space-2)}.step-aside[data-astro-cid-zjh442oh]{margin-top:var(--space-3);font-size:var(--step--1);color:var(--fg-muted);line-height:1.55}.links[data-astro-cid-zjh442oh]{gap:var(--space-1) var(--space-5);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.links[data-astro-cid-zjh442oh] a[data-astro-cid-zjh442oh]{padding-block:var(--space-1);display:inline-block}.block[data-astro-cid-zjh442oh]{margin-top:var(--space-8);padding-top:var(--space-5);border-top:2px solid var(--fg)}.block-title[data-astro-cid-zjh442oh]{font-size:var(--step-3);font-stretch:var(--wdth-condensed);font-weight:800;line-height:var(--leading-snug)}.block-intro[data-astro-cid-zjh442oh]{max-width:var(--measure);margin-top:var(--space-3);color:var(--fg-muted)}.tools[data-astro-cid-zjh442oh]{margin-top:var(--space-5)}.tool[data-astro-cid-zjh442oh]+.tool[data-astro-cid-zjh442oh]{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--rule)}.tool-name[data-astro-cid-zjh442oh]{margin-bottom:var(--space-1);color:var(--fg-muted)}.competition[data-astro-cid-zjh442oh]{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--rule)}.competition-summary[data-astro-cid-zjh442oh]{margin-top:var(--space-1);color:var(--fg-muted)}.entries[data-astro-cid-zjh442oh]{max-width:var(--measure);margin-top:var(--space-5)}.entry[data-astro-cid-zjh442oh]+.entry[data-astro-cid-zjh442oh]{margin-top:var(--space-6)}.entry-title[data-astro-cid-zjh442oh]{margin-bottom:var(--space-2);font-size:var(--step-1);font-stretch:var(--wdth-condensed);font-weight:750;line-height:var(--leading-snug);text-wrap:balance}@media (width>=48rem){.row[data-astro-cid-zjh442oh]{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;display:grid}.block-title[data-astro-cid-zjh442oh],.block-intro[data-astro-cid-zjh442oh],.tools[data-astro-cid-zjh442oh]{grid-column:1/-1}.step-when[data-astro-cid-zjh442oh],.tool-name[data-astro-cid-zjh442oh],.competition-head[data-astro-cid-zjh442oh]{grid-column:1/span 3}.step-title[data-astro-cid-zjh442oh],.step-body[data-astro-cid-zjh442oh],.tool-items[data-astro-cid-zjh442oh],.entries[data-astro-cid-zjh442oh]{grid-column:4/-1}.tool-name[data-astro-cid-zjh442oh]{margin-bottom:0}.step-title[data-astro-cid-zjh442oh],.entries[data-astro-cid-zjh442oh]{margin-top:0}}@media (width>=64rem){.step-when[data-astro-cid-zjh442oh]{grid-column:1/span 2}.step-title[data-astro-cid-zjh442oh]{grid-column:3/span 3}.block-title[data-astro-cid-zjh442oh],.competition-head[data-astro-cid-zjh442oh]{grid-column:1/span 5}.step-body[data-astro-cid-zjh442oh],.block-intro[data-astro-cid-zjh442oh],.tools[data-astro-cid-zjh442oh],.entries[data-astro-cid-zjh442oh]{grid-column:6/-1;margin-top:0}.tool[data-astro-cid-zjh442oh]{display:block}.tool-name[data-astro-cid-zjh442oh]{margin-bottom:var(--space-1)}}.section-head[data-astro-cid-he3spzz3]{margin-bottom:var(--space-7)}.mail[data-astro-cid-he3spzz3]{container-type:inline-size}.mail-link[data-astro-cid-he3spzz3]{font-size:clamp(1.5rem, calc(100cqi / (var(--chars) * .43)), var(--mail-max,6.5rem));white-space:nowrap;text-underline-offset:.14em;text-decoration-thickness:max(2px,.04em);display:inline-block}.actions[data-astro-cid-he3spzz3]{gap:var(--space-3);width:fit-content;margin-top:var(--space-6);display:grid}@media (width>=30rem){.actions[data-astro-cid-he3spzz3]{flex-wrap:wrap;width:auto;display:flex}}.copy[data-astro-cid-he3spzz3]{display:inline-grid}.copy[data-astro-cid-he3spzz3][hidden]{display:none}.copy-label[data-astro-cid-he3spzz3]{grid-area:1/1}.copy[data-astro-cid-he3spzz3][data-state=idle] [data-astro-cid-he3spzz3][data-when=copied],.copy[data-astro-cid-he3spzz3][data-state=copied] [data-astro-cid-he3spzz3][data-when=idle]{visibility:hidden}.copy[data-astro-cid-he3spzz3][data-state=copied]{background:var(--fg);border-color:var(--fg);color:var(--bg)}.more[data-astro-cid-he3spzz3]{margin-top:var(--space-8);border-top:1px solid var(--rule)}.elsewhere[data-astro-cid-he3spzz3],.pgp[data-astro-cid-he3spzz3]{padding-top:var(--space-5)}.pgp[data-astro-cid-he3spzz3]{margin-top:var(--space-6);border-top:1px solid var(--rule)}.more-title[data-astro-cid-he3spzz3]{font-size:var(--step-3);font-stretch:var(--wdth-condensed);font-weight:800;line-height:var(--leading-snug)}.profiles[data-astro-cid-he3spzz3]{max-width:26rem;margin-top:var(--space-3)}.profiles[data-astro-cid-he3spzz3] li[data-astro-cid-he3spzz3]+li[data-astro-cid-he3spzz3]{border-top:1px solid var(--rule)}.profile[data-astro-cid-he3spzz3]{column-gap:var(--gutter);padding-block:var(--space-3);grid-template-columns:minmax(7rem,2fr) 3fr;align-items:baseline;text-decoration:none;display:grid}.profile-label[data-astro-cid-he3spzz3]{color:var(--fg-muted)}.profile-handle[data-astro-cid-he3spzz3]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:2px}.pgp-summary[data-astro-cid-he3spzz3]{align-items:center;gap:var(--space-4);width:fit-content;min-height:3rem;margin-block:calc((var(--step-3) * var(--leading-snug) - 3rem) / 2);cursor:pointer;transition:color var(--duration-fast) ease;list-style:none;display:flex}.pgp-summary[data-astro-cid-he3spzz3]::-webkit-details-marker{display:none}.pgp-summary[data-astro-cid-he3spzz3]:hover{color:var(--accent)}.pgp-summary[data-astro-cid-he3spzz3]:after{content:"";width:1rem;height:1rem;transition:transform var(--duration) var(--ease-out);background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 100% no-repeat;flex:none}.pgp[data-astro-cid-he3spzz3][open]>.pgp-summary[data-astro-cid-he3spzz3]:after{background-size:100% 2px,2px 0;transform:rotate(180deg)}.pgp-body[data-astro-cid-he3spzz3]{padding-top:var(--space-4)}.pgp-intro[data-astro-cid-he3spzz3]{max-width:var(--measure);color:var(--fg-muted)}.keys[data-astro-cid-he3spzz3]{margin-top:var(--space-5)}.key[data-astro-cid-he3spzz3]{padding-block:var(--space-4);border-top:1px solid var(--rule)}.key[data-astro-cid-he3spzz3]:last-child{padding-bottom:0}.key-email[data-astro-cid-he3spzz3]{overflow-wrap:anywhere;font-weight:650}.key-print[data-astro-cid-he3spzz3]{align-items:baseline;gap:var(--space-1) var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.key-print[data-astro-cid-he3spzz3] dt[data-astro-cid-he3spzz3]{color:var(--fg-muted)}.key-print[data-astro-cid-he3spzz3] code[data-astro-cid-he3spzz3]{word-spacing:.1em}.half[data-astro-cid-he3spzz3]{white-space:nowrap;display:inline-block}.half[data-astro-cid-he3spzz3]:not(:last-child){margin-right:.6em}.key-download[data-astro-cid-he3spzz3]{margin-top:var(--space-2)}.key-download[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]{padding-block:var(--space-1);display:inline-block}@media (width>=64rem){.more[data-astro-cid-he3spzz3]{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.elsewhere[data-astro-cid-he3spzz3]{grid-column:1/span 4}.pgp[data-astro-cid-he3spzz3]{border-top:0;grid-column:6/-1;margin-top:0}}.row[data-astro-cid-jo6i4kqk]{gap:var(--space-2);padding-block:var(--space-5) var(--space-3);font-size:var(--step--1);flex-direction:column;line-height:1.4;display:flex}.row--ruled[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--rule)}.about[data-astro-cid-jo6i4kqk]{column-gap:var(--space-5);row-gap:var(--space-1);flex-wrap:wrap;display:flex}.note[data-astro-cid-jo6i4kqk]{color:var(--fg-muted)}.links[data-astro-cid-jo6i4kqk]{column-gap:var(--space-4);flex-wrap:wrap;display:flex}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:2.75rem;text-decoration-thickness:1px;text-decoration-color:var(--fg-muted);text-underline-offset:.35em;align-items:center;display:inline-flex}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{text-decoration-color:var(--accent)}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk][aria-current=page]{color:var(--fg-muted);text-decoration-line:none}@media (width>=50rem){.row[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;column-gap:var(--space-6);padding-block:var(--space-4);flex-flow:wrap;row-gap:0}.links[data-astro-cid-jo6i4kqk]{column-gap:var(--space-6)}}
