:root{--tg-blue-900: #0B2A6E;--tg-blue-700: #1A4FBE;--tg-blue-500: #2A6FDB;--tg-blue-400: #5C8FE6;--tg-blue-300: #9FBDEE;--tg-blue-100: #E8F0FC;--tg-blue-50: #F4F8FE;--tg-yellow-500: #F5C545;--tg-yellow-400: #FAD566;--tg-yellow-300: #FCDF85;--tg-yellow-100: #FFF4D1;--tg-cream: #FBFAF6;--tg-paper: #FFFFFF;--tg-ink-900: #0E1B33;--tg-ink-700: #2A3754;--tg-ink-500: #6B7791;--tg-ink-300: #B6BECF;--tg-line: #E5E9F2;--tg-line-soft:#EFF2F8;--tg-ok: #1F8A5B;--tg-warn: #E68A1E;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-2xl: 36px;--r-pill: 9999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--sh-1: 0 1px 2px rgba(14,27,51,.05), 0 0 0 1px rgba(14,27,51,.04);--sh-2: 0 4px 16px -6px rgba(14,27,51,.1), 0 0 0 1px rgba(14,27,51,.04);--sh-3: 0 12px 32px -10px rgba(14,27,51,.16), 0 0 0 1px rgba(14,27,51,.04);--sh-blue: 0 8px 24px -8px rgba(42,111,219,.45);--font-body: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Be Vietnam Pro", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--tg-ink-900);background:var(--tg-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.tg-wave-bg{background:radial-gradient(60% 80% at 100% 0%,rgba(42,111,219,.08),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(245,197,69,.1),transparent 60%)}:root{--motion-fast: .16s;--motion-base: .24s;--motion-slow: .38s;--ease-out: cubic-bezier(.22,.61,.36,1);--ease-snap: cubic-bezier(.34,1.56,.64,1);--ease-in-out: cubic-bezier(.4,0,.2,1)}@keyframes tg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tg-fade-out{0%{opacity:1}to{opacity:0}}@keyframes tg-pop-in{0%{opacity:0;transform:scale(.92) translateY(8px)}60%{opacity:1}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes tg-pop-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94) translateY(6px)}}@keyframes tg-slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes tg-slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes tg-bounce-in{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes tg-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes tg-pulse-ring{0%{box-shadow:0 0 #2a6fdb73}70%{box-shadow:0 0 0 14px #2a6fdb00}to{box-shadow:0 0 #2a6fdb00}}@keyframes tg-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes tg-spin{to{transform:rotate(360deg)}}@keyframes tg-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tg-anim-fade-in{animation:tg-fade-in var(--motion-base) var(--ease-out) both}.tg-anim-pop-in{animation:tg-pop-in var(--motion-base) var(--ease-snap) both}.tg-anim-slide-up{animation:tg-slide-up var(--motion-base) var(--ease-out) both}.tg-anim-bounce-in{animation:tg-bounce-in .42s var(--ease-snap) both}.tg-anim-pulse-ring{animation:tg-pulse-ring 1.6s var(--ease-out) infinite}.tg-anim-bob{animation:tg-bob 4s var(--ease-in-out) infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
