/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:"IBM Plex Sans Thai", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:"IBM Plex Sans Thai", system-ui, -apple-system, sans-serif;--default-mono-font-family:var(--font-mono);--font-display:"Space Grotesk", "IBM Plex Sans Thai", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;:root{--bg:#eef2f8;--bg-grid:#0f1b2d09;--surface:#fff;--surface-2:#f6f9fc;--surface-3:#eef3f9;--overlay:#090e1a73;--line:#e5ebf3;--line-strong:#d3dce8;--fg:#0f172a;--fg-muted:#566579;--fg-subtle:#8493a6;--fg-invert:#fff;--brand:#4f46e5;--brand-hover:#4338ca;--brand-soft:#eef0ff;--brand-fg:#fff;--accent:#0891b2;--ring:#6366f1;--success:#16a34a;--success-soft:#dcfce7;--success-fg:#166534;--warning:#d97706;--warning-soft:#fef3c7;--warning-fg:#92400e;--danger:#dc2626;--danger-soft:#fee2e2;--danger-fg:#991b1b;--info:#7c3aed;--info-soft:#ede9fe;--info-fg:#5b21b6;--neutral:#64748b;--neutral-soft:#f1f5f9;--neutral-fg:#475569;--st-run:#22c55e;--st-idle:#f59e0b;--st-stop:#ef4444;--st-maint:#a855f7;--st-offline:#94a3b8;--shadow-sm:0 1px 2px #0f1b2d0f, 0 1px 3px #0f1b2d0a;--shadow-md:0 4px 12px -2px #0f1b2d1a, 0 2px 6px -2px #0f1b2d0f;--shadow-lg:0 16px 40px -20px #0f1b2d4d;--shadow-glow:0 8px 28px -8px #4f46e573;--grad-brand:linear-gradient(100deg, #6366f1, #22d3ee 120%);--grad-brand-strong:linear-gradient(115deg, #4f46e5, #0891b2 90%);--grad-hero:radial-gradient(120% 140% at 88% 0%, #6366f159, transparent 46%), linear-gradient(120deg, #0a1024, #111c37 52%, #0b3b52);--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:28px;color-scheme:light}.dark{--bg:#070b14;--bg-grid:#ffffff09;--surface:#0e1626;--surface-2:#141e31;--surface-3:#1a2740;--overlay:#02060e9e;--line:#ffffff17;--line-strong:#ffffff29;--fg:#e9eff7;--fg-muted:#9fb0c6;--fg-subtle:#64748b;--fg-invert:#0b1220;--brand:#6366f1;--brand-hover:#818cf8;--brand-soft:#6366f124;--brand-fg:#fff;--accent:#22d3ee;--ring:#818cf8;--success:#22c55e;--success-soft:#22c55e26;--success-fg:#86efac;--warning:#f59e0b;--warning-soft:#f59e0b26;--warning-fg:#fcd34d;--danger:#ef4444;--danger-soft:#ef444426;--danger-fg:#fca5a5;--info:#a855f7;--info-soft:#a855f729;--info-fg:#d8b4fe;--neutral:#94a3b8;--neutral-soft:#94a3b824;--neutral-fg:#cbd5e1;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px -6px #0000008c;--shadow-lg:0 24px 60px -24px #000000b3;--shadow-glow:0 10px 34px -10px #6366f199;--grad-hero:radial-gradient(120% 140% at 88% 0%, #6366f16b, transparent 46%), linear-gradient(120deg, #070b14, #0e1830 55%, #0a2e42);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.font-display{font-family:var(--font-display);font-feature-settings:"ss01"}.nums{font-variant-numeric:tabular-nums}.tfip-mark{background:var(--grad-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.aurora-hero{background:var(--grad-hero)}.grid-texture{background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:40px 40px}.card-hover{transition:box-shadow .25s,transform .2s,border-color .2s}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--r-sm)}.press:active{transform:scale(.97)}select,select option,select optgroup{background-color:var(--surface);color:var(--fg)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--fg-subtle);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}.scrollbar-dark{scrollbar-color:#ffffff2e transparent}.scrollbar-dark::-webkit-scrollbar-thumb{background:#ffffff24 padding-box content-box}.scrollbar-dark::-webkit-scrollbar-thumb:hover{background:#ffffff47 padding-box content-box}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.animate-fade-in{animation:.3s cubic-bezier(.2,.7,.2,1) both fade-in}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.animate-modal-backdrop{animation:.18s ease-out both modal-backdrop-in}.animate-modal-panel{animation:.22s cubic-bezier(.2,.7,.2,1) both modal-panel-in}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
