.tool-suite .tl-hero{isolation:isolate;padding:var(--tl-pad-hero);scroll-margin-top:var(--tl-anchor-offset)}.tool-suite .tl-hero-bg{position:absolute;z-index:-1;inset:0;overflow:clip;pointer-events:none;border-radius:inherit}.tool-suite .tl-hero-bg:after,.tool-suite .tl-hero-bg:before{content:"";position:absolute;inset:0}.tool-suite .tl-hero-bg:before{background:radial-gradient(60% 75% at 0 0,color-mix(in srgb,var(--tl-accent) 15%,transparent),transparent 70%),radial-gradient(55% 70% at 100% 100%,color-mix(in srgb,var(--tl-accent) 10%,transparent),transparent 70%)}.tool-suite .tl-hero-bg:after{background-image:linear-gradient(var(--tl-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tl-grid) 1px,transparent 1px);background-size:56px 56px;opacity:.5;-webkit-mask-image:radial-gradient(70% 80% at 0 0,var(--tl-mask-solid),transparent 75%);mask-image:radial-gradient(70% 80% at 0 0,var(--tl-mask-solid),transparent 75%)}.tool-suite .tl-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,1.4vw,16px);min-width:0}.tool-suite .tl-hero-copy>*{max-width:100%;min-width:0}.tool-suite .tl-hero-eyebrow{align-items:flex-start;margin:0;padding-block:5px}.tool-suite .tl-hero-eyebrow svg{margin-top:2px}.tool-suite .tl-hero-eyebrow>span{min-width:0}.tool-suite .tl-hero-title{max-width:min(14em,100%);margin:0;color:var(--tl-text);font-size:var(--tl-fs-hero-short);font-weight:800;line-height:var(--tl-lh-display);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}.tool-suite .tl-hero-title[data-length=medium]{font-size:var(--tl-fs-hero-medium)}.tool-suite .tl-hero-title[data-length=long]{font-size:var(--tl-fs-hero-long)}.tool-suite .tl-hero-title:lang(vi){line-height:1.18}.tool-suite .tl-hero-lead{max-width:min(var(--tl-measure-lead),100%);margin:0;color:var(--tl-muted);font-size:var(--tl-fs-lead);line-height:var(--tl-lh-body);text-wrap:pretty;overflow-wrap:anywhere}.tool-suite .tl-hero-actions{display:flex;flex-wrap:wrap;align-items:center;align-self:stretch;gap:var(--tl-space-3)}.tool-suite .tl-hero-actions .tl-badge{flex:none}.tool-suite .tl-gallery.tl-panel{--tl-gallery-w:100%;--tl-gallery-focus:var(--tl-focus);--tl-gallery-halo:var(--tl-focus-halo);display:grid;gap:var(--tl-space-3);padding:var(--tl-space-2);border-radius:var(--tl-r-xl)}@supports (height:100dvh){.tool-suite .tl-gallery.tl-panel{--tl-gallery-w:min(100%,max(60%,calc((100dvh - var(--tl-anchor-offset) - 180px) * 16 / 9)))}}.tool-suite .tl-gallery>*{min-width:0}.tool-suite .tl-gallery-stage{position:relative;width:var(--tl-gallery-w);justify-self:center;aspect-ratio:16/9;background:var(--tl-stage-bg);border:1px solid var(--tl-inverse-highlight);border-radius:calc(var(--tl-r-xl) - var(--tl-space-2));touch-action:pan-y pinch-zoom}.tool-suite .tl-gallery-open{position:absolute;inset:0;display:block;border-radius:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent}.tool-suite .tl-gallery-open:focus-visible{outline:2px solid var(--tl-gallery-focus);outline-offset:3px;box-shadow:0 0 0 6px var(--tl-gallery-halo)}.tool-suite .tl-gallery-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.tool-suite .tl-gallery-missing{display:grid;place-content:center;justify-items:center;gap:var(--tl-space-2);width:100%;height:100%;padding:var(--tl-space-3);color:var(--tl-muted);text-align:center;background:var(--tl-stage-bg);border-radius:inherit}.tool-suite .tl-gallery-stage>.tl-gallery-missing{position:absolute;inset:0}.tool-suite .tl-gallery-missing svg{width:24px;height:24px}.tool-suite .tl-gallery-missing-text{margin:0;font-size:var(--tl-fs-small);line-height:var(--tl-lh-small);overflow-wrap:anywhere}.tool-suite .tl-gallery-dialog-close,.tool-suite .tl-gallery-expand,.tool-suite .tl-gallery-nav{position:absolute;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;color:var(--tl-inverse-text);background:color-mix(in srgb,var(--tl-stage-bg) 62%,transparent);border:1px solid var(--tl-inverse-line-strong);border-radius:50%;box-shadow:var(--tl-elev-pop);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--tl-dur-1) var(--tl-ease-out),background-color var(--tl-dur-2) var(--tl-ease-out),border-color var(--tl-dur-2) var(--tl-ease-out)}.tool-suite :is(.tl-gallery-nav,.tl-gallery-expand,.tl-gallery-dialog-close) svg{width:22px;height:22px}.tool-suite .tl-gallery-nav{top:calc(50% - 22px)}.tool-suite .tl-gallery-nav--prev{inset-inline-start:var(--tl-space-3)}.tool-suite .tl-gallery-expand,.tool-suite .tl-gallery-nav--next{inset-inline-end:var(--tl-space-3)}.tool-suite .tl-gallery-expand{top:var(--tl-space-3);border-radius:var(--tl-r-md)}.tool-suite .tl-gallery-expand svg{width:20px;height:20px}@media (hover:hover) and (pointer:fine){.tool-suite :is(.tl-gallery-nav,.tl-gallery-expand,.tl-gallery-dialog-close):hover{background:color-mix(in srgb,var(--tl-stage-bg) 86%,transparent);border-color:var(--tl-inverse-focus)}}@media (prefers-reduced-motion:no-preference){.tool-suite :is(.tl-gallery-nav,.tl-gallery-expand,.tl-gallery-dialog-close):active{transform:scale(.94)}}.tool-suite .tl-gallery-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--tl-space-1) var(--tl-space-4);width:var(--tl-gallery-w);justify-self:center;padding:var(--tl-space-1) 6px 0}.tool-suite .tl-gallery-caption-copy{display:grid;gap:2px;min-width:0}.tool-suite .tl-gallery-caption-title{margin:0;color:var(--tl-text);font-size:var(--tl-fs-tile);font-weight:700;line-height:1.35;overflow-wrap:anywhere}.tool-suite .tl-gallery-caption-text{max-width:min(var(--tl-measure),100%);margin:0;color:var(--tl-muted);font-size:var(--tl-fs-small);line-height:var(--tl-lh-small);overflow-wrap:anywhere}.tool-suite .tl-gallery-count{color:var(--tl-muted);font-family:var(--tl-font-mono);font-size:var(--tl-fs-caption);font-weight:650;line-height:1.5;font-variant-numeric:tabular-nums;white-space:nowrap}.tool-suite .tl-gallery-thumbs{position:relative;display:flex;justify-content:flex-start;gap:var(--tl-space-2);width:calc(var(--tl-gallery-w) + 12px);justify-self:center;margin:0;padding:6px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin}.tool-suite .tl-gallery-thumbs>li{display:flex;flex:0 0 calc((100% - 24px) / 3.4);min-width:88px;max-width:clamp(96px,14vw,200px);scroll-snap-align:center}.tool-suite .tl-gallery-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;margin:0;padding:0;background:var(--tl-stage-bg);border:1px solid var(--tl-line-strong);border-radius:var(--tl-r-sm);cursor:pointer;-webkit-tap-highlight-color:transparent}.tool-suite .tl-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit;opacity:.7;transition:opacity var(--tl-dur-2) var(--tl-ease-out)}.tool-suite .tl-gallery-thumb:after{content:"";position:absolute;inset:-1px;pointer-events:none;border:2px solid transparent;border-radius:inherit}.tool-suite .tl-gallery-thumb[aria-current=true]:after{border-color:var(--tl-accent)}.tool-suite .tl-gallery-thumb:focus-visible img,.tool-suite .tl-gallery-thumb[aria-current=true] img{opacity:1}.tool-suite .tl-gallery-thumb:focus-visible{outline:2px solid var(--tl-focus);outline-offset:2px;box-shadow:none}.tool-suite .tl-gallery-thumb .tl-gallery-missing svg{width:20px;height:20px}@media (hover:hover) and (pointer:fine){.tool-suite .tl-gallery-thumb:hover img{opacity:1}}@media (min-width:768px){.tool-suite .tl-gallery.tl-panel{padding:10px}.tool-suite .tl-gallery-stage{border-radius:calc(var(--tl-r-xl) - 10px)}.tool-suite .tl-gallery-thumbs>li{flex:1 1 0}}.tool-suite .tl-gallery-dialog{inset:0;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;color:var(--tl-inverse-text);background:color-mix(in srgb,var(--tl-stage-bg) 94%,transparent);border:0;color-scheme:dark;touch-action:pan-y pinch-zoom}.tool-suite .tl-gallery-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.tool-suite .tl-gallery-dialog::backdrop{background:transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root:has(.tl-gallery-dialog[open]){overflow:hidden;scrollbar-gutter:stable}.tool-suite .tl-gallery-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--tl-space-3);min-width:0;padding:10px clamp(10px,2vw,20px)}.tool-suite .tl-gallery-dialog .tl-gallery-dialog-close{position:static;width:48px;height:48px;border-radius:var(--tl-r-md)}.tool-suite .tl-gallery-dialog-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;min-width:0;min-height:0;padding:0 clamp(8px,5vw,80px)}.tool-suite .tl-gallery-dialog-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--tl-r-sm)}.tool-suite .tl-gallery-dialog-stage>.tl-gallery-missing{width:min(100%,520px);height:auto;aspect-ratio:16/9;border:1px solid var(--tl-inverse-line)}.tool-suite .tl-gallery-nav--viewer{top:calc(50% - 24px);width:48px;height:48px}.tool-suite .tl-gallery-nav--viewer.tl-gallery-nav--prev{inset-inline-start:clamp(8px,2vw,24px)}.tool-suite .tl-gallery-nav--viewer.tl-gallery-nav--next{inset-inline-end:clamp(8px,2vw,24px)}.tool-suite .tl-gallery-dialog-caption{display:grid;justify-items:center;gap:var(--tl-space-1);min-width:0;padding:var(--tl-space-3) clamp(16px,4vw,40px) var(--tl-space-5);text-align:center}.tool-suite .tl-gallery-dialog-title{max-width:min(72ch,100%);margin:0;font-size:1rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.tool-suite .tl-gallery-dialog-text{max-width:min(72ch,100%);margin:0;color:var(--tl-muted);font-size:var(--tl-fs-small);line-height:var(--tl-lh-small);overflow-wrap:anywhere}.tool-suite .tl-features{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tl-gap);margin:0;padding:0;list-style:none}.tool-suite .tl-feature{display:flex;flex-direction:column;gap:var(--tl-space-3);min-width:0}.tool-suite .tl-feature>*{min-width:0}.tool-suite .tl-feature-title,.tool-suite .tl-step-title{margin:0;color:var(--tl-text);font-size:1.125rem;font-weight:700;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}.tool-suite .tl-feature>.tl-feature-title{margin-top:var(--tl-space-1)}.tool-suite .tl-coverage-body,.tool-suite .tl-feature-body,.tool-suite .tl-safeguard-body,.tool-suite .tl-step-body{margin:0;color:var(--tl-muted);font-size:var(--tl-fs-body);line-height:var(--tl-lh-body);overflow-wrap:anywhere}.tool-suite .tl-feature-meta{margin:auto 0 0;padding-top:var(--tl-space-3);color:var(--tl-accent-strong);font-family:var(--tl-font-mono);font-size:var(--tl-fs-label);font-weight:600;line-height:var(--tl-lh-small);border-top:1px solid var(--tl-line);overflow-wrap:anywhere}@media (min-width:560px){.tool-suite .tl-features{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-suite .tl-features>li:last-child:nth-child(odd){grid-column:1/-1}.tool-suite .tl-features>li:last-child:nth-child(odd) .tl-feature-body{max-width:min(var(--tl-measure),100%)}}.tool-suite .tl-steps{display:grid;min-width:0;margin:0;padding:0;list-style:none}.tool-suite .tl-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px;min-width:0;padding-bottom:28px}.tool-suite .tl-step:last-child{padding-bottom:0}.tool-suite .tl-step:not(:last-child):after,.tool-suite .tl-step:not(:last-child):before{content:"";position:absolute;top:50px;bottom:6px;inset-inline-start:21px;width:2px;pointer-events:none;border-radius:2px}.tool-suite .tl-step:not(:last-child):before{background:var(--tl-line-strong)}.tool-suite .tl-step:not(:last-child):after{background:var(--tl-accent);transform-origin:top}.tool-suite .tl-step-copy{display:grid;align-content:start;gap:var(--tl-space-1);min-width:0;padding-top:2px}.tool-suite .tl-step-no{color:var(--tl-accent-strong);font-family:var(--tl-font-mono);font-size:var(--tl-fs-label);font-weight:700;line-height:1.5;letter-spacing:.06em;font-variant-numeric:tabular-nums}.tool-suite .tl-step-body{max-width:min(var(--tl-measure),100%);margin-top:2px}.tool-suite .tl-coverage{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tl-gap);margin:0;padding:0;list-style:none}.tool-suite .tl-coverage-item{display:flex;flex-direction:column;gap:10px;min-width:0}.tool-suite .tl-coverage-item>*{min-width:0}.tool-suite .tl-coverage-label{display:block;margin-top:var(--tl-space-1);color:var(--tl-accent-strong);font-size:var(--tl-fs-label);font-weight:700;line-height:var(--tl-lh-small);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}.tool-suite .tl-coverage-title,.tool-suite .tl-safeguard-title{margin:0;color:var(--tl-text);font-size:var(--tl-fs-tile);font-weight:700;line-height:1.35;text-wrap:balance;overflow-wrap:anywhere}@media (min-width:560px){.tool-suite .tl-coverage{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-suite .tl-coverage>li:last-child:nth-child(odd){grid-column:1/-1}.tool-suite .tl-coverage>li:last-child:nth-child(odd) .tl-coverage-body{max-width:min(var(--tl-measure),100%)}}.tool-suite .tl-safety{padding:var(--tl-pad-band)}.tool-suite .tl-safeguards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tl-space-5) 0;margin:0;padding:0;list-style:none}.tool-suite .tl-safeguard{display:flex;flex-direction:column;gap:10px;min-width:0}.tool-suite .tl-safeguard>*{min-width:0}.tool-suite .tl-safeguard>.tl-safeguard-title{margin-top:var(--tl-space-1)}.tool-suite .tl-safeguard+.tl-safeguard{padding-top:var(--tl-space-5);border-top:1px solid var(--tl-line)}@media (min-width:1136px),(min-width:768px) and (max-width:1023.98px){.tool-suite .tl-safeguards{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--tl-space-6)}.tool-suite .tl-safeguards[data-count="1"]{grid-template-columns:minmax(0,1fr)}.tool-suite .tl-safeguards[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-suite .tl-safeguard,.tool-suite .tl-safeguard+.tl-safeguard{padding:0 clamp(16px,2.4vw,32px);border-top:0;border-inline-start:1px solid var(--tl-line)}.tool-suite .tl-safeguards:not([data-count="2"])>.tl-safeguard:nth-child(3n+1),.tool-suite .tl-safeguards[data-count="2"]>.tl-safeguard:nth-child(odd){padding-inline-start:0;border-inline-start:0}.tool-suite .tl-safeguards:not([data-count="2"])>.tl-safeguard:nth-child(3n),.tool-suite .tl-safeguards>.tl-safeguard:last-child,.tool-suite .tl-safeguards[data-count="2"]>.tl-safeguard:nth-child(2n){padding-inline-end:0}.tool-suite .tl-safeguards:not([data-count="2"])>.tl-safeguard:nth-child(n+4){padding-top:var(--tl-space-6);border-top:1px solid var(--tl-line)}}.tool-suite .tl-faq-list{display:grid;gap:10px;min-width:0}@media (prefers-reduced-motion:no-preference){.tool-suite :is(.tl-gallery-image,.tl-gallery-dialog-image){animation:tl-gallery-reveal var(--tl-dur-3) var(--tl-ease-out) backwards}.tool-suite .tl-gallery-dialog[open]{animation:tl-lightbox-in .2s var(--tl-ease-out)}@supports (animation-timeline:view()){.tool-suite .tl-step:not(:last-child):after{animation:tl-step-fill linear backwards;animation-timeline:view();animation-range:entry 20% cover 55%}}}@media (min-width:768px) and (prefers-reduced-motion:no-preference){.tool-suite .tl-hero-bg:before{animation:tl-aurora-settle 4.8s var(--tl-ease-out) backwards}@supports (animation-timeline:scroll()){.tool-suite .tl-hero-bg:before{animation:tl-aurora-settle 4.8s var(--tl-ease-out) backwards,tl-aurora-drift linear both;animation-timeline:auto,scroll(root block);animation-range:normal,0 700px}}}@keyframes tl-aurora-settle{0%{opacity:.6;transform:scale(1.06) translate(-2%,-2%)}}@keyframes tl-aurora-drift{to{translate:0 -6%}}@keyframes tl-step-fill{0%{transform:scaleY(0)}}@keyframes tl-gallery-reveal{0%{opacity:0}}@keyframes tl-lightbox-in{0%{opacity:0;transform:scale(.985)}}@media (prefers-reduced-motion:reduce){.tool-suite .tl-gallery-dialog[open],.tool-suite .tl-hero-bg:before,.tool-suite .tl-step:after,.tool-suite :is(.tl-gallery-image,.tl-gallery-dialog-image){animation:none}.tool-suite :is(.tl-gallery-nav,.tl-gallery-expand,.tl-gallery-dialog-close,.tl-gallery-thumb img){transition-property:color,background-color,border-color,opacity}}@media (forced-colors:active){.tool-suite .tl-hero-bg{display:none}.tool-suite :is(.tl-gallery-stage,.tl-gallery-thumb,.tl-gallery-nav,.tl-gallery-expand,.tl-gallery-dialog-close){border-color:CanvasText;box-shadow:none}.tool-suite .tl-gallery-thumb[aria-current=true]:after{border-color:Highlight}.tool-suite .tl-step:after{background:CanvasText}}