@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Sans+Thai:wght@400;500;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Francois+One&display=swap");@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:IBM Plex Sans,IBM Plex Sans Thai,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.\!fixed{position:fixed!important}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-3{right:-.75rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-16{bottom:4rem}.bottom-24{bottom:6rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.left-1\/2{left:50%}.left-4{left:1rem}.left-6{left:1.5rem}.right-0{right:0}.right-12{right:3rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-4{top:1rem}.top-6{top:1.5rem}.top-\[50\%\]{top:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[99999\]{z-index:99999}.z-\[9999\]{z-index:9999}.col-span-full{grid-column:1/-1}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-28{height:7rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[174vmin\]{height:174vmin}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[95vh\]{max-height:95vh}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-28{width:7rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[174vmin\]{width:174vmin}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[150px\]{min-width:150px}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[160px\]{max-width:160px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.rotate-6{--tw-rotate:6deg}.rotate-6,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .4s ease-out both}.animate-none{animation:none}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-10{row-gap:2.5rem}.gap-y-3{row-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(156 163 175/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[3px\]{border-width:3px}.border-\[4px\]{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-black\/10{border-color:rgba(0,0,0,.1)}.border-black\/20{border-color:rgba(0,0,0,.2)}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-line{--tw-border-opacity:1;border-color:rgb(233 228 240/var(--tw-border-opacity,1))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-neutral-200\/70{border-color:hsla(0,0%,90%,.7)}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.border-purple{--tw-border-opacity:1;border-color:rgb(113 1 147/var(--tw-border-opacity,1))}.border-purple-ring{--tw-border-opacity:1;border-color:rgb(233 212 243/var(--tw-border-opacity,1))}.border-purple\/20{border-color:rgba(113,1,147,.2)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/80{border-color:hsla(0,0%,100%,.8)}.bg-\[\#111625\]{--tw-bg-opacity:1;background-color:rgb(17 22 37/var(--tw-bg-opacity,1))}.bg-\[\#4ADE80\]{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-\[\#89CFF0\]{--tw-bg-opacity:1;background-color:rgb(137 207 240/var(--tw-bg-opacity,1))}.bg-\[\#8B5CF6\]{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-\[\#FCFAF2\]{--tw-bg-opacity:1;background-color:rgb(252 250 242/var(--tw-bg-opacity,1))}.bg-\[\#FF90E8\]{--tw-bg-opacity:1;background-color:rgb(255 144 232/var(--tw-bg-opacity,1))}.bg-\[\#FFDE4D\]{--tw-bg-opacity:1;background-color:rgb(255 222 77/var(--tw-bg-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber\/30{background-color:rgba(180,83,9,.3)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/5{background-color:rgba(0,0,0,.05)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50\/60{background-color:rgba(236,253,245,.6)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-neutral-50\/40{background-color:hsla(0,0%,98%,.4)}.bg-neutral-50\/50{background-color:hsla(0,0%,98%,.5)}.bg-neutral-50\/70{background-color:hsla(0,0%,98%,.7)}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.bg-page\/50{background-color:rgba(250,249,252,.5)}.bg-purple{--tw-bg-opacity:1;background-color:rgb(113 1 147/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-soft\/40{background-color:rgba(244,233,250,.4)}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/20{background-color:rgba(15,23,42,.2)}.bg-slate-900\/40{background-color:rgba(15,23,42,.4)}.bg-slate-900\/80{background-color:rgba(15,23,42,.8)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-sky-400{--tw-gradient-from:#38bdf8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(56,189,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:IBM Plex Sans,IBM Plex Sans Thai,system-ui,sans-serif}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#CD5C5C\]{--tw-text-opacity:1;color:rgb(205 92 92/var(--tw-text-opacity,1))}.text-\[\#D1D5DB\]{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-\[\#E6A23C\]{--tw-text-opacity:1;color:rgb(230 162 60/var(--tw-text-opacity,1))}.text-\[\#FFD700\]{--tw-text-opacity:1;color:rgb(255 215 0/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-black\/80{color:rgba(0,0,0,.8)}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-ink\/70{color:rgba(34,27,41,.7)}.text-muted{--tw-text-opacity:1;color:rgb(111 103 129/var(--tw-text-opacity,1))}.text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-purple{--tw-text-opacity:1;color:rgb(113 1 147/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[10px_10px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[10px_10px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-shadow:10px 10px 0px 0px #000;--tw-shadow-colored:10px 10px 0px 0px var(--tw-shadow-color)}.shadow-\[12px_12px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-shadow:12px 12px 0px 0px #000;--tw-shadow-colored:12px 12px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[2px_2px_0px_0px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:2px 2px 0px 0px rgba(0,0,0,.1);--tw-shadow-colored:2px 2px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[2px_2px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-shadow:2px 2px 0px 0px #000;--tw-shadow-colored:2px 2px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[2px_2px_0px_0px_rgba\(220\2c 38\2c 38\2c 0\.15\)\]{--tw-shadow:2px 2px 0px 0px rgba(220,38,38,.15);--tw-shadow-colored:2px 2px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[3px_3px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-shadow:3px 3px 0px 0px #000;--tw-shadow-colored:3px 3px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[4px_4px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-shadow:4px 4px 0px 0px #000;--tw-shadow-colored:4px 4px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[6px_6px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-shadow:6px 6px 0px 0px #000;--tw-shadow-colored:6px 6px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[8px_8px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-shadow:8px 8px 0px 0px #000;--tw-shadow-colored:8px 8px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inner_2px_2px_0px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{--tw-shadow:inner 2px 2px 0px rgba(0,0,0,.15);--tw-shadow-colored:2px 2px 0px var(--tw-shadow-color)}.shadow-\[inner_2px_2px_0px_rgba\(0\2c 0\2c 0\2c 0\.15\)\],.shadow-glow{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-glow{--tw-shadow:0 0 0 1px rgba(113,1,147,.18),0 8px 28px rgba(113,1,147,.1);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 8px 28px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow-\[0_3px_5px_rgba\(0\2c 0\2c 0\2c 0\.8\)\]{--tw-drop-shadow:drop-shadow(0 3px 5px rgba(0,0,0,.8))}.drop-shadow-\[0_3px_5px_rgba\(0\2c 0\2c 0\2c 0\.8\)\],.drop-shadow-\[2px_2px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[2px_2px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-drop-shadow:drop-shadow(2px 2px 0px #000)}.drop-shadow-\[3px_3px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-drop-shadow:drop-shadow(3px 3px 0px #000)}.drop-shadow-\[3px_3px_0px_rgba\(0\2c 0\2c 0\2c 1\)\],.drop-shadow-\[4px_4px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[4px_4px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-drop-shadow:drop-shadow(4px 4px 0px #000)}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}.drop-shadow-lg,.drop-shadow-md{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.drop-shadow-sm,.drop-shadow-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}:root{--page:#faf9fc;--ink:#221b29;--purple:#710193}body,html{background:var(--page);color:var(--ink);font-family:IBM Plex Sans,IBM Plex Sans Thai,system-ui,sans-serif;-webkit-font-smoothing:antialiased}*{scrollbar-width:thin;scrollbar-color:#d9cfe6 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d9cfe6;border-radius:4px}.panel-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--purple)}.skeleton{position:relative;overflow:hidden;background:#f1ecf6}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(113,1,147,.08),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translateX(100%)}}:root{--opd-purple:#2f86d6;--opd-purple-d:#1f5fa8;--opd-purple-l:#5fb0ee;--opd-ink:#163a5c;--opd-line:#d3e7f6;--opd-sky:#eef7fe;--opd-amber:#ffb43d;--opd-amber-d:#f59014;--opd-mint:#25c878;--opd-coral:#ff6f91;--opd-shadow:31,95,168}.opd{font-family:Fredoka,IBM Plex Sans Thai,sans-serif;font-weight:500;letter-spacing:.2px;color:var(--opd-ink)}.opd,.opd *{font-family:Fredoka,IBM Plex Sans Thai,sans-serif!important}.opd-app,.teeth-bg{background-color:var(--opd-sky);background-image:var(--opd-bg,none),url(/tooth-tile.svg),radial-gradient(820px 520px at 10% -10%,rgba(95,176,238,.32),transparent 60%),radial-gradient(760px 520px at 96% 4%,rgba(255,180,61,.16),transparent 62%),radial-gradient(720px 560px at 82% 108%,rgba(37,200,120,.14),transparent 60%),radial-gradient(120% 95% at 50% 0,#e2f2fd 0,var(--opd-sky) 62%);background-repeat:no-repeat,repeat,no-repeat,no-repeat,no-repeat,no-repeat;background-size:cover,132px 132px,auto,auto,auto,auto;background-position:50%,0 0,0 0,0 0,0 0,0 0}.opd-app,.teeth-bg{background-attachment:fixed}.teeth-bg{position:fixed;inset:0;z-index:-1}.hotspot{position:absolute;transform:translate(-50%,-50%);background:none;border:none;cursor:pointer;flex-direction:column;gap:7px;z-index:6}.hotspot,.hs-ring{display:flex;align-items:center}.hs-ring{width:66px;height:66px;border-radius:50%;background:#fff;border:3px solid var(--opd-purple);color:var(--opd-purple);justify-content:center;box-shadow:0 8px 20px rgba(31,95,168,.35);animation:hs-pulse 1.8s ease-out infinite;transition:transform .15s ease}.hotspot:hover .hs-ring{transform:scale(1.08)}.hs-ring svg{width:32px;height:32px}.hs-label{background:#fff;border:1px solid var(--opd-line);color:var(--opd-ink);font-size:13px;letter-spacing:.5px;padding:4px 12px;border-radius:20px;box-shadow:0 4px 10px rgba(31,95,168,.15)}.hs-ring.locked{border-color:#b9c6d3;color:#b9c6d3;animation:none;box-shadow:0 6px 14px rgba(80,100,120,.2)}.hotspot.locked{cursor:not-allowed}.hs-ring.done{border-color:#16a37b;color:#16a37b;animation:none}@keyframes hs-pulse{0%{box-shadow:0 8px 20px rgba(31,95,168,.35),0 0 0 0 rgba(47,134,214,.5)}70%{box-shadow:0 8px 20px rgba(31,95,168,.35),0 0 0 16px rgba(47,134,214,0)}to{box-shadow:0 8px 20px rgba(31,95,168,.35),0 0 0 0 rgba(47,134,214,0)}}.hs-bubble{position:absolute;bottom:calc(100% + 12px);left:50%;white-space:nowrap;background:#fff;border:2px solid var(--opd-purple);color:var(--opd-purple-d);font-size:13px;letter-spacing:.3px;padding:6px 14px;border-radius:16px;box-shadow:0 6px 16px rgba(31,95,168,.28);pointer-events:none;animation:bubble-bob 1.4s ease-in-out infinite}.hs-bubble:after,.hs-bubble:before{content:"";position:absolute;left:50%;transform:translateX(-50%);width:0;height:0;border-style:solid}.hs-bubble:before{top:100%;border-width:9px 8px 0;border-color:var(--opd-purple) transparent transparent transparent}.hs-bubble:after{top:calc(100% - 2.5px);border-width:7px 6px 0;border-color:#fff transparent transparent}@keyframes bubble-bob{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}.hud-back-mid{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:30;width:50px;height:78px;border:3px solid var(--opd-line);border-left:none;border-radius:0 18px 18px 0;background:#fff;color:var(--opd-purple);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:6px 0 16px rgba(31,95,168,.18);transition:transform .15s ease,background .15s ease}.hud-back-mid:hover{transform:translateY(-50%) translateX(2px);background:#f0f8ff}.hud-back-mid svg{width:26px;height:26px}.room-bg{position:absolute;inset:0;z-index:0;background-color:#e7f3fb;background-size:cover;background-position:50%;background-repeat:no-repeat}.shutter{position:fixed;inset:0;z-index:1200;pointer-events:none}.shutter .pane{position:absolute;left:0;right:0;height:51%;background:linear-gradient(180deg,#5fb0ee,#2f86d6)}.shutter .pane.top{top:0;animation:shutter-top 1.3s ease-in-out both}.shutter .pane.bottom{bottom:0;animation:shutter-bottom 1.3s ease-in-out both}@keyframes shutter-top{0%{transform:translateY(-100%)}42%{transform:translateY(0)}58%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes shutter-bottom{0%{transform:translateY(100%)}42%{transform:translateY(0)}58%{transform:translateY(0)}to{transform:translateY(100%)}}.shutter.reveal .pane.top{animation:shutter-rev-top .9s cubic-bezier(.7,0,.25,1) both}.shutter.reveal .pane.bottom{animation:shutter-rev-bottom .9s cubic-bezier(.7,0,.25,1) both}@keyframes shutter-rev-top{0%,34%{transform:translateY(0)}to{transform:translateY(-101%)}}@keyframes shutter-rev-bottom{0%,34%{transform:translateY(0)}to{transform:translateY(101%)}}.scope{position:relative;border-radius:50%;overflow:hidden;cursor:grab;touch-action:none;background:#0b1c33;border:10px solid #e8eef5;box-shadow:0 0 0 4px #b9c6d3,0 0 0 12px #f1f5f9,0 22px 50px rgba(15,55,110,.5),inset 0 0 40px rgba(0,0,0,.55)}.scope.dark{border-color:#0d0d0d;background:#000;box-shadow:0 0 0 4px #000,0 0 0 12px #1c1c1c,0 22px 50px rgba(0,0,0,.6),inset 0 0 40px rgba(0,0,0,.75)}.scope.gray{border-color:#3a3f45;background:#2b2f34;box-shadow:0 0 0 4px #2b2f34,0 0 0 10px #4a5158,0 18px 44px rgba(0,0,0,.4)}.scope .scope-canvas{position:absolute;background-size:cover;background-position:50%}.scope .scope-vig{inset:0;box-shadow:inset 0 0 70px rgba(0,0,0,.7)}.scope .scope-glint,.scope .scope-vig{position:absolute;pointer-events:none;border-radius:50%}.scope .scope-glint{top:12%;left:18%;width:34%;height:22%;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.22),transparent 70%)}.lab-split{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:30px;padding:36px 28px;flex-wrap:wrap;background:rgba(8,26,50,.42);backdrop-filter:blur(2px)}.lab-split .specimen{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:12px}.lab-split .specimen-cap{display:inline-flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.95);color:var(--opd-purple-d);font-size:13px;letter-spacing:1px;padding:6px 16px;border-radius:20px;box-shadow:0 5px 14px rgba(0,0,0,.25)}.lab-split .quizcol{width:min(92vw,440px);flex:0 1 440px}.xray-film{width:min(70vw,320px);aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#0c1c34;border:6px solid #fff;box-shadow:0 18px 44px rgba(15,55,110,.5),inset 0 0 30px rgba(95,176,238,.25)}.xray-film img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}@keyframes clock-wiggle{0%,to{transform:rotate(-22deg)}50%{transform:rotate(38deg)}}.tut-glow{position:relative;animation:tut-pulse 1.15s ease-out infinite;z-index:1}@keyframes tut-pulse{0%{box-shadow:0 0 0 0 rgba(47,134,214,.6),0 0 16px 2px rgba(47,134,214,.5)}70%{box-shadow:0 0 0 14px rgba(47,134,214,0),0 0 16px 2px rgba(47,134,214,.5)}to{box-shadow:0 0 0 0 rgba(47,134,214,0),0 0 16px 2px rgba(47,134,214,.5)}}@keyframes report-in{0%{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:none}}@keyframes star-pop{0%{transform:scale(0) rotate(-35deg);opacity:0}55%{transform:scale(1.3) rotate(10deg);opacity:1}78%{transform:scale(.9) rotate(-4deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes quiz-in{0%{opacity:0;transform:translateX(28px) scale(.97)}to{opacity:1;transform:none}}@keyframes quiz-choice-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes xray-scan{0%{top:0}50%{top:calc(100% - 6px)}to{top:0}}@keyframes xray-glow{0%,to{box-shadow:inset 0 0 22px rgba(43,214,123,.25)}50%{box-shadow:inset 0 0 38px rgba(43,214,123,.6)}}.opd-logo{text-align:center}.opd-logo .l1{font-size:58px;line-height:.95;color:#f59a14;letter-spacing:1px;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 5px 0 #b96d0f,0 11px 20px rgba(160,90,0,.3)}.opd-logo .l2{font-size:70px;line-height:.95;color:var(--opd-purple);letter-spacing:3px;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 5px 0 var(--opd-purple-d),0 11px 22px rgba(31,95,168,.35)}.opd-logo .sub{display:inline-block;margin-top:16px;color:#6b4a00;background:#ffce3a;letter-spacing:5px;font-size:15px;padding:6px 18px;border-radius:8px;box-shadow:0 4px 12px rgba(245,144,20,.4)}.opd-logo .dec{position:relative;display:inline-block}.opd-logo .dec .hat{position:absolute;width:.84em;height:auto;left:-.07em;top:-.37em;transform:rotate(-15deg);filter:drop-shadow(0 3px 4px rgba(0,0,0,.28));pointer-events:none}.opd-logo .word{position:relative;display:inline-block}.opd-logo .word .mag{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;transform:scale(1.55);animation:mag-roam 5.5s ease-in-out infinite}@keyframes mag-roam{0%,to{transform-origin:.464em 39.9%;clip-path:circle(.18em at .464em 39.9%)}50%{transform-origin:5.064em 39.9%;clip-path:circle(.18em at 5.064em 39.9%)}}.opd-logo .roam-lens{position:absolute;top:50%;left:0;width:.92em;height:.92em;z-index:2;filter:drop-shadow(0 3px 6px rgba(0,0,0,.32));pointer-events:none;animation:lens-roam 5.5s ease-in-out infinite}@keyframes lens-roam{0%{transform:translate(.1em,-50%)}50%{transform:translate(4.7em,-50%)}to{transform:translate(.1em,-50%)}}.opd-btn{cursor:pointer;border:none;width:100%;border-radius:15px;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;display:flex;align-items:center;justify-content:center;gap:11px;letter-spacing:.5px;font-family:inherit;text-decoration:none}.opd-btn .ic{width:20px;height:20px}.btn-play{background:linear-gradient(180deg,var(--opd-purple-l),var(--opd-purple));color:#fff;font-size:26px;padding:18px 20px;border:3px solid #fff;border-radius:17px;box-shadow:0 6px 0 var(--opd-purple-d),0 14px 26px rgba(var(--opd-shadow),.42),inset 0 2px 0 hsla(0,0%,100%,.45)}.btn-play:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 8px 0 var(--opd-purple-d),0 20px 32px rgba(var(--opd-shadow),.5),inset 0 2px 0 hsla(0,0%,100%,.45)}.btn-play:active{transform:translateY(4px);box-shadow:0 2px 0 var(--opd-purple-d),0 7px 14px rgba(var(--opd-shadow),.4),inset 0 2px 0 hsla(0,0%,100%,.45)}.btn-play .ic{width:22px;height:22px}.btn-2{background:#fff;color:var(--opd-ink);font-size:19px;padding:14px 16px;border-radius:15px;border:2px solid var(--opd-line);box-shadow:0 4px 0 #dcebf8,0 9px 20px rgba(var(--opd-shadow),.12)}.btn-2 .ic,.btn-2:hover{color:var(--opd-purple)}.btn-2:hover{border-color:var(--opd-purple-l);transform:translateY(-2px);box-shadow:0 6px 0 #dcebf8,0 13px 24px rgba(var(--opd-shadow),.16)}.btn-2:active{transform:translateY(2px);box-shadow:0 2px 0 #dcebf8,0 5px 12px rgba(var(--opd-shadow),.12)}.btn-sm{flex:1;background:#fff;color:var(--opd-ink);font-size:15px;padding:14px 8px;border-radius:15px;border:2px solid var(--opd-line);box-shadow:0 4px 0 #dcebf8,0 8px 16px rgba(var(--opd-shadow),.1);flex-direction:column;gap:7px}.btn-sm .ic{width:22px;height:22px;color:var(--opd-purple)}.btn-sm:hover{border-color:var(--opd-purple-l);color:var(--opd-purple);transform:translateY(-2px)}.btn-sm:active{transform:translateY(2px);box-shadow:0 2px 0 #dcebf8,0 5px 12px rgba(var(--opd-shadow),.1)}.opd-card{background:#fff;border:2px solid var(--opd-line);border-radius:22px;box-shadow:0 14px 32px rgba(var(--opd-shadow),.16),inset 0 2px 0 hsla(0,0%,100%,.7)}.opd-rk{background:var(--opd-purple);color:#fff;font-size:11px;letter-spacing:1px;padding:3px 9px;border-radius:20px}.opd-corner{position:fixed;color:#b6a3c4;font-size:14px;z-index:5}.opd-spinner{width:130px;height:130px;position:relative;display:flex;align-items:center;justify-content:center}.opd-spinner .seg{position:absolute;top:50%;left:50%;width:9px;height:24px;margin-left:-4.5px;margin-top:-12px;border-radius:5px;transform-origin:50% 50%;animation:seg-pulse 1.1s linear infinite}@keyframes seg-pulse{0%,to{opacity:.18}28%{opacity:1}}.opd-hint{display:inline-flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.96);color:var(--opd-purple);padding:9px 18px;border-radius:22px;font-size:15px;box-shadow:0 5px 14px rgba(0,0,0,.22)}@keyframes opd-spin{to{transform:rotate(1turn)}}@keyframes opd-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.opd-input{width:100%;font-family:IBM Plex Sans Thai,sans-serif;font-size:15px;padding:12px 14px;border-radius:11px;border:2px solid var(--opd-line);background:#fff;color:var(--opd-ink);outline:none;transition:.15s}.opd-input:focus{border-color:var(--opd-purple-l);box-shadow:0 0 0 3px rgba(var(--opd-shadow),.16)}.stage-rec{display:inline-flex;align-items:stretch;border-radius:20px;overflow:hidden;border:2px solid var(--opd-line);background:#fff;box-shadow:0 4px 10px rgba(var(--opd-shadow),.16);font-size:13px;line-height:1}.stage-rec .rk{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;color:#fff;background:linear-gradient(180deg,var(--opd-purple-l),var(--opd-purple))}.stage-rec .rk.m1{background:linear-gradient(135deg,#f6c64b,#e08a00)}.stage-rec .rk.m2{background:linear-gradient(135deg,#c2ccd6,#8a96a4)}.stage-rec .rk.m3{background:linear-gradient(135deg,#d68f54,#a85f25)}.stage-rec .rk svg{width:13px;height:13px}.stage-rec .pts{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;color:var(--opd-amber-d)}.stage-rec .pts svg{width:13px;height:13px;color:var(--opd-amber)}.stage-cur{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border-radius:20px;color:#fff;font-size:13px;letter-spacing:.5px;background:linear-gradient(180deg,var(--opd-purple-l),var(--opd-purple));border:2px solid #fff;box-shadow:0 4px 12px rgba(var(--opd-shadow),.4);animation:tut-pulse 1.3s ease-out infinite}.stage-cur svg{width:12px;height:12px}.opd-stage{width:112px;height:112px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;color:var(--opd-purple);border:3px solid var(--opd-purple);background:#fff;box-shadow:0 8px 0 #cfe2f4,0 14px 28px rgba(var(--opd-shadow),.2);transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,border-color .22s ease}.opd-stage:hover{transform:translateY(-8px) scale(1.08);box-shadow:0 12px 0 #cfe2f4,0 22px 40px rgba(var(--opd-shadow),.34);border-color:var(--opd-purple-l)}.opd-stage:active{transform:translateY(-2px) scale(1.03)}.opd-stage.locked{background:#eef3f9;color:#a9bccd}.opd-stage.locked,.opd-stage.locked:hover{border-color:#d3e0ec;box-shadow:0 4px 12px rgba(var(--opd-shadow),.08)}.opd-stage.locked:hover{transform:none}.clinic-scene{position:relative;width:min(100vw,177.78vh);height:min(56.25vw,100vh);background-color:#eadcf4;background-size:cover;background-position:50%}.clinic-door{position:absolute;border:none;background:transparent;border-radius:16px;transition:.15s;cursor:pointer}.clinic-door.accessible:hover{background:rgba(156,47,191,.12);box-shadow:inset 0 0 0 3px rgba(156,47,191,.55)}.clinic-door.locked{cursor:not-allowed}.clinic-door.current{box-shadow:0 0 0 3px rgba(156,47,191,.5);animation:opd-pulse 1.7s ease-in-out infinite}.clinic-backdrop{position:fixed;inset:0;z-index:0;background:url(/bg/clinic.png) 50%/cover no-repeat;filter:blur(26px) brightness(.93) saturate(1.05);transform:scale(1.12)}.clinic-lockwrap{inset:0;border-radius:16px;background:rgba(58,42,68,.3)}.clinic-check,.clinic-lockwrap{position:absolute;color:#fff;display:flex;align-items:center;justify-content:center}.clinic-check{top:6px;left:50%;transform:translateX(-50%);width:32px;height:32px;border-radius:50%;background:var(--opd-purple);box-shadow:0 4px 10px rgba(113,1,147,.35)}.hud-btn{background:none;border:none;box-shadow:none;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--opd-purple);transition:.14s}.hud-btn:hover{transform:translateY(-2px) scale(1.06)}.hud-btn .ic{width:56px;height:56px;color:var(--opd-purple);filter:drop-shadow(0 3px 5px rgba(86,1,114,.35))}.hud-dock{display:flex;flex-direction:column;align-items:center;gap:12px;padding:13px 11px;border-radius:20px;background:hsla(0,0%,100%,.92);border:2px solid var(--opd-line);box-shadow:0 10px 26px rgba(31,95,168,.26),inset 0 2px 0 hsla(0,0%,100%,.7);backdrop-filter:blur(6px)}.hud-dock .hud-btn .ic{width:34px;height:34px;filter:none}.hud-dock .hud-divider{width:60%;height:2px;border-radius:2px;background:var(--opd-line)}@keyframes hint-nudge{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}.coin-pop{position:absolute;top:-8px;right:16px;font-size:19px;font-weight:700;color:var(--opd-amber-d);text-shadow:0 2px 4px hsla(0,0%,100%,.8);pointer-events:none;animation:coin-pop .9s ease-out forwards}@keyframes coin-pop{0%{opacity:0;transform:translateY(2px) scale(.8)}25%{opacity:1;transform:translateY(-6px) scale(1.15)}to{opacity:0;transform:translateY(-32px) scale(1)}}.zoom-lure{animation:zoom-lure 1.6s ease-in-out infinite}@keyframes zoom-lure{0%,to{transform:translateY(0) scale(1);box-shadow:0 5px 0 var(--opd-amber-d),0 8px 16px rgba(245,144,20,.35),0 0 0 0 rgba(245,144,20,.55)}50%{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 0 var(--opd-amber-d),0 14px 22px rgba(245,144,20,.45),0 0 0 12px rgba(245,144,20,0)}}@keyframes cw-win{0%{background:#fff;color:var(--opd-ink);transform:scale(1)}35%{background:#2bd67b;color:#fff;transform:scale(1.12);box-shadow:0 0 12px rgba(43,214,123,.7)}70%{background:#2bd67b;color:#fff;transform:scale(1)}to{background:#e9faf0;color:#15803d;transform:scale(1)}}@keyframes opd-fade{0%{opacity:0}to{opacity:1}}@keyframes pop-in-lg{0%{opacity:0;transform:scale(.82) translateY(22px)}60%{opacity:1;transform:scale(1.03) translateY(0)}to{transform:scale(1)}}@keyframes match-pop{0%{transform:translate(-50%,-50%) scale(.55)}60%{transform:translate(-50%,-50%) scale(1.14)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes match-shake{0%,to{transform:translate(-50%,-50%)}15%{transform:translate(calc(-50% - 7px),-50%)}30%{transform:translate(calc(-50% + 7px),-50%)}45%{transform:translate(calc(-50% - 5px),-50%)}60%{transform:translate(calc(-50% + 5px),-50%)}75%{transform:translate(calc(-50% - 3px),-50%)}}@keyframes match-chip-in{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.match-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:12px;cursor:grab;background:linear-gradient(180deg,#fff,#eef6fb);border:2px solid var(--opd-line);color:var(--opd-ink);font-size:15px;line-height:1.15;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;box-shadow:0 4px 10px rgba(31,95,168,.12);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.match-chip:hover{border-color:var(--opd-purple-l);transform:translateY(-1px);box-shadow:0 7px 16px rgba(31,95,168,.2)}.match-chip:active{cursor:grabbing}.match-chip.dragging{opacity:.35}.match-ghost{position:fixed;z-index:120;pointer-events:none;transform:translate(-50%,-50%) rotate(-2deg);box-shadow:0 14px 30px rgba(31,95,168,.35);border-color:var(--opd-purple);background:#fff}@keyframes guide-pulse{0%,to{box-shadow:0 0 0 3px rgba(245,144,20,.3),0 6px 16px rgba(0,0,0,.4);transform:translate(-50%,-50%) scale(1)}50%{box-shadow:0 0 0 10px rgba(245,144,20,0),0 6px 16px rgba(0,0,0,.4);transform:translate(-50%,-50%) scale(1.07)}}@keyframes guide-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes guide-hand{0%{transform:translate(var(--fx),var(--fy)) scale(.9);opacity:0}12%{transform:translate(var(--fx),var(--fy)) scale(1);opacity:1}70%{transform:translate(var(--tx),var(--ty)) scale(.82);opacity:1}88%{transform:translate(var(--tx),var(--ty)) scale(.82);opacity:0}to{opacity:0}}.hud-score{display:inline-flex;align-items:center;gap:12px;height:60px;padding:0 22px 0 12px;border-radius:18px;background:#fff;border:2px solid var(--opd-line);box-shadow:0 6px 0 #dcebf8,0 10px 22px rgba(var(--opd-shadow),.16)}.hud-score .coin{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#ffe49a,var(--opd-amber) 68%,var(--opd-amber-d));display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 4px hsla(0,0%,100%,.6),0 4px 10px rgba(245,144,20,.45)}.hud-score .coin svg{width:22px;height:26px}.hud-score .meta{display:flex;flex-direction:column;line-height:1}.hud-score .num{font-size:27px;color:var(--opd-amber-d)}.hud-score .lbl{font-size:10px;letter-spacing:1.6px;color:#9fb3c7;margin-top:3px}.loader-bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:radial-gradient(1200px 820px at 50% 30%,#f4e8fd 0,#e7d2f6 48%,#d6b9ef 100%)}.loader-tooth{position:absolute;opacity:.16;animation:loader-float 6s ease-in-out infinite}@keyframes loader-float{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}.loadbar-track{position:relative;height:18px;border-radius:20px;background:#d3e7f6;box-shadow:inset 0 2px 4px rgba(var(--opd-shadow),.22)}.loadbar-fill{border-radius:20px;overflow:hidden;background:linear-gradient(90deg,var(--opd-purple-l),var(--opd-purple));box-shadow:0 0 12px rgba(var(--opd-shadow),.55);transition:width .12s linear}.loadbar-fill,.loadbar-shine{position:absolute;left:0;top:0;height:100%}.loadbar-shine{width:60%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);animation:loadbar-shine 1.3s ease-in-out infinite}@keyframes loadbar-shine{0%{transform:translateX(-120%)}to{transform:translateX(260%)}}.loadbar-tip{position:absolute;top:50%;animation:tip-bob 1.1s ease-in-out infinite;pointer-events:none}@keyframes tip-bob{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 5px))}}.loadbar-pct{position:absolute;top:-42px;transform:translateX(-50%);background:#fff;border:2px solid var(--opd-line);color:var(--opd-purple);padding:3px 12px;border-radius:20px;font-size:15px;box-shadow:0 4px 12px rgba(var(--opd-shadow),.2);white-space:nowrap}.loader-dots:after{content:"";animation:loader-dots 1.4s steps(1) infinite}@keyframes loader-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@keyframes patient-in{0%{opacity:0;transform:translate(-50%,32px)}to{opacity:1;transform:translate(-50%)}}.patient-enter{animation:patient-in .7s ease-out .15s both}.tw-caret{display:inline-block;width:2px;margin-left:2px;background:var(--opd-purple);animation:tw-blink .8s steps(1) infinite}@keyframes tw-blink{50%{opacity:0}}.qpanel{position:fixed;right:3vw;top:50%;width:300px;display:flex;flex-direction:column;gap:10px;z-index:45;animation:qpanel-in .4s ease-out both}.tap-hint{font-family:IBM Plex Sans Thai,sans-serif;font-size:14px;color:#b09bc4}@keyframes qpanel-in{0%{opacity:0;transform:translate(20px,-50%)}to{opacity:1;transform:translateY(-50%)}}.qbar{display:flex;align-items:center;gap:11px;width:100%;text-align:left;font-family:IBM Plex Sans Thai,sans-serif;font-size:15px;padding:11px 15px;border-radius:14px;border:2px solid var(--opd-line);background:#fff;color:var(--opd-ink);cursor:pointer;box-shadow:0 4px 12px rgba(113,1,147,.1);transition:.16s}.qbar:hover{border-color:var(--opd-purple-l);transform:translateX(-4px);box-shadow:0 8px 18px rgba(113,1,147,.16)}.qbar .qdot{width:27px;height:27px;border-radius:50%;flex:none;background:#f1e3fa;color:var(--opd-purple);display:flex;align-items:center;justify-content:center}.qbar .qtext{flex:1}.qbar.used{background:#f5effa;border-color:#e6dbef;color:#b49ec6}.qbar.used .qdot{background:var(--opd-purple);color:#fff}.qbar.begin{justify-content:center;background:linear-gradient(180deg,var(--opd-purple-l),var(--opd-purple));color:#fff;border:none;font-size:16px;padding:13px;box-shadow:0 8px 20px rgba(113,1,147,.3)}.qbar.begin:hover{transform:translateY(-2px)}@keyframes paper-fly{0%{transform:translate(0) scale(1) rotate(0deg);opacity:1}20%{transform:translateY(-12px) scale(1.04) rotate(-2deg);opacity:1}to{transform:translate(-42vw,-42vh) scale(.12) rotate(-14deg);opacity:0}}.paper-fly{animation:paper-fly .75s cubic-bezier(.5,0,.75,0) forwards}.flash-in{position:fixed;inset:0;z-index:9999;background:#fff;pointer-events:none;animation:flashIn .4s ease forwards}@keyframes flashIn{0%{opacity:0}to{opacity:1}}.flash-out{position:fixed;inset:0;z-index:9999;background:#fff;pointer-events:none;animation:flashOut .55s ease forwards}@keyframes flashOut{0%{opacity:1}to{opacity:0;visibility:hidden}}.hud-dot{position:absolute;top:-4px;right:-4px;width:15px;height:15px;border-radius:50%;background:#e0356b;border:2px solid #fff}.clinic-plate{position:absolute;transform:translate(-50%,-50%);width:4.4vw;height:4.4vw;min-width:46px;min-height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid var(--opd-purple);background:#fff;color:var(--opd-purple);pointer-events:none}.clinic-plate.current{background:linear-gradient(180deg,var(--opd-purple-l),var(--opd-purple));color:#fff;animation:opd-pulse 1.7s ease-in-out infinite}.clinic-plate.locked{border-color:#c9b6d8;color:#c9b6d8;background:#f1eaf7}.clinic-name{position:absolute;transform:translateX(-50%);background:#fff;border:2px solid var(--opd-line);border-radius:10px;padding:5px 12px;font-size:14px;color:var(--opd-ink);white-space:nowrap;box-shadow:0 4px 12px rgba(113,1,147,.12);pointer-events:none}.clinic-name.locked{color:#b9a6c7}.opd-stage.current{background:linear-gradient(180deg,var(--opd-purple-l),var(--opd-purple));color:#fff;border-color:#fff;animation:opd-pulse 1.7s ease-in-out infinite}@keyframes opd-pulse{0%,to{box-shadow:0 0 0 4px rgba(var(--opd-shadow),.22),0 10px 26px rgba(var(--opd-shadow),.35)}50%{box-shadow:0 0 0 10px rgba(var(--opd-shadow),.08),0 12px 30px rgba(var(--opd-shadow),.5)}}.placeholder\:text-neutral-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.placeholder\:text-neutral-400::placeholder{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.placeholder\:text-neutral-400\/80::-moz-placeholder{color:hsla(0,0%,64%,.8)}.placeholder\:text-neutral-400\/80::placeholder{color:hsla(0,0%,64%,.8)}.hover\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.hover\:-translate-x-1:hover,.hover\:-translate-y-0\.5:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:translate-x-2:hover{--tw-translate-x:0.5rem}.hover\:rotate-12:hover,.hover\:translate-x-2:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:rotate-12:hover{--tw-rotate:12deg}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:bg-\[\#22C55E\]:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-\[\#7C3AED\]:hover{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.hover\:bg-\[\#FF65D7\]:hover{--tw-bg-opacity:1;background-color:rgb(255 101 215/var(--tw-bg-opacity,1))}.hover\:bg-\[\#FFB200\]:hover{--tw-bg-opacity:1;background-color:rgb(255 178 0/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-neutral-900:hover{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.hover\:bg-purple-deep:hover{--tw-bg-opacity:1;background-color:rgb(88 1 115/var(--tw-bg-opacity,1))}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/60:hover{background-color:hsla(0,0%,100%,.6)}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:shadow-\[6px_6px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]:hover{--tw-shadow:6px 6px 0px 0px #000;--tw-shadow-colored:6px 6px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:drop-shadow-\[6px_6px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]:hover{--tw-drop-shadow:drop-shadow(6px 6px 0px #000);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:bg-amber-50\/20:focus{background-color:rgba(255,251,235,.2)}.focus\:bg-emerald-50\/30:focus{background-color:rgba(236,253,245,.3)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:translate-y-0\.5:active{--tw-translate-y:0.125rem}.active\:translate-y-0\.5:active,.active\:translate-y-1:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:translate-y-1:active{--tw-translate-y:0.25rem}.active\:translate-y-2:active{--tw-translate-y:0.5rem}.active\:translate-y-2:active,.active\:translate-y-\[4px\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:translate-y-\[4px\]:active{--tw-translate-y:4px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:shadow-\[0px_0px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]:active{--tw-shadow:0px 0px 0px 0px #000;--tw-shadow-colored:0px 0px 0px 0px var(--tw-shadow-color)}.active\:shadow-\[0px_0px_0px_0px_rgba\(0\2c 0\2c 0\2c 1\)\]:active,.active\:shadow-none:active{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.active\:shadow-none:active{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.active\:drop-shadow-none:active{--tw-drop-shadow:drop-shadow(0 0 #0000);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-neutral-100:disabled{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.disabled\:bg-neutral-400:disabled{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.disabled\:bg-slate-300:disabled{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.disabled\:text-neutral-100:disabled{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.disabled\:hover\:scale-100:hover:disabled{--tw-scale-x:1;--tw-scale-y:1}.disabled\:hover\:scale-100:hover:disabled,.group:hover .group-hover\:-translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-1{--tw-translate-x:-0.25rem}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:rotate-\[-6deg\],.group:hover .group-hover\:translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-\[-6deg\]{--tw-rotate:-6deg}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:mt-6{margin-top:1.5rem}.sm\:max-w-\[180px\]{max-width:180px}.sm\:flex-1{flex:1 1 0%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:border-t-0{border-top-width:0}.sm\:p-10{padding:2.5rem}.sm\:p-8{padding:2rem}.sm\:pt-0{padding-top:0}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:leading-none{line-height:1}}@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-8{gap:2rem}.md\:p-8{padding:2rem}.md\:pl-8{padding-left:2rem}.md\:pr-4{padding-right:1rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}