@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-thai-400-normal-C2DaJlKK.woff2)format("woff2"),url(/assets/sarabun-thai-400-normal-CH-UbWgg.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-vietnamese-400-normal-igdrzAGY.woff2)format("woff2"),url(/assets/sarabun-vietnamese-400-normal-DPfkSCMy.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-latin-ext-400-normal-BbP7GpLL.woff2)format("woff2"),url(/assets/sarabun-latin-ext-400-normal-BsmTn0SS.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-latin-400-normal-URPBxl-K.woff2)format("woff2"),url(/assets/sarabun-latin-400-normal-DmguIS-7.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sarabun-thai-500-normal-BVssjame.woff2)format("woff2"),url(/assets/sarabun-thai-500-normal-C3iDLEzi.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sarabun-vietnamese-500-normal-Dpe7Br9m.woff2)format("woff2"),url(/assets/sarabun-vietnamese-500-normal-CpRVvGRU.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sarabun-latin-ext-500-normal-DE1LysqI.woff2)format("woff2"),url(/assets/sarabun-latin-ext-500-normal-Cot16Bd2.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sarabun-latin-500-normal-BjUTcdxu.woff2)format("woff2"),url(/assets/sarabun-latin-500-normal-CJexTAnl.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-thai-600-normal-3dIAQ-_s.woff2)format("woff2"),url(/assets/sarabun-thai-600-normal-DWKeTe6a.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-vietnamese-600-normal-DkxrOlLB.woff2)format("woff2"),url(/assets/sarabun-vietnamese-600-normal-BMbOgAW-.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-latin-ext-600-normal-BRxjKUQ6.woff2)format("woff2"),url(/assets/sarabun-latin-ext-600-normal-0tXu9x_i.woff)format("woff");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:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-latin-600-normal-DMD3TROr.woff2)format("woff2"),url(/assets/sarabun-latin-600-normal-9FonlkKx.woff)format("woff");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:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-ext-400-normal-ChcxYnmu.woff2)format("woff2"),url(/assets/special-elite-latin-ext-400-normal-CaJZjSVf.woff)format("woff");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:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2)format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff)format("woff");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}:root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-slab-duo-regular:normal 400 1em/1 "Font Awesome 7 Slab Duo";--fa-font-slab-press-duo-regular:normal 400 1em/1 "Font Awesome 7 Slab Press Duo";--fa-font-pixel-regular:normal 400 1em/1 "Font Awesome 7 Pixel";--fa-font-mosaic-solid:normal 900 1em/1 "Font Awesome 7 Mosaic";--fa-font-vellum-solid:normal 900 1em/1 "Font Awesome 7 Vellum";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714286em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-block-start:.25em;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);display:inline-block;position:relative}.fa-layers .svg-inline--fa{transform-origin:50%;margin:auto;position:absolute;inset:0}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.0833333em}.fa-sm{vertical-align:.0535715em;font-size:.875em;line-height:.0714286em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.0416667em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-canvas-square{margin-block-end:-.125em;padding-block:.125em}.fa-canvas-roomy{box-sizing:content-box;margin-block-end:-.25em;padding-block:.25em;padding-inline:.125em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1.5s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip-360{animation-name:fa-flip-360;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.75s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}.fa-spin-snap{animation-name:fa-spin-snap;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2.4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-buzz{animation-name:fa-buzz;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.6s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:bottom}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1.2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:top}.fa-jello{animation-name:fa-jello;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-flip-360,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-buzz,.fa-float,.fa-jello,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{transition:none!important;animation:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(1.25 * var(--fa-beat-scale,1.25)))}45%{transform:scale(calc(1.22 * var(--fa-beat-scale,1.22)))}65%{transform:scale(calc(1.25 * var(--fa-beat-scale,1.25)))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{animation-timing-function:var(--fa-animation-timing);transform:scale(1)translateY(0)}14%{transform:scale(var(--fa-bounce-start-scale-x,1.06), var(--fa-bounce-start-scale-y,.94)) translateY(var(--fa-bounce-anticipation,3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x,.94), var(--fa-bounce-jump-scale-y,1.12)) translateY(calc(-1 * var(--fa-bounce-height,.5em)));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1, 1) translateY(calc(-1 * var(--fa-bounce-height,.5em) * 1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x,1.06), var(--fa-bounce-land-scale-y,.92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98, 1.04) translateY(calc(-2px * var(--fa-bounce-rebound,1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{0%{opacity:1;animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}40%{opacity:var(--fa-fade-opacity,.4);animation-timing-function:cubic-bezier(.4,0,.6,1);transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity,.4);animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}25%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-360deg))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-360deg))}}@keyframes fa-shake{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(35deg)translate(1px)}20%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(-22deg)translate(-1px)}35%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(15deg)translate(1px)}50%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-9deg)}65%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(5deg)}78%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-3deg)}90%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(1deg)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}12%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(60deg)}16.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(60deg)}28.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(120deg)}33.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(120deg)}45.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}62%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(240deg)}66.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(240deg)}78.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(300deg)}83.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(300deg)}95.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-4{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}15%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}40%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}65%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}90%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-8{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}9%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(45deg)}12.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(45deg)}21.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}34%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(135deg)}37.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(135deg)}46.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}59%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(225deg)}62.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(225deg)}71.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}84%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(315deg)}87.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(315deg)}96.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-buzz{0%{animation-timing-function:cubic-bezier(.1,0,.9,1);transform:translate(0)rotate(0)}5%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.5deg)}10%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px))) rotate(-.5deg)}15%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.3deg)}20%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px))) rotate(-.3deg)}25%{transform:translateX(calc(var(--fa-buzz-distance,4px) * .7)) rotate(.2deg)}30%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px) * .7)) rotate(-.2deg)}35%{transform:translateX(calc(var(--fa-buzz-distance,4px) * .4)) rotate(.1deg)}40%{transform:translate(0)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes fa-wag{0%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(0)}12%{transform:rotate(var(--fa-wag-angle,12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(2deg)}36%{transform:rotate(calc(var(--fa-wag-angle,12deg) * .85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(1deg)}58%{transform:rotate(calc(var(--fa-wag-angle,12deg) * .6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(-.4 * var(--fa-float-height,6px))) translateX(var(--fa-float-drift,1px)) rotate(var(--fa-float-tilt,1deg)) scale(1, 1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(-1 * var(--fa-float-height,6px))) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x,.98), var(--fa-float-stretch-y,1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(-.92 * var(--fa-float-height,6px))) translateX(calc(-.5 * var(--fa-float-drift,1px))) rotate(calc(-.5 * var(--fa-float-tilt,1deg))) scale(.995, 1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(-.3 * var(--fa-float-height,6px))) translateX(calc(-1 * var(--fa-float-drift,1px))) rotate(calc(-1 * var(--fa-float-tilt,1deg))) scale(1, 1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(.05 * var(--fa-float-height,6px))) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98))}}@keyframes fa-swing{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{transform:rotate(var(--fa-swing-angle,22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle,22deg) * .65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle,22deg) * .25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:scale(1)}12%{transform:scale(var(--fa-jello-scale-x,1.15), calc(2 - var(--fa-jello-scale-x,1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y,1.12)), var(--fa-jello-scale-y,1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(1 + (var(--fa-jello-scale-x,1.15) - 1) * .5), calc(2 - (1 + (var(--fa-jello-scale-x,1.15) - 1) * .5)));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(2 - (1 + (var(--fa-jello-scale-y,1.12) - 1) * .3)), calc(1 + (var(--fa-jello-scale-y,1.12) - 1) * .3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(1.02,.98)}68%{transform:scale(1)}to{transform:scale(1)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}:root{--paper:#fff;--paper-raised:#f4faf1;--ink:#1e3b1c;--ink-soft:#4f6b47;--accent:#3a6b34;--accent-soft:#6b8f5a;--stamp:#3f6b38;--rule:#d7e8d0;--shadow:#1e3b1c1f;--focus:#3a6b34;--surface-muted:#f2f2f2;--font-label:"Inter", system-ui, sans-serif;--font-body:"Inter", "Sarabun", "Noto Sans Thai", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:17px/1.6 var(--font-body);letter-spacing:.1px;color:var(--ink);background:linear-gradient(180deg, var(--paper) 0%, var(--paper-raised) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--paper:#0f1a0d;--paper-raised:#162413;--ink:#eaf7e2;--ink-soft:#b9cdae;--accent:#8fbf7a;--accent-soft:#9fc98c;--stamp:#7fae6a;--rule:#24361f;--shadow:#00000080;--focus:#8fbf7a;--surface-muted:#262626;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;transition:background-color .3s,border-color .3s,box-shadow .3s,color .3s,fill .3s,stroke .3s}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms}}body{background:linear-gradient(180deg, var(--paper) 0%, var(--paper-raised) 100%);color:var(--ink);background-attachment:fixed;margin:0}h1,h2,h3{font-family:var(--font-body);color:var(--ink);font-weight:600;line-height:1.15}p{max-width:68ch;margin:0}a{color:inherit}button{font-family:inherit}::selection{background:var(--accent-soft);color:var(--paper)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.page{flex-direction:column;min-height:100svh;display:flex}.page main{flex:1}.page__branch{height:auto;color:var(--ink);opacity:.07;pointer-events:none;position:fixed;bottom:clamp(-4rem,-6vw,-2rem)}.page__branch--left{width:min(55vw,30rem);left:clamp(-6rem,-8vw,-3rem)}.page__branch--right{width:min(45vw,24rem);right:clamp(-7rem,-9vw,-3.5rem);transform:scaleX(-1)}.admin-layout{background:var(--paper);min-height:100svh;color:var(--ink);flex-direction:column;display:flex}.admin-layout__content{padding:clamp(1.25rem,4vw,3rem);flex:1;padding-bottom:5rem}.admin-users__heading{margin:0 0 1.5rem;font-size:1.4rem}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.dashboard-recent{margin-top:1.5rem}.dashboard-recent__header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.dashboard-recent__heading{font-size:1.1rem}.dashboard-recent__link{color:var(--accent);font-size:.9rem;text-decoration:none}.dashboard-recent__link:hover{text-decoration:underline}.dashboard-recent__empty{color:var(--ink-soft)}.stat-card{background:var(--surface-muted);border:1px solid var(--rule);border-radius:8px;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex;position:relative}.stat-card__icon{color:var(--accent);font-size:1.4rem}.stat-card__value{font-size:2rem;font-weight:600;line-height:1}.stat-card__label{color:var(--ink-soft);font-size:.85rem}.stat-card__mock-badge{border:1px dashed var(--rule);color:var(--ink-soft);letter-spacing:.03em;border-radius:999px;padding:.15rem .55rem;font-size:.65rem;position:absolute;top:.85rem;right:.85rem}.stat-card--split{flex-direction:row;align-items:center}.stat-card__half{flex-direction:column;flex:1;gap:.5rem;display:flex}.stat-card__divider{background:var(--rule);align-self:stretch;width:1px}.admin-users__toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-users__search{border:1px solid var(--rule);background:var(--paper-raised);min-width:220px;color:var(--ink-soft);border-radius:999px;flex:320px;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:1.2rem;display:flex}.admin-users__search input{color:var(--ink);font:inherit;background:0 0;border:none;outline:none;flex:1}.admin-users__tags{gap:.5rem;display:flex}.role-tag{border:1px solid var(--rule);background:var(--paper);color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.role-tag:hover{border-color:var(--accent-soft)}.role-tag--active{background:var(--accent);border-color:var(--accent);color:var(--paper)}.admin-users__add{background:var(--accent);color:var(--paper);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.5rem;margin-left:auto;padding:.6rem 1.1rem;font-weight:600;display:inline-flex}.admin-users__add svg{font-size:1.15rem}.admin-users__error{color:#c0392b;margin:0 0 1rem}.admin-users__table-wrap{border:1px solid var(--rule);background:var(--surface-muted);border-radius:8px;padding:.5rem 1rem;overflow-x:auto}.admin-users__table{border-collapse:collapse;width:100%}.admin-users__table th,.admin-users__table td{border-bottom:1px solid var(--rule);text-align:left;padding:.6rem .75rem;font-size:.95rem}.admin-users__table tbody tr:last-child td{border-bottom:none}.admin-users__pagination{z-index:10;background:var(--paper-raised);border-top:1px solid var(--rule);color:var(--ink-soft);justify-content:center;align-items:center;gap:1rem;padding:.85rem 1rem;font-size:.9rem;display:flex;position:fixed;bottom:0;left:0;right:0}.admin-users__pagination button{border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;border-radius:4px;padding:.35rem .9rem}.admin-users__pagination button:hover:not(:disabled){border-color:var(--accent-soft);color:var(--accent)}.admin-users__pagination button:disabled{opacity:.5;cursor:default}.role-badge{text-transform:capitalize;border-radius:999px;padding:.15rem .65rem;font-size:.8rem}.role-badge--admin{background:var(--accent);color:var(--paper)}.role-badge--supervisor{background:var(--accent-soft);color:var(--paper)}.role-badge--user{border:1px solid var(--rule);color:var(--ink-soft)}.role-badge--danger{color:var(--paper);background:#c0392b}.status-icon--active{color:var(--accent)}.status-icon--inactive{color:#c0392b}.status-icon--active,.status-icon--inactive{font-size:2rem}.admin-users__actions{gap:.5rem;display:flex}.admin-provinces__name-th{color:var(--ink-soft);font-size:.9rem}.icon-button{width:2.25rem;height:2.25rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:1.15rem;display:inline-flex}.icon-button:hover{color:var(--accent)}.icon-button--star svg{color:var(--paper)}.icon-button--star svg path{stroke:var(--accent);stroke-width:32px}.icon-button--star:hover svg{color:var(--paper)}.icon-button--star-active svg{color:#f5c518}.icon-button--star-active svg path{stroke:none}.icon-button--star-active:hover svg{color:#f5c518}.icon-button--danger:hover{color:#c0392b}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--paper);width:min(420px,100%);max-height:90vh;color:var(--ink);border-radius:8px;padding:1.5rem;overflow-y:auto}.modal__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal__header h2{margin:0;font-size:1.1rem}.modal__close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:1.1rem}.modal__close:hover{color:var(--ink)}.admin-modal-form{flex-direction:column;gap:1rem;display:flex}.admin-modal-form label{color:var(--ink-soft);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.admin-modal-form input,.admin-modal-form select,.admin-modal-form textarea{border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;border-radius:4px;padding:.5rem .65rem}.admin-modal-form textarea{resize:vertical;min-height:5rem}.admin-modal-form button[type=submit]{background:var(--accent);color:var(--paper);cursor:pointer;border:none;border-radius:4px;padding:.6rem;font-weight:600}.admin-modal-form button:disabled{opacity:.6;cursor:default}.login-page{background:linear-gradient(180deg, var(--paper) 0%, var(--paper-raised) 100%);justify-content:center;align-items:center;min-height:100svh;padding:clamp(1.25rem,4vw,3rem);display:flex;position:relative;overflow:hidden}.login-page__branch{height:auto;color:var(--ink);opacity:.1;z-index:0;pointer-events:none;position:absolute;bottom:clamp(-4rem,-6vw,-2rem)}.login-page__branch--left{width:min(65vw,34rem);left:clamp(-6rem,-8vw,-3rem)}.login-page__branch--right{width:min(52vw,27rem);right:clamp(-7rem,-9vw,-3.5rem);transform:scaleX(-1)}.login-page__back{z-index:1;color:var(--ink-soft);font-family:var(--font-label);letter-spacing:.02em;align-items:center;gap:.55rem;font-size:.85rem;text-decoration:none;display:inline-flex;position:absolute;top:clamp(1.25rem,4vw,2rem);left:clamp(1.25rem,4vw,3rem)}.login-page__back svg{font-size:1rem;transition:transform .25s}.login-page__back:hover{color:var(--accent)}.login-page__back:hover svg{transform:translate(-4px)}.login-sheet{z-index:1;background:var(--paper-raised);border:1px solid var(--rule);width:min(100%,25rem);box-shadow:0 1.25rem 2.5rem -1.25rem var(--shadow);flex-direction:column;align-items:center;gap:1.5rem;padding:clamp(2rem,5vw,2.75rem) clamp(1.75rem,4vw,2.25rem) clamp(1.75rem,4vw,2rem);display:flex;position:relative}.login-sheet__tab{background:var(--accent-soft);opacity:.3;clip-path:polygon(0 0,100% 0,0 100%);width:1.5rem;height:1.5rem;position:absolute}.login-sheet__tab--left{top:-1px;left:-1px}.login-sheet__tab--right{top:-1px;right:-1px;transform:scaleX(-1)}.login-sheet__specimen{width:min(38%,5rem);height:auto;animation:.9s cubic-bezier(.16,1,.3,1) both settle}@media (prefers-reduced-motion:reduce){.login-sheet__specimen{animation:none}}.login-sheet__label{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.login-sheet__heading{font-family:var(--font-label);margin:0;font-size:clamp(1.5rem,4vw,1.8rem);font-weight:400}.login-sheet__meta{font-family:var(--font-label);letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase;margin:0;font-size:.7rem}.login-sheet__fields{border-top:1px dashed var(--rule);flex-direction:column;gap:1rem;width:100%;padding-top:1.5rem;display:flex}.login-sheet__fields label{color:var(--ink-soft);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.login-sheet__fields input{border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;border-radius:4px;padding:.55rem .7rem}.login-sheet__fields label.login-sheet__remember{flex-direction:row;align-items:center;gap:.5rem;font-size:.8rem}.login-sheet__fields input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);border-radius:3px;padding:0}.login-sheet__submit{background:var(--accent);width:100%;color:var(--paper);cursor:pointer;border:none;border-radius:4px;padding:.65rem;font-size:18px;font-weight:600}.login-sheet__submit:hover:not(:disabled){background:var(--stamp)}.login-sheet__submit:disabled{opacity:.6;cursor:default}.login-sheet__error{color:#c0392b;text-align:center;border:1px solid #c0392b;border-radius:4px;width:100%;margin:0;padding:.6rem .75rem;font-size:.85rem}.site-header{border-bottom:1px solid var(--rule);z-index:10;background:var(--paper);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.5rem clamp(1.25rem,4vw,3rem);display:grid;position:sticky;top:0}.site-header__brand{align-items:center;display:inline-flex}.site-header__logo{width:auto;height:3.25rem}.site-header__left{align-items:center;gap:.85rem;display:flex}.admin-session-info{line-height:1.3;font-family:var(--font-label);flex-direction:column;display:flex}.admin-session-info__login{color:var(--ink);font-size:.85rem}.admin-session-info__role{color:var(--ink-soft);text-transform:capitalize;font-size:.7rem}.site-nav{font-family:var(--font-label);letter-spacing:.02em;justify-content:center;gap:clamp(1rem,3vw,2rem);font-size:.95rem;display:flex}.site-nav a{color:var(--ink);padding-bottom:.2rem;text-decoration:none;position:relative}.site-nav a:after{content:"";background:var(--accent);height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover{color:var(--accent)}.site-nav a:hover:after{transform:scaleX(1)}.site-header__actions{justify-self:end;align-items:center;gap:.75rem;display:flex}.theme-toggle{width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .3s,border-color .3s,color .3s,transform .2s;display:inline-flex}.theme-toggle:hover{color:var(--accent-soft);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle__icon{font-size:1.4rem;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s}.theme-toggle:hover .theme-toggle__icon{transform:scale(1.2)}.cookie-consent{z-index:40;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.cookie-consent__panel{background:var(--paper-raised);border:1px solid var(--rule);width:min(23rem,100vw - 3rem);box-shadow:0 4px 12px var(--shadow);transform-origin:100% 100%;border-radius:8px;padding:1.1rem 1.25rem 1.25rem;animation:.45s cubic-bezier(.16,1,.3,1) cookie-consent-in;position:relative}.cookie-consent__panel:after{content:"";background:var(--paper-raised);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);width:.75rem;height:.75rem;position:absolute;bottom:-.4rem;right:1.15rem;transform:rotate(45deg)}@keyframes cookie-consent-in{0%{opacity:0;transform:translateY(.75rem)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.cookie-consent--leaving{pointer-events:none;transform-origin:100% 100%;animation:.32s cubic-bezier(.16,1,.3,1) forwards cookie-consent-out}@keyframes cookie-consent-out{to{opacity:0;transform:translateY(.5rem)scale(.96)}}@media (prefers-reduced-motion:reduce){.cookie-consent__panel,.cookie-consent--leaving{animation-duration:.01ms}}.cookie-consent__title{margin:0 0 .4rem;font-size:1rem;font-weight:600}.cookie-consent__body{color:var(--ink-soft);margin:0 0 1rem;font-size:.9rem;line-height:1.55}.cookie-consent__actions{flex-wrap:wrap;gap:.5rem;display:flex}.cookie-consent__accept,.cookie-consent__necessary{cursor:pointer;border-radius:4px;flex:8rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:transform .2s}.cookie-consent__accept{background:var(--accent);color:var(--paper);border:none}.cookie-consent__accept:hover{transform:translateY(-1px)}.cookie-consent__necessary{border:1px solid var(--rule);color:var(--ink);background:0 0}.cookie-consent__necessary:hover{border-color:var(--accent-soft);transform:translateY(-1px)}.cookie-consent__bubble{border:1px solid var(--rule);background:var(--paper-raised);width:3rem;height:3rem;color:var(--ink);cursor:pointer;box-shadow:0 4px 12px var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:color .3s,transform .2s;display:inline-flex}.cookie-consent__bubble:hover{color:var(--accent-soft);transform:translateY(-1px)}.auth-toggle{width:2.75rem;transition:width .35s cubic-bezier(.16,1,.3,1),background-color .3s,border-color .3s,color .3s,transform .2s;overflow:hidden visible}.auth-toggle:hover{width:8rem}.auth-toggle--wide:hover{width:13rem}.auth-toggle__label{opacity:0;white-space:nowrap;max-width:0;margin-left:0;font-size:.85rem;font-weight:600;line-height:1.8;transition:max-width .35s cubic-bezier(.16,1,.3,1),margin-left .35s cubic-bezier(.16,1,.3,1),opacity .25s 50ms;overflow:hidden visible}.auth-toggle:hover .auth-toggle__label{opacity:1;max-width:5rem;margin-left:.5rem}.auth-toggle--wide:hover .auth-toggle__label{max-width:10rem}.lang-toggle__label{font-size:1rem;font-weight:600}.hero{justify-content:center;padding:clamp(2rem,6vw,4.5rem) clamp(1.25rem,4vw,3rem);display:flex}.hero__sheet{background:var(--paper-raised);border:1px solid var(--rule);width:min(100%,46rem);box-shadow:0 1.25rem 2.5rem -1.25rem var(--shadow);text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:clamp(2.5rem,6vw,4rem) clamp(2rem,5vw,3.5rem) clamp(2rem,5vw,3rem);display:flex;position:relative}.hero__tab{background:var(--accent-soft);opacity:.3;clip-path:polygon(0 0,100% 0,0 100%);width:1.75rem;height:1.75rem;position:absolute}.hero__tab--left{top:-1px;left:-1px}.hero__tab--right{top:-1px;right:-1px;transform:scaleX(-1)}.hero__specimen{width:min(60%,13rem);height:auto;color:var(--ink);animation:.9s cubic-bezier(.16,1,.3,1) both settle}@media (prefers-reduced-motion:reduce){.hero__specimen{animation:none}}@keyframes settle{0%{opacity:0;transform:scale(1.06)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.hero__label{border-top:1px dashed var(--rule);flex-direction:column;align-items:center;gap:.75rem;width:100%;padding-top:1.5rem;display:flex}.hero__mark{font-family:var(--font-label);margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:400}.hero__lede{max-width:42ch;color:var(--ink-soft)}.hero__meta{font-family:var(--font-label);letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;font-size:.75rem}.home-content{flex-direction:column;gap:1.5rem;width:100%;max-width:90rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,4vw,3rem);display:flex}.home-banner{border:1px solid var(--accent-soft);background:linear-gradient(135deg, var(--paper) 0%, var(--paper-raised) 100%);border-radius:24px;flex-direction:column;align-items:flex-start;gap:1rem;padding:clamp(1.75rem,4vw,3rem);display:flex;position:relative;overflow:hidden}.home-banner__blob{background:var(--accent-soft);opacity:.18;pointer-events:none;border-radius:50%;width:18rem;height:18rem;position:absolute;top:-6rem;right:-6rem}.home-banner__badge{border:1px solid var(--accent);color:var(--accent);background:var(--paper);border-radius:999px;align-items:center;padding:.35rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.home-banner__heading{font-family:var(--font-label);color:var(--ink);max-width:40rem;margin:0;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;line-height:1.15}.home-banner__description{color:var(--ink-soft);max-width:48rem}.home-banner__accent-bar{background:var(--accent);border-radius:999px;width:3rem;height:4px}.home-search{border:1px solid var(--rule);background:var(--paper);border-radius:16px;flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.65rem 1.1rem;display:flex;position:relative}.home-search:focus-within{border-color:var(--accent)}.home-search__icon{color:var(--ink-soft);flex-shrink:0;margin-top:.55rem}.home-search__tags{flex-wrap:wrap;flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.home-search__tag{border:1px solid var(--rule);background:var(--paper-raised);color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .5rem .3rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.home-search__tag-remove{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:.1rem;font-size:.75rem;display:flex}.home-search__tag-remove:hover{color:var(--ink)}.home-search__input{min-width:8rem;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:.4rem 0}.home-search__input::placeholder{color:var(--ink-soft)}.home-search__clear{color:var(--ink-soft);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;padding:.55rem .25rem;font-size:.85rem;font-weight:600}.home-search__clear:hover{color:var(--accent)}.leaf-grid__mock-badge{border:1px dashed var(--rule);color:var(--ink-soft);letter-spacing:.03em;border-radius:999px;align-self:flex-start;padding:.15rem .55rem;font-size:.7rem;display:inline-flex}.leaf-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1.25rem;display:grid}.leaf-grid__empty{color:var(--ink-soft);text-align:center;padding:2rem 0}.leaf-card{border:1px solid var(--rule);background:var(--paper);box-shadow:0 1.25rem 2.5rem -1.25rem var(--shadow);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.leaf-card__image{aspect-ratio:1;background:var(--paper-raised);border-bottom:1px solid var(--rule);justify-content:center;align-items:center;display:flex}.leaf-card__mark{width:55%;height:auto;color:var(--accent-soft)}.leaf-card__body{flex-direction:column;gap:.15rem;padding:1rem;display:flex}.leaf-card__common{color:var(--ink);margin:0;font-size:1rem;font-weight:600}.leaf-card__scientific{color:var(--ink-soft);margin:0;font-size:.82rem;font-style:italic}.about{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,4vw,3rem);display:flex}.about__heading{margin:0;padding-bottom:.65rem;font-size:1.35rem;position:relative}.about__heading:after{content:"";background:var(--accent);border-radius:999px;width:3rem;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.about__body{color:var(--ink-soft)}.index-rail{padding:clamp(1.5rem,4vw,3rem) clamp(1.25rem,4vw,3rem) clamp(2.5rem,5vw,3.5rem)}.index-rail__list{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:clamp(1.75rem,4vw,2.75rem) clamp(1.5rem,4vw,2.5rem);max-width:64rem;margin:0 auto;padding:0;list-style:none;display:grid}.index-tag{transform:rotate(var(--tilt,0deg));padding-top:1.5rem;transition:transform .25s;position:relative}.index-tag:hover{transform:rotate(var(--tilt,0deg)) translateY(-2px)}.index-tag__pin{background:var(--stamp);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:0;left:.25rem}.index-tag__icon{color:var(--accent-soft);margin-bottom:.5rem;font-size:1.1rem}.index-tag__title{margin:0 0 .4rem;font-size:1rem}.index-tag__body{color:var(--ink-soft);font-size:.9rem}.about-bento{grid-template-columns:1.4fr 1fr;gap:1.5rem;max-width:1100px;margin:3rem auto;padding:0 1.5rem;display:grid}.about-bento__main{background:var(--paper-raised);border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:.75rem;padding:2rem;display:flex}.about-bento__side{grid-template-rows:repeat(3,1fr);gap:1.75rem;display:grid}.about-bento__side-card{background:var(--paper-raised);border:1px solid var(--rule);box-shadow:0 .9rem 1.75rem -1.1rem var(--shadow);transform:rotate(var(--tilt,0deg));border-radius:4px;flex-direction:column;gap:.6rem;padding:1.5rem 1.5rem 1.75rem;transition:transform .25s,box-shadow .25s;display:flex;position:relative}.about-bento__side-card:hover{transform:rotate(var(--tilt,0deg)) translateY(-3px);box-shadow:0 1.25rem 2.25rem -1.1rem var(--shadow)}.about-bento__side-card:before{content:"";background:var(--stamp);width:.6rem;height:.6rem;box-shadow:0 2px 3px var(--shadow);border-radius:50%;position:absolute;top:-.35rem;left:50%;transform:translate(-50%)}.about-bento__side-card:after{content:"";background:var(--accent-soft);opacity:.25;clip-path:polygon(100% 100%,0 100%,100% 0);width:1.1rem;height:1.1rem;position:absolute;bottom:0;right:0}.about-bento__side-card:first-child{--tilt:-1.5deg}.about-bento__side-card:nth-child(2){--tilt:1.5deg}.about-bento__side-card:nth-child(3){--tilt:-1deg}.about-bento__icon{color:var(--accent);font-size:1.5rem}.about-bento__title{font-size:1.1rem}.about-bento__body{color:var(--ink-soft);font-size:.95rem}.thailand-map-block{flex-direction:column;flex:1;gap:1rem;display:flex}.thailand-map{width:100%;min-height:260px;filter:drop-shadow(0 8px 12px var(--shadow));flex:1}.thailand-map path{stroke:var(--paper);stroke-width:.75px;transition:filter .2s}.thailand-map path:hover{filter:brightness(1.12)}.thailand-map__province--active{fill:var(--accent)}.thailand-map__province--inactive{fill:var(--surface-muted)}.thailand-map-legend{color:var(--ink-soft);gap:1.25rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.thailand-map-legend li{align-items:center;gap:.5rem;display:flex}.thailand-map-legend__swatch{border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.thailand-map-legend__swatch--active{background:var(--accent)}.thailand-map-legend__swatch--inactive{background:var(--surface-muted);border:1.5px solid var(--accent)}@media (width<=720px){.about-bento{grid-template-columns:1fr}.about-bento__side{grid-template-rows:none}.site-header{grid-template-columns:auto 1fr;grid-template-areas:"brand actions""nav nav";row-gap:.75rem}.site-header__brand{grid-area:brand}.site-header__actions{grid-area:actions}.site-nav{-webkit-overflow-scrolling:touch;grid-area:nav;justify-content:flex-start;overflow-x:auto}.site-nav a{white-space:nowrap;flex:none}}.contact-grid{grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1100px;margin:1rem auto 3rem;padding:0 1.5rem;display:grid}.contact-stack{flex-direction:column;gap:1.5rem;display:flex}.contact-card{background:var(--paper-raised);border:none;border-radius:20px;align-items:center;gap:1rem;padding:1.5rem 1.75rem;display:flex}.contact-card--top{align-items:flex-start}.contact-card--top .contact-card__icon{margin-top:.2rem}.contact-card__icon{color:var(--accent);flex:none;font-size:1.6rem}.contact-card__text{flex-direction:column;gap:.3rem;display:flex}.contact-card__label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:700}.contact-card__value{color:var(--ink);font-size:1.1rem;font-weight:700}a.contact-card__value:hover{color:var(--accent)}.contact-card__address-line{color:var(--ink-soft);font-size:.95rem;font-weight:400;line-height:1.5;display:block}.contact-card--map{border:1.5px solid var(--accent);padding:0;display:block;overflow:hidden}.contact-card__map{aspect-ratio:4/3;border:none;width:100%;display:block}.contact-form{background:var(--paper-raised);border:1px solid var(--rule);border-radius:12px;padding:2rem}.contact-form__message-field{flex:1}.contact-form__message-field textarea{flex:1;min-height:8rem}.contact-form__heading{margin:0 0 .25rem;font-size:1.1rem}.contact-form button[type=submit]{padding:.85rem;font-size:1.15rem}.contact-form__success{color:var(--accent);margin:0;font-size:.9rem}.upload-page__form-wrap{max-width:72rem;margin:0 auto 3rem;padding:0 1.5rem}.upload-form{flex-direction:column;gap:1.5rem;font-size:1.05rem;display:flex}.upload-form__intro{max-width:42rem;color:var(--ink-soft);text-align:center;margin:0 auto;font-size:1.1rem}.upload-form__columns{grid-template-columns:1.1fr 1fr;align-items:start;gap:2rem;display:grid}.upload-form__column{background:var(--paper-raised);border:1px solid var(--rule);border-radius:16px;flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.upload-form input,.upload-form select{padding:.75rem .9rem;font-size:1rem}.upload-form button[type=submit]{padding:.9rem;font-size:1.15rem}@media (width<=720px){.upload-form__columns{grid-template-columns:1fr}}.upload-panel{border-radius:8px}.upload-panel--active{outline:2px dashed var(--accent);outline-offset:4px;background:var(--paper-raised)}.upload-dropzone{border:2px dashed var(--rule);background:var(--paper);text-align:center;cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;padding:3.5rem 1.5rem;display:flex}.upload-dropzone:hover,.upload-dropzone:focus-visible{border-color:var(--accent-soft)}.upload-dropzone--active{border-color:var(--accent);background:var(--paper-raised)}.upload-dropzone--disabled{opacity:.6;cursor:default}.upload-dropzone__icon{color:var(--accent-soft);font-size:2.75rem}.upload-dropzone__label{color:var(--ink);margin:0;font-size:1.2rem;font-weight:600}.upload-dropzone__note{color:var(--ink-soft);margin:0;font-size:.95rem}.upload-deck{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.upload-deck__stage{align-items:center;gap:1rem;width:100%;display:flex}.upload-deck__nav{border:1px solid var(--rule);background:var(--paper);width:3rem;height:3rem;color:var(--ink);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:1.15rem}.upload-deck__nav:disabled{opacity:.4;cursor:default}.upload-deck__nav:not(:disabled):hover{color:var(--accent)}.upload-deck__slide{aspect-ratio:4/3;border:1px solid var(--rule);background:var(--paper);border-radius:8px;flex:1;min-width:0;position:relative;overflow:hidden}.upload-deck__image{object-fit:contain;width:100%;height:100%}.upload-deck__remove{background:var(--paper);width:2.5rem;height:2.5rem;color:var(--ink-soft);cursor:pointer;border:none;border-radius:50%;font-size:1.05rem;position:absolute;top:.65rem;right:.65rem}.upload-deck__remove:hover{color:#c0392b}.upload-deck__counter{color:var(--ink-soft);margin:0;font-size:.95rem}.upload-deck__filename{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.upload-deck__class{width:100%;max-width:22rem;color:var(--ink-soft);align-items:stretch;gap:.6rem;font-size:1rem;display:flex}.class-combobox{width:100%;position:relative}.class-combobox__input{border:1px solid var(--rule);background:var(--paper);width:100%;color:var(--ink);font:inherit;cursor:text;border-radius:4px;padding:.5rem .85rem}.class-combobox__input:focus{border-color:var(--accent);outline:none}.class-combobox__input.class-combobox__input--closed{cursor:pointer;background:0 0;border-color:#0000}.class-combobox__input.class-combobox__input--closed:hover{border-color:var(--rule)}.class-combobox__list{z-index:5;background:var(--paper);border:1px solid var(--rule);max-height:14rem;box-shadow:0 .75rem 1.5rem -.75rem var(--shadow);border-radius:8px;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto}.class-combobox__option{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem .65rem;display:block}.class-combobox__option:hover,.class-combobox__option--highlighted{background:var(--paper-raised);color:var(--accent)}.class-combobox__empty{color:var(--ink-soft);padding:.5rem .65rem;font-size:.9rem}.upload-deck__strip{flex-wrap:wrap;justify-content:center;gap:.65rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.upload-deck__thumb{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:6px;width:4rem;height:4rem;padding:0;font-size:1.1rem;position:relative;overflow:hidden}.upload-deck__thumb img{object-fit:cover;width:100%;height:100%;display:block}.upload-deck__thumb--active{border-color:var(--accent)}.upload-deck__thumb-flag{background:var(--accent-soft);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:3px;right:3px}.upload-deck__thumb--add{border:2px dashed var(--rule);background:var(--paper);color:var(--accent);justify-content:center;align-items:center;display:flex}.upload-deck__thumb--add:hover{border-color:var(--accent)}.admin-modal-form .upload-form__consent{flex-direction:row;align-items:flex-start;gap:.6rem}.upload-form__consent input[type=checkbox]{width:1.2rem;height:1.2rem;margin-top:.2rem}.admin-contact__form{max-width:32rem;margin-bottom:2rem}.admin-reports__detail p{margin:0 0 .75rem}.admin-reports__detail-message{white-space:pre-wrap;color:var(--ink-soft)}.admin-reports__detail-actions{border-top:1px solid var(--rule);gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.admin-reports__detail-actions .icon-button{border:1px solid var(--rule);border-radius:999px;gap:.4rem;width:auto;padding:.4rem .75rem;font-size:.9rem}.admin-uploads-detail__back{color:var(--ink-soft);align-items:center;gap:.5rem;margin-bottom:1.5rem;text-decoration:none;display:inline-flex}.admin-uploads-detail__back:hover{color:var(--accent)}.admin-uploads-detail__approve{background:var(--accent);color:var(--paper);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.5rem;margin:1rem 0 1.5rem;padding:.7rem 1.3rem;font-weight:600;display:inline-flex}.admin-uploads-detail__approve:disabled{opacity:.6;cursor:default}.admin-uploads-detail__notice{background:var(--paper-raised);border:1px solid var(--rule);color:var(--ink-soft);border-radius:8px;margin:1rem 0 1.5rem;padding:.75rem 1rem}.admin-uploads-detail__grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.5rem;display:grid}.admin-uploads-detail__card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:16px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.admin-uploads-detail__card img{aspect-ratio:4/3;object-fit:cover;border-radius:10px;width:100%}.admin-uploads-detail__filename{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.admin-uploads-detail__card .icon-button--danger{border:1px solid var(--rule);border-radius:999px;align-self:flex-start;gap:.4rem;width:auto;padding:.4rem .75rem;font-size:.85rem}@media (width<=720px){.contact-grid{grid-template-columns:1fr}}.notice{border-top:1px dashed var(--rule);text-align:center;margin-top:auto;padding:1.25rem clamp(1.25rem,4vw,3rem)}.notice p{color:var(--ink-soft);margin:0 auto;font-size:.85rem}.site-footer{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem clamp(1.25rem,4vw,3rem);display:flex}.site-footer p{color:var(--ink-soft);margin:0;font-size:.8rem}.site-footer__legal{color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.site-footer__legal a{color:inherit;text-decoration:none}.site-footer__legal a:hover{color:var(--accent);text-decoration:underline}
