.ts-root{--blue-50:#edf2fb;--blue-100:#d7e2f6;--blue-200:#b0c6ed;--blue-300:#82a4e1;--blue-400:#5183d6;--blue-500:#2e69ce;--blue-600:#2554ab;--blue-700:#1f458b;--blue-800:#1b3a70;--blue-900:#162c52;--white:#fff;--gray-50:#f7f8fa;--gray-100:#eff1f5;--gray-200:#dce0e7;--gray-300:#b7becb;--gray-400:#8a92a3;--gray-500:#5b6373;--gray-600:#3a4150;--gray-700:#262b36;--gray-800:#181b22;--gray-900:#0f1217;--black:#0a0c10;--green-500:#14a06b;--green-50:#e6f6ef;--amber-500:#e0a106;--amber-50:#fbf2dc;--red-500:#e23d4b;--red-50:#fce9ea;--bg-base:var(--white);--bg-subtle:var(--gray-50);--bg-muted:var(--gray-100);--surface-card:var(--white);--surface-raised:var(--white);--surface-inset:var(--gray-50);--surface-overlay:rgba(10,12,16,.45);--border-subtle:var(--gray-200);--border-default:var(--gray-300);--border-strong:var(--gray-400);--text-strong:var(--black);--text-body:var(--gray-700);--text-secondary:var(--gray-500);--text-muted:var(--gray-400);--text-inverse:var(--white);--text-on-accent:var(--white);--accent:var(--blue-500);--accent-hover:var(--blue-600);--accent-active:var(--blue-700);--accent-soft:var(--blue-50);--accent-soft-fg:var(--blue-700);--accent-ring:rgba(46,105,206,.35);--success:var(--green-500);--success-soft:var(--green-50);--warning:var(--amber-500);--warning-soft:var(--amber-50);--danger:var(--red-500);--danger-soft:var(--red-50);--focus-ring:0 0 0 3px var(--accent-ring)}[data-theme=dark]{--bg-base:var(--black);--bg-subtle:var(--gray-900);--bg-muted:var(--gray-800);--surface-card:var(--gray-900);--surface-raised:var(--gray-800);--surface-inset:#0d1014;--surface-overlay:rgba(0,0,0,.6);--border-subtle:var(--gray-800);--border-default:var(--gray-700);--border-strong:var(--gray-600);--text-strong:#f4f6fa;--text-body:#c5cbd6;--text-secondary:#8a92a3;--text-muted:#5b6373;--text-inverse:var(--black);--text-on-accent:var(--white);--accent:var(--blue-400);--accent-hover:var(--blue-300);--accent-active:var(--blue-200);--accent-soft:rgba(46,105,206,.16);--accent-soft-fg:var(--blue-300);--accent-ring:rgba(81,131,214,.4);--success-soft:rgba(20,160,107,.16);--warning-soft:rgba(224,161,6,.16);--danger-soft:rgba(226,61,75,.16)}.ts-root{--script-sans:system-ui;--script-serif:ui-serif;--font-head:Newsreader,Georgia,"Times New Roman",var(--script-serif),serif;--font-hero:var(--font-head);--font-text:Roboto,var(--script-sans),system-ui,sans-serif;--font-root:Roboto,var(--script-sans),sans-serif;--font-body:Roboto,var(--script-sans),system-ui,sans-serif;--font-ui:Roboto,var(--script-sans),system-ui,sans-serif;--font-eyebrow:var(--font-ui);--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--font-wordmark:"Cormorant Garamond",Georgia,serif;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extra:800;--fs-display:64px;--fs-h1:48px;--fs-h2:36px;--fs-h3:28px;--fs-h4:22px;--fs-h5:18px;--fs-body-lg:18px;--fs-body:16px;--fs-body-sm:14px;--fs-caption:13px;--fs-micro:11px;--lh-tight:1.1;--lh-snug:1.25;--lh-normal:1.5;--lh-relaxed:1.7;--ls-tight:-0.02em;--ls-snug:-0.01em;--ls-normal:0;--ls-wide:0.04em;--ls-caps:0.12em}.ts-root:lang(th){--script-sans:"Noto Sans Thai";--script-serif:"Noto Serif Thai"}.ts-root:lang(ja){--script-sans:"Noto Sans JP";--script-serif:"Noto Serif JP"}.ts-root:lang(zh-TW){--script-sans:"Noto Sans TC";--script-serif:"Noto Serif TC"}.ts-root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--space-12:96px;--space-13:128px;--container-max:1200px;--gutter:24px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(10,12,16,.06);--shadow-sm:0 2px 6px rgba(10,12,16,.07);--shadow-md:0 6px 16px rgba(10,12,16,.09);--shadow-lg:0 14px 36px rgba(10,12,16,.12);--shadow-xl:0 28px 64px rgba(10,12,16,.16);--shadow-focus:0 0 0 3px var(--accent-ring);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms}@keyframes tsRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes tsMenuIn{0%{opacity:0}to{opacity:1}}@keyframes tsMarquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes tsFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-5px,0)}}.ts-root a:not([class]){color:var(--accent)}.ts-root section[id]{scroll-margin-top:76px}.ts-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.ts-reveal.in{opacity:1;transform:none}.ts-root .ts-sec-grid>*{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i, 0) * .14s)}.ts-root .ts-sec-grid.in>*{opacity:1;transform:none}.ts-root .ts-nav-logo{color:var(--ts-fg);transition:color .25s ease}.ts-root .ts-nav-link{color:var(--ts-fg);padding:8px 13px;transition:color .25s ease,background .12s ease}.ts-root .ts-nav-link:hover{color:var(--accent)}.ts-root .ts-nav-cta{border-radius:6px;border:1px solid var(--ts-fg);background:transparent;color:var(--ts-fg);transition:background-color .12s ease,color .12s ease,border-color .25s ease}.ts-root .ts-nav-cta:hover{background-color:#0a0c10;border-color:#0a0c10;color:#fff}.ts-root .ts-nav-menu-btn{border-radius:6px;border:1px solid var(--ts-fg);color:var(--ts-fg);background:transparent;transition:border-color .25s ease,color .25s ease}.ts-root .ts-nav-menu-btn:hover{border-color:var(--blue-300)}.ts-root .ts-menu-close{border:1px solid var(--gray-700);border-radius:6px}.ts-root .ts-menu-close:hover{border-color:var(--blue-400)}.ts-root .ts-menu-link{color:#fff;transition:color .14s ease,padding-left .14s ease}.ts-root .ts-menu-link:hover{color:var(--accent);padding-left:8px}.ts-root .ts-quiet-link{color:var(--gray-300);transition:color .14s ease}.ts-root .ts-quiet-link:hover{color:#fff}.ts-root .ts-ex-live-dot{position:relative;animation:tsExLiveDot 2s ease-in-out infinite}.ts-root .ts-ex-live-dot:after{content:"";position:absolute;inset:0;border-radius:9999px;background:#7fa6ea;animation:tsExLiveRing 2s ease-out infinite}@keyframes tsExLiveDot{0%,to{opacity:1}50%{opacity:.45}}@keyframes tsExLiveRing{0%{transform:scale(1);opacity:.55}70%,to{transform:scale(3.2);opacity:0}}.ts-root .ts-lang-switch{position:relative;display:inline-flex;padding:3px;border:1px solid var(--gray-700);border-radius:999px;background:hsla(0,0%,100%,.05)}.ts-root .ts-lang-switch:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:#fff;transition:transform .24s cubic-bezier(.22,1,.36,1)}.ts-root .ts-lang-switch[data-active=en]:before{transform:translateX(100%)}.ts-root .ts-lang-switch button{position:relative;z-index:1;flex:1 1 0;min-width:56px;border:none;background:transparent;border-radius:999px;color:var(--gray-400);transition:color .18s ease}.ts-root .ts-lang-switch button[aria-pressed=true]{color:#0a0c10}.ts-root .ts-lang-switch button[aria-pressed=false]:hover{color:#fff}.ts-root .ts-nav-lang{position:relative;margin-right:6px;white-space:nowrap}.ts-root .ts-nav-lang-trigger{display:flex;align-items:center;gap:6px;padding:8px 6px;border:none;background:transparent;color:var(--ts-fg);font:inherit;font-weight:500;cursor:pointer;transition:color .25s ease,opacity .2s ease}.ts-root .ts-nav-lang-trigger:hover{opacity:.8}.ts-root .ts-nav-lang-caret{transition:transform .2s ease}.ts-root .ts-nav-lang-trigger[aria-expanded=true] .ts-nav-lang-caret{transform:rotate(180deg)}.ts-root .ts-nav-lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;display:flex;flex-direction:column;min-width:150px;padding:6px;border:1px solid var(--gray-700);border-radius:10px;background:#0a0c10;box-shadow:0 12px 32px rgba(0,0,0,.28)}.ts-root .ts-nav-lang-menu a{padding:9px 12px;border-radius:6px;color:var(--gray-400);cursor:pointer;transition:background .15s ease,color .15s ease}.ts-root .ts-nav-lang-menu a:hover{background:hsla(0,0%,100%,.06);color:#fff}.ts-root .ts-nav-lang-menu a[aria-current=true]{color:#fff;font-weight:600}@media (max-width:1100px){.ts-root .ts-nav-lang{display:none}}.ts-root .ts-lang-switch-n:before{width:calc((100% - 6px) / var(--n));transform:translateX(calc(100% * var(--i)))}.ts-root .ts-lang-switch-n a{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;position:relative;z-index:1;flex:1 1 0;min-width:44px;border-radius:999px;color:var(--gray-400);transition:color .18s ease}.ts-root .ts-lang-switch-n a[aria-current=true]{color:#0a0c10}.ts-root .ts-lang-switch-n a:not([aria-current=true]):hover{color:#fff}.ts-root .ts-menu-lang-body{display:none}@media (max-width:600px){.ts-root .ts-menu-lang-head{display:none}.ts-root .ts-menu-lang-body{display:inline-flex;align-self:stretch;margin-bottom:32px}.ts-root .ts-menu-lang-body a{min-width:0;padding-left:2px!important;padding-right:2px!important}}.ts-root .ts-btn-accent{border-radius:6px;background:var(--accent);color:#fff;border:none;transition:background .12s ease}.ts-root .ts-btn-accent:hover{background:var(--accent-hover)}.ts-root .ts-btn-white{border-radius:6px;background:#fff;color:#0a0c10;border:none;transition:background .12s ease}.ts-root .ts-btn-white:hover{background:var(--gray-100)}.ts-root .ts-btn-outline{border-radius:6px;border:1px solid hsla(0,0%,100%,.3);background:transparent;color:#fff;transition:border-color .12s ease}.ts-root .ts-btn-outline:hover{border-color:#fff}.ts-root .ts-btn-ghost-dark{border-radius:6px;border:1px solid var(--gray-700);background:transparent;color:#fff;transition:border-color .12s ease,background .12s ease}.ts-root .ts-btn-ghost-dark:hover{border-color:var(--blue-400);background:rgba(46,105,206,.14)}.ts-root .ts-arrow-link svg{transition:transform .22s cubic-bezier(.22,1,.36,1)}.ts-root .ts-arrow-link:hover svg{transform:translateX(3px)}.ts-root .ts-review-open{border-radius:6px;background:rgba(10,12,16,.05);color:var(--text-secondary);border:none;transition:background .12s ease}.ts-root .ts-review-open:hover{background:var(--blue-100)}.ts-root .ts-modal-close{border-radius:6px;border:1px solid var(--border-subtle);background:var(--surface-card);transition:background .12s ease}.ts-root .ts-modal-close:hover{background:var(--bg-subtle)}.ts-root .ts-post-card{border-radius:6px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ts-root .ts-post-card:hover{border-color:var(--blue-200);box-shadow:0 16px 36px -18px rgba(46,105,206,.3);transform:translateY(-3px)}.ts-root .ts-amp-input{border:none;outline:none;background:transparent}.ts-root .ts-amp-input::-moz-placeholder{color:var(--text-muted)}.ts-root .ts-amp-input::placeholder{color:var(--text-muted)}.ts-root .ts-amp-chip{border-radius:6px;border:1px solid var(--ts-chip-border);background:var(--ts-chip-bg);color:var(--ts-chip-fg);transition:border-color .15s ease,color .15s ease,background .15s ease}.ts-root .ts-amp-chip:hover{border-color:var(--blue-300);color:var(--accent)}.ts-root .ts-amp-library{border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);animation:tsFloat 3.6s ease-in-out infinite;will-change:transform;transition:background .15s ease}.ts-root .ts-amp-library:hover{background:var(--accent-soft)}.ts-root .ts-field{border:none;border-bottom:1px solid var(--border-default);background:transparent;outline:none;transition:border-bottom-color .12s ease}.ts-root .ts-field:focus{border-bottom-color:var(--accent)}.ts-root .ts-textarea{border:1px solid var(--border-default);outline:none;background:var(--surface-card);transition:border-color .12s ease,box-shadow .12s ease}.ts-root .ts-textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.ts-root .ts-story-crumb{color:hsla(0,0%,100%,.7);transition:color .2s ease}.ts-root .ts-story-crumb:hover{color:#fff}.ts-root .ts-story-cta-card{transition:border-color .16s ease,transform .16s ease}.ts-root .ts-story-cta-card:hover{border-color:var(--blue-500);transform:translateY(-3px)}.ts-root .ts-story-module{transition:border-color .16s ease,transform .16s ease}.ts-root .ts-story-module:hover{border-color:var(--blue-300);transform:translateY(-3px)}.ts-root .ts-story-ex-tab{background:transparent;border:none;cursor:pointer}.ts-root .ts-ex-float{animation:tsFloat 9s ease-in-out infinite;will-change:transform;max-width:100%;min-width:0}@keyframes tsExRowScan{0%,64%,to{background-color:rgba(46,105,206,0)}10%{background-color:rgba(46,105,206,.06)}}.ts-root .ts-ex-row{animation:tsExRowScan 6.5s ease-in-out infinite}@keyframes tsExLinkRail{0%{transform:scaleY(0);opacity:0}6%{opacity:1}30%,88%{transform:scaleY(1);opacity:1}96%,to{transform:scaleY(1);opacity:0}}@keyframes tsExLinkDot{0%,8%{background-color:rgba(0,0,0,.14);transform:scale(1);box-shadow:0 0 0 0 rgba(20,160,107,0)}14%{background-color:#14a06b;transform:scale(1.7);box-shadow:0 0 0 3px rgba(20,160,107,.2)}20%,88%{background-color:#14a06b;transform:scale(1);box-shadow:0 0 0 0 rgba(20,160,107,0)}96%,to{background-color:rgba(0,0,0,.14);transform:scale(1);box-shadow:0 0 0 0 rgba(20,160,107,0)}}@keyframes tsExLinkChip{0%,10%{opacity:0;transform:translateX(6px)}18%,88%{opacity:1;transform:translateX(0)}96%,to{opacity:0;transform:translateX(6px)}}@keyframes tsExLinkDone{0%,30%{opacity:0}38%,88%{opacity:1}96%,to{opacity:0}}.ts-root .ts-ex-link{position:relative}.ts-root .ts-ex-link-rail{position:absolute;left:6.5px;top:19px;bottom:19px;width:1px;transform:scaleY(0);transform-origin:top;animation:tsExLinkRail 6.5s ease-in-out infinite}.ts-root .ts-ex-link-dot{animation:tsExLinkDot 6.5s ease-in-out infinite backwards}.ts-root .ts-ex-link-chip{display:inline-flex;opacity:0;animation:tsExLinkChip 6.5s ease-in-out infinite}.ts-root .ts-ex-link-done{display:inline-flex;opacity:0;animation:tsExLinkDone 6.5s ease-in-out infinite}@keyframes tsExPickBox{0%,8%{background-color:transparent;border-color:rgba(0,0,0,.18);transform:scale(1)}14%{background-color:#2e69ce;border-color:#2e69ce;transform:scale(1.14)}20%,88%{background-color:#2e69ce;border-color:#2e69ce;transform:scale(1)}96%,to{background-color:transparent;border-color:rgba(0,0,0,.18);transform:scale(1)}}@keyframes tsExPickMark{0%,12%{opacity:0;transform:scale(.4)}20%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(.4)}}@keyframes tsExPickRow{0%,10%{background-color:transparent}20%,88%{background-color:rgba(0,0,0,.04)}96%,to{background-color:transparent}}@keyframes tsExPickCount{0%,38%{opacity:0;transform:translateX(6px)}46%,88%{opacity:1;transform:translateX(0)}96%,to{opacity:0;transform:translateX(6px)}}.ts-root .ts-ex-pick-row{animation:tsExPickRow 6.5s ease-in-out infinite backwards}.ts-root .ts-ex-pick-box{animation:tsExPickBox 6.5s cubic-bezier(.34,1.56,.64,1) infinite backwards}.ts-root .ts-ex-pick-mark{animation:tsExPickMark 6.5s ease-out infinite backwards}.ts-root .ts-ex-pick-count{display:inline-flex;opacity:0;animation:tsExPickCount 6.5s ease-in-out infinite}@keyframes tsExRepSkel{0%,6%{opacity:1}14%,to{opacity:0}}@keyframes tsExRepSent{0%,8%{opacity:0}16%,88%{opacity:1}96%,to{opacity:0}}@keyframes tsExRepBar{0%,38%{transform:scaleY(0)}48%,88%{transform:scaleY(1)}96%,to{transform:scaleY(0)}}@keyframes tsExRepDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.ts-root .ts-ex-rep-skel{animation:tsExRepSkel 6.5s ease-out infinite backwards}.ts-root .ts-ex-rep-sent{opacity:0;animation:tsExRepSent 6.5s ease-out infinite backwards}.ts-root .ts-ex-rep-bar{transform-origin:bottom;animation:tsExRepBar 6.5s cubic-bezier(.22,1,.36,1) infinite backwards}.ts-root .ts-ex-rep-dot{animation:tsExRepDot 1.6s ease-in-out infinite}@keyframes tsExTraceCursor{0%,6%{opacity:0;transform:translate(14px,16px) scale(1)}14%,19%{opacity:1;transform:translate(0) scale(1)}22%{opacity:1;transform:translate(0) scale(.82)}26%,88%{opacity:1;transform:translate(0) scale(1)}96%,to{opacity:0;transform:translate(14px,16px) scale(1)}}@keyframes tsExTraceRing{0%,21%{opacity:0;transform:scale(.6)}23%{opacity:.9;transform:scale(.8)}32%,to{opacity:0;transform:scale(2.6)}}@keyframes tsExTraceCite{0%,21%{background-color:rgba(46,105,206,.1)}26%,88%{background-color:rgba(46,105,206,.22)}96%,to{background-color:rgba(46,105,206,.1)}}@keyframes tsExTraceClaim{0%,21%{background-color:rgba(46,105,206,.07)}26%,88%{background-color:rgba(46,105,206,.16)}96%,to{background-color:rgba(46,105,206,.07)}}@keyframes tsExTracePanel{0%,26%{opacity:0;transform:translateY(100%)}36%,88%{opacity:1;transform:translateY(0)}96%,to{opacity:0;transform:translateY(100%)}}@keyframes tsExTraceHl{0%,37%{background-size:0 100%}50%,88%{background-size:100% 100%}96%,to{background-size:0 100%}}@keyframes tsExTraceLblA{0%,26%{opacity:1}33%,91%{opacity:0}97%,to{opacity:1}}@keyframes tsExTraceLblB{0%,29%{opacity:0}36%,88%{opacity:1}94%,to{opacity:0}}.ts-root .ts-ex-trace-cursor{animation:tsExTraceCursor 6.5s ease-in-out infinite}.ts-root .ts-ex-trace-ring{animation:tsExTraceRing 6.5s ease-out infinite}.ts-root .ts-ex-trace-cite{animation:tsExTraceCite 6.5s ease-out infinite}.ts-root .ts-ex-trace-claim{animation:tsExTraceClaim 6.5s ease-out infinite}.ts-root .ts-ex-trace-panel{animation:tsExTracePanel 6.5s cubic-bezier(.22,1,.36,1) infinite}.ts-root .ts-ex-trace-hl{background-image:linear-gradient(#fdefb8,#fdefb8);background-repeat:no-repeat;background-size:0 100%;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:3px 2px;margin:-3px -2px;animation:tsExTraceHl 6.5s ease-out infinite}.ts-root .ts-ex-trace-lbl-a{animation:tsExTraceLblA 6.5s ease-in-out infinite}.ts-root .ts-ex-trace-lbl-b{opacity:0;animation:tsExTraceLblB 6.5s ease-in-out infinite}@keyframes tsExLink2Tile{0%,8%{background-color:rgba(0,0,0,.13);transform:scale(1)}15%{background-color:var(--tile);transform:scale(1.1)}21%,88%{background-color:var(--tile);transform:scale(1)}96%,to{background-color:rgba(0,0,0,.13);transform:scale(1)}}@keyframes tsExLink2Tag{0%,11%{opacity:0;transform:scale(.7)}19%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(.7)}}@keyframes tsExLink2Row{0%,10%{box-shadow:0 0 0 1px rgba(0,0,0,.05)}20%,88%{box-shadow:0 0 0 1px rgba(0,0,0,.06),0 2px 6px rgba(16,24,40,.07)}96%,to{box-shadow:0 0 0 1px rgba(0,0,0,.05)}}@keyframes tsExLink2Done{0%,40%{opacity:0;transform:translateX(6px)}48%,88%{opacity:1;transform:translateX(0)}96%,to{opacity:0;transform:translateX(6px)}}.ts-root .ts-ex-link2-row{animation:tsExLink2Row 6.5s ease-out infinite backwards}.ts-root .ts-ex-link2-tile{animation:tsExLink2Tile 6.5s cubic-bezier(.34,1.56,.64,1) infinite backwards}.ts-root .ts-ex-link2-tag{animation:tsExLink2Tag 6.5s ease-out infinite backwards}.ts-root .ts-ex-link2-done{opacity:0;animation:tsExLink2Done 6.5s ease-in-out infinite}@keyframes tsExDocIn{0%,6%{opacity:0;transform:translateY(6px)}14%,88%{opacity:1;transform:translateY(0)}96%,to{opacity:0;transform:translateY(6px)}}.ts-root .ts-ex-doc-in{opacity:0;animation:tsExDocIn 6.5s ease-out infinite backwards}@keyframes tsExSeqIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ts-root .ts-ex-seq-in{animation:tsExSeqIn .55s cubic-bezier(.22,1,.36,1) both}.ts-root .ts-ex-seq-hold .ts-ex-seq-in{animation:none}@keyframes tsExEditType{0%,6%{max-width:0}20%,88%{max-width:14em}96%,to{max-width:0}}@keyframes tsExEditCaret{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes tsExEditTrack{0%,42%{background-color:rgba(0,0,0,.14)}48%,88%{background-color:#14a06b}96%,to{background-color:rgba(0,0,0,.14)}}@keyframes tsExEditKnob{0%,42%{transform:translateX(0)}48%,88%{transform:translateX(14px)}96%,to{transform:translateX(0)}}@keyframes tsExEditCta{0%,67%{transform:scale(1);box-shadow:0 0 0 0 rgba(46,105,206,.35)}70%{transform:scale(.975);box-shadow:0 0 0 0 rgba(46,105,206,.35)}74%{transform:scale(1)}82%,to{transform:scale(1);box-shadow:0 0 0 8px rgba(46,105,206,0)}}.ts-root .ts-ex-edit-type{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;animation:tsExEditType 6.5s cubic-bezier(.4,.8,.3,1) infinite}.ts-root .ts-ex-edit-caret{animation:tsExEditCaret 1.06s step-end infinite}.ts-root .ts-ex-edit-track{background-color:rgba(0,0,0,.14);animation:tsExEditTrack 6.5s ease-out infinite}.ts-root .ts-ex-edit-knob{animation:tsExEditKnob 6.5s cubic-bezier(.34,1.4,.64,1) infinite}.ts-root .ts-ex-edit-cta{animation:tsExEditCta 6.5s ease-out infinite}@keyframes tsExChartBar{0%{opacity:0;transform:translateY(5px)}4%,to{opacity:1;transform:translateY(0)}}@keyframes tsExChartMa{0%{stroke-dashoffset:100}12%,to{stroke-dashoffset:0}}@keyframes tsExChartLive{0%,12%{opacity:0}15%{opacity:1}19%{opacity:.75}23%,to{opacity:1}}@keyframes tsExViewSingle{0%,20%{opacity:1;transform:translateY(0) scale(1)}28%{opacity:1;transform:translateY(var(--zoom-y)) scale(var(--zoom-s))}30%{opacity:1}34%,to{opacity:0;transform:translateY(var(--zoom-y)) scale(var(--zoom-s))}}@keyframes tsExViewGrid{0%,18%{opacity:0}20%,93%{opacity:1}99%,to{opacity:0}}@keyframes tsExChartLead{0%,26%{opacity:0}32%,to{opacity:1}}@keyframes tsExChartCell{0%,20%{opacity:0;transform:translateY(7px) scale(.96)}28%,to{opacity:1;transform:translateY(0) scale(1)}}.ts-root .ts-ex-chart-bar{animation:tsExChartBar 11s ease-out infinite backwards}.ts-root .ts-ex-chart-ma{stroke-dasharray:100;stroke-dashoffset:100;animation:tsExChartMa 11s ease-in-out infinite}.ts-root .ts-ex-chart-live{opacity:0;animation:tsExChartLive 11s ease-in-out infinite}.ts-root .ts-ex-chart-stage{width:528px;max-width:100%}.ts-root .ts-ex-chart-single{--zoom-y:-14.3%;--zoom-s:0.26;transform-origin:center;animation:tsExViewSingle 11s cubic-bezier(.4,.7,.2,1) infinite}.ts-root .ts-ex-chart-grid{pointer-events:none;padding:0 20px;animation:tsExViewGrid 11s ease-in-out infinite}.ts-root .ts-ex-chart-lead{animation:tsExChartLead 11s ease-in-out infinite backwards}.ts-root .ts-ex-chart-cell{animation:tsExChartCell 11s ease-out infinite backwards}.ts-root .ts-ex-chart-cells{--mini-w:104px;--mini-s:0.26;--mini-h:99px;display:grid;grid-template-columns:repeat(3,var(--mini-w));gap:10px;justify-content:center;width:100%}.ts-root .ts-ex-chart-cell,.ts-root .ts-ex-chart-lead{width:var(--mini-w);height:var(--mini-h)}.ts-root .ts-ex-chart-mini{width:400px;transform:scale(var(--mini-s));transform-origin:top left}@media (min-width:1180px){.ts-root .ts-ex-chart-cells{--mini-w:120px;--mini-s:0.3;--mini-h:114px}.ts-root .ts-ex-chart-single{--zoom-y:-16.3%;--zoom-s:0.3}}@media (min-width:1440px){.ts-root .ts-ex-chart-cells{--mini-w:152px;--mini-s:0.38;--mini-h:144px}.ts-root .ts-ex-chart-single{--zoom-y:-20.3%;--zoom-s:0.38}}@keyframes tsExSigRow{0%,8%{opacity:0;transform:translateY(6px);border-color:rgba(0,0,0,.08)}14%{opacity:1;transform:translateY(0);border-color:var(--sig-tone)}24%,88%{opacity:1;transform:translateY(0);border-color:rgba(0,0,0,.08)}95%,to{opacity:0;transform:translateY(6px);border-color:rgba(0,0,0,.08)}}@keyframes tsExSigChip{0%,10%{opacity:0;transform:scale(.7)}16%{opacity:1;transform:scale(1.12)}21%,88%{opacity:1;transform:scale(1)}95%,to{opacity:0;transform:scale(.7)}}@keyframes tsExSigChg{0%,12%{opacity:0;transform:translateX(6px)}20%,88%{opacity:1;transform:translateX(0)}95%,to{opacity:0;transform:translateX(6px)}}@keyframes tsExSigMeta{0%,36%{opacity:0}44%,88%{opacity:1}95%,to{opacity:0}}.ts-root .ts-ex-sig-row{border-color:rgba(0,0,0,.08);animation:tsExSigRow 6.5s ease-out infinite backwards}.ts-root .ts-ex-sig-chip{display:inline-flex;animation:tsExSigChip 6.5s cubic-bezier(.34,1.56,.64,1) infinite backwards}.ts-root .ts-ex-sig-chg{animation:tsExSigChg 6.5s ease-out infinite backwards}.ts-root .ts-ex-sig-meta{display:block;animation:tsExSigMeta 6.5s ease-in-out infinite backwards}.ts-root .ts-story-ex-card .ts-ex-sig-meta:has(>span){display:inline-flex}@media (prefers-reduced-motion:reduce){.ts-root .ts-ex-chart-bar,.ts-root .ts-ex-chart-cell,.ts-root .ts-ex-chart-grid,.ts-root .ts-ex-chart-lead,.ts-root .ts-ex-chart-live,.ts-root .ts-ex-chart-ma,.ts-root .ts-ex-chart-single,.ts-root .ts-ex-float,.ts-root .ts-ex-row,.ts-root .ts-ex-seq-in{animation:none}.ts-root .ts-ex-sig-chg,.ts-root .ts-ex-sig-chip,.ts-root .ts-ex-sig-meta,.ts-root .ts-ex-sig-row{animation:none;opacity:1;transform:none}.ts-root .ts-ex-chart-ma{stroke-dashoffset:0}.ts-root .ts-ex-chart-live{opacity:1}.ts-root .ts-ex-chart-single{opacity:1;transform:none}.ts-root .ts-ex-chart-grid{opacity:0}.ts-root .ts-ex-link-chip,.ts-root .ts-ex-link-done,.ts-root .ts-ex-link-dot,.ts-root .ts-ex-link-rail{animation:none}.ts-root .ts-ex-link-rail{transform:scaleY(1);opacity:1}.ts-root .ts-ex-link-dot{background-color:#14a06b}.ts-root .ts-ex-link-chip,.ts-root .ts-ex-link-done{opacity:1}.ts-root .ts-ex-pick-box,.ts-root .ts-ex-pick-count,.ts-root .ts-ex-pick-mark,.ts-root .ts-ex-pick-row{animation:none}.ts-root .ts-ex-pick-row{background-color:rgba(0,0,0,.04)}.ts-root .ts-ex-pick-box{background-color:#2e69ce;border-color:#2e69ce}.ts-root .ts-ex-pick-count,.ts-root .ts-ex-pick-mark{opacity:1;transform:none}.ts-root .ts-ex-rep-bar,.ts-root .ts-ex-rep-dot,.ts-root .ts-ex-rep-sent,.ts-root .ts-ex-rep-skel{animation:none}.ts-root .ts-ex-rep-skel{opacity:0}.ts-root .ts-ex-rep-sent{opacity:1}.ts-root .ts-ex-rep-bar{transform:scaleY(1)}.ts-root .ts-ex-trace-cite,.ts-root .ts-ex-trace-claim,.ts-root .ts-ex-trace-cursor,.ts-root .ts-ex-trace-hl,.ts-root .ts-ex-trace-lbl-a,.ts-root .ts-ex-trace-lbl-b,.ts-root .ts-ex-trace-panel,.ts-root .ts-ex-trace-ring{animation:none}.ts-root .ts-ex-trace-cursor,.ts-root .ts-ex-trace-ring{opacity:0}.ts-root .ts-ex-trace-cite{background-color:rgba(46,105,206,.22)}.ts-root .ts-ex-trace-claim{background-color:rgba(46,105,206,.16)}.ts-root .ts-ex-trace-panel{opacity:1;transform:translateY(0)}.ts-root .ts-ex-trace-hl{background-size:100% 100%}.ts-root .ts-ex-trace-lbl-a{opacity:0}.ts-root .ts-ex-trace-lbl-b{opacity:1}.ts-root .ts-ex-link2-done,.ts-root .ts-ex-link2-row,.ts-root .ts-ex-link2-tag,.ts-root .ts-ex-link2-tile{animation:none}.ts-root .ts-ex-link2-row{box-shadow:0 0 0 1px rgba(0,0,0,.06),0 2px 6px rgba(16,24,40,.07)}.ts-root .ts-ex-link2-tile{background-color:var(--tile)}.ts-root .ts-ex-doc-in,.ts-root .ts-ex-link2-done,.ts-root .ts-ex-link2-tag{opacity:1;transform:none}.ts-root .ts-ex-doc-in,.ts-root .ts-ex-edit-caret,.ts-root .ts-ex-edit-cta,.ts-root .ts-ex-edit-knob,.ts-root .ts-ex-edit-track,.ts-root .ts-ex-edit-type{animation:none}.ts-root .ts-ex-edit-type{max-width:none}.ts-root .ts-ex-edit-caret{opacity:1}.ts-root .ts-ex-edit-track{background-color:#14a06b}.ts-root .ts-ex-edit-knob{transform:translateX(14px)}}@keyframes tsDeskGlow{0%{opacity:0;transform:scale(.4);box-shadow:0 0 0 0 rgba(46,105,206,.6)}60%{opacity:1;transform:scale(1);box-shadow:0 0 12px 3px rgba(46,105,206,.5)}to{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(46,105,206,0)}}@keyframes tsDeskReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tsDeskSweep{0%{left:-18%;opacity:0}8%{opacity:1}92%{opacity:1}to{left:100%;opacity:0}}@keyframes tsSwapIn{0%{opacity:0;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}@keyframes axrRing{to{transform:rotate(1turn)}}@keyframes ampMarch{to{stroke-dashoffset:-64}}@keyframes ampGlow{0%,to{box-shadow:0 0 0 3px rgba(46,105,206,.14),0 0 24px 2px rgba(46,105,206,.3),0 14px 32px -14px rgba(46,105,206,.55)}50%{box-shadow:0 0 0 6px rgba(46,105,206,.24),0 0 40px 4px rgba(46,105,206,.52),0 18px 44px -14px rgba(46,105,206,.78)}}@media (prefers-reduced-motion:reduce){.ts-root *,.ts-root :after,.ts-root :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.ts-root .ts-reveal,.ts-root .ts-sec-grid>*{opacity:1!important;transform:none!important}.ts-root .ts-ex-live-dot{animation:none!important;opacity:1!important}.ts-root .ts-ex-live-dot:after{display:none!important}}@media (max-width:900px){.ts-hero-title{font-size:56px!important}.ts-section-title{font-size:30px!important}.ts-grid-3{grid-template-columns:1fr!important}.ts-root .ts-sec-grid>*{transition-delay:calc(var(--i, 0) * 90ms)}.ts-grid-footer{grid-template-columns:1fr 1fr!important}.ts-footer-tagline{white-space:normal!important}.ts-grid-footer-legal,.ts-menu-grid{grid-template-columns:1fr!important}.ts-menu-grid{gap:32px!important}.ts-nav-lang,.ts-nav-links{display:none!important}.ts-testimonials{flex-direction:column!important}.ts-modal-grid{grid-template-columns:1fr!important}.ts-customer-logos{grid-template-columns:repeat(2,1fr)!important}.ts-customer-case{grid-template-columns:1fr!important;gap:24px!important}.ts-story-ex-grid{grid-template-columns:1fr!important;gap:28px!important}.ts-story-ex-stage{padding:14px 16px!important}.ts-story-ex-viewport{height:470px!important}.ts-root .ts-ex-chart-grid{padding:0}.ts-root .ts-ex-chart-cells{--mini-w:88px;--mini-s:0.22;--mini-h:83px}.ts-root .ts-ex-chart-single{--zoom-y:-14.3%;--zoom-s:0.277}.ts-story-ex-caption{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-width:none!important;transform:none!important}.ts-story-ex-card{padding-bottom:150px!important}.ts-story-ex-tabs{margin-bottom:32px!important}.ts-story-ex-pin{padding:76px 20px 24px!important}}@keyframes pmUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pmPulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes pmBob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes pmPop{0%{opacity:0;transform:scale(.6)}55%{opacity:1;transform:scale(1.09)}78%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes pmCheer{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pmCheckPop{0%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.14)}78%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pmCheckRing{0%{opacity:.5;transform:scale(.75)}to{opacity:0;transform:scale(1.55)}}@keyframes pmDraw{0%{stroke-dashoffset:32}to{stroke-dashoffset:0}}@keyframes pmGauge1{0%{stroke-dashoffset:327}to{stroke-dashoffset:46}}@keyframes pmGauge2{0%{stroke-dashoffset:327}to{stroke-dashoffset:98}}@keyframes pmFlyIn{0%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.72)}16%{opacity:1;transform:translate(calc(var(--dx) * .82),calc(var(--dy) * .82)) scale(1)}46%{opacity:1;transform:translate(calc(var(--dx) * .52),calc(var(--dy) * .52)) scale(.98)}66%{opacity:0;transform:translate(calc(var(--dx) * .34),calc(var(--dy) * .34)) scale(.82)}to{opacity:0;transform:translate(calc(var(--dx) * .34),calc(var(--dy) * .34)) scale(.82)}}@keyframes pmBurst{0%{opacity:0;transform:translate(0) scale(.4) rotate(0deg)}22%{opacity:1}to{opacity:0;transform:translate(var(--bx),var(--by)) scale(1) rotate(var(--br))}}@media (prefers-reduced-motion:reduce){.ts-root .ts-pm-anim{animation:none!important}}::view-transition-old(root){animation:tsLangOut .6s ease both}::view-transition-new(root){-webkit-mask-image:linear-gradient(90deg,#000 40%,transparent 60%);mask-image:linear-gradient(90deg,#000 40%,transparent 60%);-webkit-mask-size:250% 100%;mask-size:250% 100%;animation:tsLangIn .6s cubic-bezier(.4,0,.2,1) both}@keyframes tsLangOut{to{opacity:0;filter:blur(3px)}}@keyframes tsLangIn{0%{-webkit-mask-position:100% 0;mask-position:100% 0;filter:blur(4px)}to{-webkit-mask-position:0 0;mask-position:0 0;filter:blur(0)}}.ts-root a{color:inherit;font-size:inherit;font-weight:inherit;text-decoration:none}.ts-root{overflow-x:clip}.ts-root:lang(ja) :is(h1,h2,h3),.ts-root:lang(zh-TW) :is(h1,h2,h3){word-break:auto-phrase;line-break:strict}@media (min-width:901px){.ts-root:lang(ja) .ts-hero-title,.ts-root:lang(th) .ts-hero-title,.ts-root:lang(zh-TW) .ts-hero-title{font-size:72px!important}}