@import url("https://fonts.googleapis.com/css2?family=Kanit:wght@400;700&family=Prompt:wght@400;700&family=Noto+Serif+Thai:wght@400;700&family=Sriracha&family=Itim&family=Charm:wght@400;700&display=swap");@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LineSeed/LINESeedSansTH_W_Th.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Monocraft;src:url(/fonts/minecraft/Monocraft.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:iannnnnAMD;src:url(/fonts/minecraft/2005_iannnnnAMD.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Minecraft Unicode Fallback;src:url(/fonts/minecraft/GNUUnifont.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LineSeed/LINESeedSansTH_W_Rg.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LineSeed/LINESeedSansTH_W_Bd.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LineSeed/LINESeedSansTH_W_XBd.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LineSeed/LINESeedSansTH_W_He.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlex/IBMPlexSansThai-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlex/IBMPlexSansThai-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlex/IBMPlexSansThai-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlex/IBMPlexSansThai-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlex/IBMPlexSansThai-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlex/IBMPlexSansThai-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlex/IBMPlexSansThai-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}.ibm-thin{font-weight:100}.ibm-extralight,.ibm-thin{font-family:IBM Plex Sans Thai}.ibm-extralight{font-weight:200}.ibm-light{font-weight:300}.ibm-light,.ibm-regular{font-family:IBM Plex Sans Thai}.ibm-regular{font-weight:400}.ibm-medium{font-weight:500}.ibm-medium,.ibm-semibold{font-family:IBM Plex Sans Thai}.ibm-semibold{font-weight:600}.ibm-bold{font-family:IBM Plex Sans Thai;font-weight:700}.pop-up{animation:popup .25s ease-out forwards}@keyframes popup-fading{0%{transform:translateY(30px);opacity:0;filter:blur(5px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.pop-up-fading{animation:popup-fading .25s ease-out forwards}@keyframes popup-hidden{0%{transform:translateY(0);opacity:1}to{transform:translateY(30px);opacity:0}}.pop-up-hidden{animation:popup-hidden .15s ease-out forwards}@media (prefers-reduced-motion:reduce){.pop-up,.pop-up-fading{animation:none;filter:none;opacity:1;transform:none}.pop-up-hidden{animation:none;opacity:0;transform:none}}@keyframes popup-mini{0%{transform:translateY(-5px);opacity:0}to{transform:translateY(0);opacity:1}}.pop-up-mini{animation:popup-mini .25s ease-out forwards}@keyframes popup-mini-hidden{0%{transform:translateY(0);opacity:1}50%{transform:translateY(-5px);opacity:0}to{transform:translateY(-5px);opacity:0}}.pop-up-mini-hidden{animation:popup-mini-hidden .25s forwards}@keyframes popup-ltr{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.pop-up-ltr{animation:popup-ltr .25s forwards}@keyframes popup-rtl{0%{transform:translateX(0)}to{transform:translateX(-100%)}}.pop-up-rtl{animation:popup-rtl .25s forwards}@keyframes popup{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popout{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes popout-rtl{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-10%)}}@keyframes popout-ltr{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-10%)}}.animate-popup{animation:popup .2s ease-out forwards}.animate-popout{animation:popout .2s ease-out forwards}.animate-popout-rtl{animation:popout-rtl .05s ease-out forwards}.animate-popout-ltr{animation:popout-ltr .05s ease-out forwards}@keyframes success-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}80%{transform:scale(.95)}to{transform:scale(1)}}.animate-success-pop{animation:success-pop .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes donate-alert-popup-in{0%{transform:translateY(26px) scale(.72);opacity:0}58%{transform:translateY(-8px) scale(1.07);opacity:1}78%{transform:translateY(3px) scale(.98);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes donate-alert-popup-out{0%{transform:translateY(0) scale(1);opacity:1}35%{transform:translateY(-5px) scale(1.025);opacity:1}to{transform:translateY(22px) scale(.82);opacity:0}}.donate-alert-popup-in{animation:donate-alert-popup-in .42s cubic-bezier(.22,1,.36,1)}.donate-alert-popup-out{pointer-events:none;animation:donate-alert-popup-out .34s cubic-bezier(.4,0,1,1) both}@keyframes success-check{0%{transform:scale(0) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.animate-success-check{animation:success-check .35s cubic-bezier(.34,1.56,.64,1) .18s both}@keyframes success-ring{0%{transform:scale(.6);opacity:.55}to{transform:scale(1.8);opacity:0}}.animate-success-ring{animation:success-ring .9s ease-out .15s forwards}@keyframes success-rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-success-rise{animation:success-rise .35s ease-out both}@keyframes heroReveal{0%{opacity:0;transform:translateY(28px) scale(.97);filter:blur(16px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.hero-reveal{animation:heroReveal .9s cubic-bezier(.22,1,.36,1) both}@keyframes heroGlowIn{0%{opacity:0}to{opacity:1}}.hero-glow-in{animation:heroGlowIn 2s ease-out 1.2s both}@media (prefers-reduced-motion:reduce){.hero-glow-in,.hero-reveal{animation:none}}@keyframes revealUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal-up{animation:revealUp .5s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.reveal-up{animation:none}}@keyframes revealPop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.reveal-pop{animation:revealPop .55s cubic-bezier(.34,1.56,.64,1) both}@keyframes revealOrbit{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.reveal-orbit{animation:revealOrbit .6s cubic-bezier(.34,1.56,.64,1) both}@media (prefers-reduced-motion:reduce){.reveal-orbit{animation:none}}@keyframes gamePanelIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.game-panel{animation:gamePanelIn .32s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.game-panel{animation:none}}.galaxy-viewport{background:radial-gradient(circle at 50% 50%,rgba(247,24,78,.08) 0,rgba(255,91,134,.05) 26%,transparent 56%),radial-gradient(circle at 18% 24%,rgba(255,91,134,.12) 0,transparent 36%),radial-gradient(circle at 82% 76%,rgba(255,91,134,.07) 0,transparent 38%),#fff7fa;min-height:0}.dark .galaxy-viewport{background:radial-gradient(circle at 50% 50%,rgba(255,45,89,.13) 0,rgba(255,91,134,.06) 26%,transparent 56%),radial-gradient(circle at 18% 24%,rgba(255,91,134,.1) 0,transparent 36%),radial-gradient(circle at 82% 76%,rgba(255,91,134,.1) 0,transparent 38%),#1b1620}.galaxy-viewport *{user-select:none}.orbit-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:9999px;border:1px dashed rgba(247,24,78,.16);pointer-events:none}.hub{background:radial-gradient(circle at 50% 38%,#ffffff 0,#fff4f7 60%,#ffe7ee 100%);box-shadow:0 0 0 7px rgba(255,255,255,.75),0 0 44px -2px rgba(247,24,78,.38),0 18px 52px -12px rgba(247,24,78,.3)}.dark .hub{background:radial-gradient(circle at 50% 38%,#2a1d2b 0,#1f1528 60%,#160e1d 100%);box-shadow:0 0 0 7px rgba(255,45,89,.12),0 0 48px -2px rgba(255,45,89,.5),0 18px 52px -12px rgba(0,0,0,.6)}@media (prefers-reduced-motion:reduce){.reveal-pop{animation:none}}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scrimOut{0%{opacity:1}to{opacity:0}}@keyframes sheetDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.animate-scrim-in{animation:scrimIn .25s ease-out both}.animate-sheet-up{animation:sheetUp .34s cubic-bezier(.22,1,.36,1) both}.animate-scrim-out{animation:scrimOut .22s ease-in both}.animate-sheet-down{animation:sheetDown .28s cubic-bezier(.5,0,.75,0) both}@media (prefers-reduced-motion:reduce){.animate-scrim-in,.animate-scrim-out,.animate-sheet-down,.animate-sheet-up{animation:none}}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page-in{animation:pageIn .5s cubic-bezier(.22,1,.36,1) both}@keyframes cardPop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.card-pop{animation:cardPop .42s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.card-pop,.page-in{animation:none}}@keyframes modal-pop{0%{transform:scale(.9) translateY(10px);opacity:0}70%{transform:scale(1.03) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0)}}.animate-modal-pop{animation:modal-pop .3s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes modal-out{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.95) translateY(10px);opacity:0}}.animate-modal-out{animation:modal-out .15s ease-in forwards}@keyframes backdrop-fade{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(4px)}}.animate-backdrop-fade{animation:backdrop-fade .25s ease-out forwards}@keyframes backdrop-fadeout{0%{opacity:1;backdrop-filter:blur(4px)}to{opacity:0;backdrop-filter:blur(0)}}.animate-backdrop-fadeout{animation:backdrop-fadeout .15s ease-in forwards}