@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2wz-lhd5-5z0-.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.WBH9La_className{font-family:GeistSans,GeistSans Fallback}.WBH9La_variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.0l9aeqppdf-ve.woff2)format("woff2");font-display:swap;font-weight:100 900}.hbiIXq_className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.hbiIXq_variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:Anuphan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fe99e0d97b1bdacf-s.p.03e9h65tke1nm.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Anuphan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/23559f0afb88083a-s.2y60e0ylj-c-t.woff2)format("woff2");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:Anuphan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/302189be6b52e69e-s.01ck5wmqme0qc.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anuphan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a2a942dd4d28daae-s.p.1hq3aonna3zri.woff2)format("woff2");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:Anuphan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fe99e0d97b1bdacf-s.p.03e9h65tke1nm.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Anuphan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/23559f0afb88083a-s.2y60e0ylj-c-t.woff2)format("woff2");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:Anuphan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/302189be6b52e69e-s.01ck5wmqme0qc.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anuphan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a2a942dd4d28daae-s.p.1hq3aonna3zri.woff2)format("woff2");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:Anuphan Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.Xwpl6G_className{font-family:Anuphan,Anuphan Fallback;font-style:normal}.Xwpl6G_variable{--font-anuphan:"Anuphan", "Anuphan Fallback"}
:root{--paper:#f6f5f2;--ink:#111114;--coral:#ff6b4a;--teal:#4ac6b7;--bg:var(--paper);--fg:var(--ink);--muted:#6e6c67;--hair:#e2dfd8;--sel-coral:#ff6b4a33;--sel-teal:#4ac6b742;--focus:var(--ink);--gutter:96px;--edge:48px;--bar-h:64px;--status-h:32px;--sans:var(--font-geist-sans), var(--font-anuphan), ui-sans-serif, system-ui, sans-serif;--mono:var(--font-geist-mono), ui-monospace, monospace;--thai:var(--font-anuphan), var(--font-geist-sans), sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111114;--fg:#f2f0eb;--muted:#8c8a85;--hair:#26262b;--sel-coral:#ff6b4a38;--sel-teal:#4ac6b733;--focus:#f2f0eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111114;--fg:#f2f0eb;--muted:#8c8a85;--hair:#26262b;--sel-coral:#ff6b4a38;--sel-teal:#4ac6b733;--focus:#f2f0eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (max-width:720px){:root{--gutter:28px;--edge:16px;--bar-h:56px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:18px;line-height:1.6;transition:background-color .3s,color .3s}:lang(th){font-family:var(--thai)}::selection{background:var(--sel-coral)}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.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}.mono{font-family:var(--mono)}.doc{counter-reset:line}.ln{grid-template-columns:var(--gutter) minmax(0, 1fr);padding-right:var(--edge);align-items:baseline;display:grid}.ln:before{counter-increment:line;content:counter(line);font-family:var(--mono);color:var(--muted);opacity:.55;text-align:right;font-variant-numeric:tabular-nums;padding-right:32px;font-size:12px;line-height:1;position:relative;top:.2em}.ln--blank{font-size:clamp(18px,1.9vw,27px);line-height:clamp(26px,4.4vh,42px)}@media (max-width:720px){.ln:before{padding-right:10px;font-size:10px}.below .ln:before{content:"";counter-increment:none}}.topbar{z-index:30;height:var(--bar-h);padding:0 var(--edge) 0 calc(var(--gutter) - 2px);background:var(--bg);border-bottom:1px solid var(--hair);align-items:center;gap:16px;display:flex;position:fixed;inset:0 0 auto}@media (max-width:720px){.topbar{padding-left:var(--edge)}}.topbar__tab{font-family:var(--mono);color:var(--muted);font-size:12px;display:none}@media (min-width:900px){.topbar__tab{display:inline}}.topbar__spacer{flex:1}.presence{font-family:var(--mono);color:var(--muted);gap:14px;font-size:12px;display:flex}.presence span{align-items:center;gap:6px;display:inline-flex}.presence i{border-radius:2px;width:8px;height:8px;display:inline-block}.btn-hair{font-family:var(--mono);border:1px solid var(--hair);cursor:pointer;background:0 0;border-radius:6px;min-width:32px;height:32px;padding:0 10px;font-size:12px;transition:background-color .15s,border-color .15s,transform 80ms}.btn-hair:hover{border-color:var(--muted)}.btn-hair:active{background:var(--fg);color:var(--bg);transform:scale(.97)}.wordmark{color:var(--fg);align-items:center;line-height:0;text-decoration:none;display:inline-flex}.wordmark svg{width:auto;height:28px;display:block;overflow:visible}.hero{min-height:100svh;padding-top:calc(var(--bar-h) + clamp(88px, 19vh, 200px));padding-bottom:calc(var(--status-h) + 64px);position:relative}.hero__h1{letter-spacing:-.035em;margin:0;font-size:clamp(40px,5.8vw,84px);font-weight:500;line-height:1.06}.hero__h1 .ln:before{align-self:baseline}.hero__h1 .t{text-wrap:balance}.hero__bio{color:var(--muted);margin:0;font-size:clamp(18px,1.9vw,27px);line-height:1.45}.hero__bio .ln{color:var(--muted)}.hero__email{font-size:clamp(22px,2.5vw,36px)}.typed .ghost,html[data-intro] .hero .t{visibility:hidden}.mk{vertical-align:-.16em;width:0;height:.95em;display:inline-block}.conflict{vertical-align:baseline;display:inline-grid}.conflict>span{text-underline-offset:.18em;grid-area:1/1;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .26s,text-decoration-color .3s}.conflict--on>span:first-child{-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal);transform:translateY(-.62em)}.conflict--on>span:last-child{-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);transform:translateY(.62em)}.conflict--resolved>span:first-child{opacity:0}.cursors{pointer-events:none;z-index:5;position:absolute;inset:0}.cursor{will-change:transform;width:2px;height:40px;position:absolute;top:0;left:0}.cursor__caret{background:var(--c);border-radius:1px;animation:1.06s step-end infinite blink;position:absolute;inset:0}.cursor--oy .cursor__caret{animation-delay:.53s}.cursor__caret:before{content:"";background:var(--c);border-radius:1px;width:6px;height:6px;position:absolute;top:-2px;left:-2px}.cursor__flag{transform-origin:0 100%;transition:opacity .2s,transform .2s cubic-bezier(.2,.8,.2,1)}.cursor--oy .cursor__flag{transform-origin:100% 100%}.is-copied .cursor--oy .cursor__flag{opacity:0;transform:translateY(4px)scale(.85)}.is-typing .cursor__caret{animation:none}.cursor__flag{background:var(--c);color:#111114;font-family:var(--mono);white-space:nowrap;border-radius:4px;margin-bottom:2px;padding:4px 6px;font-size:11px;font-weight:500;line-height:1;position:absolute;bottom:100%}.cursor--oat .cursor__flag{border-bottom-left-radius:0;left:0}.cursor--oy .cursor__flag{border-bottom-right-radius:0;right:0}@keyframes blink{0%,55%{opacity:1}56%,to{opacity:0}}.email{display:inline-block;position:relative}.email__link{letter-spacing:-.02em;cursor:copy;min-height:44px;margin:-.12em -.04em;padding:.12em .04em;font-weight:500;text-decoration:none;display:inline-block;position:relative}.email__text{z-index:1;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:.06em;position:relative}.email__half{background-image:linear-gradient(var(--sel), var(--sel));background-repeat:no-repeat;background-size:0% 100%;transition:background-size .26s cubic-bezier(.2,.8,.2,1)}.email__half--l{--sel:var(--sel-coral);background-position:0}.email__half--r{--sel:var(--sel-teal);background-position:100%}.email.is-copied .email__half{background-size:100% 100%}.email.is-copied .email__link{cursor:pointer}.email__link:hover .email__text{background-size:100% 2px}.email__hint{font-family:var(--mono);color:var(--muted);letter-spacing:0;min-height:1.5em;margin-top:14px;font-size:13px;font-weight:400;line-height:1.5;display:block}.email__hint a{color:var(--fg);text-underline-offset:3px}.email__hint-copied{color:var(--fg)}.status{z-index:30;min-height:var(--status-h);padding:0 var(--edge) env(safe-area-inset-bottom) calc(var(--gutter) - 2px);font-family:var(--mono);color:var(--muted);background:var(--bg);border-top:1px solid var(--hair);align-items:center;gap:18px;font-size:12px;display:flex;position:fixed;inset:auto 0 0}.status a{text-decoration:none}.status a:hover{color:var(--fg)}.status__msg{text-align:center;color:var(--fg);opacity:0;flex:1;transition:opacity .2s,transform .2s;transform:translateY(4px)}.status__msg.on{opacity:1;transform:none}.status__wide{display:inline}@media (max-width:720px){.status{padding-left:var(--edge)}.status__wide{display:none}}.below{padding-bottom:calc(var(--status-h) + 40px)}.section{padding-block:clamp(96px,12vw,176px) 0}.label{font-family:var(--mono);color:var(--muted);letter-spacing:0;font-size:13px}.label:before{content:"— ";opacity:.6}.big{letter-spacing:-.03em;text-wrap:balance;max-width:22ch;margin:20px 0 0;font-size:clamp(30px,3.6vw,52px);font-weight:500;line-height:1.14}.big:lang(th){letter-spacing:-.01em;line-height:1.38}.mask{margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:hidden}.about__lang{margin-top:28px}.facts{border-top:1px solid var(--hair);grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:980px;margin:56px 0 0;padding-top:24px;display:grid}.facts dt{font-family:var(--mono);color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.facts dt i{border-radius:2px;width:8px;height:8px}.facts dd{margin:6px 0 0;font-size:17px;line-height:1.5}@media (max-width:720px){.facts{grid-template-columns:1fr;gap:20px}}.screens{grid-template-columns:1.45fr .6fr 1.3fr;align-items:end;gap:clamp(20px,3vw,48px);max-width:1180px;margin-top:64px;display:grid}.screens figure{margin:0}.screens svg{width:100%;height:auto;display:block;overflow:visible}.screens figcaption{font-family:var(--mono);color:var(--muted);margin-top:14px;font-size:12px}.stack{color:var(--muted);margin-top:40px;font-size:17px}.stack strong{color:var(--fg);font-weight:500}@media (max-width:720px){.screens{grid-template-columns:1.45fr .6fr 1.3fr;gap:10px;margin-top:40px}.screens figcaption{margin-top:8px;font-size:11px}.stack{margin-top:28px}}.name{height:320vh;margin-top:clamp(96px,12vw,176px);position:relative}.name__pin{grid-template-columns:var(--gutter) minmax(0, 1fr);height:100svh;padding-right:var(--edge);display:grid;position:sticky;top:0;overflow:hidden}.name__label{top:calc(var(--bar-h) + 32px);left:var(--gutter);position:absolute}.name__stage{grid-column:2;place-items:center;display:grid;position:relative}.name__word{letter-spacing:-.05em;white-space:nowrap;font-size:clamp(64px,13vw,200px);font-weight:600;line-height:1;position:absolute}.name__word .gap{display:inline-block}.name__mark{width:auto;height:min(58svh,520px);position:absolute;overflow:visible}.name__cap{left:50%;bottom:calc(var(--status-h) + clamp(32px, 7vh, 72px));text-align:center;width:min(640px,100%);margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.45;position:absolute;transform:translate(-50%)}.name__cap small{font-family:var(--mono);color:var(--muted);margin-top:8px;font-size:13px;display:block}.name__side{font-family:var(--mono);color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute}.name__side i{border-radius:2px;width:8px;height:8px}.name--static{height:auto}.name--static .name__pin{height:auto;padding-block:96px;position:relative}.name--static .name__stage{min-height:70svh}.hello__lead{color:var(--muted);letter-spacing:-.01em;margin:20px 0 0;font-size:clamp(20px,2vw,28px);line-height:1.35}.hello__email{margin-top:clamp(20px,3vw,40px);font-size:clamp(30px,8.4vw,124px);line-height:1}.hello__email .email__link{letter-spacing:-.045em;font-weight:500}.hello__email .email__text{background-size:100% 2px}.hello__email .email__hint{margin-top:22px}.hello__handles{color:var(--muted);max-width:46ch;margin:clamp(48px,6vw,88px) 0 0;font-size:18px;line-height:1.7}.hello__handles a{color:var(--fg);text-underline-offset:4px;text-decoration-thickness:1px}.hello__handles a:hover{text-decoration-thickness:2px}.footer{border-top:1px solid var(--hair);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 32px;margin-top:clamp(96px,12vw,160px);padding-block:32px;font-size:15px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.cursor__caret{animation:none}}@media (max-width:720px){.name__mark{height:min(42svh,340px)}.name__side{display:none}.name__cap{padding-inline:8px}}.hello__lead .mask>span,.big .mask>span{text-wrap:balance}.nf{min-height:100svh;padding-top:calc(var(--bar-h) + clamp(88px, 19vh, 200px));padding-bottom:calc(var(--status-h) + 64px)}.nf__title{letter-spacing:-.035em;margin:20px 0 0;font-size:clamp(44px,6.4vw,92px);font-weight:500;line-height:1.06}.nf__sub{color:var(--muted);margin:18px 0 0;font-size:clamp(18px,1.9vw,27px);line-height:1.45}.nf__search{height:96px}.nf__track{width:min(420px,100%);height:100%;display:block;position:relative}.nf__cursor{background:var(--c);width:2px;height:36px;position:absolute;bottom:14px}.nf__cursor:before{content:"";background:var(--c);border-radius:1px;width:6px;height:6px;position:absolute;top:-2px;left:-2px}.nf__cursor--oat{--c:var(--coral);animation:3.6s cubic-bezier(.65,0,.35,1) infinite nf-oat;left:0}.nf__cursor--oy{--c:var(--teal);animation:3.6s cubic-bezier(.65,0,.35,1) infinite nf-oy;left:100%}.nf__flag{background:var(--c);color:#111114;font-family:var(--mono);white-space:nowrap;border-radius:4px;margin-bottom:2px;padding:4px 6px;font-size:11px;font-weight:500;line-height:1;position:absolute;bottom:100%}.nf__cursor--oat .nf__flag{border-bottom-right-radius:0;animation:3.6s step-end infinite nf-flag;right:0}.nf__cursor--oy .nf__flag{border-bottom-left-radius:0;animation:3.6s step-end .9s infinite nf-flag;left:0}@keyframes nf-oat{0%,8%{transform:translate(0)}40%,56%{transform:translate(min(206px,50vw - 60px))}92%,to{transform:translate(0)}}@keyframes nf-oy{0%,8%{transform:translate(0)}40%,56%{transform:translate(max(-206px,60px - 50vw))}92%,to{transform:translate(0)}}@keyframes nf-flag{0%,30%{opacity:0}31%,70%{opacity:1}71%,to{opacity:0}}.nf__back{letter-spacing:-.02em;font-size:clamp(20px,2.2vw,30px);font-weight:500}.nf__back a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:2px;text-decoration:none}.nf__back a:hover{background-size:100% 2px}@media (prefers-reduced-motion:reduce){.nf__cursor--oat{animation:none;transform:translate(120px)}.nf__cursor--oy{animation:none;transform:translate(-120px)}.nf__flag{opacity:1;animation:none!important}}.nobr{white-space:nowrap}.about__line{max-width:34ch}@media (max-width:720px){.wordmark svg{height:24px}}
