@import "https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700;800;900&family=Sarabun:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;font-family:Kanit,Sarabun,sans-serif}.fh-intro{z-index:2000;isolation:isolate;color:#f5f8ff;background:radial-gradient(55% 60% at 50% 48%,#111d42 0%,#080e22 62%,#02050f 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.fh-intro__grid{opacity:.22;pointer-events:none;background-color:#0000;background-image:linear-gradient(#68a0ff1c 1px,#0000 1px),linear-gradient(90deg,#68a0ff1c 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:64px 64px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 76%);mask-image:radial-gradient(#000,#0000 76%)}.fh-intro__halo{aspect-ratio:1;pointer-events:none;border:1px solid #4b98ff30;border-radius:50%;width:min(510px,85vw);animation:2.2s ease-out .2s both fh-intro-halo,6s ease-in-out 2.4s infinite fh-intro-breathe;position:absolute;box-shadow:0 0 100px #5950f630,inset 0 0 85px #3260e51c}.fh-intro__halo:before{content:"";border:1px dashed #a87bff3b;border-radius:50%;position:absolute;inset:35px}.fh-intro__beam{opacity:0;filter:drop-shadow(0 0 11px #7f96ff);pointer-events:none;background:linear-gradient(90deg,#0000,#49deff 49.5%,#fff 50%,#fa63cf 50.5%,#0000);width:120vw;height:2px;animation:1.2s ease-in-out 1.55s both fh-intro-beam;position:absolute;top:50%;left:-10vw}.fh-intro__center{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(94vw,900px);display:flex;position:relative;transform:translateY(-12px)}.fh-intro__logo{width:clamp(118px,18vw,174px);height:auto;overflow:visible}.fh-intro__trail,.fh-intro__trace{fill:none;stroke:url(#fh-intro-gradient);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:460;stroke-dashoffset:460px;animation:1.9s cubic-bezier(.22,.72,.22,1) .35s forwards fh-intro-draw}.fh-intro__trail{stroke-width:8px;filter:url(#fh-intro-glow);opacity:.64}.fh-intro__trace{stroke-width:3px}.fh-intro__wordmark{letter-spacing:.11em;white-space:nowrap;text-shadow:0 0 30px #6eb1ff6b;clip-path:inset(0 100% 0 0);opacity:0;margin:0;font-family:Kanit,Sarabun,sans-serif;font-size:clamp(1.65rem,5.3vw,4.25rem);font-weight:900;line-height:1.22;animation:1.65s cubic-bezier(.22,.65,.18,1) 2s forwards fh-intro-reveal}.fh-intro__line{opacity:0;background:linear-gradient(90deg,#0000,#78ddff,#bc80ff,#0000);width:116px;height:1px;animation:.85s ease-out 3.42s forwards fh-intro-line;transform:scaleX(0)}.fh-intro__subtitle{color:#a9c8eb;letter-spacing:.24em;opacity:0;max-width:95%;margin:0;font:600 clamp(.55rem,1.2vw,.75rem)/1.7 Kanit,sans-serif;animation:.8s ease-out 3.7s forwards fh-intro-sub;transform:translateY(9px)}.fh-intro__skip{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:3;color:#e7f2ff;cursor:pointer;background:#0f2246b3;border:1px solid #92bff461;border-radius:12px;min-height:44px;padding:9px 18px;font:600 13px Kanit,sans-serif;position:absolute}.fh-intro__skip:hover,.fh-intro__skip:focus-visible{outline-offset:2px;background:#3a5ca0a6;outline:2px solid #5bd5ff}.fh-intro--exiting{pointer-events:none;animation:.75s ease-in-out forwards fh-intro-out}@keyframes fh-intro-draw{to{stroke-dashoffset:0}}@keyframes fh-intro-reveal{0%{clip-path:inset(0 100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}@keyframes fh-intro-line{to{opacity:1;transform:scaleX(1)}}@keyframes fh-intro-sub{to{opacity:1;transform:translateY(0)}}@keyframes fh-intro-halo{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes fh-intro-breathe{50%{box-shadow:0 0 130px #5950f64d,inset 0 0 90px #3260e521}}@keyframes fh-intro-beam{0%{opacity:0;transform:translate(-110%)}40%{opacity:.95}to{opacity:0;transform:translate(110%)}}@keyframes fh-intro-out{to{opacity:0;visibility:hidden;transform:scale(1.06)}}@media (width<=480px){.fh-intro__wordmark{letter-spacing:.07em;font-size:clamp(1.35rem,6.15vw,1.9rem)}.fh-intro__subtitle{letter-spacing:.12em;font-size:.55rem}.fh-intro__center{gap:10px}}@media (prefers-reduced-motion:reduce){.fh-intro *,.fh-intro{animation:none!important}}
