:root{--orange:#ff751f;--on-orange:#1d0e04;--font-display:"Big Shoulders", "Noto Sans Thai", sans-serif;--font-body:"Archivo", "Noto Sans Thai", system-ui, sans-serif;--font-data:"Martian Mono", ui-monospace, monospace;--gutter:clamp(16px, 4vw, 56px);--rain-kernel:#1d0e0457;--rain-kernel-head:#1d0e04b8}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#140c07;--bg-warm:#351707;--ink:#fbeee3;--muted:#c4b1a1;--muted-warm:#e0c3ac;--line:#3f2c1f;--accent-ink:#ff8a40;--rain:#ff751fcc;--rain-head:#ffd2b3}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-warm:#ffdcc6;--ink:#1d0e04;--muted:#65523f;--muted-warm:#5a3f2b;--line:#eadbcf;--accent-ink:#ad4400;--rain:#ff751fcc;--rain-head:#e85c00}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--orange) var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6}:lang(th) body,body:lang(th){line-height:1.75}::selection{background:var(--orange);color:var(--on-orange)}a{color:inherit}h1,h2,h3,p,ol,ul,dl,dd{margin:0;padding:0}ol,ul{list-style:none}:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{top:-100px;left:var(--gutter);z-index:20;background:var(--orange);color:var(--on-orange);border-radius:999px;padding:8px 16px;position:fixed}.skip:focus{top:8px}.rain{width:100%;height:100%;position:absolute;inset:0}.header{z-index:5;padding:16px var(--gutter);align-items:center;gap:28px;display:flex;position:absolute;inset:0 0 auto}.header__home{margin-left:-8px;padding:8px;display:inline-flex}.mark{width:28px;height:28px;color:var(--orange)}.header__nav{gap:24px;margin-left:auto;font-weight:500;display:flex}.header__nav a{text-decoration:none}.header__nav a:hover{color:var(--accent-ink);text-underline-offset:5px;text-decoration:underline}.header__controls{gap:2px;display:flex}.control{min-width:44px;height:44px;color:var(--ink);font:500 1rem var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding-inline:8px;display:inline-grid}.control:hover{color:var(--accent-ink)}.hero{min-height:100svh;padding:88px var(--gutter) clamp(24px, 3vw, 40px);flex-direction:column;justify-content:flex-end;gap:clamp(20px,3vw,40px);display:flex;position:relative;overflow:hidden}.hero__name{color:#0000;width:fit-content;font-family:var(--font-display);font-size:min(32vw,62svh);font-weight:900;line-height:.82;position:relative}.hero__about{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);align-items:start;gap:16px clamp(24px,4vw,56px);display:grid;position:relative}.hero__role{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.25rem);font-weight:700;line-height:1}.hero__lead{max-width:58ch}.hero__study{color:var(--muted);margin-top:8px;font-size:.9375rem}.hero__actions{justify-items:start;gap:4px;display:grid}.descend{background:var(--orange);min-height:52px;color:var(--on-orange);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:8px 24px;font-weight:600;text-decoration:none;transition:padding .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.descend svg{transition:transform .16s cubic-bezier(.16,1,.3,1)}.descend:hover svg{transform:translateY(4px)}.text-action{text-underline-offset:4px;align-items:center;gap:8px;min-height:44px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.text-action:hover{color:var(--accent-ink)}.band{padding:clamp(56px, 8vw, 112px) var(--gutter);grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:clamp(8px,2vw,24px);display:grid}.band--warm{background:var(--bg-warm)}.band--warm .entry__body{color:var(--muted-warm)}.band__ring{color:var(--accent-ink);font-family:var(--font-data);align-self:start;font-size:.875rem;font-stretch:75%;position:sticky;top:24px}.band__title{font-family:var(--font-display);text-wrap:balance;font-size:clamp(3rem,8vw,7rem);font-weight:900;font-stretch:75%;line-height:.95}:lang(th) .band__title{line-height:1.15}.band__intro{max-width:44ch;margin-block:16px clamp(40px,6vw,72px);font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.45}:lang(th) .band__intro{line-height:1.6}.entries{gap:clamp(32px,5vw,64px);display:grid}.entry{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:clamp(16px,3vw,40px);display:grid}.entry__year{min-width:2.05em;color:var(--accent-ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,8vw,7rem);font-weight:700;line-height:.9}.entry__title{font-family:var(--font-display);font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:700;font-stretch:75%;line-height:1.1}.entry__body{max-width:58ch;color:var(--muted);margin-top:8px}.band--kernel{min-height:100svh;padding:clamp(40px, 6vw, 72px) var(--gutter);background:var(--orange);color:var(--on-orange);flex-direction:column;justify-content:flex-end;gap:clamp(24px,4vw,48px);display:flex;position:relative;overflow:hidden}.kernel__title{font-family:var(--font-display);white-space:nowrap;font-size:min(32vw,60svh);font-weight:900;font-stretch:75%;line-height:.82;position:relative}.band--kernel .entries{position:relative}.band--kernel .entry__year,.band--kernel .entry__body{color:var(--on-orange)}.band--kernel ::selection{background:var(--on-orange);color:var(--orange)}.skills{border-top:1px solid var(--line);padding:clamp(56px,8vw,112px) 0}.lua__label{padding-inline:var(--gutter);font-family:var(--font-display);justify-content:space-between;font-size:clamp(5rem,17vw,15rem);font-weight:900;line-height:.85;display:flex}.lua__bar{background:var(--orange);height:clamp(16px,2.4vw,32px);margin-top:12px}.lua__note{padding:8px var(--gutter) 0;color:var(--muted)}.languages{padding:clamp(32px, 5vw, 56px) var(--gutter);font-family:var(--font-display);flex-wrap:wrap;gap:0 clamp(16px,2.5vw,36px);font-size:clamp(2.25rem,5.5vw,5rem);font-weight:700;line-height:1.05;display:flex}.tools{padding-inline:var(--gutter)}.tools__row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4px 24px;padding-block:14px;display:grid}.tools__row dt{font-weight:600}.tools__row dd{color:var(--muted)}.contact{padding:clamp(56px, 8vw, 112px) var(--gutter) clamp(32px, 4vw, 56px);background:var(--bg-warm)}.contact__title{max-width:30ch;margin-bottom:24px;font-size:1.125rem;font-weight:500}.handle{width:fit-content;max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none;display:block}.handle__name{font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(4rem,15vw,13rem);font-weight:900;line-height:.95;display:block}.handle:hover .handle__name{color:var(--accent-ink)}.handle__hint{align-items:center;gap:6px;min-height:44px;margin-bottom:16px;font-weight:500;display:inline-flex}.contact__error{margin-bottom:16px;font-weight:500}.contact__error:empty{display:none}.footer{padding:20px var(--gutter);color:var(--muted);font-size:.9375rem}@media (width<=960px){.hero__about{grid-template-columns:minmax(0,1fr)}.hero__actions{flex-wrap:wrap;align-items:center;gap:4px 20px;display:flex}}@media (width<=720px){.header{gap:12px}.header__nav{display:none}.header__controls{margin-left:auto}.band{grid-template-columns:minmax(0,1fr)}.band__ring{position:static}.entry{grid-template-columns:minmax(0,1fr);gap:8px}.tools__row{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.descend,.descend svg{transition:none}}
