.ts{isolation:isolate;position:relative;overflow:hidden}.ts-logo{flex:none;place-items:center;width:1em;height:1em;display:inline-grid}.ts-logo--si{fill:var(--brand)}.ts-logo--ink{fill:var(--text)}:root[data-theme=light] .ts-logo--ink{fill:var(--brand)}.ts-logo--mono{background:linear-gradient(145deg, color-mix(in srgb, var(--brand) 78%, #fff), var(--brand));color:#fff;border-radius:24%;box-shadow:inset 0 0 0 1px #ffffff2e}.ts-logo--mono b{letter-spacing:-.02em;white-space:nowrap;font-size:.4em;font-weight:800;line-height:1}.ts-logo--long b{font-size:.25em}.ts-logo--icon{color:var(--ts-accent)}.ts-logo--icon .icon{width:100%;height:100%}.ts__float{z-index:-1;pointer-events:none;position:absolute;inset:0}.ts__float span{left:calc(4% + var(--n) * 12.5%);top:calc(10% + var(--n) * 9%);opacity:.07;filter:blur(.4px);animation:22s ease-in-out infinite alternate ts-float;animation-delay:calc(var(--n) * -2.7s);font-size:clamp(44px,6vw,92px);position:absolute}.ts__float span:nth-child(2n){top:auto;bottom:calc(6% + var(--n) * 6%);animation-duration:28s}.ts__float .ts-logo{width:1em;height:1em}@keyframes ts-float{50%{translate:24px -36px;rotate:10deg}to{translate:-18px 20px;rotate:-8deg}}.ts-platforms{flex-wrap:wrap;justify-content:center;gap:.7rem;margin:-.6rem 0 1.6rem;padding:0;list-style:none;display:flex}.ts-platforms__item{background:var(--surface);border:1px solid var(--line);animation:6s ease-in-out infinite ts-platform;animation-delay:calc(var(--n) * 2s);border-radius:99px;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:700;display:inline-flex}.ts-platforms__item .icon{width:1.15rem;height:1.15rem}.ts-platforms__item--windows .icon{color:#1e90ff}.ts-platforms__item--linux .icon{color:#f5b400}@keyframes ts-platform{0%,30%,to{box-shadow:none;border-color:var(--line)}12%{box-shadow:0 0 0 4px color-mix(in srgb, var(--ts-accent) 18%, transparent), 0 10px 30px color-mix(in srgb, var(--ts-accent) 30%, transparent);border-color:var(--ts-accent)}}.ts-ribbon{perspective:900px;grid-template-columns:minmax(0,100%);gap:30px;margin:-24px calc(50% - 50vw) clamp(1rem,3vw,2rem);padding:64px 0 40px;display:grid;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.ts-ribbon:before{content:"";background:radial-gradient(closest-side, color-mix(in srgb, var(--ts-accent) 26%, transparent), transparent);pointer-events:none;width:min(60vw,640px);height:180%;animation:7s ease-in-out infinite ts-breathe;position:absolute;top:50%;left:50%;translate:-50% -50%}@keyframes ts-breathe{50%{opacity:.55;scale:1.15 .9}}.ts-ribbon__lane{z-index:1;min-width:0;position:relative}.ts-ribbon__lane:hover{z-index:3}.ts-ribbon__lane--1{transform:rotateX(14deg)rotate(-1.6deg)}.ts-ribbon__lane--2{transform:rotateX(-12deg)rotate(1.2deg)}.ts-ribbon__track{gap:16px;width:max-content;animation:70s linear infinite paused ts-marquee;display:flex}.ts-ribbon__lane--2 .ts-ribbon__track{animation-duration:84s;animation-direction:reverse}.ts.is-playing .ts-ribbon__track{animation-play-state:running}.ts-ribbon__lane:hover .ts-ribbon__track{animation-play-state:paused}@keyframes ts-marquee{to{translate:calc(-50% - 8px)}}.ts-ribbon__item{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:64px;height:64px;animation:5s ease-in-out infinite ts-wave;animation-delay:calc(var(--n) * -.42s);transition:scale .35s var(--ease), box-shadow .35s, border-color .35s;border-radius:18px;place-items:center;font-size:32px;display:grid;position:relative;box-shadow:0 10px 26px #00000029}.ts-ribbon__lane--2 .ts-ribbon__item{animation-delay:calc(var(--n) * -.42s - 2.5s)}@keyframes ts-wave{50%{translate:0 -9px}}.ts-ribbon__item:hover{z-index:2;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 22%, transparent), 0 14px 34px color-mix(in srgb, var(--brand) 45%, transparent);scale:1.22}.ts-ribbon__item:after,[data-tip]:after{content:attr(data-name);background:var(--text);color:var(--bg,#0b0d12);letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s, translate .3s var(--ease);z-index:5;border-radius:8px;padding:.35rem .65rem;font-size:.72rem;font-weight:700;position:absolute;bottom:calc(100% + 10px);left:50%;translate:-50% 6px}[data-tip]:after{content:attr(data-tip)}.ts-ribbon__item:hover:after,[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;translate:-50%}.ts-explorer{scroll-margin-top:110px}.ts-toolbar{gap:.9rem;margin-bottom:1.4rem;display:grid}.ts-tabs{scrollbar-width:thin;scroll-snap-type:x proximity;gap:.5rem;padding:4px 2px 8px;display:flex;overflow-x:auto}.ts-tab{background:var(--surface);border:1px solid var(--line);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;scroll-snap-align:start;transition:transform .3s var(--ease), border-color .3s, background .3s, box-shadow .3s;border-radius:99px;flex:none;align-items:center;gap:.45rem;padding:.55rem .95rem;font-size:.86rem;font-weight:600;display:inline-flex}.ts-tab .icon{width:1rem;height:1rem;color:var(--ts-accent)}.ts-tab__count{background:color-mix(in srgb, var(--ts-accent) 16%, transparent);font-variant-numeric:tabular-nums;border-radius:99px;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;font-size:.72rem;display:inline-grid}.ts-tab:hover{border-color:var(--ts-accent);transform:translateY(-2px)}.ts-tab[aria-pressed=true]{background:var(--grad);color:#fff;box-shadow:0 10px 26px color-mix(in srgb, var(--ts-accent) 35%, transparent);border-color:#0000}.ts-tab[aria-pressed=true] .icon{color:#fff}.ts-tab[aria-pressed=true] .ts-tab__count{background:#ffffff38}.ts-tab:focus-visible,.ts-card:focus-visible,.ts-pfilter__btn:focus-visible,.ts-combo__btn:focus-visible,.ta__node:focus-visible{outline:2px solid var(--ts-accent);outline-offset:3px}.ts-tools{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.ts-search{flex:260px;align-items:center;display:flex;position:relative}.ts-search .icon{width:1.05rem;height:1.05rem;color:var(--text-2);pointer-events:none;position:absolute;left:.95rem}.ts-search input{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--text);font:inherit;border-radius:14px;padding:.75rem 1rem .75rem 2.6rem;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.ts-search input:focus{border-color:var(--ts-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--ts-accent) 18%, transparent);outline:none}.ts-pfilter{flex-wrap:wrap;gap:.4rem;display:flex}.ts-pfilter__btn{background:var(--surface);border:1px solid var(--line);min-height:44px;color:var(--text);font:inherit;cursor:pointer;transition:border-color .3s, background .3s, transform .3s var(--ease);border-radius:12px;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.84rem;font-weight:600;display:inline-flex;position:relative}.ts-pfilter__btn .icon{width:1.1rem;height:1.1rem}.ts-pfilter__btn--windows .icon{color:#1e90ff}.ts-pfilter__btn--linux .icon{color:#f5b400}.ts-pfilter__btn--cross .icon{color:var(--ts-accent)}.ts-pfilter__btn:hover{border-color:var(--ts-accent);transform:translateY(-2px)}.ts-pfilter__btn[aria-pressed=true]{border-color:var(--ts-accent);background:color-mix(in srgb, var(--ts-accent) 16%, var(--surface))}.ts-status{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.7rem;margin:0;font-size:.86rem;display:flex}.ts-combo-chip{background:color-mix(in srgb, var(--ts-accent) 16%, transparent);color:var(--text);border-radius:99px;align-items:center;gap:.5rem;padding:.3rem .35rem .3rem .8rem;font-weight:700;display:inline-flex}.ts-combo-chip[hidden]{display:none}.ts-combo-chip button{background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:99px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.78rem;display:inline-flex}.ts-combo-chip .icon{width:.8rem;height:.8rem}.ts-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,232px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid;position:relative}.ts-grid.is-folded,.ts-grid.is-unfolded{box-sizing:content-box;transition:max-height .7s var(--ease);margin:-10px -10px 0;padding:10px 10px 0;overflow:hidden}.ts-grid.is-folded{-webkit-mask-image:linear-gradient(#000 calc(100% - 110px),#0000);mask-image:linear-gradient(#000 calc(100% - 110px),#0000)}.ts-more{justify-content:center;margin-top:22px;display:flex}.ts-more__btn{background:var(--surface);color:var(--text);font:inherit;cursor:pointer;isolation:isolate;box-shadow:0 0 0 1px var(--line), 0 10px 40px -12px color-mix(in srgb, var(--ts-accent) 70%, transparent);transition:transform .4s var(--ease), box-shadow .4s;border:0;border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-weight:600;display:inline-flex;position:relative}.ts-more__btn .icon{width:1.1rem;height:1.1rem;color:var(--ts-accent);transition:transform .5s var(--ease)}.ts-more__btn[aria-expanded=true] .icon{transform:rotate(180deg)}.ts-more__ring{z-index:-1;border-radius:inherit;background:conic-gradient(from var(--ts-angle), var(--ts-accent), var(--cyan), var(--magenta), var(--orange), var(--ts-accent));-webkit-mask-composite:xor;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--ts-accent) 80%, transparent));padding:2px;animation:3.5s linear infinite ts-border;position:absolute;inset:-2px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.ts-more__btn:after{content:"";z-index:-2;border-radius:inherit;background:conic-gradient(from var(--ts-angle), var(--ts-accent), var(--cyan), var(--magenta), var(--orange), var(--ts-accent));filter:blur(18px);opacity:.35;transition:opacity .4s;animation:3.5s linear infinite ts-border;position:absolute;inset:-10px}.ts-more__btn:hover{transform:translateY(-2px)}.ts-more__btn:hover:after,.ts-more__btn:focus-visible:after{opacity:.7}.ts-item[hidden]{display:none}.ts-grid.is-shuffling .ts-item{animation:ts-pop .5s var(--ease) both;animation-delay:calc(min(var(--n), 16) * 28ms)}@keyframes ts-pop{0%{opacity:0;translate:0 14px;scale:.96}}.ts-card{background:linear-gradient(160deg, color-mix(in srgb, var(--brand) 7%, var(--surface)), var(--surface) 55%);border:1px solid var(--line);width:100%;height:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;isolation:isolate;transition:transform .4s var(--ease), border-color .35s, box-shadow .4s;border-radius:18px;flex-direction:column;gap:.8rem;padding:1.1rem;display:flex;position:relative;overflow:hidden}.ts-card:before{content:"";z-index:-1;background:linear-gradient(105deg, transparent 40%, color-mix(in srgb, var(--brand) 18%, transparent) 50%, transparent 60%);transition:translate .9s var(--ease);position:absolute;inset:-40% -60%;translate:-60%}.js .ts-grid:not(.is-in) .ts-card{opacity:0}.ts-grid.is-in .ts-card{animation:ts-card-in .85s var(--ease) both;animation-delay:calc(min(var(--n), 20) * 55ms)}@keyframes ts-card-in{0%{opacity:0;filter:blur(6px);transform:perspective(700px)rotateX(-38deg)translateY(46px)scale(.92)}60%{filter:blur()}}.ts.is-playing .ts-grid.is-in .ts-card:before{animation:9s ease-in-out infinite ts-card-wave;animation-delay:calc(1s + var(--n) * .18s)}@keyframes ts-card-wave{0%{translate:-60%}18%,to{translate:60%}}.ts-card__logo .ts-logo{animation:4.8s ease-in-out infinite ts-logo-float;animation-delay:calc(var(--n) * -.37s);animation-play-state:paused}.ts.is-playing .ts-card__logo .ts-logo{animation-play-state:running}@keyframes ts-logo-float{50%{translate:0 -3px;rotate:-4deg}}@property --ts-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.ts-card:after{content:"";border-radius:inherit;background:conic-gradient(from var(--ts-angle), transparent 0 62%, var(--brand) 78%, #fff 84%, var(--ts-accent) 90%, transparent 100%);opacity:0;pointer-events:none;padding:1.5px;transition:opacity .4s;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.ts-card:hover:after,.ts-card:focus-visible:after{opacity:1;animation:2.4s linear infinite ts-border}@keyframes ts-border{to{--ts-angle:360deg}}.ts-card:hover .ts-card__os{animation:ts-os-pop .5s var(--ease) both}.ts-card:hover .ts-card__os:nth-child(2){animation-delay:50ms}.ts-card:hover .ts-card__os:nth-child(3){animation-delay:.1s}.ts-card:hover .ts-card__os:nth-child(4){animation-delay:.15s}@keyframes ts-os-pop{40%{transform:translateY(-4px)scale(1.2)}}.ts-card:hover,.ts-card:focus-visible{border-color:color-mix(in srgb, var(--brand) 70%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 30%, transparent), 0 18px 40px color-mix(in srgb, var(--brand) 28%, transparent);transform:translateY(-4px)scale(1.025)}.ts-card:hover:before{animation:none;translate:60%}.ts-card__logo{background:color-mix(in srgb, var(--brand) 13%, transparent);width:52px;height:52px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 22%, transparent);transition:transform .5s var(--ease), box-shadow .4s;border-radius:15px;place-items:center;font-size:28px;display:grid}.ts-card:hover .ts-card__logo{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 40%, transparent), 0 0 24px color-mix(in srgb, var(--brand) 45%, transparent);transform:rotate(-6deg)scale(1.1)}.ts-card:hover .ts-card__logo .ts-logo{animation:ts-logo-pulse 1.2s var(--ease)}@keyframes ts-logo-pulse{40%{scale:1.18}}.ts-card__body{gap:.3rem;display:grid}.ts-card__name{font-size:1.02rem;font-weight:700;line-height:1.25}.ts-card__desc{color:var(--text-2);font-size:.86rem;line-height:1.5}.ts-card__meta{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:auto;display:flex}.ts-card__cat{background:color-mix(in srgb, var(--ts-accent) 13%, transparent);color:var(--text-2);border-radius:99px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.ts-card__env{gap:.25rem;margin-left:auto;display:inline-flex}.ts-card__os{background:var(--bg-2,#7f7f7f1a);width:22px;height:22px;color:var(--text-2);border-radius:7px;place-items:center;display:grid}.ts-card__os .icon{width:.8rem;height:.8rem}.ts-card__os--windows{color:#1e90ff}.ts-card__os--linux{color:#f5b400}.ts-card__os--android{color:#3ddc84}.ts-card__os--cloud{color:#089ed7}.ts-card__cross{color:#22c55e;background:#0f9d7424;border-radius:99px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}:root[data-theme=light] .ts-card__cross{color:#15803d}.ts-card__cross .icon{width:.75rem;height:.75rem}.ts-card__tip{background:var(--brand);color:#fff;opacity:0;transition:opacity .3s, translate .35s var(--ease), scale .35s var(--ease);pointer-events:none;text-shadow:0 1px 2px #00000059;border-radius:99px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:.8rem;right:.8rem;translate:0 -6px;scale:.9}.ts-card__tip .icon{width:.75rem;height:.75rem}.ts-card:hover .ts-card__tip,.ts-card:focus-visible .ts-card__tip{opacity:1;translate:0;scale:1}.ts-empty{border:1px dashed var(--line);color:var(--text-2);border-radius:18px;justify-content:center;align-items:center;gap:.5rem;margin:1rem 0 0;padding:1.4rem;display:flex}.ts-empty[hidden]{display:none}.ts-dialog{border:1px solid var(--line);background:var(--surface);width:min(640px,100% - 32px);height:fit-content;max-height:min(86dvh,760px);color:var(--text);border-radius:24px;margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 40px 90px #00000080}.ts-dialog[open]{animation:ts-dialog .45s var(--ease)}@keyframes ts-dialog{0%{opacity:0;translate:0 24px;scale:.96}}.ts-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05080e99}.ts-dialog__close{z-index:2;border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:12px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.ts-dialog__close .icon{width:1.1rem;height:1.1rem}.ts-detail{background:radial-gradient(80% 50% at 0% 0%, color-mix(in srgb, var(--brand) 16%, transparent), transparent);padding:clamp(1.3rem,4vw,2rem)}.ts-detail__head{align-items:center;gap:1rem;margin-bottom:1rem;padding-right:2.6rem;display:flex}.ts-detail__logo{background:color-mix(in srgb, var(--brand) 14%, transparent);width:72px;height:72px;box-shadow:0 0 34px color-mix(in srgb, var(--brand) 35%, transparent);animation:ts-detail-logo .8s var(--ease) both;border-radius:20px;flex:none;place-items:center;font-size:40px;display:grid}@keyframes ts-detail-logo{0%{opacity:0;rotate:-20deg;scale:.6}}.ts-detail__cats{flex-wrap:wrap;gap:.35rem;margin:0 0 .35rem;display:flex}.ts-detail__cats span{background:color-mix(in srgb, var(--ts-accent) 14%, transparent);color:var(--text-2);border-radius:99px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.ts-detail__name{margin:0;font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.15}.ts-detail__about{color:var(--text-2);margin:0 0 1.2rem;line-height:1.7}.ts-detail h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0 0 .55rem;font-size:.78rem}.ts-detail__cols{grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;display:grid}.ts-detail ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.ts-detail li{align-items:flex-start;gap:.5rem;font-size:.92rem;line-height:1.45;display:flex}.ts-detail li .icon{width:1rem;height:1rem;color:var(--brand);flex:none;margin-top:.15rem}.ts-detail__platforms{flex-wrap:wrap;gap:.4rem;margin:0;display:flex}.ts-detail__platform{border:1px solid var(--line);border-radius:99px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.ts-detail__platform .icon{width:.95rem;height:.95rem}.ts-detail__platform--cross{color:#22c55e;border-color:#22c55e66}.ts-combos-wrap{margin-top:clamp(3rem,7vw,5rem)}.ts-combos{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:clamp(1.4rem,4vw,2.2rem) 0 0;padding:0;list-style:none;display:grid}.ts-combo{background:var(--surface);border:1px solid var(--line);transition:transform .4s var(--ease), border-color .35s, box-shadow .4s;border-radius:20px;flex-direction:column;gap:.55rem;padding:1.3rem;display:flex;position:relative}.ts-combo:hover{border-color:var(--ts-accent);box-shadow:0 18px 40px color-mix(in srgb, var(--ts-accent) 24%, transparent);transform:translateY(-4px)scale(1.015)}.ts-combo__logos{align-items:center;gap:.45rem;margin:0 0 .4rem;display:flex}.ts-combo__logo{background:color-mix(in srgb, var(--brand) 13%, transparent);width:50px;height:50px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 24%, transparent);animation:4.6s ease-in-out infinite ts-wave;animation-delay:calc(var(--n) * -.6s);transition:scale .3s var(--ease), box-shadow .3s;border-radius:15px;place-items:center;font-size:27px;animation-play-state:paused;display:grid;position:relative}.ts.is-playing .ts-combo__logo{animation-play-state:running}.ts-combo__logo:hover{box-shadow:inset 0 0 0 1px var(--brand), 0 0 22px color-mix(in srgb, var(--brand) 50%, transparent);scale:1.15}.ts-combo__plus{color:var(--ts-accent);font-size:1.1rem;font-weight:800}.ts-combo__names{margin:0;font-size:1.02rem}.ts-combo__title{color:var(--ts-accent);margin:0;font-size:.88rem;font-weight:700}.ts-combo__text{color:var(--text-2);margin:0 0 .4rem;font-size:.9rem;line-height:1.6}.ts-combo__btn{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:99px;align-self:flex-start;align-items:center;gap:.4rem;margin-top:auto;padding:.5rem .9rem;font-size:.82rem;font-weight:700;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.ts-combo__btn .icon{width:.9rem;height:.9rem}.ts-combo__btn:hover{background:var(--grad);color:#fff;border-color:#0000}.ta{margin-top:clamp(3rem,7vw,5rem)}.ta__layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(1.2rem,4vw,3rem);margin-top:clamp(1.4rem,4vw,2.2rem);display:grid}.ta__diagram{background:radial-gradient(70% 70% at 50% 50%, color-mix(in srgb, var(--ts-accent) 12%, transparent), transparent), linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 30px 30px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 30px 30px, var(--surface);border:1px solid var(--line);border-radius:24px;padding:10px;position:relative}.ta__lines{pointer-events:none;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;inset:10px}.ta__wire,.ta__flow{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round}.ta__wire{stroke:color-mix(in srgb, var(--ts-accent) 30%, var(--line));stroke-width:3px}.ta__flow{stroke:var(--ts-accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:4 22;filter:drop-shadow(0 0 4px var(--ts-accent));animation:1.6s linear infinite paused ta-flow}.ts.is-playing .ta__flow{animation-play-state:running}@keyframes ta-flow{to{stroke-dashoffset:-26px}}.ta__nodes{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.ta__cell{place-items:center;padding:clamp(10px,2vw,22px) 6px;display:grid}.ta__cell--1{grid-area:1/1}.ta__cell--2{grid-area:1/2}.ta__cell--3{grid-area:1/3}.ta__cell--4{grid-area:2/3}.ta__cell--5{grid-area:2/2}.ta__cell--6{grid-area:2/1}.ta__cell--7{grid-area:3/1}.ta__cell--8{grid-area:3/2}.ta__cell--9{grid-area:3/3}.ta__node{border:1px solid var(--line);background:var(--surface);width:min(100%,150px);color:var(--text);font:inherit;cursor:pointer;transition:transform .35s var(--ease), border-color .3s, box-shadow .35s;border-radius:18px;flex-direction:column;align-items:center;gap:.45rem;padding:.85rem .6rem;display:flex;position:relative}.ta__node:hover{border-color:var(--ts-accent);transform:translateY(-3px)scale(1.05)}.ta__node[aria-pressed=true]{border-color:var(--ts-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--ts-accent) 20%, transparent), 0 14px 34px color-mix(in srgb, var(--ts-accent) 30%, transparent)}.ta__step{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:.62rem;font-weight:800;position:absolute;top:6px;left:8px}.ta__icon{background:color-mix(in srgb, var(--ts-accent) 16%, transparent);width:46px;height:46px;color:var(--ts-accent);animation:4.5s ease-out infinite ta-pulse;animation-delay:calc(var(--n) * .5s);border-radius:50%;place-items:center;animation-play-state:paused;display:grid}.ts.is-playing .ta__icon{animation-play-state:running}.ta__icon .icon{width:1.3rem;height:1.3rem}@keyframes ta-pulse{0%,14%,to{box-shadow:0 0 #0000}4%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ts-accent) 60%, transparent);background:var(--ts-accent);color:#fff}12%{box-shadow:0 0 0 14px #0000}}.ta__label{text-align:center;font-size:.8rem;font-weight:700;line-height:1.25}.ta__panel{background:linear-gradient(160deg, color-mix(in srgb, var(--ts-accent) 12%, var(--surface)), var(--surface));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:clamp(1.2rem,3vw,1.8rem);position:relative}.ta__panel.is-swapping>*{animation:ts-pop .45s var(--ease) both}.ta__panel.is-swapping>:nth-child(2){animation-delay:50ms}.ta__panel.is-swapping>:nth-child(3){animation-delay:.1s}.ta__panel.is-swapping>:nth-child(4){animation-delay:.15s}.ta__panel-step{color:var(--text-2);letter-spacing:.06em;align-items:center;gap:.6rem;margin:0 0 .6rem;font-size:.8rem;font-weight:800;display:flex}.ta__panel-step .ta__icon{width:38px;height:38px;animation:none}.ta__panel-title{margin:0 0 .5rem;font-size:clamp(1.2rem,2.4vw,1.5rem)}.ta__panel-text{color:var(--text-2);margin:0 0 1rem;line-height:1.7}.ta__panel-techs{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.ta__panel-techs li{background:var(--surface);border:1px solid color-mix(in srgb, var(--brand) 40%, var(--line));border-radius:99px;align-items:center;gap:.45rem;padding:.4rem .75rem .4rem .45rem;font-size:.84rem;font-weight:600;display:inline-flex}.ta__panel-techs .ts-logo{font-size:20px}.ta__note{color:var(--text-2);justify-content:center;align-items:center;gap:.45rem;margin:1rem 0 0;font-size:.8rem;display:flex}.ta__note .icon{width:.95rem;height:.95rem}@media (width<=900px){.ta__layout,.ts-detail__cols{grid-template-columns:1fr}}@media (width<=640px){.ts-ribbon__item{border-radius:15px;width:52px;height:52px;font-size:26px}.ts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ts-card{border-radius:16px;gap:.55rem;padding:.85rem}.ts-card__logo{border-radius:12px;width:42px;height:42px;font-size:23px}.ts-card__name{font-size:.9rem}.ts-card__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.4;display:-webkit-box;overflow:hidden}.ts-card__cat,.ts-card__tip{display:none}.ts-card__env{margin-left:0}.ts-card__cross{font-size:.6rem}.ta__lines{display:none}.ta__nodes{grid-template-rows:none;grid-template-columns:1fr;gap:12px}.ta__cell{padding:0;position:relative;grid-area:auto!important}.ta__cell:not(:last-child):after{content:"";background:var(--ts-accent);width:3px;height:12px;position:absolute;top:100%;left:50%;translate:-50%}.ta__node{text-align:left;flex-direction:row;width:100%;padding:.7rem .9rem}.ta__step{order:3;margin-left:auto;position:static}.ta__label{text-align:left}.ta__icon{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.ts-more__ring,.ts-more__btn:after{animation:none!important}.ts-grid.is-folded,.ts-grid.is-unfolded{transition:none}.ts *,.ts :before,.ts :after{transition:none!important;animation:none!important}.ts-ribbon__track{flex-wrap:wrap;justify-content:center;width:auto;padding:0 16px}.ts-ribbon__track>:nth-child(n+25){display:none}.ts-ribbon__lane{transform:none}}.ts-search input{border-radius:999px}
