/* «Билетик» находки (общий для Mini App, лендинга и страниц сайта; на сайт копируется скриптом site/_build.py вместе с ticket-pattern.css).
   Раскладка — как у ботовых карточек (farepulse/cardgen_tokens.py WIDE_LAYOUT, холст 976×539): всё позиционируется в единицах --u = ширина билета / 976, билет масштабируется как картинка.
   Уровни: wow 🚀 · super 🔥 · good ⚡ · sale 🏷. Маршрут: A «ИЗ город ✈ В город», C «ВЫЛЕТ / ПРИЛЁТ» (🔥), B — два города друг под другом (подбирает ticket-html.js). */
.tk { --rsn: 58; --psn: 74; --ssn: 21; --bsn: 31; --rtn: 34; container-type: inline-size; position: relative; width: 100%; display: block; text-align: left; filter: drop-shadow(0 6px 12px rgba(16, 28, 60, 0.28)); -webkit-tap-highlight-color: transparent; }
.tk__in { --u: calc(100cqw / 976); display: flex; flex-direction: column; aspect-ratio: 976 / 539; border-radius: calc(var(--u) * 34); overflow: hidden;
  -webkit-mask: radial-gradient(circle calc(var(--u) * 25) at 0 calc(var(--u) * 447), #0000 97%, #000), radial-gradient(circle calc(var(--u) * 25) at 100% calc(var(--u) * 447), #0000 97%, #000); -webkit-mask-composite: source-in;
  mask: radial-gradient(circle calc(var(--u) * 25) at 0 calc(var(--u) * 447), #0000 97%, #000), radial-gradient(circle calc(var(--u) * 25) at 100% calc(var(--u) * 447), #0000 97%, #000); mask-composite: intersect; }
.tk__main { position: relative; flex: 0 0 calc(var(--u) * 447); color: var(--tk-ink, #fff); background: var(--tk-bg); overflow: hidden; }
.tk__main > * { position: absolute; z-index: 1; margin: 0; }
.tk__main > .tk__str, .tk__main > .tk__s, .tk__main > .tk__rocket { z-index: 0; }
.tk__str { top: 0; left: calc(var(--u) * 317); width: calc(var(--u) * 242); height: calc(var(--u) * 30); background: var(--tk-stripes); transform: skewX(-25deg); border-radius: 0 0 calc(var(--u) * 10) calc(var(--u) * 10); }

/* шапка: логотип под верхними полосками, плашка уровня с наклоном, лис */
.tk__brand { left: calc(var(--u) * 51); top: calc(var(--u) * 47); display: flex; align-items: center; gap: calc(var(--u) * 15); color: var(--tk-logo, currentColor); }
.tk__logo { width: calc(var(--u) * 58); height: calc(var(--u) * 58); flex: none; display: block; }
.tk__logo svg { width: 100%; height: 100%; display: block; }
.tk__bn { font-weight: 800; font-size: calc(var(--u) * 28); line-height: 1; white-space: nowrap; }
.tk__badge { left: calc(var(--u) * 288); top: calc(var(--u) * 44); height: calc(var(--u) * 64); display: inline-flex; align-items: center; gap: calc(var(--u) * 14); padding: 0 calc(var(--u) * 30) 0 calc(var(--u) * 20); border-radius: 99px; background: var(--tk-badge-bg); color: var(--tk-badge-ink); box-shadow: var(--tk-badge-ring, none); transform: rotate(var(--tk-tilt, 0deg)); white-space: nowrap; }
.tk__badge b { font-size: calc(var(--u) * var(--bsn)); font-weight: 800; letter-spacing: 0.01em; text-transform: uppercase; line-height: 1; }
.tk__ic { width: calc(var(--u) * 36); height: calc(var(--u) * 36); flex: none; color: var(--tk-badge-icon, currentColor); }
.tk__fox { left: calc(var(--u) * 785); top: calc(var(--u) * 15); width: calc(var(--u) * 150); height: calc(var(--u) * 150); object-fit: contain; z-index: 2; filter: drop-shadow(0 0.6cqw 1cqw rgba(0, 0, 0, 0.25)); }

/* маршрут */
.tk__ca, .tk__cb { display: flex; flex-direction: column; }
.tk__ca { left: calc(var(--u) * 68); top: calc(var(--u) * 192); align-items: flex-start; }
.tk__cb { right: calc(var(--u) * 52); top: calc(var(--u) * 192); align-items: flex-start; }
.tk__cn { display: inline-block; font-size: calc(var(--u) * var(--rsn)); font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: -0.005em; white-space: nowrap; }
.tk__lb { position: absolute; top: calc(var(--u) * -26); left: calc(var(--u) * 2); height: calc(var(--u) * 24); padding: 0 calc(var(--u) * 12); display: inline-flex; align-items: center; border-radius: 99px; background: var(--tk-accent); color: var(--tk-accent-fg); font-size: calc(var(--u) * 17); font-weight: 800; letter-spacing: 0.03em; white-space: nowrap; }
.tk__ci { position: absolute; left: calc(var(--u) * 2); top: calc(var(--u) * (var(--rsn) + 14.5 + 5 * (var(--k, 1) - 1))); font-size: max(9px, calc(var(--u) * 21)); font-weight: 800; line-height: 1; color: var(--tk-ink2); white-space: nowrap; }
.tk__cs { position: absolute; left: calc(var(--u) * 2); top: calc(var(--u) * (var(--rsn) + 14 + 5 * (var(--k, 1) - 1))); display: flex; align-items: center; gap: calc(var(--u) * 11); white-space: nowrap; color: var(--tk-ink2); }
.tk__flag { font-size: calc(var(--u) * 22); line-height: 1; flex: none; }
.tk__ct { display: block; overflow: visible; white-space: nowrap; font-size: max(9px, calc(var(--u) * var(--ssn))); font-weight: 700; line-height: 1.1; text-transform: uppercase; letter-spacing: 0.02em; }
.tk__arc { left: calc(var(--u) * var(--ax, 300)); top: calc(var(--u) * var(--ayy, 218)); width: calc(var(--u) * var(--aw, 200)); height: calc(var(--u) * 24); color: var(--tk-route); overflow: visible;
  -webkit-mask: radial-gradient(ellipse calc(var(--u) * 62) calc(var(--u) * 46) at 50% 25%, transparent 96%, #000 100%); mask: radial-gradient(ellipse calc(var(--u) * 62) calc(var(--u) * 46) at 50% 25%, transparent 96%, #000 100%); }      /* зазор в пунктире вокруг самолёта */
.tk__ap { left: calc(var(--u) * (var(--ax, 300) + var(--aw, 200) / 2 - 42)); top: calc(var(--u) * (var(--ayy, 218) + 6 - 42)); width: calc(var(--u) * 84); height: calc(var(--u) * 84); color: var(--tk-route); transform: rotate(90deg);
  filter: drop-shadow(0 calc(var(--u) * 4) calc(var(--u) * 4) rgba(0, 0, 0, 0.32)); }
.tk__ap svg { width: 100%; height: 100%; display: block; overflow: visible; }
.tk__ap path { stroke: var(--tk-halo, rgba(255, 255, 255, 0.9)); stroke-width: 1.3; paint-order: stroke fill; stroke-linejoin: round; }
.tk--wow, .tk--super { --tk-halo: rgba(14, 16, 48, 0.55); }
.tk--noarc .tk__arc { display: none; }
.tk--noarc .tk__ap { left: calc(var(--u) * var(--ax, 300)); top: calc(var(--u) * (var(--ayy, 218) + 12 - 26)); width: calc(var(--u) * 52); height: calc(var(--u) * 52); }
.tk__vl { display: none; }

.tk--rc { --rsn: 44; --psn: 66; }
/* вариант C (🔥): ВЫЛЕТ / ПРИЛЁТ — подписи текстом над городами, правый город прижат к правому краю */
.tk--rc .tk__ca { top: calc(var(--u) * (192 + (44 - var(--rsn)) * 0.45)); }
.tk--rc .tk__cb { top: calc(var(--u) * (192 + (44 - var(--rsn)) * 0.45)); align-items: flex-end; }
.tk--rc .tk__lb { top: calc(var(--u) * (-28 - (44 - var(--rsn)) * 0.45)); height: calc(var(--u) * 24); padding: 0; background: none; color: var(--tk-accent); }
.tk--rc .tk__cb .tk__lb { left: auto; right: 0; }
.tk--rc .tk__ci { top: calc(var(--u) * (60.5 + 5 * (var(--k, 1) - 1) - (44 - var(--rsn)) * 0.45)); }
.tk--csr:not(.tk--rc) .tk__cs { left: auto; right: 0; }
.tk--rc .tk__cs { left: auto; right: 0; top: calc(var(--u) * (60 + 5 * (var(--k, 1) - 1) - (44 - var(--rsn)) * 0.45)); }

/* вариант B: два города друг под другом, слева метки и пунктир с самолётом, справа цена */
.tk--rb .tk__ca { left: calc(var(--u) * 68); top: calc(var(--u) * (198 - var(--rsn) / 2)); flex-direction: row; align-items: center; }
.tk--rb .tk__cb { left: calc(var(--u) * 68); right: auto; top: calc(var(--u) * (262 - var(--rsn) / 2)); flex-direction: row; align-items: center; }
.tk--rb .tk__lb { position: static; margin-right: calc(var(--u) * 14); min-width: calc(var(--u) * 62); justify-content: center; flex: none; }
.tk--rb.tk--en .tk__lb { min-width: calc(var(--u) * 92); }
.tk--rb .tk__ci { display: none; }
.tk--rb .tk__cs { left: calc(var(--u) * 76); top: calc(var(--u) * (var(--rsn) / 2 + 40 + 5 * (var(--k, 1) - 1))); }
.tk--rb.tk--en .tk__cs { left: calc(var(--u) * 106); }
.tk--rb .tk__arc, .tk--rb .tk__ap { display: none; }
.tk--rb .tk__vl { display: block; left: calc(var(--u) * 99); top: calc(var(--u) * 218); height: calc(var(--u) * 28); border-left: calc(var(--u) * 2.6) dashed var(--tk-route); }
.tk--rb.tk--en .tk__vl { left: calc(var(--u) * 114); }

/* цена, скидка, «обычно» */
.tk__price { right: calc(var(--u) * 52); top: calc(var(--u) * (304 - var(--psn) * 0.22 - var(--hu, 0) * 9 + 17 * (var(--k, 1) - 1))); }
.tk--hu { --hu: 1; }
.tk__price b { display: block; font-size: calc(var(--u) * var(--psn)); font-weight: 800; line-height: 1; letter-spacing: -0.02em; white-space: nowrap; text-align: right; }
.tk__usd { right: calc(var(--u) * 52); top: calc(var(--u) * (347 + 13 * (var(--k, 1) - 1))); font-size: max(9px, calc(var(--u) * 21)); font-weight: 600; line-height: 1; color: var(--tk-ink2); white-space: nowrap; }
.tk__dr { left: calc(var(--u) * 68); top: calc(var(--u) * 320); height: calc(var(--u) * 44); display: flex; align-items: center; gap: calc(var(--u) * 16); white-space: nowrap; }
.tk__disc { height: calc(var(--u) * 44); padding: 0 calc(var(--u) * 18); display: inline-flex; align-items: center; border-radius: 99px; background: var(--tk-disc-bg); color: var(--tk-disc-ink); font-size: calc(var(--u) * 32); font-weight: 800; line-height: 1; }
.tk__base { display: inline-flex; align-items: baseline; gap: calc(var(--u) * 8); font-size: max(9.5px, calc(var(--u) * 25)); font-weight: 800; line-height: 1; }
.tk__bl { font-size: max(9px, calc(var(--u) * 21)); font-weight: 600; color: var(--tk-ink2); }
.tk__base s { text-decoration-color: #e82834; text-decoration-thickness: calc(var(--u) * 3); }
.tk--nobase .tk__base { display: none; }
.tk--rc .tk__price { top: calc(var(--u) * (304 - var(--psn) * 0.22 - var(--hu, 0) * 9 + 17 * (var(--k, 1) - 1))); }
.tk--rc .tk__usd { top: calc(var(--u) * (347 + 13 * (var(--k, 1) - 1))); font-size: max(9px, calc(var(--u) * 20)); }
.tk--rb .tk__price { top: calc(var(--u) * (226 - var(--psn) * 0.2)); }
.tk--rb .tk__usd { top: calc(var(--u) * (226 + var(--psn) * 0.85 + 62 + 6 * (var(--k, 1) - 1))); }
.tk--rb .tk__dr { left: auto; right: calc(var(--u) * 52); top: calc(var(--u) * 152); }
.tk--rb .tk__base { position: absolute; right: 0; top: calc(var(--u) * (58 + var(--psn) * 0.85 + 24)); }

/* полоса деталей: дата и багаж */
.tk__det { left: calc(var(--u) * 52); right: calc(var(--u) * 52); top: calc(var(--u) * (383 + 12 * (var(--k, 1) - 1))); height: calc(var(--u) * (56 - 10 * (var(--k, 1) - 1))); display: flex; align-items: center; border-radius: 99px; background: var(--tk-det-bg); box-shadow: inset 0 0 0 calc(var(--u) * 1.6) var(--tk-det-line); font-size: max(9px, calc(var(--u) * var(--dsn, 27))); font-weight: 600; white-space: nowrap; overflow: hidden; }
.tk__det > span { flex: 1 1 0; display: inline-flex; align-items: center; gap: calc(var(--u) * 20); padding: 0 calc(var(--u) * 28); min-width: 0; }
.tk__det > span + span { border-left: calc(var(--u) * 1.8) dashed var(--tk-det-line); }
.tk__di { display: inline-flex; width: calc(var(--u) * 33); height: calc(var(--u) * 33); flex: none; color: var(--tk-icon, currentColor); }
.tk__di svg, .tk__bag svg { width: 100%; height: 100%; }
.tk__dt, .tk__bt { overflow: visible; }
.tk__dbag { display: inline-flex; align-items: center; gap: calc(var(--u) * 20); }
.tk__bag { display: inline-flex; position: relative; width: calc(var(--u) * 36); height: calc(var(--u) * 34); flex: none; color: var(--tk-icon, currentColor); }
.tk__bag b { position: absolute; left: 0; right: 0; bottom: calc(var(--u) * 3); text-align: center; font-size: max(7px, calc(var(--u) * 13)); font-weight: 800; color: var(--tk-ink); }
.tk__bag.is-no::after { content: ""; position: absolute; left: -2%; right: -2%; top: 50%; height: calc(var(--u) * 3); background: #e82834; transform: rotate(-40deg); border-radius: 1px; }

/* корешок: авиакомпания | маршрут | пересадки; без авиакомпании маршрут у левого края без разделителя */
.tk__stub { flex: 1 1 auto; position: relative; display: block; background: var(--tk-stub-bg, #fff); color: var(--tk-stub-ink, #14245c);
  background-image: linear-gradient(90deg, rgba(60, 80, 150, 0.45) 55%, transparent 0); background-size: calc(var(--u) * 14) calc(var(--u) * 3); background-repeat: repeat-x; background-position: 0 0; }
.tk__stub > * { position: absolute; top: 50%; transform: translateY(-50%); margin: 0; z-index: 1; }
.tk__sal { left: calc(var(--u) * 58); width: calc(var(--u) * 270); display: flex; align-items: center; gap: calc(var(--u) * 12); min-width: 0; }
.tk__sal::after { content: ""; position: absolute; right: calc(var(--u) * -12); top: 50%; height: calc(var(--u) * 62); border-left: calc(var(--u) * 1.8) dashed var(--tk-stub-accent); opacity: 0.6; transform: translateY(-50%); }
.tk__al { max-height: calc(var(--u) * 58); max-width: calc(var(--u) * 140); width: auto; object-fit: contain; display: block; }
.tk__an { font-weight: 800; font-size: max(10px, calc(var(--u) * 26)); line-height: 1.12; }
.tk__sr { left: calc(var(--u) * 374); display: flex; align-items: center; gap: calc(var(--u) * 14); color: var(--tk-stub-accent); }
.tk__sr svg { width: calc(var(--u) * 44); height: calc(var(--u) * 44); transform: rotate(90deg); flex: none; }
.tk__sr b { font-size: max(12px, calc(var(--u) * var(--rtn))); font-weight: 800; letter-spacing: 0.01em; white-space: nowrap; color: var(--tk-stub-ink); }
.tk__ss { right: calc(var(--u) * 52); font-size: max(10px, calc(var(--u) * 24)); font-weight: 700; color: var(--tk-stub-ink); opacity: 0.82; white-space: nowrap; }
.tk--noal .tk__sal::after { display: none; }
.tk--noal .tk__sr { left: calc(var(--u) * 58); }
.tk__stub::before { content: ""; position: absolute; right: calc(var(--u) * 140); bottom: 0; width: calc(var(--u) * 160); height: calc(var(--u) * 22); background: var(--tk-stripes); transform: skewX(-25deg); border-radius: calc(var(--u) * 8) calc(var(--u) * 8) 0 0; opacity: 0.9; pointer-events: none; z-index: 0; }

/* уровни */
.tk--wow .tk__in { --tk-ink: #fff; --tk-ink2: #d6dcff; --tk-accent: #ffc840; --tk-accent-fg: #1e1400; --tk-route: #fff; --tk-logo: #fff; --tk-tilt: 3deg;
  --tk-badge-bg: #08081e; --tk-badge-ink: #ffe260; --tk-badge-icon: #ffd646; --tk-badge-ring: inset 0 0 0 calc(var(--u) * 3.8) #ffd646;
  --tk-disc-bg: #ffc428; --tk-disc-ink: #241600; --tk-det-bg: rgba(255, 255, 255, 0.07); --tk-det-line: rgba(150, 160, 255, 0.47); --tk-icon: #ecf0ff;
  --tk-stub-ink: #0e1648; --tk-stub-accent: #246edc; --tk-stripes: repeating-linear-gradient(90deg, #ffcc40 0 calc(var(--u) * 22), #7c5cec calc(var(--u) * 22) calc(var(--u) * 44)); }
.tk--wow .tk__badge b { text-shadow: 0 0 calc(var(--u) * 5) #ffbe28; }
.tk--super .tk__in { --tk-ink: #fff; --tk-ink2: #fff2ee; --tk-accent: #f0c646; --tk-accent-fg: #34180a; --tk-route: #fff; --tk-logo: #fff; --tk-tilt: -4deg;
  --tk-badge-bg: #f0c646; --tk-badge-ink: #34180a; --tk-badge-icon: #b03e24; --tk-badge-ring: none;
  --tk-disc-bg: #f0c646; --tk-disc-ink: #34180a; --tk-det-bg: rgba(255, 255, 255, 0.118); --tk-det-line: rgba(255, 255, 255, 0.33); --tk-icon: #fff;
  --tk-stub-ink: #1c1628; --tk-stub-accent: #b03a34; --tk-stripes: repeating-linear-gradient(90deg, #eec034 0 calc(var(--u) * 22), #e29438 calc(var(--u) * 22) calc(var(--u) * 44)); }
.tk--super .tk__badge { border-radius: calc(var(--u) * 16); }
.tk--good .tk__in { --tk-ink: #081234; --tk-ink2: #3a4e7c; --tk-accent: #1e64d6; --tk-accent-fg: #fff; --tk-route: #1650aa; --tk-logo: #081234; --tk-tilt: -2.5deg;
  --tk-badge-bg: #bedafa; --tk-badge-ink: #081234; --tk-badge-icon: #163896; --tk-badge-ring: none;
  --tk-disc-bg: #bedafa; --tk-disc-ink: #081234; --tk-det-bg: rgba(255, 255, 255, 0.69); --tk-det-line: rgba(150, 180, 224, 0.86); --tk-icon: #1a46aa;
  --tk-stub-ink: #081234; --tk-stub-accent: #1e64d6; --tk-stripes: repeating-linear-gradient(90deg, #1e96d6 0 calc(var(--u) * 22), #1660b4 calc(var(--u) * 22) calc(var(--u) * 44)); }
.tk--sale .tk__in { --tk-ink: #0a123a; --tk-ink2: #443c78; --tk-accent: #5c46c8; --tk-accent-fg: #fff; --tk-route: #343496; --tk-logo: #0a123a; --tk-tilt: 2.5deg;
  --tk-badge-bg: #d2caf8; --tk-badge-ink: #0a123a; --tk-badge-icon: #3c2c96; --tk-badge-ring: none;
  --tk-disc-bg: #d2caf8; --tk-disc-ink: #0a123a; --tk-det-bg: rgba(255, 255, 255, 0.63); --tk-det-line: rgba(186, 176, 232, 0.9); --tk-icon: #342c96;
  --tk-stub-ink: #0a123a; --tk-stub-accent: #3c38aa; --tk-stripes: repeating-linear-gradient(90deg, #6050d6 0 calc(var(--u) * 22), #3c34a0 calc(var(--u) * 22) calc(var(--u) * 44)); }
:root[data-theme="dark"] .tk .tk__in { --tk-stub-bg: #1a2226; --tk-stub-ink: #e8f0f2; }
:root[data-theme="dark"] .tk__sr { color: #6fa3ff; }
:root[data-theme="dark"] .tk__al.is-ok { background: #fff; border-radius: 1cqw; padding: 0.4cqw 1cqw; }
.tk__an--tbd { display: inline-flex !important; align-items: center; gap: 0.8cqw; color: #7b8499; font-weight: 600; font-size: max(9.5px, calc(var(--u) * 22)); line-height: 1.15; }
.tk__an--tbd svg { width: calc(var(--u) * 30); height: calc(var(--u) * 30); flex: none; transform: rotate(45deg); opacity: 0.8; }
:root[data-theme="dark"] .tk__an--tbd { color: #8a95b0; }
.tk__an:empty { display: none; }
.tk__al:not(.is-ok) { min-width: 0; }
.tk__an--n { display: none; }

/* звёзды и ракета (только у верхнего уровня) */
.tk__s { width: 1.2cqw; height: 1.2cqw; border-radius: 50%; background: #fff; box-shadow: 0 0 1.4cqw 0.3cqw rgba(255, 255, 255, 0.8); }
.tk__s1 { left: 6cqw; top: 40%; } .tk__s2 { left: 44cqw; top: 8%; width: 0.9cqw; height: 0.9cqw; } .tk__s3 { left: 52%; top: 60%; width: 0.8cqw; height: 0.8cqw; } .tk__s4 { right: 4cqw; top: 46%; background: #ffe9a8; }
.tk__rocket { left: calc(var(--u) * 565); top: calc(var(--u) * -8); width: calc(var(--u) * 184); height: auto; overflow: visible; }
.tk--anim .tk__s { animation: tk-tw 2.6s ease-in-out infinite; }
.tk--anim .tk__s2 { animation-delay: 0.6s; } .tk--anim .tk__s3 { animation-delay: 1.2s; } .tk--anim .tk__s4 { animation-delay: 1.8s; }
.tk--anim .tk__rk { animation: tk-fly 5s ease-in-out infinite; transform-origin: 50% 50%; }
.tk--anim .tk__fl { animation: tk-flk 0.16s linear infinite alternate; transform-origin: 90% 50%; }
.tk--anim .tk__fl2 { animation: tk-flk 0.12s linear infinite alternate-reverse; transform-origin: 90% 50%; }
.tk--anim .tk__bi { animation: tk-bi 3.6s var(--ease-in-out, ease-in-out) infinite; }
@keyframes tk-tw { 0%, 100% { opacity: 0.2; transform: scale(0.7); } 50% { opacity: 1; transform: scale(1.2); } }
@keyframes tk-fly { 0%, 100% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(3cqw, -1.6cqw) rotate(2deg); } }
@keyframes tk-flk { from { transform: scale(1, 0.85); opacity: 0.85; } to { transform: scale(1.12, 1.1); opacity: 1; } }
@keyframes tk-bi { 0%, 60%, 100% { transform: none; } 75% { transform: translateY(-0.6cqw) rotate(6deg); } }
@media (prefers-reduced-motion: reduce) { .tk--anim .tk__s, .tk--anim .tk__rk, .tk--anim .tk__fl, .tk--anim .tk__fl2, .tk--anim .tk__bi { animation: none !important; } }

/* обёртки */
a.tkw, button.tkw { display: block; width: 100%; padding: 0; background: none; border: 0; text-align: left; cursor: pointer; text-decoration: none; color: inherit; transition: transform var(--dur, 0.26s) var(--ease, ease); }
@media (hover: hover) { a.tkw:hover, button.tkw:hover { transform: translateY(-3px); } }
.tkw:focus-visible { outline: 3px solid var(--accent, #0e6c84); outline-offset: 4px; border-radius: 18px; }
.tkw.is-open .tk { filter: drop-shadow(0 0 3px var(--accent, #0e6c84)) drop-shadow(0 6px 12px rgba(16, 28, 60, 0.28)); }

/* карточка в ленте: билет + строка «срок · пересадки · виза · купить» */
.dcard { position: relative; display: flex; flex-direction: column; gap: 8px; animation: tile-in var(--dur) var(--ease); }
.dcard__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 4px; }
.dcard__chips { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.dcard__buy { flex: none; white-space: nowrap; }
.dcard .tile__sel { position: absolute; top: 10px; left: 10px; z-index: 5; }
.dcard.is-sel .tkw .tk { filter: drop-shadow(0 0 3px var(--accent)) drop-shadow(0 6px 12px rgba(16, 28, 60, 0.28)); }
.feed--tk { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
.feed--tk > *, .dcard, .dtk, .hot { min-width: 0; }
.tk, .tkw { max-width: 100%; }
@media (min-width: 640px) { .feed--tk { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .shell--web .feed--tk { grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); } }

.dtk { position: relative; display: flex; flex-direction: column; gap: 10px; }
.dtk__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 4px; }
.shell--web .hot .tkw, .shell--web .hot .hot__chart { max-width: 780px; }

/* билет — ссылка или кнопка: никаких подчёркиваний, подсветки нажатия и выделения текста в iOS Safari / Android Chrome */
a.tkw, a.tkw:link, a.tkw:visited, a.tkw:hover, a.tkw:active, a.tkw:focus, a.tkw:focus-visible,
button.tkw, button.tkw:hover, button.tkw:active, button.tkw:focus { text-decoration: none !important; color: inherit; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; outline: none; }
.tkw *, .tkw *:hover, .tkw *:active, .tkw *:focus { text-decoration: none !important; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; }
.tkw .tk__base s, .tkw .tk__base s * { text-decoration: line-through !important; }       /* зачёркнутая обычная цена — единственное зачёркивание */
.tkw:focus-visible { outline: 3px solid var(--accent, #0e6c84) !important; outline-offset: 4px; }
.tkw img { -webkit-user-drag: none; pointer-events: none; }
html.lite .tk--anim .tk__s, html.lite .tk--anim .tk__rk, html.lite .tk--anim .tk__fl, html.lite .tk--anim .tk__fl2, html.lite .tk--anim .tk__bi { animation: none !important; }
.tk__an:empty { display: none; }
.tk__al:not(.is-ok) { min-width: 0; }

/* Узор билета — создаётся tools/build_ticket_pattern.py из webapp/assets/pattern/ticket-pattern-<уровень>.svg (тот же узор рисует PNG-билет в боте и канале).
   Подключить ПОСЛЕ ticket.css. Узор статичный (без анимации); чёрные контуры SVG работают как маска, цвет и прозрачность — переменные ниже (токены cardgen_tokens.WIDE). */
.tk__main::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: var(--tk-pat-color, #fff); opacity: var(--tk-pat-op, 0.07);
  -webkit-mask: var(--tk-pat) center / cover no-repeat; mask: var(--tk-pat) center / cover no-repeat; }
.tk--wow { --tk-pat: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NzYgNDQ3IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMy42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIG9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMi4yIj48ZWxsaXBzZSBjeD0iNzAwIiBjeT0iMzMwIiByeD0iNDIwIiByeT0iMTIwIiB0cmFuc2Zvcm09InJvdGF0ZSgtMTQgNzAwIDMzMCkiLz48ZWxsaXBzZSBjeD0iMzAwIiBjeT0iMjQwIiByeD0iNTIwIiByeT0iMTUwIiB0cmFuc2Zvcm09InJvdGF0ZSgxMCAzMDAgMjQwKSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NjAgMTA4KSByb3RhdGUoLTE4KSBzY2FsZSgxLjEwMCkiIHN0cm9rZS13aWR0aD0iMy4yNyI+PGVsbGlwc2UgY3g9IjAiIGN5PSIwIiByeD0iNDgiIHJ5PSIxNiIvPjxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIvPjxjaXJjbGUgY3g9IjQ2IiBjeT0iLTQiIHI9IjMuNCIgZmlsbD0iYmxhY2siLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDcwIDUyKSByb3RhdGUoMCkgc2NhbGUoMC4yNjApIiBzdHJva2Utd2lkdGg9IjEzLjg1Ij48cG9seWdvbiBwb2ludHM9IjAuMCwtNDAuMCA3LjAsLTcuMCA0MC4wLDAuMCA3LjAsNy4wIDAuMCw0MC4wIC03LjAsNy4wIC00MC4wLDAuMCAtNy4wLC03LjAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAwIDE0MCkgcm90YXRlKDApIHNjYWxlKDAuMTgwKSIgc3Ryb2tlLXdpZHRoPSIyMC4wMCI+PHBvbHlnb24gcG9pbnRzPSIwLjAsLTQwLjAgNy4wLC03LjAgNDAuMCwwLjAgNy4wLDcuMCAwLjAsNDAuMCAtNy4wLDcuMCAtNDAuMCwwLjAgLTcuMCwtNy4wIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcxNiAxNTApIHJvdGF0ZSgxMikgc2NhbGUoMC41NjApIiBzdHJva2Utd2lkdGg9IjYuNDMiPjxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIyMiIvPjxlbGxpcHNlIGN4PSIwIiBjeT0iMCIgcng9IjQyIiByeT0iMTAiIHRyYW5zZm9ybT0icm90YXRlKC0yMCkiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzMwIDcwKSByb3RhdGUoMTApIHNjYWxlKDAuMjAwKSIgc3Ryb2tlLXdpZHRoPSIxOC4wMCI+PHBvbHlnb24gcG9pbnRzPSIwLjAsLTIyLjAgNS4wLC03LjAgMjEuMCwtNy4wIDguMCwzLjAgMTMuMCwxOC4wIDAuMCw5LjAgLTEzLjAsMTguMCAtOC4wLDMuMCAtMjEuMCwtNy4wIC01LjAsLTcuMCIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MTggMzApIHJvdGF0ZSgwKSBzY2FsZSgwLjE2MCkiIHN0cm9rZS13aWR0aD0iMjIuNTAiPjxwb2x5Z29uIHBvaW50cz0iMC4wLC0yMi4wIDUuMCwtNy4wIDIxLjAsLTcuMCA4LjAsMy4wIDEzLjAsMTguMCAwLjAsOS4wIC0xMy4wLDE4LjAgLTguMCwzLjAgLTIxLjAsLTcuMCAtNS4wLC03LjAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjQwIDE2OCkgcm90YXRlKDE1KSBzY2FsZSgwLjQwMCkiIHN0cm9rZS13aWR0aD0iOS4wMCI+PGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjM4Ii8+PGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjMwIi8+PHBvbHlnb24gcG9pbnRzPSIwLC0yNCA4LDAgMCwyNCAtOCwwIi8+PGxpbmUgeDE9IjAiIHkxPSItMzgiIHgyPSIwIiB5Mj0iLTMxIi8+PGxpbmUgeDE9IjAiIHkxPSIzOCIgeDI9IjAiIHkyPSIzMSIvPjxsaW5lIHgxPSItMzgiIHkxPSIwIiB4Mj0iLTMxIiB5Mj0iMCIvPjxsaW5lIHgxPSIzOCIgeTE9IjAiIHgyPSIzMSIgeTI9IjAiLz48L2c+PC9zdmc+"); --tk-pat-color: #ffffff; --tk-pat-op: 0.08;
  --tk-bg: radial-gradient(45% 70% at 87% 26%, rgba(150, 140, 255, 0.18), transparent 70%), linear-gradient(135deg, #2a2e9c 0%, #120a4c 100%); }
.tk--super { --tk-pat: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NzYgNDQ3IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMy42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIG9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMi4yIj48cGF0aCBkPSJNIC0yMCAzMzAgUSA0ODAgMjUwIDEwMDAgMzMwIi8+PHBhdGggZD0iTSAtMjAgMzYwIFEgNDgwIDI5MCAxMDAwIDM2MCIvPjxjaXJjbGUgY3g9IjU2MCIgY3k9IjYyIiByPSI5NiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NjAgNjIpIHJvdGF0ZSgwKSBzY2FsZSgwLjY2MCkiIHN0cm9rZS13aWR0aD0iNS40NSI+PGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjE2Ii8+PGxpbmUgeDE9IjI2LjAiIHkxPSIwLjAiIHgyPSIzOC4wIiB5Mj0iMC4wIi8+PGxpbmUgeDE9IjE4LjQiIHkxPSIxOC40IiB4Mj0iMjYuOSIgeTI9IjI2LjkiLz48bGluZSB4MT0iMC4wIiB5MT0iMjYuMCIgeDI9IjAuMCIgeTI9IjM4LjAiLz48bGluZSB4MT0iLTE4LjQiIHkxPSIxOC40IiB4Mj0iLTI2LjkiIHkyPSIyNi45Ii8+PGxpbmUgeDE9Ii0yNi4wIiB5MT0iMC4wIiB4Mj0iLTM4LjAiIHkyPSIwLjAiLz48bGluZSB4MT0iLTE4LjQiIHkxPSItMTguNCIgeDI9Ii0yNi45IiB5Mj0iLTI2LjkiLz48bGluZSB4MT0iLTAuMCIgeTE9Ii0yNi4wIiB4Mj0iLTAuMCIgeTI9Ii0zOC4wIi8+PGxpbmUgeDE9IjE4LjQiIHkxPSItMTguNCIgeDI9IjI2LjkiIHkyPSItMjYuOSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDAgMTQwKSByb3RhdGUoMCkgc2NhbGUoMC44MDApIiBzdHJva2Utd2lkdGg9IjQuNTAiPjxwYXRoIGQ9Ik0gLTM0IDIwIEMgLTU2IDIwIC01NiAtOCAtMzQgLTEwIEMgLTMyIC0zNCAyIC00MCAxMCAtMTggQyAyOCAtMjggNTAgLTEwIDQwIDggQyA1NCAxMiA1MiAzMCAzNiAzMCBMIC0zMCAzMCBDIC00MCAzMCAtNDQgMjYgLTM0IDIwIFoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjkwIDkyKSByb3RhdGUoMCkgc2NhbGUoMC41ODApIiBzdHJva2Utd2lkdGg9IjYuMjEiPjxwYXRoIGQ9Ik0gLTM0IDIwIEMgLTU2IDIwIC01NiAtOCAtMzQgLTEwIEMgLTMyIC0zNCAyIC00MCAxMCAtMTggQyAyOCAtMjggNTAgLTEwIDQwIDggQyA1NCAxMiA1MiAzMCAzNiAzMCBMIC0zMCAzMCBDIC00MCAzMCAtNDQgMjYgLTM0IDIwIFoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQwIDQwKSByb3RhdGUoLTIwKSBzY2FsZSgwLjQwMCkiIHN0cm9rZS13aWR0aD0iOS4wMCI+PHBvbHlnb24gcG9pbnRzPSI0OC4wLDAuMCAxNC4wLDguMCA0LjAsMTAuMCAtMTguMCw0Mi4wIC0zMC4wLDQyLjAgLTIwLjAsOS4wIC00MC4wLDYuMCAtNDguMCwxOC4wIC01Ni4wLDE4LjAgLTUwLjAsMC4wIC01Ni4wLC0xOC4wIC00OC4wLC0xOC4wIC00MC4wLC02LjAgLTIwLjAsLTkuMCAtMzAuMCwtNDIuMCAtMTguMCwtNDIuMCA0LjAsLTEwLjAgMTQuMCwtOC4wIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYyMCAxNTApIHJvdGF0ZSgwKSBzY2FsZSgwLjQwMCkiIHN0cm9rZS13aWR0aD0iOS4wMCI+PHBhdGggZD0iTSAtMjYgMCBRIC0xMyAtMTYgMCAwIFEgMTMgLTE2IDI2IDAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjYwIDE2OCkgcm90YXRlKDApIHNjYWxlKDAuMjgwKSIgc3Ryb2tlLXdpZHRoPSIxMi44NiI+PHBhdGggZD0iTSAtMjYgMCBRIC0xMyAtMTYgMCAwIFEgMTMgLTE2IDI2IDAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjQwIDE2OCkgcm90YXRlKDApIHNjYWxlKDAuNDAwKSIgc3Ryb2tlLXdpZHRoPSI5LjAwIj48Y2lyY2xlIGN4PSIwIiBjeT0iMCIgcj0iMzgiLz48ZWxsaXBzZSBjeD0iMCIgY3k9IjAiIHJ4PSIxNiIgcnk9IjM4Ii8+PGxpbmUgeDE9Ii0zOCIgeTE9IjAiIHgyPSIzOCIgeTI9IjAiLz48cGF0aCBkPSJNIC0zMyAtMTkgUSAwIC0xMCAzMyAtMTkiLz48cGF0aCBkPSJNIC0zMyAxOSBRIDAgMTAgMzMgMTkiLz48L2c+PC9zdmc+"); --tk-pat-color: #ffffff; --tk-pat-op: 0.086;
  --tk-bg: radial-gradient(45% 70% at 87% 26%, rgba(255, 170, 150, 0.15), transparent 70%), linear-gradient(135deg, #ac3e38 0%, #7a222a 100%); }
.tk--good { --tk-pat: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NzYgNDQ3IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMy42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIG9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMi4yIj48cGF0aCBkPSJNIC0yMCAzMDAgTCAxMDAwIDIyMCIvPjxwYXRoIGQ9Ik0gLTIwIDM0MCBMIDEwMDAgMjcwIi8+PHBhdGggZD0iTSAtMjAgMzgwIEwgMTAwMCAzMjAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTQwIDcwKSByb3RhdGUoMTIpIHNjYWxlKDAuNzAwKSIgc3Ryb2tlLXdpZHRoPSI1LjE0Ij48cG9seWdvbiBwb2ludHM9IjguMCwtNDQuMCAtMjQuMCw2LjAgLTIuMCw2LjAgLTEwLjAsNDQuMCAyNi4wLC04LjAgNC4wLC04LjAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDMwIDE0Mikgcm90YXRlKDApIHNjYWxlKDAuNzAwKSIgc3Ryb2tlLXdpZHRoPSI1LjE0Ij48bGluZSB4MT0iLTQ0IiB5MT0iLTE4IiB4Mj0iMTAiIHkyPSItMTgiLz48bGluZSB4MT0iLTMwIiB5MT0iMCIgeDI9IjM4IiB5Mj0iMCIvPjxsaW5lIHgxPSItNDQiIHkxPSIxOCIgeDI9IjQiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9Ii0xOCIgeDI9IjM0IiB5Mj0iLTE4Ii8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM0MCA1Nikgcm90YXRlKC0xNCkgc2NhbGUoMC4zNjApIiBzdHJva2Utd2lkdGg9IjEwLjAwIj48cG9seWdvbiBwb2ludHM9IjguMCwtNDQuMCAtMjQuMCw2LjAgLTIuMCw2LjAgLTEwLjAsNDQuMCAyNi4wLC04LjAgNC4wLC04LjAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjY4IDE0MCkgcm90YXRlKDApIHNjYWxlKDAuNjQwKSIgc3Ryb2tlLXdpZHRoPSI1LjYyIj48cGF0aCBkPSJNIC00NCAtMTAgTCAxOCAtMTAgQyAzNiAtMTAgMzYgLTMwIDIyIC0yOCIvPjxwYXRoIGQ9Ik0gLTQ0IDggTCAzMCA4IEMgNTAgOCA1MCAzMCAzNCAyOCIvPjxwYXRoIGQ9Ik0gLTMwIDI0IEwgNCAyNCIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjAgMzgpIHJvdGF0ZSgtMTIpIHNjYWxlKDAuMzYwKSIgc3Ryb2tlLXdpZHRoPSIxMC4wMCI+PHBvbHlnb24gcG9pbnRzPSI0OC4wLDAuMCAxNC4wLDguMCA0LjAsMTAuMCAtMTguMCw0Mi4wIC0zMC4wLDQyLjAgLTIwLjAsOS4wIC00MC4wLDYuMCAtNDguMCwxOC4wIC01Ni4wLDE4LjAgLTUwLjAsMC4wIC01Ni4wLC0xOC4wIC00OC4wLC0xOC4wIC00MC4wLC02LjAgLTIwLjAsLTkuMCAtMzAuMCwtNDIuMCAtMTguMCwtNDIuMCA0LjAsLTEwLjAgMTQuMCwtOC4wIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY0MCAxNjgpIHJvdGF0ZSg4KSBzY2FsZSgwLjQwMCkiIHN0cm9rZS13aWR0aD0iOS4wMCI+PHBhdGggZD0iTSAwIDQyIEMgLTMwIDggLTI4IC0zNCAwIC0zNCBDIDI4IC0zNCAzMCA4IDAgNDIgWiIvPjxjaXJjbGUgY3g9IjAiIGN5PSItMTIiIHI9IjkiLz48L2c+PC9zdmc+"); --tk-pat-color: #0e2c7e; --tk-pat-op: 0.0735;
  --tk-bg: radial-gradient(45% 70% at 87% 26%, rgba(255, 255, 255, 0.43), transparent 70%), linear-gradient(135deg, #f6fcff 0%, #c2def8 100%); }
.tk--sale { --tk-pat: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NzYgNDQ3IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMy42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIG9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMi4yIj48Y2lyY2xlIGN4PSI4NjAiIGN5PSIzNjAiIHI9IjEzMCIvPjxjaXJjbGUgY3g9Ijg2MCIgY3k9IjM2MCIgcj0iMTcwIi8+PHBhdGggZD0iTSAtMjAgMTUwIFEgNDgwIDQwIDEwMDAgMTkwIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUzNiA3MCkgcm90YXRlKC0xNCkgc2NhbGUoMC43NjApIiBzdHJva2Utd2lkdGg9IjQuNzQiPjxwYXRoIGQ9Ik0gLTQwIC00IEwgLTYgLTM4IEwgMzggLTM4IEwgMzggNiBMIDQgNDAgWiIvPjxjaXJjbGUgY3g9IjE4IiBjeT0iLTIwIiByPSI2Ii8+PHBhdGggZD0iTSAtNiAtMzggQyAtMTYgLTUyIC0zNCAtNTAgLTMwIC0zNiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzAgMTQwKSByb3RhdGUoOCkgc2NhbGUoMC41ODApIiBzdHJva2Utd2lkdGg9IjYuMjEiPjxjaXJjbGUgY3g9Ii0xOCIgY3k9Ii0xOCIgcj0iOSIvPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjkiLz48bGluZSB4MT0iMjYiIHkxPSItMzAiIHgyPSItMjYiIHkyPSIzMCIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NzYgMTM2KSByb3RhdGUoMCkgc2NhbGUoMC43MjApIiBzdHJva2Utd2lkdGg9IjUuMDAiPjxwYXRoIGQ9Ik0gLTQ2IC0yNCBMIDQ2IC0yNCBMIDQ2IC04IEMgMzggLTggMzggOCA0NiA4IEwgNDYgMjQgTCAtNDYgMjQgTCAtNDYgOCBDIC0zOCA4IC0zOCAtOCAtNDYgLTggWiIvPjxsaW5lIHgxPSIxNCIgeTE9Ii0yNCIgeDI9IjE0IiB5Mj0iLTE4Ii8+PGxpbmUgeDE9IjE0IiB5MT0iLTEwIiB4Mj0iMTQiIHkyPSItNCIvPjxsaW5lIHgxPSIxNCIgeTE9IjQiIHgyPSIxNCIgeTI9IjEwIi8+PGxpbmUgeDE9IjE0IiB5MT0iMTgiIHgyPSIxNCIgeTI9IjI0Ii8+PGNpcmNsZSBjeD0iLTI0IiBjeT0iLTYiIHI9IjQiLz48Y2lyY2xlIGN4PSItMTAiIGN5PSI4IiByPSI0Ii8+PGxpbmUgeDE9Ii0yNiIgeTE9IjEwIiB4Mj0iLTgiIHkyPSItOCIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDQgNDgpIHJvdGF0ZSgtOCkgc2NhbGUoMC41MDApIiBzdHJva2Utd2lkdGg9IjcuMjAiPjxyZWN0IHg9Ii00NiIgeT0iLTI2IiB3aWR0aD0iOTIiIGhlaWdodD0iNTIiIHJ4PSI4Ii8+PGxpbmUgeDE9IjEyIiB5MT0iLTI2IiB4Mj0iMTIiIHkyPSItMTgiLz48bGluZSB4MT0iMTIiIHkxPSItMTAiIHgyPSIxMiIgeTI9Ii0yIi8+PGxpbmUgeDE9IjEyIiB5MT0iNiIgeDI9IjEyIiB5Mj0iMTQiLz48bGluZSB4MT0iMTIiIHkxPSIyMCIgeDI9IjEyIiB5Mj0iMjYiLz48bGluZSB4MT0iLTM0IiB5MT0iLTYiIHgyPSItNiIgeTI9Ii02Ii8+PGxpbmUgeDE9Ii0zNCIgeTE9IjgiIHgyPSItMTQiIHkyPSI4Ii8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxMCAyNCkgcm90YXRlKC0xMCkgc2NhbGUoMC4yNjApIiBzdHJva2Utd2lkdGg9IjEzLjg1Ij48Y2lyY2xlIGN4PSItMTgiIGN5PSItMTgiIHI9IjkiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSI5Ii8+PGxpbmUgeDE9IjI2IiB5MT0iLTMwIiB4Mj0iLTI2IiB5Mj0iMzAiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjQwIDE2OCkgcm90YXRlKDEyKSBzY2FsZSgwLjQwMCkiIHN0cm9rZS13aWR0aD0iOS4wMCI+PHBhdGggZD0iTSAtNDAgLTQgTCAtNiAtMzggTCAzOCAtMzggTCAzOCA2IEwgNCA0MCBaIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSItMjAiIHI9IjYiLz48cGF0aCBkPSJNIC02IC0zOCBDIC0xNiAtNTIgLTM0IC01MCAtMzAgLTM2Ii8+PC9nPjwvc3ZnPg=="); --tk-pat-color: #342c96; --tk-pat-op: 0.077;
  --tk-bg: radial-gradient(45% 70% at 87% 26%, rgba(255, 255, 255, 0.43), transparent 70%), linear-gradient(135deg, #f8f4ff 0%, #cec6f4 100%); }
