/* TuneSera product pages (prefix ts-, header tsn-). The product brand re-maps the WPSera design tokens. */

/* ---------------- Product brand palette ---------------- */
body.ts-product{
  --ts-purple:#642bff;--ts-purple-2:#8B63FF;--ts-hi:#FFAD52;--ts-pink:#FF6FA8;--ts-green:#1F6B4A;--ts-green-2:#3FB97F;--ts-mint:#E8F3E4;
  --wh-ink:#0B1F18;--wh-deep:#06140E;--wh-lime:#FFAD52;--wh-green:#1F6B4A;--wh-green-2:#3FB97F;
  --wh-mint:#E8F3E4;--wh-soft:#F4F8F4;--wh-line:#E3EDE6;--wh-cream:#FBF7EE;--wh-peach:#FBE7DC;--wh-lavender:#ECEBFA;
  --wh-muted:#4A5D54;--wh-on-dark:#E8F3E4;--wh-on-dark-2:rgba(232,243,228,.78);
  background:var(--wh-deep)
}
body.ts-product .wh-grad{background-image:linear-gradient(100deg,#FFAD52 0%,#FF7FAE 30%,#A98BFF 60%,#FFAD52 85%,#FF7FAE 100%)}
body.ts-product .wh-accent{color:var(--ts-green);background-image:linear-gradient(100deg,rgba(198,242,107,0) 0,rgba(198,242,107,.9) 4%,rgba(198,242,107,.75) 96%,rgba(198,242,107,0) 100%)}
body.ts-product .wh-glow{background:radial-gradient(closest-side,rgba(63,185,127,.22),rgba(100,43,255,.10) 55%,transparent 75%)}
body.ts-product .wh-btn--lime{box-shadow:0 12px 30px -12px rgba(255,173,82,.7)}
body.ts-product .wh-btn--dark{background:var(--ts-green);color:#fff}
body.ts-product .wh-btn--dark:hover{background:#185A3D;color:#fff}
body.ts-product .wh-flink__icon--custom{border-color:rgba(255,173,82,.6)}
body.ts-product .wh-flink-hire span{background:rgba(255,173,82,.16)}
body.ts-product .wh-footer a.wh-totop:hover{box-shadow:0 16px 30px -12px rgba(255,173,82,.75)}
body.ts-product a:focus-visible,body.ts-product button:focus-visible,body.ts-product input:focus-visible{outline-color:var(--ts-hi)!important;box-shadow:0 0 0 6px rgba(63,185,127,.45)!important}

/* ---------------- Product header ---------------- */
.tsn-wrap{position:sticky;top:0;z-index:60;padding:14px 16px 0;background:var(--wh-deep);transition:background-color .3s ease}
body.admin-bar .tsn-wrap{top:32px}
.tsn-wrap.is-stuck{background:transparent;pointer-events:none}
.tsn{pointer-events:auto;max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:9px 10px 9px 12px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(232,243,228,.12);font-family:var(--wh-body);transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}
.tsn-wrap.is-stuck .tsn{background:rgba(9,26,20,.86);border-color:rgba(232,243,228,.14);box-shadow:0 24px 50px -24px rgba(0,0,0,.8);backdrop-filter:blur(14px)}
.tsn__home{display:flex;border-radius:11px;transition:transform .2s ease,opacity .2s ease;opacity:.85}
.tsn__home:hover{opacity:1;transform:scale(1.06)}
.tsn__home img{border-radius:10px}
.tsn__sep{width:1px;height:28px;background:rgba(232,243,228,.22);transform:skewX(-14deg)}
.tsn__brand,.tsn__brand:hover{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.tsn__brand img{border-radius:10px;box-shadow:0 8px 22px -10px rgba(100,43,255,.9)}
.tsn__brand span{display:flex;flex-direction:column;line-height:1.15}
.tsn__brand b{font-family:var(--wh-head);font-size:19px;letter-spacing:-.02em}
.tsn__brand small{font-size:11.5px;color:rgba(232,243,228,.6)}
.tsn__menu{margin-left:auto;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.04)}
.tsn__menu a,.tsn__menu a:hover{padding:9px 16px;border-radius:999px;font-size:14.5px;font-weight:600;color:rgba(232,243,228,.8);text-decoration:none;transition:background-color .2s ease,color .2s ease}
.tsn__menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.tsn__menu a.is-current{background:var(--ts-purple);color:#fff}
.tsn__actions{display:flex;align-items:center;gap:8px;margin-left:8px}
.tsn__free,.tsn__free:hover{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(232,243,228,.22);color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .2s ease}
.tsn__free:hover{background:rgba(255,255,255,.08)}
.tsn__pro,.tsn__pro:hover{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 18px;border-radius:999px;background:linear-gradient(110deg,#FFAD52,#FF7FAE);color:#0B1F18;font-size:14px;font-weight:800;text-decoration:none;box-shadow:0 12px 28px -12px rgba(255,140,120,.8);transition:transform .2s ease}
.tsn__pro:hover{transform:translateY(-2px)}
body.wh-site .tsn__burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid rgba(232,243,228,.22);background:transparent;color:#fff;align-items:center;justify-content:center;cursor:pointer;padding:0}
.tsn-mobile{pointer-events:auto;max-width:1240px;margin:10px auto 0;padding:8px;border-radius:20px;background:#0B1F18;border:1px solid rgba(232,243,228,.12);display:flex;flex-direction:column;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.tsn-mobile[hidden]{display:none}
.tsn-mobile a,.tsn-mobile a:hover{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;color:#E8F3E4;text-decoration:none;font-weight:600}
.tsn-mobile a:hover,.tsn-mobile a[aria-current]{background:rgba(63,185,127,.16)}
.tsn-mobile .wh-icon{color:var(--ts-hi)}
.tsn-mobile__home{margin-top:6px;border-top:1px solid rgba(232,243,228,.1);border-radius:0 0 12px 12px!important;color:rgba(232,243,228,.6)!important}
@media (max-width:1100px){.tsn__brand small{display:none}.tsn__menu a,.tsn__menu a:hover{padding:9px 11px;font-size:14px}}
@media (max-width:960px){
  .tsn__menu,.tsn__free{display:none}
  body.wh-site .tsn__burger{display:inline-flex}
  .tsn__actions{margin-left:auto}
}
@media (max-width:480px){.tsn__pro{padding:0 12px;font-size:13px}.tsn__pro .wh-icon{display:none}.tsn__brand b{font-size:17px}.tsn{gap:10px}}
@media (max-width:782px){body.admin-bar .tsn-wrap{top:46px}}

/* Hero adjustments for the product header */
.ts-hero{padding-top:44px!important}
.ts-hero--page{padding-bottom:140px!important;text-align:center}
.ts-page-hero{max-width:860px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.ts-page-hero .ts-hero__lead{margin-left:auto;margin-right:auto}
.ts-kicker__pro{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:linear-gradient(110deg,#FFAD52,#FF7FAE);color:#0B1F18;font-size:11.5px;font-weight:800}
.ts-float__pro{padding:1px 7px;border-radius:999px;background:var(--ts-purple);color:#fff;font-size:10.5px;font-weight:800}
.ts-dir__local{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding:6px 10px;border-radius:10px;background:#FFF1E2;color:#8A4A0A;font-size:12px;font-weight:700}
.ts-dir__local em{margin-left:auto;font-style:normal;font-size:10.5px;padding:1px 7px;border-radius:999px;background:var(--ts-purple);color:#fff}
.ts-dir__sort{margin-left:auto;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:#E8F3E4;color:#1F6B4A}
.ts-dir__featured{margin:10px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ts-dir__featured>b{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#8A4A0A}
.ts-feat-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 3px;border-radius:999px;background:#fff;border:1px solid #F2D9BD;font-size:11.5px;font-weight:600;animation:ts-in .5s var(--wh-ease) both}
.ts-feat-chip .ts-card__logo{width:22px;height:22px;border-radius:7px}
.ts-player__art{width:36px;height:36px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#642bff,#FF7FAE 60%,#FFAD52);background-size:200% 200%;animation:ts-art 6s ease-in-out infinite alternate;color:rgba(255,255,255,.85)}
.ts-player__icons{display:inline-flex;gap:8px;color:rgba(255,255,255,.7)}
.ts-jumps{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ts-jumps a,.ts-jumps a:hover{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(232,243,228,.16);color:#E8F3E4;font-size:13.5px;font-weight:600;text-decoration:none;transition:background-color .2s ease,transform .2s ease}
.ts-jumps a:hover{background:rgba(139,99,255,.25);transform:translateY(-2px)}
.ts-jumps a .wh-icon{color:var(--ts-hi)}
.ts-jumps em{font-style:normal;padding:1px 6px;border-radius:999px;background:var(--ts-purple);color:#fff;font-size:10px;font-weight:800}
.ts-center{margin-top:30px;display:flex;justify-content:center}
.ts-pricing--hero{margin-top:0!important;padding-top:44px!important;padding-bottom:150px!important}
.ts-sheet--flat{margin-top:-90px}

.ts{background:var(--wh-deep);overflow-x:clip}
.ts code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ts-tone--lav{background:#E6DEFF;color:#4B21C9}
.ts-tone--peach{background:#FFE0D0;color:#9A3F12}
.ts-tone--lime{background:#E4F8BE;color:#3D5A0B}
.ts-tone--mint{background:#D3EEDB;color:#1F6B4A}
.ts-tone--cream{background:#F6ECD3;color:#7A5A12}
.ts-flag{display:inline-block;width:18px;height:12px;border-radius:2.5px;box-shadow:0 0 0 1px rgba(0,0,0,.08);vertical-align:-1px;flex:none}

/* ---------------- Hero ---------------- */
.ts-hero{position:relative;padding:22px 0 150px;color:var(--wh-on-dark);background-color:var(--wh-deep);background-image:linear-gradient(rgba(232,243,228,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(232,243,228,.05) 1px,transparent 1px);background-size:56px 56px;isolation:isolate}
.ts-hero__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ts-hero__bg .wh-glow{top:-300px;background:radial-gradient(closest-side,rgba(63,185,127,.20),rgba(100,43,255,.12) 55%,transparent 75%)}
.ts-hero__rings{position:absolute;right:-180px;top:40px;width:760px;height:760px}
.ts-hero__rings i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,169,77,.12);animation:ts-ring 6s ease-out infinite}
.ts-hero__rings i:nth-child(2){animation-delay:2s}.ts-hero__rings i:nth-child(3){animation-delay:4s}
@keyframes ts-ring{0%{transform:scale(.35);opacity:0}25%{opacity:1}100%{transform:scale(1);opacity:0}}
.ts-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:56px;align-items:center}
.ts-hero .wh-crumbs ol{justify-content:flex-start}
.ts-kicker{margin-top:26px;display:inline-flex;align-items:center;gap:9px;padding:6px 8px 6px 7px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(232,243,228,.16);font-size:13.5px;font-weight:600}
.ts-kicker img{border-radius:7px}
.ts-kicker em{font-style:normal;padding:2px 8px;border-radius:999px;background:var(--wh-lime);color:var(--wh-deep);font-size:11.5px;font-weight:800}
.wh .ts-hero__title{margin:22px 0 0;font-family:var(--wh-head);font-size:clamp(36px,4.3vw,58px);line-height:1.03;letter-spacing:-.04em;font-weight:800;color:#fff}
.wh .ts-hero__lead{margin:22px 0 0;max-width:560px;font-size:clamp(16px,1.6vw,18.5px);line-height:1.65;color:var(--wh-on-dark-2)}
.ts-hero__cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.ts-hero__meta{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--wh-on-dark-2)}
.ts-hero__meta li{display:inline-flex;align-items:center;gap:7px}
.ts-hero__meta .wh-icon{color:var(--wh-lime)}
.ts-hero__art{position:relative}

/* Browser mock */
.ts-browser{position:relative;border-radius:22px;overflow:hidden;background:#F7F8FB;box-shadow:0 50px 100px -40px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.08);color:var(--wh-ink);transform:perspective(1600px) rotateY(-7deg) rotateX(3deg);transition:transform .8s var(--wh-ease)}
.ts-hero__art:hover .ts-browser{transform:perspective(1600px) rotateY(-2deg) rotateX(1deg)}
.ts-browser__bar{display:flex;align-items:center;gap:12px;padding:11px 14px;background:#fff;border-bottom:1px solid #ECEEF3}
.ts-dots{display:flex;gap:5px}.ts-dots i{width:9px;height:9px;border-radius:50%;background:#E3E6EC}
.ts-dots i:first-child{background:#FF6B5B}.ts-dots i:nth-child(2){background:#FFC23D}.ts-dots i:nth-child(3){background:#35C759}
.ts-url{flex:1;display:inline-flex;align-items:center;gap:6px;max-width:300px;margin:0 auto;padding:5px 12px;border-radius:999px;background:#F2F4F7;font-size:11.5px;color:#4B5563}
.ts-dir{padding:16px 16px 6px}
.ts-dir__search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#fff;border:1.5px solid var(--ts-green);box-shadow:0 0 0 4px rgba(31,107,74,.12);font-size:13.5px;color:#6B7280}
.ts-type{color:var(--wh-ink);font-weight:600}
.ts-caret{width:1.5px;height:15px;background:var(--ts-green);animation:sl-blink-ts 1s steps(1) infinite}
@keyframes sl-blink-ts{50%{opacity:0}}
.ts-dir__chips{margin:10px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ts-dir__chips span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid #E5E7EB;font-size:11.5px;font-weight:600;color:#374151}
.ts-dir__chips .is-on{background:#E8F3E4;border-color:#BFE3CC;color:#1F6B4A}
.ts-dir__chips .ts-dir__count{margin-left:auto;border:0;background:none;color:#9CA3AF}
.ts-dir__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ts-card{display:flex;align-items:center;gap:10px;padding:9px;border-radius:13px;background:#fff;border:1px solid #ECEEF3;animation:ts-in .6s var(--wh-ease) both;animation-delay:var(--d)}
@keyframes ts-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ts-card.is-playing{border-color:#BFE3CC;box-shadow:0 8px 20px -12px rgba(31,107,74,.5)}
.ts-card__logo{width:34px;height:34px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center}
.ts-card__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ts-card__txt b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-card__txt small{display:flex;align-items:center;gap:5px;font-size:11px;color:#6B7280}
.ts-card__play{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#F3F4F6;color:#374151}
.ts-card.is-playing .ts-card__play{background:var(--ts-green);color:#fff}
.ts-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px}
.ts-eq i{width:2.5px;height:100%;border-radius:2px;background:currentColor;animation:ts-eq .9s ease-in-out infinite alternate}
.ts-eq i:nth-child(2){animation-delay:-.3s}.ts-eq i:nth-child(3){animation-delay:-.6s}.ts-eq i:nth-child(4){animation-delay:-.15s}
.ts-eq--lg{height:26px;gap:3px}.ts-eq--lg i{width:4px}
@keyframes ts-eq{0%{transform:scaleY(.25)}100%{transform:scaleY(1)}}
.ts-eq i{transform-origin:bottom}

/* Sticky player mock */
.ts-player{display:flex;align-items:center;gap:12px;margin:10px;padding:9px 12px;border-radius:16px;background:#0B1F18;color:#fff;box-shadow:0 18px 40px -20px rgba(6,20,14,.8)}
.ts-player__logo{width:36px;height:36px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center}
.ts-player__now{min-width:0;flex:0 1 190px;display:flex;flex-direction:column;gap:2px}
.ts-player__now b{font-size:12.5px}
.ts-player__now small{font-size:11px;color:rgba(255,255,255,.65)}
.ts-marquee{display:block;overflow:hidden;white-space:nowrap;font-size:11px;color:#B5D9C3;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ts-marquee span{display:inline-block;animation:ts-marq 12s linear infinite}
@keyframes ts-marq{to{transform:translateX(-50%)}}
.ts-player__ctrl{display:inline-flex;align-items:center;gap:9px;color:rgba(255,255,255,.8)}
.ts-player__pp{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--wh-lime);color:#0B1F18}
.ts-wave{flex:1;display:flex;align-items:center;gap:2px;height:26px;min-width:40px}
.ts-wave i{flex:1;max-width:4px;height:100%;border-radius:3px;background:linear-gradient(var(--ts-hi),#8B63FF);transform:scaleY(.3);animation:ts-wave 1.2s ease-in-out infinite alternate;animation-delay:calc(var(--k) * -97ms)}
@keyframes ts-wave{0%{transform:scaleY(.15)}50%{transform:scaleY(.8)}100%{transform:scaleY(.35)}}
.ts-wave--dark i{background:linear-gradient(var(--ts-purple),var(--ts-hi))}
.ts-wave--sm{height:22px}
.ts-player__live{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:rgba(255,92,92,.16);color:#FF8A80;font-size:10.5px;font-weight:800;letter-spacing:.08em}
.ts-player__live i{width:6px;height:6px;border-radius:50%;background:#FF5C5C;animation:sl-blink-ts 1.2s ease-in-out infinite}
.ts-float{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;background:#fff;color:var(--wh-ink);font-size:13px;font-weight:700;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);animation:ts-float 5s ease-in-out infinite}
.ts-float .wh-icon{color:var(--ts-green)}
.ts-float b{color:var(--ts-green)}
.ts-float--a{left:-34px;bottom:-18px}
.ts-float--b{right:-16px;top:-16px;background:var(--wh-lime);animation-delay:-1.6s}
.ts-float--b b{color:var(--wh-deep)}
.ts-float--c{right:24px;bottom:-20px;animation-delay:-3.2s}
@keyframes ts-float{0%,100%{translate:0 0}50%{translate:0 -10px}}

/* Proof strip */
.ts-proof{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:24px;border:1px solid rgba(232,243,228,.14);background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}
.ts-proof li{display:flex;flex-direction:column;gap:4px;padding:22px 26px}
.ts-proof li+li{border-left:1px solid rgba(232,243,228,.1)}
.ts-proof strong{font-family:var(--wh-head);font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1}
.ts-proof__icon{color:var(--wh-lime)!important;height:36px;display:flex;align-items:center}
.ts-proof li>span{font-size:14px;color:var(--wh-on-dark-2)}

/* ---------------- Sheet + subnav ---------------- */
.ts-sheet{position:relative;margin-top:-90px;background:#fff;border-radius:40px 40px 0 0;padding-bottom:40px}
.ts-subnav{position:sticky;top:94px;z-index:30;display:flex;justify-content:center;padding:18px 16px 0;pointer-events:none}
body.admin-bar .ts-subnav{top:126px}
.ts-subnav__in{pointer-events:auto;display:flex;align-items:center;gap:4px;max-width:100%;padding:6px 6px 6px 10px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid var(--wh-line);box-shadow:0 18px 40px -26px rgba(11,31,24,.5);backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none}
.ts-subnav__in::-webkit-scrollbar{display:none}
.ts-subnav__brand{display:inline-flex;align-items:center;gap:8px;padding-right:10px;margin-right:4px;border-right:1px solid var(--wh-line);font-size:14px;white-space:nowrap}
.ts-subnav__brand img{border-radius:7px}
.ts-subnav__links{display:flex;gap:2px}
.ts-subnav__links a{padding:8px 13px;border-radius:999px;font-size:13.5px;font-weight:600;color:#4A5C53;text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease}
.ts-subnav__links a:hover{background:var(--wh-soft);color:var(--wh-ink)}
.ts-subnav__links a.is-active{background:var(--wh-ink);color:var(--wh-lime)}
.ts-subnav__cta{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:8px 14px;border-radius:999px;background:var(--wh-lime);color:var(--wh-deep);font-size:13.5px;font-weight:700;text-decoration:none;white-space:nowrap}

/* ---------------- Sections ---------------- */
.ts-sec{padding-top:110px;scroll-margin-top:150px}
.ts-sec--tight{padding-top:90px}
[id="how"],[id="tour"],[id="features"],[id="pro"],[id="compare"],[id="pricing"],[id="faq"],[id="catalog"],[id="analytics"],[id="curate"]{scroll-margin-top:150px}
.ts-head{max-width:700px;margin:0 auto 48px;text-align:center}
.ts .wh-h2{font-size:clamp(32px,4.2vw,52px)}
.ts-head--light .wh-sub{color:var(--wh-on-dark-2)}

/* How it works */
.ts-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative}
.ts-step{position:relative;padding:18px 18px 24px;border-radius:26px;background:var(--wh-soft);border:1px solid var(--wh-line)}
.ts-step__art{height:150px;border-radius:18px;background:#fff;border:1px solid var(--wh-line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;overflow:hidden;position:relative}
.ts-step__n{position:absolute;top:150px;left:30px;width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--wh-ink);color:var(--wh-lime);font-family:var(--wh-head);font-weight:800;box-shadow:0 0 0 6px var(--wh-soft)}
.ts .ts-step h3{margin:34px 0 0;font-size:20px}
.ts .ts-step p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--wh-muted)}
.ts-step code{font-size:.86em;padding:1px 6px;border-radius:6px;background:#fff;border:1px solid var(--wh-line)}
.ts-plug{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:14px;border:1px solid var(--wh-line)}
.ts-plug img{border-radius:9px}
.ts-plug span{flex:1;min-width:0;display:flex;flex-direction:column}
.ts-plug b{font-size:13px}.ts-plug small{font-size:11px;color:#6A7C73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-toggle{width:34px;height:20px;flex:none;border-radius:999px;background:#D7DED9;position:relative;transition:background-color .3s ease}
.ts-toggle i{position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .35s var(--wh-ease)}
.ts-plug__ok{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--wh-mint);color:var(--wh-green);font-size:12px;font-weight:700;opacity:0;transform:translateY(6px);transition:opacity .4s ease .6s,transform .4s ease .6s}
.is-in .ts-toggle{background:var(--wh-green-2);transition-delay:.3s}
.is-in .ts-toggle i{transform:translateX(14px);transition-delay:.3s}
.is-in .ts-plug__ok{opacity:1;transform:none}
.ts-wiz{display:flex;gap:4px;width:100%}
.ts-wiz span{flex:1;padding:6px 0;border-radius:8px;background:var(--wh-soft);text-align:center;font-size:11px;font-weight:700;color:#7A8A82}
.ts-wiz .is-done{background:var(--wh-mint);color:var(--wh-green)}
.ts-wiz .is-cur{background:var(--wh-ink);color:var(--wh-lime)}
.ts-wiz__bar{width:100%;height:6px;border-radius:9px;background:var(--wh-soft);overflow:hidden}
.ts-wiz__bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--wh-green-2),var(--wh-lime));transition:width 1.4s var(--wh-ease) .3s}
.is-in .ts-wiz__bar i{width:68%}
.ts-art-wizard small{font-size:11.5px;color:#6A7C73}
.ts-art-import{align-items:stretch!important}
.ts-imp{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}
.ts-imp span{width:62px}
.ts-imp em{flex:1;height:7px;border-radius:9px;background:var(--wh-soft);overflow:hidden}
.ts-imp em i{display:block;height:100%;width:0;border-radius:9px;background:var(--wh-green-2);transition:width 1.6s var(--wh-ease)}
.is-in .ts-imp em i{width:var(--w)}
.ts-imp:nth-child(2) em i{transition-delay:.25s}.ts-imp:nth-child(3) em i{transition-delay:.5s}
.ts-mini{position:relative;width:100%;height:76px;padding:10px;border-radius:12px;border:1px solid var(--wh-line);display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-content:end}
.ts-mini i{height:30px;border-radius:7px;background:var(--wh-soft)}
.ts-mini b{grid-column:1/-1;height:10px;border-radius:5px;background:#0B1F18}
.ts-mini__live{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:999px;background:var(--wh-green-2);color:#fff;font-size:10.5px;font-weight:800;transform:scale(0);transition:transform .5s cubic-bezier(.2,1.6,.4,1) .5s}
.is-in .ts-mini__live{transform:scale(1)}
.ts-art-publish code{font-size:11.5px;padding:3px 8px;border-radius:7px;background:var(--wh-ink);color:var(--wh-lime)}

/* ---------------- Tour ---------------- */
.ts-tour-wrap{margin-top:110px;padding:100px 0;background:var(--wh-ink);color:var(--wh-on-dark);background-image:radial-gradient(circle at 15% 0,rgba(63,185,127,.16),transparent 45%),radial-gradient(circle at 90% 100%,rgba(255,169,77,.12),transparent 45%)}
.ts-tour{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.ts-tour__tabs{display:flex;flex-direction:column;gap:8px}
body.wh-site .ts-tab{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:18px;border:1px solid rgba(232,243,228,.1);background:rgba(255,255,255,.03);color:var(--wh-on-dark);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:background-color .25s ease,border-color .25s ease}
body.wh-site .ts-tab:hover{background:rgba(255,255,255,.07)}
body.wh-site .ts-tab[aria-selected="true"]{background:#fff;border-color:#fff;color:var(--wh-ink)}
.ts-tab__icon{width:40px;height:40px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:var(--wh-lime)}
.ts-tab[aria-selected="true"] .ts-tab__icon{background:var(--wh-ink)}
.ts-tab__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ts-tab__txt b{font-size:15px}
.ts-tab__txt b em{font-style:normal;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--ts-purple);color:#fff;font-size:10.5px;vertical-align:2px}
.ts-tab__txt small{font-size:12.5px;color:rgba(232,243,228,.6)}
.ts-tab[aria-selected="true"] .ts-tab__txt small{color:#5A6C63}
.ts-tab__prog{position:absolute;left:0;bottom:0;height:3px;width:100%;background:transparent}
.ts-tab__prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--wh-green-2),var(--wh-lime))}
.ts-tab[aria-selected="true"] .ts-tab__prog i{animation:ts-prog var(--ts-dur,7s) linear forwards}
.ts-tour.is-paused .ts-tab__prog i{animation-play-state:paused}
@keyframes ts-prog{to{width:100%}}
.ts-tour__stage{position:relative;min-height:520px}
.ts-panel{animation:ts-panel .5s var(--wh-ease)}
.ts-panel[hidden]{display:none}
@keyframes ts-panel{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.ts .ts-cap{margin:16px 0 0;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;color:var(--wh-on-dark-2)}
.ts-cap .wh-icon{flex:none;margin-top:2px;color:var(--wh-lime)}
body.wh-site .ts-tour__pause{position:absolute;right:12px;top:-52px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid rgba(232,243,228,.2);background:transparent;color:var(--wh-on-dark-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.ts-tour__pause:hover{color:#fff}
.ts-app{border-radius:22px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);min-height:440px}
.ts-app--light{background:#F7F8FB;color:var(--wh-ink)}
.ts-app--dark{background:#121826;color:#E5E7EB}
.ts-app small{color:#6B7280}

/* Tour: directory */
.ts-panel .ts-app--light:not(.ts-app--station):not(.ts-app--imp):not(.ts-app--set){display:grid;grid-template-columns:190px minmax(0,1fr)}
.ts-app__side{padding:18px 12px;background:#fff;border-right:1px solid #ECEEF3;display:flex;flex-direction:column;gap:3px}
.ts-app__lbl{margin:6px 8px 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9CA3AF}
.ts-app__lbl+.ts-side__row{margin-top:0}
.ts-side__row{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;font-size:13px;font-weight:600;color:#374151}
.ts-side__row.is-on{background:#E8F3E4;color:#1F6B4A}
.ts-side__row .wh-icon{color:#9CA3AF}
.ts-app__main{padding:18px}
.ts-app__tools{display:flex;flex-wrap:wrap;gap:8px}
.ts-field{flex:1;min-width:150px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;background:#fff;border:1px solid #E5E7EB;font-size:13px;color:#9CA3AF}
.ts-select{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:11px;background:#fff;border:1px solid #E5E7EB;font-size:13px;font-weight:600;color:#374151}
.ts-view{display:inline-flex;padding:3px;border-radius:11px;background:#fff;border:1px solid #E5E7EB}
.ts-view b{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#9CA3AF}
.ts-view b.is-on{background:var(--ts-green);color:#fff}
.ts-app__chips{margin:12px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ts-app__chips span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#E8F3E4;color:#1F6B4A;font-size:12px;font-weight:600}
.ts-app__chips a,.ts-app__chips .ts-reset{font-size:12px;font-weight:600;color:var(--ts-green)}
.ts-app__chips em{margin-left:auto;font-style:normal;font-size:12px;color:#6B7280}
.ts-rows{display:flex;flex-direction:column;gap:7px}
.ts-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:13px;background:#fff;border:1px solid #ECEEF3;animation:ts-in .5s var(--wh-ease) both;animation-delay:var(--d);transition:border-color .2s ease,transform .2s ease}
.ts-row:hover{border-color:#BFE3CC;transform:translateX(3px)}
.ts-row__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ts-row__t b{font-size:13.5px}
.ts-row__t small{display:flex;align-items:center;gap:6px;font-size:11.5px}
.ts-row__play{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#EEF6EC;color:var(--ts-green)}
.ts-pager{margin-top:12px;display:flex;gap:5px;justify-content:center}
.ts-pager b,.ts-pager span{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#fff;border:1px solid #E5E7EB;color:#374151}
.ts-pager b{background:var(--ts-green);border-color:var(--ts-green);color:#fff}

/* Tour: station */
.ts-app--station{padding:22px}
.ts-st__head{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid #ECEEF3}
.ts-st__logo{width:76px;height:76px;flex:none;border-radius:22px;display:flex;align-items:center;justify-content:center}
.ts-st__head>div{flex:1;min-width:0}
.ts-crumb{font-size:11.5px!important}
.ts .ts-st__head h4{margin:4px 0 0;font-family:var(--wh-head);font-size:24px;letter-spacing:-.02em}
.ts .ts-st__head p{margin:2px 0 0;font-size:13.5px;color:#6B7280}
.ts-tags{margin-top:8px;display:flex;gap:5px}
.ts-tags em{font-style:normal;padding:3px 9px;border-radius:999px;background:#EEF6EC;color:#1F6B4A;font-size:11.5px;font-weight:600}
.ts-st__btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:999px;background:var(--ts-green);color:#fff;font-size:13px;font-weight:700;white-space:nowrap}
.ts-st__grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ts-onair{grid-row:span 2;padding:16px;border-radius:18px;background:#0B1F18;color:#fff;display:flex;flex-direction:column;gap:14px}
.ts-onair__lbl{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:3px 10px;border-radius:999px;background:rgba(255,92,92,.16);color:#FF8A80;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ts-onair__lbl i{width:7px;height:7px;border-radius:50%;background:#FF5C5C;animation:sl-blink-ts 1.2s ease-in-out infinite}
.ts-onair__song{display:flex;align-items:center;gap:12px}
.ts-onair__art{width:58px;height:58px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ts-purple),#E0447C);color:#fff}
.ts-song{display:flex;flex-direction:column;gap:3px;min-width:0}
.ts-song b{font-size:16px;transition:opacity .3s ease,transform .3s ease}
.ts-song b.is-out{opacity:0;transform:translateY(-6px)}
.ts-onair .ts-song small{color:rgba(255,255,255,.6)}
.ts-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ts-info span{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:12px;background:#fff;border:1px solid #ECEEF3}
.ts-info small{font-size:10.5px!important;text-transform:uppercase;letter-spacing:.06em}
.ts-info b{font-size:12.5px}
.ts-share,.ts-related{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #ECEEF3}
.ts-share small,.ts-related small{width:100%;font-size:11px!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ts-share span{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#F3F4F6;color:#374151;transition:transform .2s ease,background-color .2s ease}
.ts-share span:hover{transform:translateY(-3px);background:#E8F3E4;color:var(--ts-green)}
.ts-related>span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:#F7F8FB;font-size:12px;font-weight:600}
.ts-related .ts-card__logo{width:24px;height:24px;border-radius:7px}

/* Tour: player */
.ts-player-demo{position:relative;min-height:440px;border-radius:22px;background:#F7F8FB;overflow:hidden;padding:26px 26px 110px}
.ts-pages{position:relative;height:300px}
.ts-page{position:absolute;inset:0;padding:18px;border-radius:16px;background:#fff;border:1px solid #ECEEF3;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:start;animation:ts-pageswap 9s infinite}
.ts-page i{height:70px;border-radius:12px;background:#F1EDFF}
.ts-page b{grid-column:1/-1;height:12px;border-radius:6px;background:#ECEEF3}
.ts-page:nth-child(2){animation-delay:3s}.ts-page:nth-child(2) i{background:#FFE9DE}
.ts-page:nth-child(3){animation-delay:6s}.ts-page:nth-child(3) i{background:#E1F5E8}
@keyframes ts-pageswap{0%{opacity:0;transform:translateX(40px)}5%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateX(-40px)}}
.ts-player--big{position:absolute;left:26px;right:26px;bottom:26px;margin:0;padding:12px 16px}
.ts-player--big .ts-player__now{flex:1}
.ts-status{display:inline-flex;align-items:center;gap:6px}
.ts-status i{width:7px;height:7px;border-radius:50%;background:var(--wh-green-2);box-shadow:0 0 0 3px rgba(63,185,127,.25)}
.ts-vol{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.8)}
.ts-vol em{width:80px;height:5px;border-radius:9px;background:rgba(255,255,255,.18);overflow:hidden}
.ts-vol em i{display:block;width:65%;height:100%;background:var(--wh-lime);animation:ts-vol 4s ease-in-out infinite alternate}
@keyframes ts-vol{from{width:40%}to{width:80%}}
.ts-player__ext{display:inline-flex;gap:8px;color:rgba(255,255,255,.6)}
.ts-lock{position:absolute;right:30px;top:24px;width:190px;height:250px;padding:16px 12px;border-radius:28px;background:linear-gradient(160deg,#16402F,#0B1F18);box-shadow:0 30px 60px -30px rgba(6,20,14,.9),inset 0 0 0 5px #0B0920;color:#fff;text-align:center}
.ts-lock__time{display:block;margin-top:14px;font-family:var(--wh-head);font-size:40px;font-weight:700;letter-spacing:-.03em}
.ts-lock__card{margin-top:22px;padding:10px;border-radius:16px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);display:grid;grid-template-columns:auto 1fr;gap:8px;text-align:left;align-items:center}
.ts-lock__card b{display:block;font-size:12px}.ts-lock__card small{font-size:10px;color:rgba(255,255,255,.65)}
.ts-lock__card .ts-card__logo{width:30px;height:30px}
.ts-lock__c{grid-column:1/-1;display:flex;justify-content:center;gap:16px;color:#fff}

/* Tour: imports */
.ts-app--imp{padding:22px}
.ts-imp__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ts-imp__head>b{font-family:var(--wh-head);font-size:20px}
.ts-imp__state{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;background:#E1F5E8;color:var(--wh-green);font-size:12px;font-weight:700}
.ts-imp__state i{width:7px;height:7px;border-radius:50%;background:var(--wh-green-2);animation:sl-blink-ts 1.4s ease-in-out infinite}
.ts-imp__btns{margin-left:auto;display:flex;gap:6px}
.ts-imp__btns em{font-style:normal;display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;background:#fff;border:1px solid #E5E7EB;font-size:12px;font-weight:600}
.ts-imp__total{margin:18px 0;display:flex;align-items:center;gap:16px;padding:16px;border-radius:16px;background:#fff;border:1px solid #ECEEF3}
.ts-imp__bar{flex:1;height:12px;border-radius:9px;background:#EFF1F5;overflow:hidden}
.ts-imp__bar i{display:block;height:100%;width:var(--ts-p,0%);border-radius:9px;background:linear-gradient(90deg,var(--ts-purple),var(--ts-hi));background-size:200% 100%;animation:ts-shimmer 2s linear infinite;transition:width .4s linear}
@keyframes ts-shimmer{to{background-position:-200% 0}}
.ts-imp__meta{display:flex;flex-direction:column;align-items:flex-end;min-width:150px}
.ts-imp__meta b{font-family:var(--wh-head);font-size:26px}
.ts-imp__meta small{font-size:11.5px}
.ts-imp__list{display:flex;flex-direction:column;gap:7px}
.ts-imp__row{display:grid;grid-template-columns:auto 110px 1fr 84px;align-items:center;gap:12px;padding:10px 14px;border-radius:13px;background:#fff;border:1px solid #ECEEF3;font-size:13px;font-weight:600}
.ts-imp__row em{height:7px;border-radius:9px;background:#EFF1F5;overflow:hidden}
.ts-imp__row em i{display:block;height:100%;width:var(--w);border-radius:9px;background:var(--wh-green-2)}
.ts-imp__row.is-importing em i{background:var(--ts-green)}
@keyframes ts-grow{from{width:30%}to{width:90%}}
.ts-imp__row small{justify-self:end;font-size:11.5px;font-weight:700}
.ts-imp__row.is-done small{color:var(--wh-green)}
.ts-imp__row.is-importing small{color:var(--ts-green)}
.ts-imp__foot{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12.5px;color:#4B5563}
.ts-imp__foot span{display:inline-flex;align-items:center;gap:6px}

/* Tour: settings */
.ts-app--set{display:grid;grid-template-columns:180px minmax(0,1fr)}
.ts-set__tabs{padding:16px 10px;background:#fff;border-right:1px solid #ECEEF3;display:flex;flex-direction:column;gap:2px}
.ts-set__tabs span{padding:8px 10px;border-radius:9px;font-size:13px;font-weight:600;color:#4B5563}
.ts-set__tabs .is-on{background:#E8F3E4;color:#1F6B4A}
.ts-set__body{padding:20px;display:flex;flex-direction:column;gap:10px}
.ts-set__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #ECEEF3;font-size:13.5px}
.ts-swatches{display:flex;gap:7px}
.ts-swatches i,.ts-swatches button{width:24px;height:24px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px #fff,0 0 0 3px #E5E7EB;transition:box-shadow .2s ease,transform .2s ease;border:0;padding:0;cursor:pointer}
.ts-swatches .is-on,.ts-swatches [aria-checked="true"]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--c);transform:scale(1.08)}
.ts-seg{display:inline-flex;padding:3px;border-radius:10px;background:#F3F4F6}
.ts-seg em{font-style:normal;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;color:#6B7280}
.ts-seg .is-on{background:#fff;color:var(--wh-ink);box-shadow:0 2px 6px -3px rgba(0,0,0,.3)}
.ts-saved{display:inline-flex;align-items:center;gap:5px;color:var(--wh-green);font-size:12.5px;font-weight:700}
.ts-preview{margin-top:6px;padding:16px;border-radius:16px;border:1.5px dashed #D1D5DB;--acc:#642bff}
.ts-preview>small{display:block;margin-bottom:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ts-preview__card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:#fff;box-shadow:0 10px 26px -18px rgba(0,0,0,.4);border-top:3px solid var(--acc);transition:border-color .4s ease}
.ts-preview__card>span:nth-child(2){flex:1;display:flex;flex-direction:column}
.ts-preview__card b{font-size:13.5px}
.ts-preview__logo{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 14%,#fff);color:var(--acc);transition:all .4s ease}
.ts-preview__btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;background:var(--acc);color:#fff;font-size:12px;font-weight:700;transition:background-color .4s ease}

/* Tour: analytics */
.ts-app--ana{padding:20px}
.ts-ana__tabs{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.ts-ana__tabs span{padding:7px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:#9CA3AF}
.ts-ana__tabs .is-on{background:rgba(255,169,77,.14);color:var(--wh-lime)}
.ts-ana__tabs em{margin-left:auto;font-style:normal;padding:3px 9px;border-radius:999px;background:rgba(255,209,102,.14);color:#FFD166;font-size:11px;font-weight:700}
.ts-kpis{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ts-kpi{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.ts-kpi small{font-size:11.5px;color:#9CA3AF!important}
.ts-kpi em{font-style:normal;font-size:11px;color:#6EE7A8}
.ts-bars{display:flex;align-items:flex-end;gap:3px;height:28px}
.ts-bars i{flex:1;border-radius:3px;background:linear-gradient(var(--wh-lime),var(--wh-green-2));animation:ts-bars 2.4s ease-in-out infinite alternate}
.ts-bars i:nth-child(1){height:40%}.ts-bars i:nth-child(2){height:65%;animation-delay:-.4s}.ts-bars i:nth-child(3){height:50%;animation-delay:-.8s}.ts-bars i:nth-child(4){height:85%;animation-delay:-1.2s}.ts-bars i:nth-child(5){height:100%;animation-delay:-1.6s}
@keyframes ts-bars{from{transform:scaleY(.6)}to{transform:scaleY(1)}}
.ts-bars i{transform-origin:bottom}
.ts-ana__chart{margin-top:14px;height:170px;padding:12px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.ts-ana__chart svg{width:100%;height:100%}
.ts-area{fill:url(#none);fill:rgba(255,169,77,.12)}
.ts-line{fill:none;stroke:var(--wh-lime);stroke-width:2.5;stroke-dasharray:600;stroke-dashoffset:600;vector-effect:non-scaling-stroke}
.ts-line--prev{stroke:#6B7280;stroke-width:1.5;stroke-dasharray:4 4;stroke-dashoffset:0;opacity:.7}
.ts-panel.is-active .ts-line:not(.ts-line--prev){animation:ts-draw 2.2s var(--wh-ease) forwards}
@keyframes ts-draw{to{stroke-dashoffset:0}}
.ts-ana__live{margin-top:12px;display:flex;align-items:center;gap:10px;font-size:13px}
.ts-ana__live small{color:#9CA3AF!important}
.ts-live-dot{position:relative;width:10px;height:10px;border-radius:50%;background:#FF5C5C}
.ts-live-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #FF5C5C;animation:ts-pulse 1.6s ease-out infinite}
@keyframes ts-pulse{from{transform:scale(.5);opacity:1}to{transform:scale(1.8);opacity:0}}

/* ---------------- Free features ---------------- */
.ts-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ts-feat{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:28px;background:#fff;border:1px solid var(--wh-line);transition:transform .35s var(--wh-ease),box-shadow .35s ease}
.ts-feat:hover{transform:translateY(-6px);box-shadow:0 30px 60px -38px rgba(11,31,24,.5)}
.ts-feat--wide{grid-column:span 2}
.ts-feat__art{height:130px;margin-bottom:6px;border-radius:18px;background:var(--wh-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;padding:14px}
.ts-feat__icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center}
.ts .ts-feat h3{margin:4px 0 0;font-size:21px}
.ts .ts-feat p{margin:0;font-size:15px;line-height:1.6;color:var(--wh-muted)}
@keyframes ts-breathe{50%{box-shadow:0 0 0 14px rgba(255,169,77,.05)}}
.is-in .ts-ring-fill{stroke-dashoffset:0}
@keyframes ts-hop{0%,70%,100%{transform:none}80%{transform:translateY(-8px)}}
.ts-more{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ts-more li{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:var(--wh-soft);border:1px solid var(--wh-line);font-size:13.5px;font-weight:600;color:#34483E}
.ts-more .wh-icon{color:var(--wh-green-2)}


/* ---------------- Pro ---------------- */
.ts-pro{margin-top:110px;padding:100px 0 40px;background:linear-gradient(180deg,#F5F1FF 0%,#fff 100%);scroll-margin-top:150px}
.ts-pro-badge{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:6px 14px;border-radius:999px;background:var(--ts-purple);color:#fff;font-size:13px;font-weight:700}
.ts-pro .wh-accent{color:var(--ts-purple);background-image:linear-gradient(100deg,rgba(255,169,77,0) 0,rgba(255,169,77,.9) 4%,rgba(255,169,77,.75) 96%,rgba(255,169,77,0) 100%)}
.ts-spot{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;padding:56px 0}
.ts-spot+.ts-spot{border-top:1px solid #E3EDE6}
.ts-spot--flip .ts-spot__copy{order:2}
.ts-spot__n{display:inline-block;padding:4px 12px;border-radius:999px;background:#E8F3E4;color:#1F6B4A;font-size:12.5px;font-weight:800;letter-spacing:.04em}
.ts .ts-spot h3{margin:14px 0 0;font-family:var(--wh-head);font-size:clamp(28px,3vw,38px);line-height:1.08;letter-spacing:-.03em}
.ts .ts-spot__copy>p{margin:14px 0 0;font-size:16.5px;line-height:1.65;color:var(--wh-muted)}
.ts-ticks{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.ts-ticks li{display:flex;gap:10px;font-size:15px;line-height:1.5}
.ts-ticks .wh-icon{flex:none;margin-top:2px;width:22px;height:22px;padding:4px;border-radius:7px;background:#E8F3E4;color:var(--ts-green)}
.ts-switch{margin-top:22px;display:inline-flex;padding:4px;border-radius:999px;background:#fff;border:1px solid #DCE9DF}
body.wh-site .ts-switch button{padding:8px 20px;border:0;border-radius:999px;background:transparent;font:inherit;font-weight:700;font-size:14px;color:#6B7280;cursor:pointer;transition:background-color .25s ease,color .25s ease}
body.wh-site .ts-switch [aria-pressed="true"]{background:var(--ts-green);color:#fff}
.ts-catnum{margin-top:16px;display:flex;gap:28px}
.ts-catnum span{display:flex;flex-direction:column}
.ts-catnum b{font-family:var(--wh-head);font-size:40px;letter-spacing:-.04em;color:var(--ts-green);line-height:1}
.ts-catnum small{font-size:13.5px;color:var(--wh-muted)}
.ts-globe-wrap{position:relative;display:flex;justify-content:center}
.ts-globe{position:relative;width:min(380px,100%);aspect-ratio:1}
.ts-globe svg{width:100%;height:100%;animation:ts-spin 60s linear infinite}
@keyframes ts-spin{to{transform:rotate(360deg)}}
.ts-globe__sea{fill:#0B1F18}
.ts-globe__grid ellipse,.ts-globe__grid line{fill:none;stroke:rgba(139,99,255,.28);stroke-width:.6}
.ts-globe__dots circle{fill:var(--wh-lime);transition:opacity .6s ease,fill .6s ease;animation:ts-twinkle 2.4s ease-in-out infinite;animation-delay:var(--d)}
@keyframes ts-twinkle{50%{opacity:.35}}
[data-mode="free"] .ts-globe__dots .is-pro{opacity:.08;animation:none}
.ts-globe__pulse{position:absolute;left:50%;top:50%;width:40%;height:40%;margin:-20% 0 0 -20%;border-radius:50%;border:2px solid rgba(255,169,77,.5);animation:ts-pulse 3s ease-out infinite;pointer-events:none}
.ts-picker{position:absolute;right:0;bottom:6%;width:210px;padding:14px;border-radius:18px;background:#fff;box-shadow:0 30px 60px -30px rgba(6,20,14,.6);display:flex;flex-direction:column;gap:6px}
.ts-picker>b{font-size:13.5px;margin-bottom:4px}
.ts-picker>span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:5px 6px;border-radius:9px}
.ts-picker>span em{width:16px;height:16px;flex:none;border-radius:5px;border:1.5px solid #D1D5DB;display:flex;align-items:center;justify-content:center}
.ts-picker .is-on em{background:var(--ts-green);border-color:var(--ts-green);color:#fff}
.ts-picker__btn{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:10px;background:var(--wh-ink);color:var(--wh-lime);font-style:normal;font-size:12.5px;font-weight:700}
.ts-privacy{margin:20px 0 0!important;display:flex;gap:12px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #DCE9DF;font-size:14px!important;line-height:1.55}
.ts-privacy .wh-icon{flex:none;color:var(--wh-green-2);margin-top:2px}
.ts-dash{padding:18px;border-radius:24px;background:#121826;color:#E5E7EB;box-shadow:0 40px 80px -40px rgba(6,20,14,.8)}
.ts-dash__top{display:flex;align-items:center;gap:10px;font-size:13px}
.ts-dash__top b{font-size:15px;color:#fff}
.ts-dash__top span{color:#9CA3AF}
.ts-dash__top em{margin-left:auto;font-style:normal;padding:2px 9px;border-radius:999px;background:rgba(255,209,102,.14);color:#FFD166;font-size:11px;font-weight:700}
.ts-dash__kpis{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ts-dash__kpis span{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04)}
.ts-dash__kpis small{font-size:11.5px;color:#9CA3AF}
.ts-skel{height:16px;width:70%;border-radius:6px;background:linear-gradient(90deg,rgba(255,169,77,.5),rgba(139,99,255,.6));background-size:200% 100%;animation:ts-shimmer 3s linear infinite}
.ts-dash__kpis em{position:absolute;right:10px;top:10px;font-style:normal;font-size:11px;color:#6EE7A8}
.ts-dash__chart{margin-top:12px;height:120px;display:flex;align-items:flex-end;gap:5px;padding:12px;border-radius:14px;background:rgba(255,255,255,.03)}
.ts-dash__chart i{flex:1;height:var(--h);border-radius:5px 5px 2px 2px;background:linear-gradient(var(--ts-purple-2),rgba(139,99,255,.25));transform-origin:bottom;transform:scaleY(0);transition:transform .8s var(--wh-ease);transition-delay:calc(var(--k) * 50ms)}
.is-in .ts-dash__chart i{transform:scaleY(1)}
.ts-dash__chart i:nth-child(n+11){background:linear-gradient(var(--wh-lime),rgba(255,169,77,.25))}
.ts-dash__rows{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.ts-dash__rows span{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.04);font-size:13px}
.ts-dash__rows b{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:rgba(255,169,77,.14);color:var(--wh-lime);font-size:11.5px}
.ts-dash__rows svg{margin-left:auto;width:60px;height:16px}
.ts-dash__rows polyline{fill:none;stroke:var(--wh-lime);stroke-width:1.8;stroke-linejoin:round}
.ts-dash__health{margin-top:10px;display:flex;align-items:center;gap:10px}
.ts-dash__health>span:first-child{flex:1;display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:#9CA3AF}
.ts-dash__health em{height:6px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.ts-dash__health em i{display:block;width:88%;height:100%;background:#6EE7A8}
.ts-flagged{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(255,209,102,.14);color:#FFD166;font-size:11.5px;font-weight:700}
.ts-spot__art{position:relative}
.ts-mail{position:absolute;left:-26px;bottom:-22px;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:16px;background:#fff;box-shadow:0 24px 50px -24px rgba(6,20,14,.6);animation:ts-float 5s ease-in-out infinite}
.ts-mail .wh-icon{color:var(--ts-green)}
.ts-mail span{display:flex;flex-direction:column}
.ts-mail b{font-size:13.5px}.ts-mail small{font-size:12px;color:var(--wh-muted)}
.ts-curate{min-height:420px}
.ts-feat-list{position:relative;width:55%;padding:16px;border-radius:22px;background:#fff;border:1px solid #DCE9DF;box-shadow:0 30px 60px -36px rgba(6,20,14,.5);height:262px}
.ts-feat-list>b{display:block;margin-bottom:10px;font-size:14px}
.ts-fl{position:absolute;left:16px;right:16px;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:13px;background:#F6FAF5;border:1px solid #E3EDE6;font-size:13px;font-weight:600;transition:top .6s var(--wh-ease),box-shadow .3s ease}
.ts-fl>.wh-icon{color:#9CA3AF}
.ts-fl .ts-card__logo{width:28px;height:28px;border-radius:8px}
.ts-fl em{margin-left:auto;font-style:normal;width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--ts-green);color:#fff;font-size:11.5px}
.ts-fl.is-drag{z-index:2;box-shadow:0 18px 30px -14px rgba(100,43,255,.6);background:#fff}
.ts-popup{position:absolute;right:0;top:0;width:40%;padding:12px;border-radius:20px;background:#0B1F18;color:#fff;box-shadow:0 30px 60px -30px rgba(6,20,14,.9);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.ts-popup__bar{align-self:stretch;display:flex;align-items:center;gap:8px;font-size:11px;color:rgba(255,255,255,.6)}
.ts-popup__art{width:100%;aspect-ratio:1.5;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#642bff,#e0447c 60%,#ff7a29);background-size:200% 200%;animation:ts-art 6s ease-in-out infinite alternate;color:rgba(255,255,255,.8)}
@keyframes ts-art{to{background-position:100% 100%}}
.ts-popup b{font-size:14px}.ts-popup small{font-size:11px;color:rgba(255,255,255,.6)}
.ts-sleep{position:absolute;right:6%;bottom:0;width:160px;display:flex;align-items:center;gap:10px;padding:12px;border-radius:18px;background:#fff;box-shadow:0 24px 50px -24px rgba(6,20,14,.6)}
.ts-sleep svg{width:52px;height:52px;flex:none;transform:rotate(-90deg)}
.ts-sleep circle{fill:none;stroke:#E8F3E4;stroke-width:6}
.ts-sleep__arc{stroke:var(--ts-green)!important;stroke-linecap:round;stroke-dasharray:170;animation:ts-sleep 8s linear infinite}
@keyframes ts-sleep{from{stroke-dashoffset:0}to{stroke-dashoffset:170}}
.ts-sleep>span{display:flex;flex-direction:column}
.ts-sleep .wh-icon{color:var(--ts-green)}
.ts-sleep b{font-size:15px}.ts-sleep small{font-size:11.5px;color:var(--wh-muted)}
.ts-local{position:absolute;left:10%;bottom:20px;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;background:var(--wh-lime);color:var(--wh-deep);font-size:13px;font-weight:700;box-shadow:0 18px 30px -16px rgba(0,0,0,.4);animation:ts-float 5s ease-in-out infinite -2s}

/* ---------------- Designer ---------------- */
.ts-designer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding:44px;border-radius:36px;background:var(--wh-soft);border:1px solid var(--wh-line)}
.ts-ctrls{margin-top:26px;display:grid;gap:14px}
.ts-ctrl{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;font-size:14px;font-weight:600}
.ts-ctrl>span:first-child{display:flex;align-items:center;gap:6px}
.ts-ctrl em{font-style:normal;padding:1px 7px;border-radius:999px;background:var(--wh-mint);color:var(--wh-green);font-size:10.5px;font-weight:800}
.ts-ctrl em.is-pro{background:#ECE6FF;color:#4B21C9}
.ts-ctrl input[type=range]{width:100%;accent-color:var(--ts-green);cursor:pointer}
.ts-designer__preview{--pa:#642bff;--pr:18px;--pf:18px;--pp:16px;--ps:18px;display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:26px;background:#fff;border:1px solid var(--wh-line)}
.ts-designer__lbl{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#6A7C73;text-transform:uppercase;letter-spacing:.06em}
.ts-pv{display:flex;align-items:center;gap:12px;padding:var(--pp);border-radius:var(--pr);background:#fff;border:1px solid #ECEEF3;box-shadow:0 calc(var(--ps) * .6) calc(var(--ps) * 1.6) calc(var(--ps) * -.8) rgba(6,20,14,.35);transition:all .25s ease}
.ts-pv__logo{width:44px;height:44px;flex:none;border-radius:calc(var(--pr) * .6);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--pa) 14%,#fff);color:var(--pa);transition:all .25s ease}
.ts-pv__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ts-pv__t b{font-family:var(--wh-head);font-size:var(--pf);letter-spacing:-.01em;transition:font-size .2s ease}
.ts-pv__t small{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#6B7280}
.ts-pv__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:calc(var(--pr) * .7 + 4px);background:color-mix(in srgb,var(--pa) 10%,#fff);color:var(--pa);font-size:12.5px;font-weight:700;transition:all .25s ease}
.ts-pv:first-of-type .ts-pv__btn{background:var(--pa);color:#fff}

/* ---------------- Shortcodes ---------------- */
.ts-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ts-code{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid var(--wh-line);background:#fff;transition:border-color .2s ease}
.ts-code:hover{border-color:#BFE3CC}
body.wh-site .ts-code__copy{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border-radius:11px;border:0;background:var(--wh-ink);color:var(--wh-lime);font:inherit;cursor:pointer;transition:transform .15s ease}
.ts-code__copy:active{transform:scale(.97)}
.ts-code__copy code{font-size:12.5px}
.ts-code__copy span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:7px;background:rgba(255,255,255,.1);color:#fff;font-size:11px;font-weight:700}
.ts-code__copy span em{font-style:normal}
.ts-code__copy.is-copied span{background:var(--wh-lime);color:var(--wh-deep)}
.ts-code__ed{justify-self:start;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800}
.ts-code__ed.is-free{background:var(--wh-mint);color:var(--wh-green)}
.ts-code__ed.is-pro{background:#ECE6FF;color:#4B21C9}
.ts .ts-code p{margin:0;font-size:13.5px;line-height:1.45;color:var(--wh-muted)}

/* ---------------- Compare ---------------- */
.ts-table-wrap{max-width:920px;margin:0 auto;border-radius:24px;border:1px solid var(--wh-line);overflow:auto}
.ts-table{width:100%;border-collapse:collapse;font-size:15px}
.ts-table th,.ts-table td{padding:14px 18px;border-bottom:1px solid var(--wh-line);text-align:left}
.ts-table thead th{position:sticky;top:0;background:var(--wh-ink);color:#fff;font-size:14px;font-weight:700}
.ts-table thead th.is-pro{background:var(--ts-purple)}
.ts-table td{text-align:center;width:24%;color:#34483E;font-size:14px}
.ts-table td.is-pro{background:#FAF8FF}
.ts-table tbody th{font-weight:600}
.ts-table tbody tr:hover th,.ts-table tbody tr:hover td{background:#F7FAF6}
.ts-table tbody tr:hover td.is-pro{background:#F3EEFF}
.ts-y{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:var(--wh-mint);color:var(--wh-green)}
.is-pro .ts-y{background:#E8F3E4;color:var(--ts-green)}
.ts-n{color:#B8C2BC}
.ts-table b{color:var(--ts-purple)}
.ts-table tbody tr:last-child th,.ts-table tbody tr:last-child td{border-bottom:0}

/* ---------------- Pricing ---------------- */
.ts-pricing{margin-top:110px;padding:100px 0;background:var(--wh-ink);color:var(--wh-on-dark);background-image:radial-gradient(circle at 80% 0,rgba(100,43,255,.18),transparent 45%);scroll-margin-top:90px}
.ts-bill{margin-top:22px;display:inline-flex;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(232,243,228,.16)}
body.wh-site .ts-bill button{padding:9px 22px;border:0;border-radius:999px;background:transparent;color:var(--wh-on-dark-2);font:inherit;font-weight:700;cursor:pointer;transition:background-color .2s ease,color .2s ease}
body.wh-site .ts-bill [aria-pressed="true"]{background:var(--wh-lime);color:var(--wh-deep)}
.ts-plans{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.ts-plan{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px 18px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(232,243,228,.12);transition:transform .3s var(--wh-ease),border-color .3s ease}
.ts-plan:hover{transform:translateY(-6px);border-color:rgba(255,169,77,.4)}
.ts-plan--pop{background:#fff;color:var(--wh-ink);border-color:#fff;box-shadow:0 30px 70px -30px rgba(0,0,0,.8)}
.ts-plan__tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 12px;border-radius:999px;background:var(--wh-lime);color:var(--wh-deep);font-size:11.5px;font-weight:800;white-space:nowrap}
.ts-plan__name{font-family:var(--wh-head);font-size:19px;font-weight:700}
.ts-plan__sites{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--wh-lime)}
.ts-plan--pop .ts-plan__sites{color:var(--ts-purple)}
.ts-plan__price{display:flex;align-items:baseline;gap:6px}
.ts-plan__price b{font-family:var(--wh-head);font-size:38px;letter-spacing:-.04em;line-height:1;transition:opacity .2s ease}
.ts-plan__price small{font-size:13px;color:var(--wh-on-dark-2)}
.ts-plan--pop .ts-plan__price small,.ts-plan--pop p{color:var(--wh-muted)}
.ts .ts-plan p{margin:0;font-size:13.5px;line-height:1.5;color:var(--wh-on-dark-2);min-height:40px}
.ts .ts-plan--pop p,.ts .ts-plan--pop .ts-plan__price small{color:var(--wh-muted)}
.ts-plan .wh-btn{justify-content:center}
.ts-plan ul{list-style:none;margin:6px 0 0;padding:12px 0 0;border-top:1px dashed rgba(232,243,228,.16);display:grid;gap:8px}
.ts-plan--pop ul{border-color:var(--wh-line)}
.ts-plan li{display:flex;gap:7px;font-size:13px;line-height:1.4}
.ts-plan li .wh-icon{flex:none;margin-top:1px;color:var(--wh-lime)}
.ts-plan--pop li .wh-icon{color:var(--ts-purple)}
.ts-plans.is-swap .ts-plan__price b{opacity:.2}
.ts .ts-guarantee{margin:30px auto 0;max-width:720px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.05);font-size:14.5px;line-height:1.5;color:var(--wh-on-dark-2)}
.ts-guarantee .wh-icon{flex:none;color:var(--wh-lime)}
.ts-guarantee b{color:#fff}
.ts-guarantee a{color:var(--wh-lime);font-weight:600}

/* ---------------- Theme ---------------- */
.ts-themebox{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding:44px;border-radius:36px;background:linear-gradient(135deg,#FFF3EA,#FBF7EE)}
.ts-nav-demo{position:relative;height:280px}
.ts-nav-demo__pages{position:relative;height:210px}
.ts-np{position:absolute;inset:0;padding:18px;border-radius:20px;background:#fff;box-shadow:0 24px 50px -30px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:10px;animation:ts-pageswap 9s infinite}
.ts-np b{font-family:var(--wh-head);font-size:20px}
.ts-np i{height:44px;border-radius:12px;background:#FFE9DE}
.ts-np i+i{height:20px;width:70%;background:#F3F4F6}
.ts-np--2{animation-delay:3s}.ts-np--2 i:first-of-type{background:#E8F3E4}
.ts-np--3{animation-delay:6s}.ts-np--3 i:first-of-type{background:#E1F5E8}
.ts-player--mini{position:absolute;left:10%;right:10%;bottom:0;margin:0;padding:10px 14px}
.ts-player--mini .ts-player__now{flex:1}
.ts-player--mini .ts-eq{color:var(--wh-lime);height:16px}

/* ---------------- Roadmap ---------------- */
.ts-road{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ts-road__item{position:relative;padding:22px;border-radius:24px;border:1.5px dashed #D6E3DA;background:#fff}
.ts-road__icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--wh-soft);color:var(--wh-green)}
.ts-road__tag{position:absolute;right:16px;top:18px;padding:2px 9px;border-radius:999px;background:#FFF1D6;color:#8A5A00;font-size:11px;font-weight:800}
.ts .ts-road h3{margin:14px 0 0;font-size:18px}
.ts .ts-road p{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--wh-muted)}

/* ---------------- FAQ ---------------- */
.ts-faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}
.ts-faq__intro{position:sticky;top:170px}
.ts-faq__links{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.ts-faq__list{display:flex;flex-direction:column;gap:10px}

/* ---------------- Final CTA ---------------- */
.ts-final{position:relative;overflow:hidden;isolation:isolate;padding:64px 32px;border-radius:36px;background:#0B1F18;color:#fff;text-align:center;background-image:radial-gradient(circle at 50% 120%,rgba(100,43,255,.6),transparent 60%)}
.ts-final__rings{position:absolute;left:50%;top:50%;width:900px;height:900px;margin:-450px 0 0 -450px;z-index:-1}
.ts-final__rings i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,169,77,.14);animation:ts-ring 6s ease-out infinite}
.ts-final__rings i:nth-child(2){animation-delay:2s}.ts-final__rings i:nth-child(3){animation-delay:4s}
.ts-final__logo{border-radius:20px;box-shadow:0 20px 50px -20px rgba(100,43,255,.8)}
.ts .ts-final h2{margin:22px auto 0;max-width:640px;font-family:var(--wh-head);font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:-.035em;color:#fff}
.ts .ts-final p{margin:14px 0 0;color:rgba(255,255,255,.75);font-size:17px}
.ts-final__cta{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* ---------------- Responsive ---------------- */
@media (max-width:1180px){
  .ts-plans{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ts-plan--free{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 20px}
  .ts-plan--free p{min-height:0;flex:1 1 240px}
  .ts-plan--free ul{display:none}
  .ts-road{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
  .ts-hero__grid{grid-template-columns:minmax(0,1fr)}
  .ts-hero__art{max-width:640px}
  .ts-browser{transform:none}
  .ts-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-tour{grid-template-columns:minmax(0,1fr)}
  .ts-tour__tabs{flex-direction:row;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .ts-tour__tabs::-webkit-scrollbar{display:none}
  body.wh-site .ts-tab{flex:none;width:auto}
  .ts-tab__txt small{display:none}
  .ts-tour__pause{top:auto!important;bottom:-46px}
  .ts-spot,.ts-designer,.ts-themebox,.ts-faq{grid-template-columns:minmax(0,1fr)}
  .ts-spot--flip .ts-spot__copy{order:0}
  .ts-faq__intro{position:static}
  .ts-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .ts-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-proof li:nth-child(3){border-left:0}
  .ts-proof li:nth-child(n+3){border-top:1px solid rgba(232,243,228,.1)}
  .ts-float--a,.ts-float--c{display:none}
  .ts-steps,.ts-feats,.ts-codes,.ts-road{grid-template-columns:minmax(0,1fr)}
  .ts-feat--wide{grid-column:auto}
  .ts-plans{grid-template-columns:minmax(0,1fr)}
  .ts-panel .ts-app--light:not(.ts-app--station):not(.ts-app--imp):not(.ts-app--set),.ts-app--set{grid-template-columns:minmax(0,1fr)}
  .ts-app__side,.ts-set__tabs{display:none}
  .ts-st__grid{grid-template-columns:minmax(0,1fr)}
  .ts-st__btn{display:none}
  .ts-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-imp__row{grid-template-columns:auto 1fr 70px}
  .ts-imp__row em{display:none}
  .ts-lock{display:none}
  .ts-vol,.ts-player__ext{display:none}
  .ts-subnav__links{display:none}
  .ts-subnav__in{gap:10px}
  .ts-designer,.ts-themebox{padding:26px 18px}
  .ts-ctrl{grid-template-columns:minmax(0,1fr)}
  .ts-code{grid-template-columns:auto 1fr}
  .ts-code p{grid-column:1/-1}
  .ts-feat-list{width:100%}
  .ts-popup{position:relative;width:auto;margin-top:16px}
  .ts-curate{min-height:0;display:flex;flex-direction:column;gap:16px}
  .ts-sleep,.ts-local{position:relative;left:auto;right:auto;bottom:auto}
  .ts-picker{position:relative;right:auto;bottom:auto;width:100%;margin-top:14px}
  .ts-globe-wrap{flex-direction:column;align-items:center}
  .ts-mail{left:10px}
  .ts-table th,.ts-table td{padding:11px 12px;font-size:13.5px}
  .ts-player .ts-wave{display:none}
  .ts-pv__btn{font-size:0;gap:0;padding:9px}
  .ts-pv__btn .wh-icon{width:14px;height:14px}
  .ts-designer__preview{padding:14px}
}
@media (prefers-reduced-motion:reduce){
  .ts *,.ts *::before,.ts *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .ts-globe svg{animation:none}
  .ts-page:first-child,.ts-np--1{opacity:1!important;transform:none!important}
}

/* ======================================================================
 * Product pages: Features & Pricing sections
 * ==================================================================== */
.ts-spot--plain{padding:0}
.ts-spot--plain+.ts-spot--plain{border:0}

/* Player styles */
.ts-styles{max-width:980px;margin:0 auto;padding:18px;border-radius:30px;background:var(--wh-ink);box-shadow:0 40px 80px -40px rgba(6,20,14,.8)}
.ts-styles__tabs{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:16px}
body.wh-site .ts-styles__tabs button{padding:9px 18px;border-radius:999px;border:1px solid rgba(232,243,228,.16);background:transparent;color:rgba(232,243,228,.75);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .2s ease,color .2s ease}
body.wh-site .ts-styles__tabs [aria-selected="true"]{background:var(--ts-hi);border-color:var(--ts-hi);color:#0B1F18}
.ts-styles__stage{position:relative;height:330px;border-radius:20px;background:#F4F8F4;overflow:hidden}
.ts-styles__page{position:absolute;inset:18px 18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-content:start}
.ts-styles__page i{height:110px;border-radius:14px;background:#E3EDE6}
.ts-styles__page b{grid-column:1/-1;height:12px;border-radius:6px;background:#D5E3D9}
.ts-sp{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:18px;background:#0B1F18;color:#fff;box-shadow:0 24px 50px -24px rgba(6,20,14,.9);transition:all .55s var(--wh-ease)}
.ts-sp__art{width:44px;height:44px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#642bff,#FF7FAE 60%,#FFAD52);background-size:200% 200%;animation:ts-art 6s ease-in-out infinite alternate;transition:all .55s var(--wh-ease)}
.ts-sp__now{display:flex;flex-direction:column;min-width:0;flex:0 0 auto}
.ts-sp__now b{font-size:14px}.ts-sp__now small{font-size:11.5px;color:rgba(255,255,255,.6)}
.ts-sp__ctrl{display:inline-flex;align-items:center;gap:12px}
.ts-sp__wave{flex:1;transition:opacity .4s ease}
.ts-sp__extra{display:inline-flex;gap:10px;color:rgba(255,255,255,.7);transition:opacity .4s ease}
[data-style="simple"] .ts-sp{left:30%;right:30%;justify-content:center}
[data-style="simple"] .ts-sp__wave,[data-style="simple"] .ts-sp__extra,[data-style="simple"] .ts-sp__art{display:none}
[data-style="compact"] .ts-sp{left:auto;right:18px;width:280px;border-radius:999px;padding:8px 10px}
[data-style="compact"] .ts-sp__wave,[data-style="compact"] .ts-sp__extra{display:none}
[data-style="compact"] .ts-sp__art{width:36px;height:36px;border-radius:50%}
[data-style="expanded"] .ts-sp{top:18px;left:auto;right:18px;width:300px;flex-direction:column;justify-content:center;text-align:center;border-radius:24px}
[data-style="expanded"] .ts-sp__art{width:150px;height:110px;border-radius:18px}
[data-style="expanded"] .ts-sp__wave{flex:0 0 26px;width:100%}
.ts-mini-grid{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ts-mini-card{padding:18px;border-radius:24px;border:1px solid var(--wh-line);background:#fff}
.ts-mini-card__art{height:110px;margin-bottom:14px;border-radius:16px;background:var(--wh-soft);display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}
.ts .ts-mini-card h3{margin:0;font-size:17px}
.ts .ts-mini-card p{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--wh-muted)}
.ts-ma-always{flex-direction:column}
.ts-pin{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#FFF1E2;color:#8A4A0A;font-size:12px;font-weight:700;animation:ts-float 4s ease-in-out infinite}
.ts-bar{width:80%;height:24px;border-radius:9px;background:#0B1F18;position:relative}
.ts-bar::after{content:"";position:absolute;left:8px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--ts-hi)}
.ts-win{position:absolute;width:86px;height:62px;border-radius:10px;background:#0B1F18;padding:7px;display:flex;flex-direction:column;gap:5px;left:22%;top:18%;animation:ts-float 5s ease-in-out infinite}
.ts-win i{height:28px;border-radius:6px;background:linear-gradient(135deg,#642bff,#FF7FAE)}
.ts-win b{height:5px;width:70%;border-radius:3px;background:rgba(255,255,255,.4)}
.ts-win em{position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--ts-hi)}
.ts-win--2{left:48%;top:34%;background:#fff;box-shadow:0 10px 20px -12px rgba(0,0,0,.4);animation-delay:-2.5s}
.ts-win--2 i{background:#E3EDE6}.ts-win--2 b{background:#D5E3D9}
.ts-ma-sleep{flex-wrap:wrap;align-content:center}
.ts-ma-sleep em{font-style:normal;padding:6px 10px;border-radius:10px;background:#fff;border:1px solid var(--wh-line);font-weight:800;font-size:13px;color:var(--ts-green)}
.ts-ma-sleep em:nth-child(2){background:var(--ts-green);color:#fff}
.ts-ma-sleep b{width:100%;display:flex;justify-content:center;align-items:center;gap:6px;font-size:12px;color:var(--wh-muted)}
.ts-ma-code code{padding:8px 12px;border-radius:10px;background:var(--wh-ink);color:var(--ts-hi);font-size:12.5px}

/* Station fields cloud */
.ts-cloud{position:relative;height:420px}
.ts-cloud__card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:220px;padding:20px;border-radius:24px;background:#fff;box-shadow:0 30px 60px -30px rgba(6,20,14,.5);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.ts-cloud__card .ts-st__logo{width:64px;height:64px;border-radius:18px}
.ts-cloud__card b{font-family:var(--wh-head);font-size:18px}
.ts-cloud__card small{font-size:12px;color:var(--wh-muted)}
.ts-cloud em{position:absolute;left:50%;top:50%;font-style:normal;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid var(--wh-line);font-size:12.5px;font-weight:600;color:#24372F;white-space:nowrap;transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--r)) rotate(calc(var(--a) * -1));box-shadow:0 8px 16px -12px rgba(6,20,14,.5);animation:ts-bob-c 4s ease-in-out infinite;animation-delay:calc(var(--n) * -.3s)}
.ts-cloud em:nth-child(3n){background:#E8F3E4;border-color:#BFE3CC;color:#1F6B4A}
.ts-cloud em:nth-child(4n){background:#FFF1E2;border-color:#F8D9B6;color:#8A4A0A}
@keyframes ts-bob-c{50%{margin-top:-6px}}

/* Admin */
.ts-admin{display:grid;grid-template-columns:150px minmax(0,1fr);border-radius:24px;overflow:hidden;background:#F1F0F5;box-shadow:0 40px 80px -40px rgba(6,20,14,.6);min-height:360px}
.ts-admin__side{padding:16px 10px;background:#1D2327;display:flex;flex-direction:column;gap:2px}
.ts-admin__side img{margin:0 0 10px 8px;border-radius:8px}
.ts-admin__side span{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:7px;font-size:12.5px;color:#C3C4C7}
.ts-admin__side .is-on{background:var(--ts-green);color:#fff}
.ts-admin__side em{font-style:normal;padding:0 6px;border-radius:999px;background:var(--ts-hi);color:#0B1F18;font-size:10px;font-weight:800}
.ts-admin__main{padding:16px;display:flex;flex-direction:column;gap:10px}
.ts-admin__counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ts-admin__counts span{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#fff;color:var(--ts-green)}
.ts-admin__counts small{font-size:11.5px;color:#646970}
.ts-admin__counts .ts-skel{height:14px;width:60%;background:linear-gradient(90deg,#E3EDE6,#B5D9C3,#E3EDE6);background-size:200% 100%}
.ts-admin__recent{padding:12px;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:6px}
.ts-admin__recent b{font-size:13px}
.ts-admin__recent>span{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;animation:ts-in .6s var(--wh-ease) both}
.ts-admin__recent>span:nth-child(3){animation-delay:.15s}.ts-admin__recent>span:nth-child(4){animation-delay:.3s}
.ts-admin__recent .ts-card__logo{width:24px;height:24px;border-radius:7px}
.ts-admin__recent em{margin-left:auto}
.ts-admin__links{display:flex;flex-wrap:wrap;gap:6px}
.ts-admin__links span{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;background:#fff;border:1px solid #DCDCDE;font-size:12px;font-weight:600;color:#2271B1}

/* Pricing teaser (overview) */
.ts-pt{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center;padding:40px;border-radius:36px;background:linear-gradient(135deg,#F3EEFF,#FFF4EA)}
.ts-pt__copy .wh-btn{margin-top:22px}
.ts-pt__plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ts-pt__plan,.ts-pt__plan:hover{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--wh-line);color:var(--wh-ink);text-decoration:none;transition:transform .25s var(--wh-ease),box-shadow .25s ease}
.ts-pt__plan:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(6,20,14,.5)}
.ts-pt__sites{display:flex;gap:4px;margin-bottom:6px}
.ts-pt__sites i{width:18px;height:14px;border-radius:4px;background:#E8F3E4;border:1.5px solid #B5D9C3}
.ts-pt__plan b{font-family:var(--wh-head);font-size:18px}
.ts-pt__plan small{font-size:12.5px;color:var(--wh-muted)}
.ts-pt__plan em{margin-top:6px;font-style:normal;font-family:var(--wh-head);font-size:26px;font-weight:800;color:var(--ts-purple)}
.ts-pt__plan em span{font-size:13px;font-weight:600;color:var(--wh-muted)}

/* Included in Pro */
.ts-inc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ts-inc__item{padding:22px;border-radius:24px;border:1px solid var(--wh-line);background:#fff;transition:transform .3s var(--wh-ease),box-shadow .3s ease}
.ts-inc__item:hover{transform:translateY(-4px);box-shadow:0 24px 50px -32px rgba(6,20,14,.5)}
.ts-inc__icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#E8F3E4,#FFF1E2);color:var(--ts-green)}
.ts .ts-inc h3{margin:14px 0 0;font-size:18px}
.ts .ts-inc p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--wh-muted)}

/* Refund */
.ts-refund{display:flex;align-items:center;gap:36px;padding:36px 40px;border-radius:32px;background:var(--wh-ink);color:#fff;background-image:radial-gradient(circle at 0 50%,rgba(63,185,127,.30),transparent 50%)}
.ts-refund__shield{position:relative;width:110px;height:124px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:ts-float 5s ease-in-out infinite}
.ts-refund__shield svg{position:absolute;inset:0;width:100%;height:100%}
.ts-refund__shield path{fill:url(#none);fill:rgba(255,173,82,.15);stroke:var(--ts-hi);stroke-width:3}
.ts-refund__shield b{position:relative;font-family:var(--wh-head);font-size:44px;line-height:1;color:var(--ts-hi)}
.ts-refund__shield small{position:relative;font-size:12px;font-weight:700;color:rgba(255,255,255,.75)}
.ts .ts-refund h2{margin:0;font-size:clamp(22px,2.6vw,30px);color:#fff}
.ts .ts-refund p{margin:10px 0 0;color:rgba(232,243,228,.78);line-height:1.6;max-width:640px}
.ts-days{margin-top:18px;display:flex;gap:8px}
.ts-days span{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(232,243,228,.14);font-weight:800;font-size:13px;color:rgba(232,243,228,.7)}
.is-in .ts-days span{animation:ts-day .5s var(--wh-ease) both;animation-delay:calc(var(--d) * 120ms)}
@keyframes ts-day{to{background:var(--ts-hi);border-color:var(--ts-hi);color:#0B1F18}}

@media (max-width:1080px){
  .ts-mini-grid,.ts-inc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-pt{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .ts-mini-grid,.ts-inc,.ts-pt__plans{grid-template-columns:minmax(0,1fr)}
  .ts-styles__stage{height:300px}
  [data-style="simple"] .ts-sp{left:18px;right:18px}
  [data-style="compact"] .ts-sp{width:auto;left:18px}
  [data-style="expanded"] .ts-sp{width:auto;left:18px}
  .ts-sp__wave,.ts-sp__extra{display:none}
  .ts-cloud{height:auto;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
  .ts-cloud__card{position:relative;left:auto;top:auto;transform:none;width:100%;margin-bottom:10px}
  .ts-cloud em{position:static;transform:none}
  .ts-admin{grid-template-columns:minmax(0,1fr)}
  .ts-admin__side{display:none}
  .ts-refund{flex-direction:column;align-items:flex-start;padding:28px 20px}
  .ts-pt{padding:26px 18px}
}

.ts-sheet>.ts-pro:first-child{margin-top:0;border-radius:40px 40px 0 0}
.ts-plan--free{order:9}
.tsn__pro{white-space:nowrap}
.tsn__pro-s{display:none}
@media (max-width:480px){.tsn__pro-l{display:none}.tsn__pro-s{display:inline}}

/* ======================================================================
 * Merged features (Pro + Free)
 * ==================================================================== */
.ts-inline-pro{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:linear-gradient(110deg,#FFAD52,#FF7FAE);color:#0B1F18;font-size:.78em;font-weight:800;vertical-align:2px}
.ts-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-14px 0 30px}
body.wh-site .ts-filter button{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;border:1px solid var(--wh-line);background:#fff;color:#24372F;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.ts-filter button .wh-icon{color:var(--ts-green)}
body.wh-site .ts-filter button:hover{border-color:#B5D9C3}
body.wh-site .ts-filter button[aria-pressed="true"]{background:var(--ts-green);border-color:var(--ts-green);color:#fff}
body.wh-site .ts-filter button[aria-pressed="true"] .wh-icon{color:#fff}
body.wh-site .ts-filter button.is-pro{border-color:#F8D9B6;background:#FFF6EC;color:#8A4A0A}
body.wh-site .ts-filter button.is-pro[aria-pressed="true"]{background:linear-gradient(110deg,#FFAD52,#FF7FAE);border-color:transparent;color:#0B1F18}
.ts-feats--all{grid-auto-flow:dense}
.ts-feats--group{margin-top:22px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ts-feat[hidden]{display:none}
.ts-feat.is-pro{border-color:#E4D9FF;background:linear-gradient(180deg,#FBF9FF,#fff 40%)}
.ts-feat__pro{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:linear-gradient(110deg,#FFAD52,#FF7FAE);color:#0B1F18;font-size:11.5px;font-weight:800;box-shadow:0 8px 18px -10px rgba(255,140,120,.9)}
.ts-pro-tag{font-style:normal;margin-right:7px;padding:1px 8px;border-radius:999px;background:linear-gradient(110deg,#FFAD52,#FF7FAE);color:#0B1F18;font-size:11px;font-weight:800}
.ts-feats--all .ts-feat.is-in{animation:ts-in .45s var(--wh-ease) both}

/* Card illustrations for Pro features */
@keyframes ts-map{0%{transform:scaleX(0)}40%,100%{transform:scaleX(1)}}
@keyframes ts-aa{to{letter-spacing:.06em;color:#FF7FAE}}
@keyframes ts-slide{from{left:10%}to{left:80%}}

/* Features page groups */
.ts-group{padding-top:96px;scroll-margin-top:110px}
.ts-group+.ts-group{border-top:1px solid #F0ECFB}
.ts-group-head{display:flex;align-items:flex-start;gap:22px;margin-bottom:34px;scroll-margin-top:110px}
.ts-group-head__n{flex:none;font-family:var(--wh-head);font-size:64px;font-weight:800;line-height:.9;letter-spacing:-.05em;background:linear-gradient(135deg,#1F6B4A,#3FB97F);-webkit-background-clip:text;background-clip:text;color:transparent}
.ts-group-head__type{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ts-green)}
.ts .ts-group-head .wh-h2{font-size:clamp(28px,3.6vw,44px)}
.ts-group .ts-spot{padding:10px 0 0;border:0}
.ts-group > .ts-sec,.ts-group .ts-sec{padding-top:40px}
.ts-group .ts-styles{margin-top:0}

/* Hide-on-scroll headers */
.tsn-wrap{transition:transform .35s var(--wh-ease),background-color .3s ease}
.tsn-wrap.is-hidden{transform:translateY(calc(-100% - 20px))}
@media (max-width:760px){.ts-group-head{gap:14px}.ts-group-head__n{font-size:44px}.ts-feats--all{grid-auto-flow:row}}
@media (prefers-reduced-motion:reduce){.tsn-wrap{transition:none}}

/* ---------------- Feature scenes (.ts-fx): step-by-step animated card illustrations ---------------- */
.ts-feat__art.ts-fx{height:236px;padding:0;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;gap:0;background:linear-gradient(180deg,#F6FAF5,#EEF5EC);border:1px solid #E3EDE6;position:relative;font-family:var(--wh-body);color:var(--wh-ink)}
.ts-fx--dark{background:radial-gradient(circle at 20% 0,rgba(63,185,127,.18),transparent 55%),#0B1F18!important;border-color:#0B1F18!important;color:#E8F3E4!important}
.ts-fx__stage{position:relative;flex:1;min-height:0;overflow:hidden}
.ts-fx__cap{flex:none;display:flex;align-items:center;gap:10px;height:38px;padding:0 14px;border-top:1px solid rgba(11,31,24,.07);background:rgba(255,255,255,.75);font-size:12.5px;font-weight:600;color:#24372F}
.ts-fx--dark .ts-fx__cap{background:rgba(255,255,255,.04);border-top-color:rgba(232,243,228,.1);color:rgba(232,243,228,.86)}
.ts-fx__dots{display:flex;gap:4px;flex:none}
.ts-fx__dots b{width:6px;height:6px;border-radius:9px;background:rgba(11,31,24,.18);transition:width .35s var(--wh-ease),background-color .35s}
.ts-fx--dark .ts-fx__dots b{background:rgba(232,243,228,.25)}
.ts-fx__txt{position:relative;flex:1;min-width:0;display:grid}
.ts-fx__txt>span{grid-area:1/1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* step machinery: [data-s] shows on listed steps, [data-on] gets .on styling, [data-v] views are display-toggled */
.ts-fx [data-s]{opacity:0;visibility:hidden;transition:opacity .4s ease,transform .45s var(--wh-ease),visibility .4s}
.ts-fx[data-step="0"] [data-s*="0"],.ts-fx[data-step="1"] [data-s*="1"],.ts-fx[data-step="2"] [data-s*="2"],.ts-fx[data-step="3"] [data-s*="3"]{opacity:1;visibility:visible}
.ts-fx__txt>[data-s]{transform:translateY(6px)}
.ts-fx[data-step="0"] .ts-fx__txt>[data-s="0"],.ts-fx[data-step="1"] .ts-fx__txt>[data-s="1"],.ts-fx[data-step="2"] .ts-fx__txt>[data-s="2"],.ts-fx[data-step="3"] .ts-fx__txt>[data-s="3"]{transform:none}
.ts-fx[data-step="0"] .ts-fx__dots [data-on="0"],.ts-fx[data-step="1"] .ts-fx__dots [data-on="1"],.ts-fx[data-step="2"] .ts-fx__dots [data-on="2"],.ts-fx[data-step="3"] .ts-fx__dots [data-on="3"]{width:16px;background:var(--ts-green)}
.ts-fx--dark[data-step] .ts-fx__dots b[data-on]{}
.ts-fx--dark[data-step="0"] .ts-fx__dots [data-on="0"],.ts-fx--dark[data-step="1"] .ts-fx__dots [data-on="1"],.ts-fx--dark[data-step="2"] .ts-fx__dots [data-on="2"],.ts-fx--dark[data-step="3"] .ts-fx__dots [data-on="3"]{background:var(--ts-hi)}
.ts-fx [data-v]{display:none}
.ts-fx[data-step="0"] [data-v="0"],.ts-fx[data-step="1"] [data-v="1"],.ts-fx[data-step="2"] [data-v="2"],.ts-fx[data-step="3"] [data-v="3"]{display:flex}
.ts-fx__cursor{position:absolute;z-index:5;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25));transition:left .8s var(--wh-ease),top .8s var(--wh-ease),transform .2s}
@keyframes fx-pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}100%{opacity:1;transform:none}}
@keyframes fx-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fx-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fx-click{0%,60%,100%{transform:none}75%{transform:scale(.82)}}
@keyframes fx-spin{to{transform:rotate(360deg)}}
@keyframes fx-roll{to{transform:translateX(-50%)}}
@keyframes fx-dash{to{stroke-dashoffset:0}}
@keyframes fx-blink{50%{opacity:.35}}
@keyframes fx-ping{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}
@keyframes fx-flow{0%{left:0;opacity:0}15%,85%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
@media (prefers-reduced-motion:reduce){.ts-fx *,.ts-fx *::before,.ts-fx *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* catalog */
.fxc .ts-fx__stage{display:flex;align-items:center;gap:14px;padding:12px 14px}
.fxc__globe{position:relative;width:118px;height:118px;flex:none;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 30%,#2E6B54,#0B1F18 72%);box-shadow:inset 0 0 0 1px rgba(63,185,127,.45),0 0 40px -6px rgba(63,185,127,.45)}
.fxc__map{position:absolute;inset:0 auto 0 0;width:200%;display:flex;animation:fx-roll 14s linear infinite}
.fxc__map>span{position:relative;width:50%;height:100%}
.fxc__map i{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(232,243,228,.55)}
.fxc__map i:nth-child(3n){background:var(--ts-hi);width:5px;height:5px;animation:fx-blink 1.8s ease-in-out infinite;animation-delay:calc(var(--n) * -.35s)}
.fxc__grid{position:absolute;inset:0;width:100%;height:100%}
.fxc__grid *{fill:none;stroke:rgba(232,243,228,.16);stroke-width:.7}
.fxc__count{position:absolute;inset:auto 0 16px;display:grid;justify-items:center;font-family:var(--wh-head);font-size:22px;line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.fxc__count>span,.fxc__count small>span{grid-area:1/1}
.fxc__count small{display:grid;justify-items:center;margin-top:3px;font-family:var(--wh-body);font-size:10px;font-weight:700;color:var(--ts-hi);letter-spacing:.06em;text-transform:uppercase}
.fxc__panel{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:14px;background:#fff;color:var(--wh-ink);box-shadow:0 20px 40px -20px rgba(0,0,0,.7)}
.fxc__head{display:flex;align-items:center;justify-content:space-between;font-size:11.5px}
.fxc__head em{font-style:normal;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:999px;background:#ECE6FF;color:#4B21C9}
.fxc__row{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 4px;border-radius:7px}
.fxc__row .wpsera-flag,.fxc__row svg:not(.wh-icon){width:16px;height:11px;flex:none;border-radius:2px}
.fxc__row>span{flex:none;width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fxc__chk{width:14px;height:14px;flex:none;border-radius:4px;border:1.5px solid #C8D6CD;display:flex;align-items:center;justify-content:center;color:#fff}
.fxc__chk .wh-icon{opacity:0}
.fxc__row.is-pick .fxc__chk{background:var(--ts-green);border-color:var(--ts-green);animation:fx-pop .4s var(--wh-ease) both;animation-delay:calc(var(--n) * .3s + .2s)}
.fxc__row.is-pick .fxc__chk .wh-icon{opacity:1}
.fxc__bar{flex:1;height:5px;border-radius:9px;background:#E8F0EA;overflow:hidden}
.fxc__bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--ts-green-2),var(--ts-hi))}
.ts-fx[data-step="1"] .is-pick .fxc__bar i{width:100%;transition:width 1.1s ease calc(var(--n) * .45s)}
.ts-fx[data-step="2"] .is-pick .fxc__bar i{width:100%}
.fxc__go{display:grid;margin-top:2px;font-size:11px;font-weight:800}
.fxc__go>span{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px;border-radius:8px;background:var(--wh-ink);color:#fff}
.fxc__go>span:nth-child(2) .wh-icon{animation:fx-spin 1s linear infinite}
.fxc__go>span:nth-child(3){background:var(--ts-green)}

/* one-click import */
.fxi .ts-fx__stage{padding:14px}
.fxi__win{position:relative;display:flex;flex-direction:column;gap:9px;padding:12px;border-radius:14px;background:#fff;border:1px solid #E3EDE6;box-shadow:0 14px 30px -22px rgba(6,20,14,.5)}
.fxi__top{display:flex;align-items:center;gap:9px}
.fxi__ic{width:32px;height:32px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#F6ECD3;color:#7A5A12}
.fxi__t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.fxi__t b{font-size:12.5px}.fxi__t small{font-size:10.5px;color:#6A7C73}
.fxi__btn{display:grid;flex:none}
.fxi__btn>span{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:800;background:var(--ts-green);color:#fff}
.ts-fx[data-step="0"] .fxi__btn>span:first-child{animation:fx-click 2.6s ease both}
.fxi__btn>span:nth-child(2){background:#E8F3E4;color:var(--ts-green)}
.fxi__btn>span:nth-child(2) .wh-icon{animation:fx-spin 1s linear infinite}
.fxi__btn>span:nth-child(3){background:#0B1F18}
.fxi__bar{height:7px;border-radius:9px;background:#EDF3EE;overflow:hidden}
.fxi__bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--ts-green),var(--ts-green-2),var(--ts-hi));background-size:200% 100%;animation:ts-shimmer 2s linear infinite}
.ts-fx[data-step="1"] .fxi__bar i{width:100%;transition:width 2.4s ease}
.ts-fx[data-step="2"] .fxi__bar i{width:100%}
.fxi__flags{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.fxi__flags span{display:flex;opacity:.25;filter:grayscale(1);transition:opacity .3s,filter .3s,transform .3s}
.fxi__flags svg{width:19px;height:13px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.ts-fx[data-step="1"] .fxi__flags span{opacity:1;filter:none;transition-delay:calc(var(--n) * .18s)}
.ts-fx[data-step="2"] .fxi__flags span{opacity:1;filter:none}
.fxi__flags em{font-style:normal;font-size:10px;font-weight:800;color:#6A7C73;margin-left:2px}
.fxi__note,.fxi__alt{position:absolute;left:14px;right:14px;bottom:12px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}
.fxi__note{padding:7px 10px;border-radius:10px;background:#0B1F18;color:#E8F3E4;transform:translateY(8px)}
.ts-fx[data-step="2"] .fxi__note{transform:none}
.fxi__note .wh-icon{color:var(--ts-green-2)}
.fxi__alt{color:#6A7C73;justify-content:center}
.fxi__cur{left:78%;top:88%}
.ts-fx[data-step="0"] .fxi__cur{animation:fxi-cur 2.6s var(--wh-ease) both}
.ts-fx[data-step="1"] .fxi__cur,.ts-fx[data-step="2"] .fxi__cur{opacity:0}
@keyframes fxi-cur{0%{left:60%;top:95%;opacity:0}15%{opacity:1}50%,100%{left:calc(100% - 52px);top:30px;opacity:1}}

/* CSV mapping */
.fxm .ts-fx__stage{padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.fxm__file{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:9px;background:#fff;border:1px dashed #9FC8B0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;color:var(--ts-green)}
.ts-fx[data-step="0"] .fxm__file{animation:fx-up .6s var(--wh-ease) both}
.fxm__map{display:flex;align-items:center;gap:6px}
.fxm__col{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.fxm__col em{font-style:normal;padding:4px 7px;border-radius:7px;background:#fff;border:1px solid #E3EDE6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#4A5D54;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .3s,border-color .3s,color .3s}
.fxm__col.is-to em{font-family:var(--wh-body);font-weight:700;font-size:10.5px;color:#9AA8A0}
.ts-fx[data-step="1"] .fxm__col.is-to em,.ts-fx[data-step="2"] .fxm__col.is-to em{background:#E8F3E4;border-color:#BFE3CC;color:var(--ts-green);transition-delay:calc(var(--n) * .35s + .3s)}
.fxm__arr{display:flex;flex-direction:column;gap:5px;width:30px;flex:none}
.fxm__arr i{height:21px;position:relative}
.fxm__arr i::before{content:"";position:absolute;left:0;right:5px;top:10px;height:2px;border-radius:2px;background:var(--ts-green);transform-origin:left;transform:scaleX(0);transition:transform .45s ease}
.fxm__arr i::after{content:"";position:absolute;right:0;top:6px;border:5px solid transparent;border-left:6px solid var(--ts-green);opacity:0;transition:opacity .2s}
.ts-fx[data-step="1"] .fxm__arr i::before,.ts-fx[data-step="2"] .fxm__arr i::before{transform:none;transition-delay:calc(var(--n) * .35s)}
.ts-fx[data-step="1"] .fxm__arr i::after,.ts-fx[data-step="2"] .fxm__arr i::after{opacity:1;transition-delay:calc(var(--n) * .35s + .35s)}
.fxm__lib{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:5px;padding:9px 10px;border-radius:12px;background:#0B1F18;color:#E8F3E4;transform:translateY(20px);box-shadow:0 -10px 30px -12px rgba(6,20,14,.4)}
.ts-fx[data-step="2"] .fxm__lib{transform:none}
.fxm__lib small{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-hi)}
.fxm__lib>span{display:flex;align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;opacity:0}
.ts-fx[data-step="2"] .fxm__lib>span{animation:fx-up .45s var(--wh-ease) both;animation-delay:calc(var(--n) * .25s + .3s)}
.fxm__lib>span i{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center}

/* analytics */
.fxa .ts-fx__stage{display:flex;gap:10px;padding:12px}
.fxa__nav{width:118px;flex:none;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(232,243,228,.08)}
.fxa__nav span{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:7px;font-size:10.5px;font-weight:600;color:rgba(232,243,228,.6);transition:background-color .3s,color .3s}
.fxa__nav .ts-live-dot{width:6px;height:6px}
.ts-fx[data-step="0"] .fxa__nav [data-on="0"],.ts-fx[data-step="1"] .fxa__nav [data-on="1"],.ts-fx[data-step="2"] .fxa__nav [data-on="2"],.ts-fx[data-step="3"] .fxa__nav [data-on="3"]{background:var(--ts-purple);color:#fff}
.fxa__main{position:relative;flex:1;min-width:0}
.fxa__v{height:100%;flex-direction:column;gap:7px;animation:fx-up .45s var(--wh-ease) both}
.fxa__kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fxa__kpis span{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.05);animation:fx-up .45s var(--wh-ease) both;animation-delay:calc(var(--n) * .12s)}
.fxa__kpis small{font-size:9.5px;color:rgba(232,243,228,.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxa__kpis svg{width:100%;height:16px}
.fxa__kpis path{fill:none;stroke:var(--ts-hi);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:90;stroke-dashoffset:90;animation:fx-dash 1.2s ease forwards .3s}
.fxa__kpis em{font-style:normal;font-size:9px;font-weight:700;color:var(--ts-green-2)}
.fxa__chart{width:100%;flex:1;min-height:0}
.fxa__line{fill:none;stroke:var(--ts-hi);stroke-width:2.2;stroke-dasharray:420;stroke-dashoffset:420;animation:fx-dash 1.6s ease forwards .2s;vector-effect:non-scaling-stroke}
.fxa__prev{fill:none;stroke:rgba(232,243,228,.35);stroke-width:1.4;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.fxa__area{fill:url(#none);fill:rgba(255,173,82,.14);opacity:0;animation:fx-up .6s ease forwards 1.2s}
.fxa__legend{display:flex;align-items:center;gap:6px;font-size:9.5px;color:rgba(232,243,228,.6)}
.fxa__legend i{width:12px;height:3px;border-radius:2px;background:var(--ts-hi)}
.fxa__legend i.is-prev{margin-left:8px;background:rgba(232,243,228,.4)}
.fxa__h{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(232,243,228,.55)}
.fxa__rk,.fxa__dm{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:9px;background:rgba(255,255,255,.04);font-size:11px;font-weight:600;animation:fx-up .4s var(--wh-ease) both;animation-delay:calc(var(--n) * .1s)}
.fxa__rk b{width:18px;height:18px;flex:none;border-radius:6px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);font-size:10px}
.fxa__rk:first-of-type b{background:var(--ts-hi);color:#0B1F18}
.fxa__rk .ts-card__logo{width:20px;height:20px;border-radius:6px}
.fxa__rk>span,.fxa__dm>span{width:110px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxa__dm>span{width:150px}
.fxa__dm .wh-icon{color:var(--ts-hi);flex:none}
.fxa__rk em,.fxa__dm em{flex:1;height:6px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}
.fxa__rk em i,.fxa__dm em i{display:block;height:100%;width:var(--w);border-radius:9px;background:linear-gradient(90deg,var(--ts-purple-2),var(--ts-hi));transform-origin:left;animation:fx-grow .9s var(--wh-ease) both;animation-delay:calc(var(--n) * .12s + .2s)}
.fxa__v--health{flex-direction:row!important;align-items:center;gap:14px!important}
.fxa__gauge{position:relative;width:104px;height:104px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fxa__gauge svg{position:absolute;inset:0;transform:rotate(-90deg)}
.fxa__gauge circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:4}
.fxa__gauge .fxa__gfill{stroke:var(--ts-green-2);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:113;animation:fxa-gauge 1.4s var(--wh-ease) forwards .2s}
@keyframes fxa-gauge{to{stroke-dashoffset:14}}
.fxa__gauge b{color:var(--ts-green-2)}
.fxa__gauge small{max-width:70px;text-align:center;font-size:9px;line-height:1.2;color:rgba(232,243,228,.7)}
.fxa__hl{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.fxa__hl>span{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.04);font-size:11px;font-weight:600;animation:fx-up .4s var(--wh-ease) both;animation-delay:calc(var(--n) * .15s + .2s)}
.fxa__hl>span>i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--ts-green-2)}
.fxa__hl em{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(63,185,127,.15);color:var(--ts-green-2)}
.fxa__hl .is-warn>i{background:var(--ts-hi);animation:fx-blink 1s ease-in-out infinite}
.fxa__hl .is-warn em{background:rgba(255,173,82,.18);color:var(--ts-hi)}
.fxa__tag{position:absolute;right:0;top:0;font-size:9px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(255,173,82,.15);color:var(--ts-hi)}
.fxa__v[data-v="0"]{padding-top:0}

/* featured & popular */
.fxf .ts-fx__stage{display:flex;gap:10px;padding:12px}
.fxf__col{position:relative;flex:1;min-width:0;padding:9px;border-radius:13px;background:#fff;border:1px solid #E3EDE6}
.fxf__col>small{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#6A7C73}
.fxf__col>small .wh-icon{color:var(--ts-hi)}
.fxf__nums{position:absolute;left:9px;top:30px;display:flex;flex-direction:column;gap:6px}
.fxf__nums b{width:16px;height:26px;display:flex;align-items:center;font-size:11px;color:#9AA8A0}
.fxf__r{--p:0;position:absolute;left:24px;right:9px;top:calc(30px + var(--p) * 32px);height:26px;display:flex;align-items:center;gap:6px;padding:0 7px;border-radius:8px;background:#F6FAF5;border:1px solid #E3EDE6;font-size:10.5px;font-weight:700;white-space:nowrap;overflow:hidden;transition:top .6s var(--wh-ease),box-shadow .3s,transform .3s,background-color .3s}
.fxf__r .wh-icon{flex:none;color:#9AA8A0}
.fxf__r .ts-card__logo{width:18px;height:18px;border-radius:5px}
.fxf__r--a{--p:0}.fxf__r--b{--p:1}.fxf__r--c{--p:2}
.ts-fx[data-step="1"] .fxf__r--c{--p:.35;z-index:2;transform:rotate(-2deg) scale(1.04);box-shadow:0 14px 24px -12px rgba(6,20,14,.5);background:#fff}
.ts-fx[data-step="1"] .fxf__r--a{--p:1}.ts-fx[data-step="1"] .fxf__r--b{--p:2}
.ts-fx[data-step="2"] .fxf__r--c{--p:0;background:#FFF4E6;border-color:#FFD9AE}
.ts-fx[data-step="2"] .fxf__r--a{--p:1}.ts-fx[data-step="2"] .fxf__r--b{--p:2}
.fxf__cur{left:70%;top:calc(30px + 2 * 32px + 8px);transition:top .6s var(--wh-ease),opacity .3s}
.ts-fx[data-step="1"] .fxf__cur{top:calc(30px + .35 * 32px + 10px)}
.ts-fx[data-step="2"] .fxf__cur{top:20px;opacity:0}
.fxf__p{display:flex;flex-direction:column;gap:3px;margin-top:7px;font-size:10.5px;font-weight:700}
.fxf__p span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxf__p em{height:6px;border-radius:9px;background:#EDF3EE;overflow:hidden}
.fxf__p em i{display:block;height:100%;width:var(--w);border-radius:9px;background:linear-gradient(90deg,var(--ts-green),var(--ts-hi));transform-origin:left;transform:scaleX(.15);transition:transform .9s var(--wh-ease)}
.ts-fx[data-step="2"] .fxf__p em i{transform:none;transition-delay:calc(var(--n) * .15s)}
.fxf__by{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:9.5px;font-weight:700;color:#6A7C73}

/* local discovery */
.fxl .ts-fx__stage{display:flex;gap:10px;padding:12px}
.fxl__map{position:relative;width:46%;flex:none;border-radius:13px;background-color:#0B1F18;background-image:radial-gradient(rgba(232,243,228,.28) 1.2px,transparent 1.6px);background-size:9px 9px;overflow:hidden}
.fxl__map::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 46%,transparent 18%,rgba(11,31,24,.75) 70%)}
.fxl__radar{position:absolute;left:70%;top:46%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:2px solid var(--ts-green-2);animation:fx-ping 1.6s ease-out infinite;z-index:1}
.fxl__pin{position:absolute;left:70%;top:46%;z-index:2;width:30px;height:30px;margin:-30px 0 0 -15px;border-radius:50% 50% 50% 0;transform:rotate(-45deg) translate(0,-40px);opacity:0;background:var(--ts-hi);display:flex;align-items:center;justify-content:center;transition:transform .5s var(--wh-ease),opacity .3s}
.fxl__pin .wh-icon{transform:rotate(45deg);color:#0B1F18}
.ts-fx[data-step="1"] .fxl__pin,.ts-fx[data-step="2"] .fxl__pin{opacity:1;transform:rotate(-45deg)}
.fxl__visitor{position:absolute;left:8px;bottom:8px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:#fff;font-size:10px;font-weight:800;color:var(--wh-ink)}
.fxl__side{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.fxl__status{display:grid;font-size:11.5px;font-weight:800}
.fxl__status>span{grid-area:1/1;display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:10px;background:#fff;border:1px solid #E3EDE6}
.fxl__status svg:not(.wh-icon){width:18px;height:12px;border-radius:2px}
.fxl__spin{width:12px;height:12px;border-radius:50%;border:2px solid #CFE0D5;border-top-color:var(--ts-green);animation:fx-spin .8s linear infinite}
.fxl__list{display:flex;flex-direction:column;gap:4px}
.fxl__list>span{display:flex;align-items:center;gap:6px;height:24px;padding:0 7px;border-radius:8px;background:#fff;border:1px solid #E3EDE6;font-size:10.5px;opacity:.2;transition:opacity .4s}
.ts-fx[data-step="2"] .fxl__list>span{opacity:1;animation:fx-up .45s var(--wh-ease) both;animation-delay:calc(var(--n) * .15s)}
.fxl__list svg:not(.wh-icon){width:15px;height:10px;border-radius:2px;flex:none}
.fxl__list>span>i{flex:1;height:6px;border-radius:9px;background:#E3EDE6}
.fxl__list b{flex:1}
.fxl__list em{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E8F3E4;color:var(--ts-green)}
.fxl__priv{margin-top:auto;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:var(--ts-green)}

/* directory */
.fxd .ts-fx__stage{display:flex;flex-direction:column;gap:8px;padding:12px 14px}
.fxd__tools{display:flex;align-items:center;gap:6px}
.fxd__search{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:9px;background:#fff;border:1.5px solid var(--ts-green);font-size:11.5px;font-weight:700}
.fxd__search .ts-caret{height:12px}
.fxd__q{display:grid}.fxd__q>span{grid-area:1/1}
.fxd__q .is-ph{font-weight:500;color:#66736C}
.fxd__sel{display:inline-grid;grid-auto-flow:column;align-items:center;gap:3px;height:30px;padding:0 9px;border-radius:9px;background:#fff;border:1px solid #E3EDE6;font-size:10.5px;color:#6A7C73;white-space:nowrap;transition:border-color .3s,background-color .3s}
.fxd__sel b{grid-row:1;grid-column:2;color:var(--wh-ink)}
.ts-fx[data-step="2"] .fxd__sel[data-on="2"]{border-color:var(--ts-green);background:#E8F3E4}
.fxd__view{display:flex;padding:3px;border-radius:9px;background:#fff;border:1px solid #E3EDE6}
.fxd__view b{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#9AA8A0;transition:background-color .3s,color .3s}
.ts-fx[data-step="0"] .fxd__view [data-on*="0"],.ts-fx[data-step="1"] .fxd__view [data-on*="1"],.ts-fx[data-step="2"] .fxd__view [data-on*="2"],.ts-fx[data-step="3"] .fxd__view [data-on*="3"]{background:var(--ts-green);color:#fff}
.fxd__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fxd__c{display:flex;align-items:center;gap:7px;padding:6px;border-radius:10px;background:#fff;border:1px solid #E3EDE6;min-width:0;transition:opacity .35s,transform .35s,filter .35s,border-color .35s,box-shadow .35s}
.fxd__c .ts-card__logo{width:24px;height:24px;border-radius:7px}
.fxd__c>span{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.fxd__c b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxd__c small{display:flex;align-items:center;gap:4px;font-size:9.5px;color:#6A7C73}
.fxd__c small svg:not(.wh-icon){width:12px;height:8px;border-radius:1px}
.fxd__c{opacity:.22;filter:grayscale(1);transform:scale(.96)}
.ts-fx[data-step="0"] .fxd__c[data-m*="0"],.ts-fx[data-step="1"] .fxd__c[data-m*="1"],.ts-fx[data-step="2"] .fxd__c[data-m*="2"],.ts-fx[data-step="3"] .fxd__c[data-m*="3"]{opacity:1;filter:none;transform:none}
.ts-fx[data-step="1"] .fxd__c[data-m*="1"],.ts-fx[data-step="2"] .fxd__c[data-m*="2"]{border-color:var(--ts-green);box-shadow:0 8px 18px -12px rgba(31,107,74,.7)}
.ts-fx[data-step="3"] .fxd__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.ts-fx[data-step="3"] .fxd__c{padding:3px 6px;border-radius:7px}
.ts-fx[data-step="3"] .fxd__c .ts-card__logo{width:18px;height:18px}
.ts-fx[data-step="3"] .fxd__c small{display:none}
.fxd__foot{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;font-size:10.5px;font-weight:700;color:#6A7C73}
.fxd__foot>[data-s]{grid-area:1/1}
.fxd__pg{grid-column:2;display:flex;gap:3px}
.fxd__pg b,.fxd__pg i{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-style:normal;background:#fff;border:1px solid #E3EDE6;font-size:10px}
.fxd__pg b{background:var(--ts-green);border-color:var(--ts-green);color:#fff}

/* player styles */
.fxs .ts-fx__stage{padding:12px 14px}
.fxs__page{position:absolute;inset:12px 14px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:min-content;gap:6px;padding:10px;border-radius:12px;background:#fff;border:1px solid #E3EDE6}
.fxs__page i{height:46px;border-radius:8px;background:#EDF3EE}
.fxs__page b{grid-column:1/-1;height:6px;border-radius:6px;background:#EDF3EE}
.fxs__page b:last-child{width:60%}
.fxs__pl{position:absolute;left:22px;right:22px;bottom:20px;height:44px;z-index:2;display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:12px;background:#0B1F18;color:#fff;box-shadow:0 14px 30px -14px rgba(6,20,14,.8);overflow:hidden;transition:all .6s var(--wh-ease)}
.fxs__art{width:30px;height:30px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#642bff,#FF7FAE 60%,#FFAD52);color:rgba(255,255,255,.85);transition:all .6s var(--wh-ease)}
.fxs__t{display:flex;flex-direction:column;line-height:1.2;min-width:0;white-space:nowrap}
.fxs__t b{font-size:11.5px}.fxs__t small{font-size:9.5px;color:rgba(232,243,228,.6)}
.fxs__ctl{display:flex;align-items:center;gap:5px;flex:none}
.fxs__ctl .ts-player__pp{width:24px;height:24px}
.fxs__wave{flex:1;min-width:0;height:18px}
.fxs__x{display:flex;gap:6px;flex:none;color:rgba(232,243,228,.7)}
.fxs__name{position:absolute;right:24px;top:20px;z-index:3;display:grid;font-size:10.5px;font-weight:800}
.fxs__name>span{grid-area:1/1;padding:4px 10px;border-radius:999px;background:var(--ts-hi);color:#0B1F18;transform:translateY(-6px)}
.ts-fx[data-step="0"] .fxs__name>[data-s="0"],.ts-fx[data-step="1"] .fxs__name>[data-s="1"],.ts-fx[data-step="2"] .fxs__name>[data-s="2"],.ts-fx[data-step="3"] .fxs__name>[data-s="3"]{transform:none}
/* simple */
.ts-fx[data-step="1"] .fxs__pl{left:22%;right:22%;border-radius:999px}
.ts-fx[data-step="1"] .fxs__wave,.ts-fx[data-step="1"] .fxs__x{display:none}
.ts-fx[data-step="1"] .fxs__art{width:26px;height:26px;border-radius:50%}
/* compact */
.ts-fx[data-step="2"] .fxs__pl{left:calc(100% - 136px);right:22px;height:40px;border-radius:999px;padding:0 6px}
.ts-fx[data-step="2"] .fxs__t,.ts-fx[data-step="2"] .fxs__wave,.ts-fx[data-step="2"] .fxs__x,.ts-fx[data-step="2"] .fxs__ctl>.wh-icon{display:none}
.ts-fx[data-step="2"] .fxs__art{width:28px;height:28px;border-radius:50%}
/* expanded */
.ts-fx[data-step="3"] .fxs__pl{left:22px;right:22px;bottom:20px;height:120px;flex-wrap:wrap;align-content:center;padding:10px 14px;border-radius:16px}
.ts-fx[data-step="3"] .fxs__art{width:62px;height:62px;border-radius:12px}
.ts-fx[data-step="3"] .fxs__t b{font-size:14px}
.ts-fx[data-step="3"] .fxs__wave{flex:1 1 100%;order:5;height:22px}

/* artwork */
.fxw .ts-fx__stage{display:flex;align-items:center;gap:16px;padding:14px 18px}
.fxw__disc{position:absolute;left:58px;top:50%;width:104px;height:104px;margin-top:-52px;border-radius:50%;background:repeating-radial-gradient(circle,#111 0 2px,#1d1d1d 2px 4px);box-shadow:0 10px 30px -10px rgba(0,0,0,.8);animation:fx-spin 3s linear infinite}
.fxw__disc::after{content:"";position:absolute;inset:38px;border-radius:50%;background:var(--ts-hi)}
.fxw__covers{position:relative;z-index:1;width:104px;height:104px;flex:none;display:grid}
.fxw__cv{grid-area:1/1;border-radius:16px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);box-shadow:0 18px 36px -14px rgba(0,0,0,.8);transform:rotate(-6deg) scale(.9)}
.ts-fx[data-step="0"] .fxw__cv--0,.ts-fx[data-step="1"] .fxw__cv--1,.ts-fx[data-step="2"] .fxw__cv--2{transform:none}
.fxw__cv--0{background:linear-gradient(135deg,#1F6B4A,#3FB97F 55%,#C6F26B)}
.fxw__cv--1{background:linear-gradient(135deg,#9A3F12,#FF7A29 55%,#FFAD52)}
.fxw__cv--2{background:linear-gradient(135deg,#642bff,#FF7FAE 60%,#FFAD52)}
.fxw__meta{position:relative;z-index:1;margin-left:58px;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fxw__meta small{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-hi)}
.fxw__meta small i{width:6px;height:6px;border-radius:50%;background:#FF5C5C;animation:fx-blink 1.2s infinite}
.fxw__meta b{display:grid;font-family:var(--wh-head);font-size:19px;line-height:1.15}
.fxw__meta b>span{grid-area:1/1;transform:translateY(6px)}
.ts-fx[data-step="0"] .fxw__meta b>[data-s="0"],.ts-fx[data-step="1"] .fxw__meta b>[data-s="1"],.ts-fx[data-step="2"] .fxw__meta b>[data-s="2"]{transform:none}
.fxw__st{font-size:11.5px;color:rgba(232,243,228,.65)}
.fxw__chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.fxw__chips em{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:9.5px;font-weight:700;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(232,243,228,.85);transition:background-color .3s,color .3s}
.ts-fx[data-step="2"] .fxw__chips em{background:rgba(63,185,127,.2);color:#BFF0D3}
.ts-fx[data-step="2"] .fxw__chips .wh-icon{animation:fx-spin 1.6s linear infinite}
.ts-fx[data-step="2"] .fxw__chips em+em .wh-icon{animation:none}

/* sticky player */
.fxp .ts-fx__stage{padding:12px 14px}
.fxp__win{position:absolute;inset:12px 14px;display:flex;flex-direction:column;border-radius:12px;background:#fff;border:1px solid #E3EDE6;overflow:hidden}
.fxp__url{display:flex;align-items:center;gap:5px;height:24px;padding:0 9px;background:#F1F6F2;border-bottom:1px solid #E3EDE6;font-size:10px;color:#6A7C73}
.fxp__url b{display:grid;color:var(--wh-ink)}.fxp__url b>span{grid-area:1/1}
.fxp__pages{position:relative;flex:1}
.fxp__pg{position:absolute;inset:8px 10px;display:grid;gap:5px;transform:translateX(16px)}
.ts-fx[data-step="0"] .fxp__pg--a,.ts-fx[data-step="1"] .fxp__pg--b,.ts-fx[data-step="2"] .fxp__pg--c,.ts-fx[data-step="3"] .fxp__pg--c{transform:none}
.fxp__pg i,.fxp__pg b{border-radius:6px;background:#EDF3EE}
.fxp__pg--a{grid-template-columns:2fr 1fr;grid-template-rows:38px 12px}.fxp__pg--a i:first-child{grid-row:span 2;background:#E8F3E4}
.fxp__pg--b{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,22px)}
.fxp__pg--c{grid-template-rows:30px 6px 6px 6px}.fxp__pg--c b{height:6px}.fxp__pg--c b:last-child{width:70%}
.fxp__bar{display:flex;align-items:center;gap:8px;height:44px;padding:0 10px;background:#0B1F18;color:#fff}
.fxp__bar .ts-card__logo{width:26px;height:26px;border-radius:8px}
.fxp__t{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}
.fxp__t b{font-size:11.5px}
.fxp__t small{display:grid;font-size:9.5px}
.fxp__t small>span{grid-area:1/1;display:flex;align-items:center;gap:4px}
.fxp__t .is-ok{color:var(--ts-green-2)}.fxp__t .is-ok i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:fx-blink 1.2s infinite}
.fxp__t .is-re{color:var(--ts-hi)}.fxp__t .is-re .wh-icon{animation:fx-spin 1s linear infinite}
.fxp__ctl{display:flex;align-items:center;gap:5px}
.fxp__ctl .ts-player__pp{width:24px;height:24px}
.fxp__vol{display:flex;align-items:center;gap:4px;color:rgba(232,243,228,.7)}
.fxp__vol em{width:46px;height:4px;border-radius:9px;background:rgba(255,255,255,.15);overflow:hidden}
.fxp__vol em i{display:block;height:100%;width:60%;background:var(--ts-hi);transition:width .8s var(--wh-ease)}
.ts-fx[data-step="2"] .fxp__vol em i{width:90%}
.ts-fx[data-step="2"] .fxp__vol{color:var(--ts-hi)}
.fxp__key{position:absolute;right:24px;top:44px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:var(--ts-hi);color:#0B1F18;font-size:10.5px;font-weight:800;transform:translateY(-6px)}
.ts-fx[data-step="2"] .fxp__key{transform:none}

/* now playing metadata */
.fxn .ts-fx__stage{display:flex;align-items:center;gap:0;padding:12px 14px}
.fxn__src{display:flex;flex-direction:column;gap:5px;flex:none}
.fxn__src em{font-style:normal;font-size:10px;font-weight:700;padding:4px 8px;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid rgba(232,243,228,.1);color:rgba(232,243,228,.6);transition:all .3s}
.ts-fx[data-step="0"] .fxn__src [data-on="0"],.ts-fx[data-step="1"] .fxn__src [data-on="1"],.ts-fx[data-step="2"] .fxn__src [data-on="2"],.ts-fx[data-step="3"] .fxn__src [data-on="3"]{background:var(--ts-hi);border-color:var(--ts-hi);color:#0B1F18}
.fxn__ln{position:relative;flex:1;min-width:14px;height:2px;margin:0 4px;background:repeating-linear-gradient(90deg,rgba(232,243,228,.3) 0 4px,transparent 4px 8px)}
.fxn__ln i{position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--ts-hi);box-shadow:0 0 10px var(--ts-hi);animation:fx-flow 1.1s linear infinite}
.fxn__ln--2 i{background:var(--ts-green-2);box-shadow:0 0 10px var(--ts-green-2);animation-delay:.55s}
.fxn__srv{flex:none;width:58px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:12px;background:rgba(63,185,127,.14);border:1px solid rgba(63,185,127,.35);color:var(--ts-green-2)}
.fxn__srv small{font-size:9px;font-weight:800;color:#BFF0D3;text-align:center;line-height:1.1}
.fxn__card{flex:none;width:44%;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:12px;background:#fff;color:var(--wh-ink)}
.fxn__card .ts-onair__lbl{background:rgba(255,92,92,.12);color:#D63B3B}
.fxn__card b{display:grid;font-family:var(--wh-head);font-size:16px;line-height:1.15}
.fxn__card b>span{grid-area:1/1;transform:translateY(6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-fx[data-step="0"] .fxn__card b>[data-s="0"],.ts-fx[data-step="1"] .fxn__card b>[data-s="1"],.ts-fx[data-step="2"] .fxn__card b>[data-s="2"],.ts-fx[data-step="3"] .fxn__card b>[data-s="3"]{transform:none}
.fxn__card small{display:flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;color:var(--ts-green)}

/* sharing */
.fxh .ts-fx__stage{padding:14px}
.fxh__card{position:relative;width:min(300px,56%);display:flex;align-items:center;gap:9px;padding:10px;border-radius:13px;background:#fff;border:1px solid #E3EDE6;box-shadow:0 14px 30px -22px rgba(6,20,14,.5)}
.fxh__card>span:not(.fxh__btn){flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.fxh__card b{font-size:12.5px}.fxh__card small{display:flex;align-items:center;gap:4px;font-size:10px;color:#6A7C73}
.fxh__card small svg:not(.wh-icon){width:13px;height:9px;border-radius:1px}
.fxh__btn{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:var(--ts-green);color:#fff;font-size:10.5px;font-weight:800}
.ts-fx[data-step="0"] .fxh__btn{animation:fx-click 2.3s ease both .4s}
.fxh__cur{right:6px;top:22px}
.ts-fx[data-step="0"] .fxh__cur{animation:fxh-cur 2.3s var(--wh-ease) both}
.ts-fx:not([data-step="0"]) .fxh__cur{opacity:0}
@keyframes fxh-cur{0%{right:-40px;top:70px;opacity:0}20%{opacity:1}55%,100%{right:12px;top:22px;opacity:1}}
.fxh__sheet{position:absolute;left:14px;top:76px;width:min(300px,56%);display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;border-radius:13px;background:#fff;border:1px solid #E3EDE6;box-shadow:0 18px 30px -18px rgba(6,20,14,.5);transform:translateY(8px)}
.ts-fx:not([data-step="0"]) .fxh__sheet{transform:none}
.fxh__sheet span{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 2px;border-radius:8px;font-size:9.5px;font-weight:700;color:#4A5D54;transition:background-color .3s}
.fxh__sheet span i{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#F1F6F2;color:#24372F;transition:background-color .3s,color .3s}
.ts-fx[data-step="1"] .fxh__sheet [data-on="1"] i,.ts-fx[data-step="2"] .fxh__sheet [data-on="2"] i,.ts-fx[data-step="3"] .fxh__sheet [data-on="3"] i{background:var(--ts-green);color:#fff}
.ts-fx[data-step="1"] .fxh__sheet [data-on="1"],.ts-fx[data-step="2"] .fxh__sheet [data-on="2"],.ts-fx[data-step="3"] .fxh__sheet [data-on="3"]{background:#E8F3E4}
.fxh__toast{position:absolute;right:18px;top:26px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#0B1F18;color:#fff;font-size:11px;font-weight:800;transform:translateY(-8px)}
.fxh__toast .wh-icon{color:var(--ts-green-2)}
.ts-fx[data-step="1"] .fxh__toast[data-s="1"],.ts-fx[data-step="2"] .fxh__toast[data-s="2"]{transform:none}
.fxh__toast--wa{background:#25D366;color:#06140E}.fxh__toast--wa .wh-icon{color:#06140E}
.fxh__phone{position:absolute;right:30px;top:14px;width:94px;height:150px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:18px;background:#0B1F18;box-shadow:0 18px 30px -12px rgba(6,20,14,.6);transform:translateY(20px)}
.ts-fx[data-step="3"] .fxh__phone{transform:none}
.fxh__phone>i{width:26px;height:4px;border-radius:4px;background:rgba(255,255,255,.2)}
.fxh__phone small{margin-top:auto;font-size:9px;font-weight:700;color:rgba(232,243,228,.7)}
.fxh__phone>span{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:100%}
.fxh__phone>span b{aspect-ratio:1;border-radius:6px;background:rgba(255,255,255,.14)}
.fxh__phone>span b:first-child{background:var(--ts-hi)}
.fxh__phone em{font-style:normal;font-size:8.5px;text-align:center;color:rgba(232,243,228,.55)}
.fxh__priv{position:absolute;right:18px;bottom:12px;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:var(--ts-green)}

/* station pages & SEO */
.fxo .ts-fx__stage{display:flex;gap:10px;padding:12px 14px}
.fxo__page{width:38%;flex:none;display:flex;flex-direction:column;gap:7px;padding:9px;border-radius:12px;background:#fff;border:1px solid #E3EDE6}
.fxo__head{display:flex;align-items:center;gap:6px;font-size:11.5px}
.fxo__head .ts-card__logo{width:22px;height:22px;border-radius:6px}
.fxo__fields{display:flex;flex-wrap:wrap;gap:4px}
.fxo__fields em{font-style:normal;font-size:9.5px;font-weight:700;padding:3px 6px;border-radius:6px;background:#E8F3E4;color:var(--ts-green)}
.ts-fx[data-step="0"] .fxo__fields em{animation:fx-pop .35s var(--wh-ease) both;animation-delay:calc(var(--n) * .12s)}
.fxo__n{margin-top:auto;font-size:10px;font-weight:800;color:var(--ts-hi)}
.fxo__code{position:absolute;left:calc(38% + 24px);right:14px;top:12px;display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:11px;background:#0B1F18;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#E8F3E4}
.fxo__code span{white-space:nowrap;overflow:hidden;opacity:0}
.ts-fx[data-step="1"] .fxo__code span{animation:fx-up .35s ease both;animation-delay:calc(var(--n) * .3s + .2s)}
.ts-fx[data-step="2"] .fxo__code span,.ts-fx[data-step="3"] .fxo__code span{opacity:1}
.fxo__code i{font-style:normal;color:#9FD8B8}.fxo__code b{font-weight:500;color:var(--ts-hi)}
.fxo__serp{position:absolute;left:calc(38% + 24px);right:14px;top:84px;display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:11px;background:#fff;border:1px solid #E3EDE6;box-shadow:0 14px 26px -18px rgba(6,20,14,.5);transform:translateY(8px)}
.ts-fx[data-step="2"] .fxo__serp,.ts-fx[data-step="3"] .fxo__serp{transform:none}
.fxo__serp small{font-size:9.5px;color:#4A5D54;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxo__serp b{font-size:12.5px;color:#1A0DAB}
.fxo__serp i{height:5px;border-radius:4px;background:#E5E7EB}.fxo__serp i+i{width:70%}
.fxo__chips{position:absolute;left:calc(38% + 24px);right:14px;bottom:10px;display:flex;flex-wrap:wrap;gap:5px}
.fxo__chips em{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:9.5px;font-weight:800;padding:4px 8px;border-radius:999px;background:var(--ts-green);color:#fff}
.ts-fx[data-step="3"] .fxo__chips em{animation:fx-pop .35s var(--wh-ease) both}
.ts-fx[data-step="3"] .fxo__chips em:nth-child(2){animation-delay:.15s}.ts-fx[data-step="3"] .fxo__chips em:nth-child(3){animation-delay:.3s}

/* design control */
.fxg .ts-fx__stage{display:flex;align-items:center;gap:12px;padding:12px 14px}
.fxg__ctl{width:42%;flex:none;display:flex;flex-direction:column;gap:6px}
.fxg__ctl>span{display:flex;flex-direction:column;gap:5px;padding:6px 8px;border-radius:9px;background:#fff;border:1px solid #E3EDE6;transition:border-color .3s,box-shadow .3s}
.fxg__ctl small{font-size:10px;font-weight:700;color:#4A5D54}
.fxg__ctl em{position:relative;height:4px;border-radius:9px;background:#E3EDE6}
.fxg__ctl em i{position:absolute;top:-4px;left:20%;width:12px;height:12px;border-radius:50%;background:#9AA8A0;transition:left .7s var(--wh-ease),background-color .3s}
.ts-fx[data-step="0"] .fxg__ctl [data-on="0"],.ts-fx[data-step="1"] .fxg__ctl [data-on="1"],.ts-fx[data-step="2"] .fxg__ctl [data-on="2"],.ts-fx[data-step="3"] .fxg__ctl [data-on="3"]{border-color:var(--ts-green);box-shadow:0 6px 14px -10px rgba(31,107,74,.7)}
.ts-fx[data-step="0"] .fxg__ctl [data-on="0"] i,.ts-fx[data-step="1"] .fxg__ctl [data-on="1"] i,.ts-fx[data-step="2"] .fxg__ctl [data-on="2"] i,.ts-fx[data-step="3"] .fxg__ctl [data-on="3"] i{left:72%;background:var(--ts-green)}
.fxg__pv{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:12px;background:repeating-linear-gradient(45deg,#F6FAF5 0 8px,#EEF5EC 8px 16px)}
.fxg__card{--r:10px;--pd:9px;--fs:12px;--btn:6px;--acc:#1F6B4A;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:78%;padding:var(--pd);border-radius:var(--r);background:#fff;box-shadow:0 10px 24px -16px rgba(6,20,14,.6);transition:all .6s var(--wh-ease)}
.fxg__logo{width:26px;height:26px;border-radius:calc(var(--r) * .6);display:flex;align-items:center;justify-content:center;background:#E8F3E4;color:var(--acc);transition:all .6s}
.fxg__card b{font-family:var(--wh-head);font-size:var(--fs);transition:font-size .6s var(--wh-ease)}
.fxg__card small{font-size:9.5px;color:#6A7C73}
.fxg__btn{display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:4px 9px;border-radius:var(--btn);background:var(--acc);color:#fff;font-size:9.5px;font-weight:800;transition:all .6s var(--wh-ease)}
.ts-fx[data-step="0"] .fxg__card{--fs:16px}
.ts-fx[data-step="1"] .fxg__card{--fs:16px;--pd:15px}
.ts-fx[data-step="2"] .fxg__card{--fs:16px;--pd:15px;--r:20px;box-shadow:0 18px 30px -14px rgba(6,20,14,.55)}
.ts-fx[data-step="3"] .fxg__card{--fs:16px;--pd:15px;--r:20px;--btn:999px;--acc:#FF7A29}
.fxg__live{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6A7C73}

/* setup wizard & settings */
.fxz .ts-fx__stage{display:flex;gap:10px;padding:12px 14px}
.fxz__wiz{width:40%;flex:none;display:flex;flex-direction:column;gap:5px;padding:9px;border-radius:12px;background:#0B1F18;color:#E8F3E4}
.fxz__wiz small{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-hi);margin-bottom:2px}
.fxz__wiz>span{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:8px;font-size:10.5px;font-weight:600;color:rgba(232,243,228,.55);transition:background-color .3s,color .3s}
.fxz__wiz>span>b{position:relative;width:18px;height:18px;flex:none;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(232,243,228,.3);font-size:9.5px}
.fxz__wiz>span>b>*{grid-area:1/1;font-style:normal}
.fxz__wiz>span>b i{opacity:0;display:flex}
.ts-fx[data-step="0"] .fxz__wiz [data-on="0"],.ts-fx[data-step="1"] .fxz__wiz [data-on="1"],.ts-fx[data-step="2"] .fxz__wiz [data-on="2"],.ts-fx[data-step="3"] .fxz__wiz [data-on="3"]{background:rgba(255,255,255,.08);color:#fff}
.ts-fx[data-step="0"] .fxz__wiz [data-on="0"] b,.ts-fx[data-step="1"] .fxz__wiz [data-on="1"] b,.ts-fx[data-step="2"] .fxz__wiz [data-on="2"] b,.ts-fx[data-step="3"] .fxz__wiz [data-on="3"] b{border-color:var(--ts-hi);background:var(--ts-hi);color:#0B1F18}
.ts-fx[data-step="1"] .fxz__wiz [data-on="0"] b,.ts-fx[data-step="2"] .fxz__wiz [data-on="0"] b,.ts-fx[data-step="2"] .fxz__wiz [data-on="1"] b,.ts-fx[data-step="3"] .fxz__wiz [data-on="0"] b,.ts-fx[data-step="3"] .fxz__wiz [data-on="1"] b,.ts-fx[data-step="3"] .fxz__wiz [data-on="2"] b{border-color:var(--ts-green-2);background:var(--ts-green-2);color:#0B1F18}
.ts-fx[data-step="1"] .fxz__wiz [data-on="0"] i,.ts-fx[data-step="2"] .fxz__wiz [data-on="0"] i,.ts-fx[data-step="2"] .fxz__wiz [data-on="1"] i,.ts-fx[data-step="3"] .fxz__wiz [data-on="0"] i,.ts-fx[data-step="3"] .fxz__wiz [data-on="1"] i,.ts-fx[data-step="3"] .fxz__wiz [data-on="2"] i{opacity:1}
.ts-fx[data-step="1"] .fxz__wiz [data-on="0"] em,.ts-fx[data-step="2"] .fxz__wiz [data-on="0"] em,.ts-fx[data-step="2"] .fxz__wiz [data-on="1"] em,.ts-fx[data-step="3"] .fxz__wiz [data-on="0"] em,.ts-fx[data-step="3"] .fxz__wiz [data-on="1"] em,.ts-fx[data-step="3"] .fxz__wiz [data-on="2"] em{opacity:0}
.fxz__app{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:9px;border-radius:12px;background:#fff;border:1px solid #E3EDE6}
.fxz__tabs{display:flex;gap:3px;padding:3px;border-radius:9px;background:#F1F6F2}
.fxz__tabs em{flex:1;text-align:center;font-style:normal;font-size:9.5px;font-weight:700;padding:4px 2px;border-radius:6px;color:#6A7C73;transition:all .3s}
.ts-fx[data-step="0"] .fxz__tabs [data-on="0"],.ts-fx[data-step="1"] .fxz__tabs [data-on="1"],.ts-fx[data-step="2"] .fxz__tabs [data-on="2"],.ts-fx[data-step="3"] .fxz__tabs [data-on="3"]{background:#fff;color:var(--ts-green);box-shadow:0 2px 6px -2px rgba(6,20,14,.2)}
.fxz__row{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;color:#4A5D54}
.fxz__sw{display:flex;gap:4px}
.fxz__sw i{width:14px;height:14px;border-radius:50%;background:#1F6B4A;transition:box-shadow .3s}
.fxz__sw i:nth-child(2){background:#FF7A29}.fxz__sw i:nth-child(3){background:#642bff}.fxz__sw i:nth-child(4){background:#E0447C}
.fxz__sw i:first-child{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #1F6B4A}
.ts-fx[data-step="3"] .fxz__sw i:first-child{box-shadow:none}.ts-fx[data-step="3"] .fxz__sw i:nth-child(2){box-shadow:0 0 0 2px #fff,0 0 0 3.5px #FF7A29}
.fxz__tg{width:28px;height:16px;border-radius:999px;background:#CFE0D5;position:relative;transition:background-color .3s}
.fxz__tg i{position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .3s}
.ts-fx[data-step="2"] .fxz__tg,.ts-fx[data-step="3"] .fxz__tg{background:var(--ts-green)}
.ts-fx[data-step="2"] .fxz__tg i,.ts-fx[data-step="3"] .fxz__tg i{left:14px}
.fxz__pv{--acc:#1F6B4A;display:flex;align-items:center;gap:6px;margin-top:auto;padding:6px;border-radius:9px;border:1px dashed #CFE0D5;font-size:10px}
.ts-fx[data-step="3"] .fxz__pv{--acc:#FF7A29}
.fxz__pv .ts-card__logo{width:20px;height:20px;border-radius:6px;background:#E8F3E4;color:var(--acc);transition:color .4s}
.fxz__pv b{flex:1}
.fxz__pv em{font-style:normal;font-size:9px;font-weight:800;padding:3px 7px;border-radius:999px;background:var(--acc);color:#fff;transition:background-color .4s}
.fxz__saved{position:absolute;right:8px;bottom:-26px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#0B1F18;color:#E8F3E4;font-size:9.5px;font-weight:800;animation:fxz-saved 2.4s ease infinite}
.fxz__saved .wh-icon{color:var(--ts-green-2)}
@keyframes fxz-saved{0%,35%{bottom:-26px}50%,85%{bottom:40px}100%{bottom:-26px}}

/* translation & RTL */
.fxt .ts-fx__stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 16px}
.fxt__lng{display:grid;font-size:10.5px;font-weight:800}
.fxt__lng>span{grid-area:1/1;justify-self:center;padding:4px 11px;border-radius:999px;background:#0B1F18;color:#E8F3E4}
.fxt__card{width:100%;max-width:290px;display:flex;align-items:center;gap:9px;padding:10px;border-radius:13px;background:#fff;border:1px solid #E3EDE6;box-shadow:0 14px 28px -20px rgba(6,20,14,.5);transition:transform .5s var(--wh-ease)}
.ts-fx[data-step="1"] .fxt__card{flex-direction:row-reverse;text-align:right}
.fxt__card .ts-card__logo{width:30px;height:30px;border-radius:9px}
.fxt__t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.fxt__t b,.fxt__t small{display:grid}
.fxt__t b>span,.fxt__t small>span{grid-area:1/1}
.fxt__t b{font-size:12.5px}.fxt__t small{font-size:10px;color:#6A7C73}
.fxt__btn{display:grid;flex:none;font-size:10.5px;font-weight:800}
.fxt__btn>span{grid-area:1/1;padding:5px 10px;border-radius:999px;background:var(--ts-green);color:#fff;text-align:center}
.fxt__free{display:flex;gap:6px;transform:translateY(6px)}
.ts-fx[data-step="2"] .fxt__free{transform:none}
.fxt__free span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#E8F3E4;color:var(--ts-green);font-size:10px;font-weight:800}

@media (max-width:520px){
  .ts-feat__art.ts-fx{height:248px}
  .fxa__nav{display:none}
  .fxc__globe{width:96px;height:96px}
  .fxd__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fxd__c:nth-child(n+5){display:none}
  .fxd__sel:nth-of-type(2){display:none}
  .fxh__card,.fxh__sheet{width:62%}
  .fxo__page{width:44%}.fxo__code,.fxo__serp,.fxo__chips{left:calc(44% + 24px)}
  .fxa__dm>span{width:110px}
}
/* Pro badge sits on the card's icon row, beside the title, so it never covers the scene */
.ts-feat .ts-fx+.ts-feat__icon{margin-top:2px}
.ts-feat.is-pro .ts-feat__pro{top:calc(22px + 236px + 6px + 2px + 10px);right:22px}
@media (max-width:520px){.ts-feat.is-pro .ts-feat__pro{top:calc(22px + 248px + 6px + 2px + 10px)}}
.fxi__cur{left:78%;top:88%}
@keyframes fxi-cur{0%{left:60%;top:95%;opacity:0}15%{opacity:1}50%,100%{left:calc(100% - 40px);top:44px;opacity:1}}
.fxz__app{overflow:hidden}
.ts-fx[data-step="2"] .fxs__pl{left:calc(100% - 104px)}
.fxh__card{left:0}
.fxh__sheet{top:70px;gap:2px;padding:6px}
.fxh__sheet span{padding:3px 2px}
.fxh__sheet span i{width:24px;height:24px}
.fxo__page{gap:8px}
.fxo__fields em:nth-child(n+10){background:#F1F6F2;color:#6A7C73}
.fxo__lines{display:flex;flex-direction:column;gap:4px}.fxo__lines i{height:5px;border-radius:4px;background:#EDF3EE}.fxo__lines i:last-child{width:65%}

/* ---------------- Product tour: richer panels ---------------- */
.ts-fx[data-step="4"] [data-s*="4"]{opacity:1;visibility:visible}
.ts-fx[data-step="4"] [data-v="4"]{display:flex}
.ts-fx--tour [data-v]{display:none}
.ts-fx--tour[data-step="0"] [data-v="0"],.ts-fx--tour[data-step="1"] [data-v="1"],.ts-fx--tour[data-step="2"] [data-v="2"],.ts-fx--tour[data-step="3"] [data-v="3"],.ts-fx--tour[data-step="4"] [data-v="4"]{display:flex}
.ts-app--dark{background:radial-gradient(circle at 85% 0,rgba(63,185,127,.14),transparent 50%),#0E1A16;color:#E8F3E4}
.ts-ana__tabs span{display:inline-flex;align-items:center;gap:6px;transition:background-color .3s,color .3s}
.ts-ana__tabs .ts-live-dot{width:7px;height:7px}
.ts-fx--tour[data-step="0"] .ts-ana__tabs [data-on="0"],.ts-fx--tour[data-step="1"] .ts-ana__tabs [data-on="1"],.ts-fx--tour[data-step="2"] .ts-ana__tabs [data-on="2"],.ts-fx--tour[data-step="3"] .ts-ana__tabs [data-on="3"],.ts-fx--tour[data-step="4"] .ts-ana__tabs [data-on="4"]{background:var(--ts-purple);color:#fff}
.ts-ana__body{min-height:330px}
.ts-ana__v{flex-direction:column;gap:10px;animation:fx-up .45s var(--wh-ease) both}
.ts-ana__v .ts-kpis{margin-top:16px}
.ts-kpi{animation:fx-up .45s var(--wh-ease) both;animation-delay:calc(var(--n) * .1s)}
.ts-spark{width:100%;height:30px}
.ts-spark path{fill:none;stroke:var(--ts-hi);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:130;stroke-dashoffset:130;animation:fx-dash 1.2s ease forwards .3s}
.ts-ana__chart{position:relative}
.ts-ana__dot{fill:var(--ts-hi);stroke:#0E1A16;stroke-width:3;opacity:0;animation:fx-up .3s ease forwards 1.6s;vector-effect:non-scaling-stroke}
.ts-ana__tip{position:absolute;left:calc(75% - 60px);top:4px;display:flex;flex-direction:column;padding:6px 10px;border-radius:10px;background:#fff;color:#0B1F18;font-size:10.5px;box-shadow:0 10px 24px -10px rgba(0,0,0,.6);opacity:0;animation:fx-up .35s ease forwards 1.8s}
.ts-ana__tip b{font-size:11.5px}
.ts-ana__h{margin:14px 0 2px!important;font-size:11.5px!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(232,243,228,.55)!important}
.ts-ana__rk{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:13px;font-weight:600;animation:fx-up .4s var(--wh-ease) both;animation-delay:calc(var(--n) * .1s)}
.ts-ana__rk>b{width:24px;height:24px;flex:none;border-radius:7px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);font-size:12px}
.ts-ana__rk:nth-of-type(1)>b{background:var(--ts-hi);color:#0B1F18}
.ts-ana__rk .ts-card__logo{width:28px;height:28px;border-radius:8px}
.ts-ana__nm{width:180px;flex:none;display:flex;flex-direction:column;line-height:1.25}
.ts-ana__nm small{display:flex;align-items:center;gap:5px;font-size:11px;color:rgba(232,243,228,.55)!important}
.ts-ana__rk em{flex:1;display:flex;flex-direction:column;gap:4px}
.ts-ana__rk em i{display:block;height:6px;width:var(--w);border-radius:9px;background:linear-gradient(90deg,var(--ts-purple-2),var(--ts-hi));transform-origin:left;animation:fx-grow .9s var(--wh-ease) both;animation-delay:calc(var(--n) * .1s + .2s)}
.ts-ana__rk em i.is-2{width:var(--w2);background:var(--ts-green-2);opacity:.75}
.ts-ana__leg{display:flex;align-items:center;gap:7px;font-size:11.5px;color:rgba(232,243,228,.6)}
.ts-ana__leg i{width:14px;height:4px;border-radius:3px;background:var(--ts-hi)}.ts-ana__leg i.is-2{margin-left:10px;background:var(--ts-green-2)}
.ts-ana__v--disc{display:none;flex-direction:row!important;flex-wrap:wrap;gap:12px!important;padding-top:16px}
.ts-ana__card{flex:1 1 calc(50% - 12px);display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);animation:fx-up .4s var(--wh-ease) both;animation-delay:calc(var(--n) * .1s)}
.ts-ana__card>i{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,173,82,.14);color:var(--ts-hi);margin-bottom:4px}
.ts-ana__card b{font-size:14px}.ts-ana__card small{font-size:11.5px;color:rgba(232,243,228,.6)!important}
.ts-ana__q{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.ts-ana__q em{font-style:normal;font-size:11px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:#E8F3E4}
.ts-ana__mini{display:flex;align-items:flex-end;gap:4px;height:34px;margin-top:6px}
.ts-ana__mini i{flex:1;height:var(--h);border-radius:3px 3px 1px 1px;background:linear-gradient(var(--ts-green-2),rgba(63,185,127,.2));transform-origin:bottom;animation:ts-bars 1.6s ease-in-out infinite alternate;animation-delay:calc(var(--k) * -.2s)}
.ts-ana__v--health{flex-direction:row!important;align-items:center;gap:30px!important;padding:20px 10px}
.ts-ana__gauge{position:relative;width:200px;height:200px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.ts-ana__gauge svg{position:absolute;inset:0;transform:rotate(-90deg)}
.ts-ana__gauge circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:3.5}
.ts-ana__gauge .is-fill{stroke:var(--ts-green-2);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:113;animation:fxa-gauge 1.5s var(--wh-ease) forwards .2s}
.ts-ana__gauge b{color:var(--ts-green-2)}
.ts-ana__gauge small{font-size:12px;font-weight:700;color:rgba(232,243,228,.75)!important}
.ts-ana__hl{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.ts-ana__hl>span{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:13px;font-weight:600;animation:fx-up .4s var(--wh-ease) both;animation-delay:calc(var(--n) * .12s + .2s)}
.ts-ana__hl>span>i{width:8px;height:8px;border-radius:50%;background:var(--ts-green-2)}
.ts-ana__hl em{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:rgba(63,185,127,.15);color:var(--ts-green-2)}
.ts-ana__hl .is-warn{border-color:rgba(255,173,82,.4)}
.ts-ana__hl .is-warn>i{background:var(--ts-hi);animation:fx-blink 1s infinite}
.ts-ana__hl .is-warn em{background:rgba(255,173,82,.18);color:var(--ts-hi)}
.ts-ana__note{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:rgba(232,243,228,.6)!important}
.ts-ana__v--live{flex-direction:row!important;gap:16px!important;padding-top:16px}
.ts-ana__map{position:relative;flex:1;min-height:280px;border-radius:16px;background-color:rgba(255,255,255,.03);background-image:radial-gradient(rgba(232,243,228,.22) 1.3px,transparent 1.8px);background-size:12px 12px;border:1px solid rgba(255,255,255,.06)}
.ts-ana__map span{position:absolute;width:12px;height:12px;margin:-6px;border-radius:50%;background:var(--ts-hi);box-shadow:0 0 14px var(--ts-hi)}
.ts-ana__map span::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--ts-hi);animation:fx-ping 1.8s ease-out infinite;animation-delay:calc(var(--n) * -.3s)}
.ts-ana__now{width:270px;flex:none;display:flex;flex-direction:column;gap:8px}
.ts-ana__lh{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;margin-bottom:4px}
.ts-ana__lh b{font-size:14px}.ts-ana__lh small{grid-column:2;font-size:11.5px;color:rgba(232,243,228,.55)!important}
.ts-ana__ln{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.04);font-size:13px;font-weight:600;animation:fx-up .4s var(--wh-ease) both;animation-delay:calc(var(--n) * .12s)}
.ts-ana__ln .ts-card__logo{width:26px;height:26px;border-radius:8px}
.ts-ana__ln .ts-eq{margin-left:auto}
@media (max-width:760px){.ts-ana__v--health,.ts-ana__v--live{flex-direction:column!important}.ts-ana__gauge{width:150px;height:150px}.ts-ana__now{width:100%}.ts-ana__nm{width:130px}.ts-ana__card{flex-basis:100%}.ts-ana__map{min-height:160px;width:100%}}
/* directory panel steps */
.ts-dirx .ts-field{gap:8px}
.ts-fq{display:grid}.ts-fq>span{grid-area:1/1}.ts-fq .is-ph{color:#66736C}
.ts-dirx .ts-field .ts-caret{height:14px}
.ts-dirx .ts-app__chips>[data-s],.ts-dirx .ts-app__chips em>span{transition:opacity .3s}
.ts-dirx .ts-app__chips em{display:grid}.ts-dirx .ts-app__chips em>span{grid-area:1/1}
.ts-dirx .ts-row{transition:opacity .4s,filter .4s,border-color .4s,box-shadow .4s}
.ts-dirx[data-step="1"] .ts-row:not([data-m*="1"]),.ts-dirx[data-step="2"] .ts-row:not([data-m*="2"]){opacity:.28;filter:grayscale(1)}
.ts-dirx[data-step="1"] .ts-row[data-m*="1"],.ts-dirx[data-step="2"] .ts-row[data-m*="2"]{border-color:var(--ts-green);box-shadow:0 10px 22px -14px rgba(31,107,74,.7)}
.ts-dirx[data-step="2"] .ts-side__row.is-jp{background:#E8F3E4;color:#1F6B4A}
/* station page: blocks build in */
.ts-panel.is-active .ts-info span,.ts-panel.is-active .ts-share span,.ts-panel.is-active .ts-related>span,.ts-panel.is-active .ts-tags em{animation:fx-pop .4s var(--wh-ease) both}
.ts-panel.is-active .ts-info span:nth-child(2),.ts-panel.is-active .ts-share span:nth-of-type(2){animation-delay:.1s}
.ts-panel.is-active .ts-info span:nth-child(3),.ts-panel.is-active .ts-share span:nth-of-type(3){animation-delay:.2s}
.ts-panel.is-active .ts-info span:nth-child(4),.ts-panel.is-active .ts-share span:nth-of-type(4){animation-delay:.3s}
.ts-panel.is-active .ts-info span:nth-child(5),.ts-panel.is-active .ts-share span:nth-of-type(5){animation-delay:.4s}
.ts-panel.is-active .ts-info span:nth-child(6),.ts-panel.is-active .ts-share span:nth-of-type(6){animation-delay:.5s}
.ts-panel.is-active .ts-related>span:nth-of-type(2){animation-delay:.15s}.ts-panel.is-active .ts-related>span:nth-of-type(3){animation-delay:.3s}
/* imports: rows advance with the progress */
.ts-imp__row{transition:background-color .3s}
.ts-imp__row.is-done small{color:var(--ts-green)}
.ts-ana__gauge>b,.fxa__gauge>b{display:none}
@media (max-width:520px){.fxc__head em{display:none}.fxc__panel{padding:8px}}

/* ---------------- Feature cards: a color of their own ---------------- */
.ts-feat[style*="--fc1"]{background:linear-gradient(165deg,var(--fc1) 0%,#fff 62%);border-color:color-mix(in srgb,var(--fc2) 70%,#fff)}
.ts-feat[style*="--fc1"]::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--fc1) 80%,transparent),transparent 45%);z-index:0}
.ts-feat[style*="--fc1"]>*{position:relative;z-index:1}
.ts-feat[style*="--fc1"]>.ts-feat__pro{position:absolute;z-index:2}
.ts-feat[style*="--fc1"] .ts-feat__art.ts-fx:not(.ts-fx--dark){background:linear-gradient(160deg,#fff 0%,var(--fc1) 100%);border-color:color-mix(in srgb,var(--fc2) 75%,#fff)}
.ts-feat[style*="--fc1"] .ts-fx--dark{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fc2) 35%,transparent)}
.ts-feat[style*="--fc1"] .ts-fx:not(.ts-fx--dark) .ts-fx__cap{background:color-mix(in srgb,var(--fc1) 55%,#fff);border-top-color:color-mix(in srgb,var(--fc2) 60%,#fff)}
.ts-feat[style*="--fc1"] .ts-fx:not(.ts-fx--dark)[data-step] .ts-fx__dots b[data-on]{}
.ts-feat[style*="--fc1"] .ts-fx:not(.ts-fx--dark)[data-step="0"] .ts-fx__dots [data-on="0"],.ts-feat[style*="--fc1"] .ts-fx:not(.ts-fx--dark)[data-step="1"] .ts-fx__dots [data-on="1"],.ts-feat[style*="--fc1"] .ts-fx:not(.ts-fx--dark)[data-step="2"] .ts-fx__dots [data-on="2"],.ts-feat[style*="--fc1"] .ts-fx:not(.ts-fx--dark)[data-step="3"] .ts-fx__dots [data-on="3"]{background:var(--fca)}
.ts-feat__icon--hue{background:var(--fc2);color:var(--fca);box-shadow:0 10px 20px -12px var(--fca)}
.ts-feat[style*="--fc1"] h3{transition:color .3s}
.ts-feat[style*="--fc1"]:hover{border-color:var(--fc2);box-shadow:0 34px 60px -34px color-mix(in srgb,var(--fca) 55%,transparent),0 0 0 4px color-mix(in srgb,var(--fc1) 80%,transparent)}
.ts-feat[style*="--fc1"]:hover h3{color:var(--fca)}
.ts-feat[style*="--fc1"]:hover .ts-feat__icon--hue{transform:rotate(-6deg) scale(1.06)}
.ts-feat__icon--hue{transition:transform .35s var(--wh-ease)}
.ts-feat.is-pro[style*="--fc1"]{border-color:color-mix(in srgb,var(--fc2) 70%,#fff)}

/* ---------------- Product menu icons ---------------- */
.tsn__menu a,.tsn__menu a:hover{display:inline-flex;align-items:center;gap:7px}
.tsn__menu a .wh-icon{opacity:.7;transition:opacity .2s}
.tsn__menu a:hover .wh-icon,.tsn__menu a.is-current .wh-icon{opacity:1}
.tsn__menu a.is-current .wh-icon{color:var(--ts-hi)}
@media (max-width:1240px){.tsn__menu a,.tsn__menu a:hover{padding:9px 12px;gap:6px}}
@media (max-width:1100px){.tsn__menu a .wh-icon{display:none}}
.ts-feat[style*="--fc1"]{background:linear-gradient(165deg,var(--fc1) 0%,color-mix(in srgb,var(--fc1) 45%,#fff) 55%,#fff 100%)}

/* ---------------- Pricing: guarantee, payment marks, custom plan ---------------- */
.ts-trust{margin:34px auto 0;max-width:1000px;display:flex;align-items:center;gap:22px;padding:16px 18px 16px 16px;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid rgba(232,243,228,.12)}
.ts-trust__g{display:flex;align-items:center;gap:14px;flex:none}
.ts-trust__seal{position:relative;width:52px;height:58px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ts-trust__seal svg{position:absolute;inset:0;width:100%;height:100%}
.ts-trust__seal path{fill:rgba(255,173,82,.15);stroke:var(--ts-hi);stroke-width:4}
.ts-trust__seal b{position:relative;font-family:var(--wh-head);font-size:21px;line-height:1;color:var(--ts-hi)}
.ts-trust__seal small{position:relative;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.75)}
.ts-trust__t{display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.ts-trust__t b{font-size:16px;color:#fff}
.ts-trust__t small{font-size:13px;color:var(--wh-on-dark-2)}
.ts-trust__pay{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-left:22px;border-left:1px solid rgba(232,243,228,.12)}
.ts-trust__lbl{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--wh-on-dark-2)}
.ts-trust__lbl .wh-icon{color:var(--ts-green-2)}
.ts .ts-pay{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ts .ts-pay__m{width:58px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;box-shadow:0 6px 14px -10px rgba(0,0,0,.6);transition:transform .2s var(--wh-ease)}
.ts .ts-pay__m:hover{transform:translateY(-2px)}
.ts .ts-pay__m svg{width:52px;height:22px}
.ts .ts-sec-badges{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ts .ts-sec-badges li{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(232,243,228,.14);font-size:12px;font-weight:700;color:#E8F3E4}
.ts .ts-sec-badges .wh-icon{color:var(--ts-green-2)}
.ts-refund__trust{margin-top:20px;padding-top:18px;border-top:1px solid rgba(232,243,228,.12)}
.ts-custom{margin:16px auto 0;max-width:1000px;display:flex;align-items:center;gap:20px;padding:22px 24px;border-radius:24px;background:linear-gradient(110deg,rgba(63,185,127,.18),rgba(255,173,82,.10) 60%,rgba(100,43,255,.12));border:1px solid rgba(232,243,228,.14)}
.ts-custom__ic{width:52px;height:52px;flex:none;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--ts-green-2);color:#06140E}
.ts-custom__copy{flex:1;min-width:0}
.ts .ts-custom h2,.ts .ts-custom h3{margin:0;font-size:20px;line-height:1.3;letter-spacing:normal;color:#fff}
.ts .ts-custom p{margin:4px 0 0;font-size:14.5px;line-height:1.55;color:var(--wh-on-dark-2)}
.ts-custom__cta{display:flex;flex-direction:column;align-items:center;gap:8px;flex:none}
.ts-custom__mail,.ts-custom__mail:hover{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--wh-on-dark-2);text-decoration:none}
.ts-custom__mail:hover{color:var(--ts-hi)}
@media (max-width:900px){
  .ts-trust{flex-direction:column;align-items:flex-start}
  .ts-trust__pay{margin-left:0;padding-left:0;border-left:0;align-items:flex-start;width:100%;padding-top:14px;border-top:1px solid rgba(232,243,228,.12)}
  .ts-trust__t{white-space:normal}
  .ts-custom{flex-direction:column;align-items:flex-start}
  .ts-custom__cta{align-items:flex-start}
}
.ts-refund__copy{flex:1;min-width:0}
.ts-refund__trust{margin:0;padding:20px;border-top:0;width:330px;flex:none;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(232,243,228,.12)}
.ts-refund__lbl{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:13px;font-weight:800;color:#fff}
.ts-refund__lbl .wh-icon{color:var(--ts-green-2)}
.ts-refund__trust .ts-pay{display:grid;grid-template-columns:repeat(3,1fr)}
.ts-refund__trust .ts-pay__m{width:auto}
@media (max-width:1100px){.ts-refund{flex-wrap:wrap}.ts-refund__trust{width:100%}.ts-refund__trust .ts-pay{grid-template-columns:repeat(6,1fr)}}
@media (max-width:520px){.ts .ts-pay__m{width:48px;height:30px}.ts .ts-pay__m svg{width:44px}.ts-refund__trust .ts-pay{grid-template-columns:repeat(3,1fr)}.ts-refund__trust .ts-pay__m{width:auto}}
.ts-refund__trust .ts-sec-badges{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ts-refund__trust .ts-sec-badges li{justify-content:flex-start;padding:6px 9px;font-size:11.5px;white-space:nowrap}
/* comparison table: feature icons */
.ts-capr{display:flex;align-items:center;gap:12px}
.ts-cap-ic{width:32px;height:32px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#E8F3E4;color:var(--ts-green);transition:transform .25s var(--wh-ease),background-color .25s,color .25s}
.ts-table tbody tr:hover .ts-cap-ic{transform:scale(1.08);background:var(--ts-green);color:#fff}
.ts-table tbody tr:has(td.is-pro .ts-y):has(td .ts-n) .ts-cap-ic,.ts-table tbody tr:has(td.is-pro b) .ts-cap-ic{background:#ECE6FF;color:#5B22F2}
.ts-table tbody tr:has(td.is-pro .ts-y):has(td .ts-n):hover .ts-cap-ic,.ts-table tbody tr:has(td.is-pro b):hover .ts-cap-ic{background:var(--ts-purple);color:#fff}
@media (max-width:760px){.ts-cap-ic{width:26px;height:26px;border-radius:8px}.ts-capr{gap:8px}}
.ts-custom{margin-top:30px}
.ts-theme-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ts .ts-refund p a.ts-refund__link{color:var(--ts-hi);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* ---------------- Pricing: discount display ---------------- */
.ts-offer-pill{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:7px 14px;border-radius:999px;background:rgba(255,173,82,.14);border:1px solid rgba(255,173,82,.35);color:#FFD9A8;font-size:13.5px;font-weight:600}
.ts-offer-pill b{color:var(--ts-hi)}
.ts-plan__deal{display:flex;align-items:center;gap:8px;margin-top:4px}
.ts-plan__deal s{font-size:16px;font-weight:600;color:rgba(232,243,228,.55);text-decoration-thickness:2px;text-decoration-color:#FF7F7F}
.ts-plan__deal em{font-style:normal;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:linear-gradient(110deg,#FFAD52,#FF7FAE);color:#0B1F18}
.ts-plan--pop .ts-plan__deal s{color:#8A9A92}
.ts-plan__save{margin-top:-2px;font-size:12px;font-weight:700;color:var(--ts-green-2)}
.ts-plan--pop .ts-plan__save{color:var(--ts-green)}
.ts-plans.is-swap .ts-plan__deal s,.ts-plans.is-swap .ts-plan__save{opacity:.2}
.ts-pt__plan em s{margin-right:6px;font-size:16px;font-weight:600;color:#9AA8A0;text-decoration-color:#E25555}
/* offer pill sits under the Annual/Lifetime switch; struck price is thinner and easier to read */
.ts-head .ts-offer-pill{display:flex;width:fit-content;margin:14px auto 0}
.ts-plan__deal s{font-size:17px;font-weight:600;color:rgba(232,243,228,.82);text-decoration-thickness:1px;text-decoration-color:rgba(255,127,127,.9)}
.ts-plan--pop .ts-plan__deal s{color:#5E6E66}
.ts-pt__plan em s{text-decoration-thickness:1px;color:#7C8B84}
/* small Pro badges read as PRO */
.ts-feat__pro,.ts-pro-tag,.ts-inline-pro,.ts-plan__deal em{text-transform:uppercase;letter-spacing:.04em}

/* App (PWA) card */
.fxa .ts-fx__stage{display:flex;align-items:stretch;justify-content:center;padding:12px 16px 0}
.fxa__phone{position:relative;width:146px;border-radius:22px 22px 0 0;background:#0B1F18;padding:7px 7px 0;box-shadow:0 18px 34px -22px rgba(6,20,14,.6)}
.fxa__notch{position:absolute;top:5px;left:50%;width:38px;height:5px;margin-left:-19px;border-radius:4px;background:rgba(232,243,228,.25);z-index:2}
.fxa__screen{position:relative;height:100%;border-radius:16px 16px 0 0;background:#F6FAF5;overflow:hidden}
.fxa__v{position:absolute;inset:0;flex-direction:column;padding:16px 9px 9px;gap:6px}
.fxa__bar{display:flex;gap:5px}.fxa__bar i{height:7px;border-radius:4px;background:#DCE8DF}.fxa__bar i:first-child{width:44%}.fxa__bar i:last-child{width:22%}
.fxa__row{display:flex;align-items:center;gap:6px;padding:5px;border-radius:9px;background:#fff;border:1px solid #E3EDE6}
.fxa__row .ts-card__logo{width:18px;height:18px;border-radius:6px}.fxa__row b{flex:1;height:6px;border-radius:4px;background:#DCE8DF}
.fxa__banner{position:absolute;left:6px;right:6px;bottom:8px;display:flex;align-items:center;gap:5px;padding:6px;border-radius:11px;background:#fff;border:1px solid #E3EDE6;box-shadow:0 12px 24px -16px rgba(6,20,14,.55);animation:fx-up .6s var(--wh-ease) .3s both}
.fxa__bicon{width:20px;height:20px;flex:none;border-radius:6px;background:var(--ts-green);color:#fff;display:grid;place-items:center}
.fxa__btxt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.fxa__btxt b{font-size:8.5px;white-space:nowrap}.fxa__btxt small{font-size:6.5px;color:#6A7C73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxa__bbtn{position:relative;flex:none;padding:4px 6px;border-radius:999px;background:var(--ts-green);color:#fff;font-size:8px;font-weight:800}
.fxa__cur{position:absolute;right:-9px;bottom:-11px;width:16px;height:16px}
.ts-fx[data-step="0"] .fxa__bbtn{animation:fx-click 2.6s ease both}
.fxa__home{padding:20px 9px 9px;grid-template-columns:repeat(4,1fr);grid-auto-rows:min-content;gap:9px 4px;align-content:start;background:linear-gradient(160deg,#DDF4F0,#E8F3E4)}
.ts-fx[data-step="1"] .fxa__home[data-v="1"]{display:grid}
.fxa__ico{display:flex;flex-direction:column;align-items:center;gap:2px}
.fxa__ico em{width:20px;height:20px;border-radius:6px;background:rgba(11,31,24,.14)}
.fxa__ico[data-app] em{background:var(--ts-green);color:#fff;display:grid;place-items:center;box-shadow:0 8px 16px -8px rgba(13,122,107,.8);animation:fx-pop .7s var(--wh-ease) .25s both}
.fxa__ico small{font-size:6px;font-weight:700;color:#24372F}
.fxa__toast{grid-column:1/-1;justify-self:center;margin-top:12px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#0B1F18;color:#E8F3E4;font-size:7.5px;font-weight:700;white-space:nowrap;animation:fx-up .5s var(--wh-ease) .9s both}
@keyframes fx-pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.fxa__lock{justify-content:flex-end;padding:14px 9px 14px;background:linear-gradient(180deg,#0B1F18,#17352B);color:#E8F3E4}
.fxa__time{position:absolute;top:14px;left:0;right:0;text-align:center;font-size:22px;font-weight:800;letter-spacing:-.5px}
.fxa__np{display:flex;align-items:center;gap:6px;padding:7px;border-radius:11px;background:rgba(232,243,228,.1);animation:fx-up .5s var(--wh-ease) .2s both}
.fxa__np .ts-card__logo{width:24px;height:24px;border-radius:7px;flex:none}.fxa__np>span{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.fxa__np b{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fxa__np small{font-size:6.5px;opacity:.7}
.fxa__ctl{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:2px}
.fxa__ctl i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#E8F3E4}
.fxa__ctl i.is-main{width:24px;height:24px;background:#E8F3E4;color:#0B1F18;animation:fx-click 2.6s ease .6s both}
