/* Thai Smile Trip — agent-side design system (tokens + .ts-* components).
   Source: thai-smile-trip-html/ shared stylesheet. Do not add page styles here; use agency-ui.css. */

:root, [data-theme="light"]{--primary-dark:#0A5F67;--primary-light:#7CC8CE;--secondary:#0B3B4F;--accent-2:#5B8DEF;--green:#2E9E6A;--background:#F6F9FB;--surface-soft:#EEF4F6;--text-primary:#0F2A33;--text-secondary:#52656C;--text-muted:#8A9AA0;--border:#DCE6EA;--bg:var(--background);--surface:#FFFFFF;--surface-sunken:var(--surface-soft);--line:var(--border);--line-strong:#8FA3AA;--ink:var(--text-primary);--ink-muted:var(--text-secondary);--ink-subtle:var(--text-muted);--nav:var(--secondary);--nav-raised:#134B63;--on-nav:#FFFFFF;--on-nav-muted:#B3CAD4;--on-media:#FFFFFF;--on-media-muted:#E3EEF2;--primary:#0E7C86;--primary-hover:var(--primary-dark);--on-primary:#FFFFFF;--primary-soft:#E3F3F4;--on-primary-soft:var(--primary-dark);--accent:#5B8DEF;--accent-ink:#2F5FC4;--accent-soft:#E8F0FE;--on-accent-soft:#1E3A8A;--gold:var(--accent);--gold-hover:#4A7DE0;--on-gold:#FFFFFF;--gold-soft:#E8F0FE;--on-gold-soft:#1E3A8A;--success:var(--green);--success-soft:#E3F4EC;--on-success-soft:#1E6B47;--warning:#6366F1;--warning-soft:#EEF0FF;--on-warning-soft:#3730A3;--danger:#E5484D;--danger-soft:#FDE6E7;--on-danger-soft:#A3242A;--info:#2F5FC4;--info-soft:#E8F0FE;--on-info-soft:#1E3A8A;--focus:var(--primary);--scrim:#0B3B4F99;--brand-midnight:var(--secondary);--brand-sand:var(--background);--brand-jade:var(--primary);--brand-coral:var(--accent);--brand-gold:var(--accent);--shadow-1:0 1px 2px #0F2A3314, 0 1px 1px #0F2A330a;--shadow-2:0 6px 20px -6px #0F2A3329, 0 2px 6px #0F2A330f;--shadow-3:0 24px 60px -12px #0F2A3347;}
[data-theme="dark"]{--bg:#0b1320;--surface:#121c2c;--surface-sunken:#0e1726;--line:#24324a;--line-strong:#5d6e8a;--ink:#f4efe6;--ink-muted:#a9b4c6;--ink-subtle:#8592a8;--nav:#070e19;--nav-raised:#13203a;--on-nav:#f4efe6;--on-nav-muted:#a9b4c6;--on-media:#FFFFFF;--on-media-muted:#E3ECEF;--primary:#3cc4b2;--primary-hover:#5fd6c5;--on-primary:#04201c;--primary-soft:#103a37;--on-primary-soft:#8ee6d8;--accent:#7AA5F5;--accent-ink:#9BBCF8;--accent-soft:#16264a;--on-accent-soft:#b9d0fa;--gold:#7AA5F5;--gold-hover:#9BBCF8;--on-gold:#0B1A33;--gold-soft:#16264a;--on-gold-soft:#b9d0fa;--success:#5fcf8f;--success-soft:#123222;--on-success-soft:#a6e8c2;--warning:#9ea2f8;--warning-soft:#1e1f48;--on-warning-soft:#c7c9fb;--danger:#ff8a80;--danger-soft:#3b1715;--on-danger-soft:#ffb4ab;--info:#8db8e8;--info-soft:#152740;--on-info-soft:#b9d4f2;--focus:#5fd6c5;--scrim:#000000b3;--brand-midnight:#0B3B4F;--brand-sand:#F7F5F0;--brand-jade:#0A7E8C;--brand-coral:#5B8DEF;--brand-gold:#5B8DEF;--shadow-1:0 1px 2px #00000066;--shadow-2:0 8px 24px -6px #000000a6;--shadow-3:0 24px 60px -12px #000000cc;}
:root{--space-0-5:4px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-12:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--duration-fast:120ms;--duration-base:220ms;--duration-slow:640ms;--ease-out:cubic-bezier(0.2, 0.7, 0.2, 1);--container:1240px;--nav-height:72px;--tap-target:48px;--font-display:"Hanken Grotesk", "Segoe UI", system-ui, sans-serif;--font-sans:"Hanken Grotesk", "Segoe UI", system-ui, sans-serif;}
.t-display-xl{font-family:var(--font-display);font-size:60px;line-height:64px;font-weight:500;letter-spacing:-0.02em;}
.t-display-lg{font-family:var(--font-display);font-size:44px;line-height:52px;font-weight:500;letter-spacing:-0.015em;}
.t-display-md{font-family:var(--font-display);font-size:30px;line-height:38px;font-weight:500;letter-spacing:-0.01em;}
.t-title-lg{font-family:var(--font-sans);font-size:26px;line-height:34px;font-weight:650;letter-spacing:-0.01em;}
.t-title-md{font-family:var(--font-sans);font-size:20px;line-height:28px;font-weight:650;}
.t-title-sm{font-family:var(--font-sans);font-size:17px;line-height:24px;font-weight:650;}
.t-body-lg{font-family:var(--font-sans);font-size:17px;line-height:28px;font-weight:400;}
.t-body{font-family:var(--font-sans);font-size:15px;line-height:24px;font-weight:400;}
.t-label{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:600;}
.t-caption{font-family:var(--font-sans);font-size:13px;line-height:18px;font-weight:500;}
.t-overline{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:700;letter-spacing:0.12em;}
.t-figure-lg{font-family:var(--font-sans);font-size:34px;line-height:40px;font-weight:650;letter-spacing:-0.02em;}
.t-figure{font-family:var(--font-sans);font-size:20px;line-height:28px;font-weight:650;}
/* Thai Smile Trip — component stylesheet. Reads tokens.css custom properties only. */
.ts, .ts *, .ts *::before, .ts *::after { box-sizing: border-box; }
.ts { font-family: var(--font-sans); font-size: 15px; line-height: 24px; color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; font-feature-settings: "ss01", "tnum" 0; }
:where(.ts) :where(h1, h2, h3, h4, p, dl, dd, ul, ol, figure) { margin: 0; padding: 0; }
:where(.ts) :where(ul, ol) { list-style: none; }
:where(.ts) :where(a) { color: inherit; text-decoration: none; }
:where(.ts) :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.ts :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--radius-sm); }
.ts .serif { font-family: var(--font-display); font-variation-settings: "opsz" 96; }
.ts .num { font-variant-numeric: tabular-nums; }
.ts .muted { color: var(--ink-muted); }
.ts .subtle { color: var(--ink-subtle); }
.ts-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--space-4); }
.ts-stack { display: flex; flex-direction: column; }
.ts-row { display: flex; align-items: center; }
.ts-gap-1 { gap: var(--space-1); } .ts-gap-2 { gap: var(--space-2); } .ts-gap-3 { gap: var(--space-3); } .ts-gap-4 { gap: var(--space-4); }
.ts-spacer { flex: 1; }
.ts-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ts-kicker { display: inline-flex; align-items: center; gap: var(--space-1); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); }
.ts-kicker::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.ts-kicker--plain::before { display: none; }

/* ---------- Wordmark ---------- */
.ts-wordmark { display: inline-flex; align-items: baseline; gap: 6px; font-family: var(--font-display); font-size: 22px; line-height: 1; font-weight: 500; letter-spacing: -.01em; color: inherit; white-space: nowrap; }
.ts-wordmark b { font-weight: 600; font-style: italic; }
.ts-wordmark small { font-family: var(--font-sans); font-size: 11px; font-weight: 700; letter-spacing: .24em; color: var(--gold); text-transform: uppercase; }
.ts-wordmark__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); align-self: center; box-shadow: 14px 0 0 -2px var(--gold); margin-right: 16px; }

/* ---------- Buttons ---------- */
.ts-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-1); height: 44px; padding: 0 20px; border-radius: var(--radius-md); font-size: 15px; line-height: 20px; font-weight: 600; white-space: nowrap; border: 1px solid transparent; transition: background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out); cursor: pointer; }
.ts-btn:active { transform: translateY(1px); }
.ts-btn--primary { background: var(--primary); color: var(--on-primary); box-shadow: var(--shadow-1); }
.ts-btn--primary:hover { background: var(--primary-hover); box-shadow: var(--shadow-2); }
.ts-btn--secondary { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
.ts-btn--secondary:hover { background: var(--surface-sunken); }
.ts-btn--ghost { color: var(--ink); }
.ts-btn--ghost:hover { background: var(--surface-sunken); }
.ts-btn--danger { background: var(--surface); color: var(--danger); border-color: var(--danger); }
.ts-btn--danger:hover { background: var(--danger-soft); }
.ts-btn--on-nav { color: var(--on-nav); border-color: color-mix(in srgb, var(--on-media) 25%, transparent); }
.ts-btn--on-nav:hover { background: var(--nav-raised); }
.ts-btn--sm { height: 36px; padding: 0 14px; font-size: 14px; }
.ts-btn--lg { height: 52px; padding: 0 28px; font-size: 16px; border-radius: var(--radius-md); }
.ts-btn--block { width: 100%; }
.ts-btn--icon { width: 44px; padding: 0; }
.ts-btn--icon.ts-btn--sm { width: 36px; }
.ts-btn[disabled], .ts-btn.is-disabled { opacity: .45; pointer-events: none; box-shadow: none; }
.ts-btn.is-loading { pointer-events: none; color: transparent; position: relative; }
.ts-btn.is-loading::after { content: ""; position: absolute; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--on-primary); border-right-color: transparent; animation: ts-spin .7s linear infinite; }
.ts-btn--secondary.is-loading::after { border-color: var(--ink); border-right-color: transparent; }
.ts-link { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-weight: 600; font-size: 14px; }
.ts-link:hover { text-decoration: underline; text-underline-offset: 3px; }
@keyframes ts-spin { to { transform: rotate(360deg); } }

/* ---------- Fields ---------- */
.ts-field { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.ts-field__label { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ink); }
.ts-field__label em { font-style: normal; color: var(--accent-ink); }
.ts-field__hint { font-size: 13px; line-height: 18px; color: var(--ink-muted); }
.ts-field__error { display: flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; color: var(--danger); font-weight: 500; }
.ts-control { position: relative; display: flex; align-items: center; height: 48px; background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius-md); transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out); }
.ts-control:hover { border-color: var(--ink-muted); }
.ts-control:focus-within { border-color: var(--focus); box-shadow: 0 0 0 3px var(--primary-soft); }
.ts-control > .ts-i { margin-left: 14px; color: var(--ink-muted); }
.ts-control input, .ts-control select { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 15px; color: var(--ink); padding: 0 14px; appearance: none; }
.ts-control input::placeholder { color: var(--ink-subtle); }
.ts-control__value { flex: 1; padding: 0 14px; font-size: 15px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ts-control__value.is-placeholder { color: var(--ink-subtle); }
.ts-control__trail { margin-right: 14px; color: var(--ink-muted); display: flex; }
.ts-control--lg { height: 60px; border-radius: var(--radius-lg); }
.ts-control--lg input { font-size: 17px; }
.ts-control.is-error { border-color: var(--danger); }
.ts-control.is-error:focus-within { box-shadow: 0 0 0 3px var(--danger-soft); }
.ts-control.is-disabled { background: var(--surface-sunken); border-color: var(--line); color: var(--ink-subtle); }
.ts-control.is-open { border-color: var(--focus); box-shadow: 0 0 0 3px var(--primary-soft); }

/* Dropdown menu */
.ts-menu { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-2); padding: var(--space-1); min-width: 220px; }
.ts-menu__item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--radius-md); font-size: 15px; cursor: pointer; }
.ts-menu__item:hover { background: var(--surface-sunken); }
.ts-menu__item.is-selected { background: var(--primary-soft); color: var(--on-primary-soft); font-weight: 600; }
.ts-menu__item .ts-i-check { margin-left: auto; }
.ts-menu__sep { height: 1px; background: var(--line); margin: 6px 4px; }

/* Counter */
.ts-counter { display: inline-flex; align-items: center; gap: 4px; height: 48px; padding: 4px; border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface); }
.ts-counter button { width: 38px; height: 38px; border-radius: 8px; display: grid; place-items: center; color: var(--ink); }
.ts-counter button:hover { background: var(--surface-sunken); }
.ts-counter output { min-width: 40px; text-align: center; font-weight: 650; font-size: 17px; font-variant-numeric: tabular-nums; }

/* Date picker */
.ts-cal { width: 312px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-2); padding: var(--space-2); }
.ts-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-1); }
.ts-cal__head strong { font-weight: 650; font-size: 15px; }
.ts-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.ts-cal__dow { font-size: 12px; font-weight: 700; color: var(--ink-muted); padding: 6px 0; }
.ts-cal__d { height: 38px; display: grid; place-items: center; border-radius: 8px; font-size: 14px; font-variant-numeric: tabular-nums; cursor: pointer; position: relative; }
.ts-cal__d:hover { background: var(--surface-sunken); }
.ts-cal__d.is-out { color: var(--ink-subtle); opacity: .6; pointer-events: none; text-decoration: line-through; }
.ts-cal__d.is-today::after { content: ""; position: absolute; bottom: 5px; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
.ts-cal__d.is-range { background: var(--primary-soft); color: var(--on-primary-soft); border-radius: 0; }
.ts-cal__d.is-selected { background: var(--primary); color: var(--on-primary); font-weight: 650; }
.ts-cal__foot { display: flex; justify-content: space-between; align-items: center; margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid var(--line); }

/* ---------- Tabs, segmented, chips ---------- */
.ts-tabs { display: flex; gap: var(--space-1); border-bottom: 1px solid var(--line); }
.ts-tab { position: relative; display: inline-flex; align-items: center; gap: var(--space-1); height: 48px; padding: 0 14px; font-size: 15px; font-weight: 600; color: var(--ink-muted); cursor: pointer; }
.ts-tab:hover { color: var(--ink); }
.ts-tab.is-active { color: var(--ink); }
.ts-tab.is-active::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--accent); }
.ts-tab__count { min-width: 24px; padding: 0 7px; border-radius: var(--radius-pill); background: var(--surface-sunken); color: var(--ink-muted); font-size: 12px; font-weight: 700; display: inline-grid; place-items: center; font-variant-numeric: tabular-nums; }
.ts-tab.is-active .ts-tab__count { background: var(--accent-soft); color: var(--on-accent-soft); }
.ts-seg { display: inline-flex; padding: 4px; gap: 4px; border-radius: var(--radius-md); background: var(--surface-sunken); }
.ts-seg__opt { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 7px; font-size: 14px; font-weight: 600; color: var(--ink-muted); cursor: pointer; }
.ts-seg__opt.is-active { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-1); }
.ts-chip { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px; border-radius: var(--radius-pill); border: 1px solid var(--line-strong); background: var(--surface); font-size: 14px; font-weight: 600; color: var(--ink); white-space: nowrap; cursor: pointer; transition: all var(--duration-fast) var(--ease-out); }
.ts-chip:hover { border-color: var(--ink); }
.ts-chip.is-selected { background: var(--nav); border-color: var(--nav); color: var(--on-nav); }
.ts-chip--toggle.is-selected { background: var(--primary-soft); border-color: var(--primary); color: var(--on-primary-soft); }
.ts-chip__count { font-size: 12px; font-weight: 700; color: var(--ink-muted); }
.ts-chip.is-selected .ts-chip__count { color: inherit; opacity: .75; }
.ts-chip--sm { height: 32px; padding: 0 12px; font-size: 13px; }

/* ---------- Badges ---------- */
.ts-badge { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: var(--radius-pill); font-size: 13px; line-height: 1; font-weight: 600; white-space: nowrap; background: var(--surface-sunken); color: var(--ink-muted); }
.ts-badge .ts-i { width: 14px; height: 14px; }
.ts-badge--confirmed { background: var(--primary-soft); color: var(--on-primary-soft); }
.ts-badge--pending { background: var(--warning-soft); color: var(--on-warning-soft); }
.ts-badge--upcoming { background: var(--info-soft); color: var(--on-info-soft); }
.ts-badge--cancelled { background: var(--danger-soft); color: var(--on-danger-soft); }
.ts-badge--due { background: var(--accent-soft); color: var(--on-accent-soft); }
.ts-badge--gold { background: var(--gold-soft); color: var(--on-gold-soft); }
.ts-badge--on-media { background: color-mix(in srgb, var(--nav) 80%, transparent); color: var(--on-media); backdrop-filter: blur(6px); }
.ts-flag { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; color: var(--ink-muted); font-weight: 500; }
.ts-flag .ts-i { width: 16px; height: 16px; color: var(--ink-muted); }
.ts-flag--instant .ts-i { color: var(--primary); }

/* ---------- Surfaces ---------- */
.ts-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.ts-panel--pad { padding: var(--space-3); }
.ts-well { background: var(--surface-sunken); border-radius: var(--radius-lg); }
.ts-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.ts-section-head h2 { font-family: var(--font-display); font-weight: 500; font-size: 30px; line-height: 38px; letter-spacing: -.01em; }
.ts-section-head h3 { font-size: 20px; line-height: 28px; font-weight: 650; }

/* ---------- Signature: route line ---------- */
.ts-mapline { position: relative; height: 24px; display: flex; align-items: center; gap: var(--space-2); color: var(--ink-muted); font-size: 13px; font-weight: 600; }
.ts-mapline::before, .ts-mapline::after { content: ""; flex: 1; border-top: 1.5px dashed var(--line-strong); opacity: .7; }
.ts-mapline i { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--accent); background: var(--bg); }
.ts-route { display: flex; flex-direction: column; position: relative; }
.ts-route__stop { position: relative; display: grid; grid-template-columns: 40px 1fr auto; gap: var(--space-2); align-items: start; padding-bottom: var(--space-3); }
.ts-route__stop:last-child { padding-bottom: 0; }
.ts-route__stop::before { content: ""; position: absolute; left: 19px; top: 40px; bottom: 0; border-left: 2px dashed var(--line-strong); }
.ts-route__stop:last-child::before { display: none; }
.ts-route__mark { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--surface); border: 2px solid var(--ink); color: var(--ink); position: relative; z-index: 1; }
.ts-route__stop--end .ts-route__mark { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.ts-route__stop--via .ts-route__mark { width: 16px; height: 16px; margin: 12px; border-color: var(--gold); background: var(--gold-soft); }
.ts-route__stop--via::before { left: 19px; top: 28px; }
.ts-route__body { padding-top: 2px; }
.ts-route__label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); }
.ts-route__place { font-size: 17px; line-height: 24px; font-weight: 650; }
.ts-route__meta { font-size: 14px; color: var(--ink-muted); }
.ts-route--compact .ts-route__stop { grid-template-columns: 16px 1fr; gap: 12px; padding-bottom: 14px; }
.ts-route--compact .ts-route__mark { width: 12px; height: 12px; margin-top: 6px; border-width: 2px; }
.ts-route--compact .ts-route__stop::before { left: 5px; top: 20px; border-left-width: 1.5px; }
.ts-route--compact .ts-route__place { font-size: 15px; line-height: 22px; font-weight: 600; }

/* Journey stepper (booking progress) */
.ts-journey { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: relative; }
.ts-journey__step { position: relative; display: flex; align-items: center; gap: 14px; padding-right: var(--space-2); }
.ts-journey__step + .ts-journey__step::before { content: ""; position: absolute; right: calc(100% - 4px); width: calc(100% - 210px); min-width: 32px; top: 2px; height: 26px; border-top: 2px dashed var(--line-strong); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.ts-journey__step.is-done + .ts-journey__step::before { border-top-style: solid; border-color: var(--primary); }
.ts-journey__mark { width: 44px; height: 44px; flex: none; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--line-strong); background: var(--surface); color: var(--ink-muted); font-weight: 700; font-size: 14px; font-variant-numeric: tabular-nums; }
.ts-journey__step.is-done .ts-journey__mark { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }
.ts-journey__step.is-current .ts-journey__mark { border-color: var(--accent); color: var(--accent-ink); background: var(--accent-soft); box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 14%, transparent); }
.ts-journey__num { font-size: 12px; font-weight: 700; letter-spacing: .12em; color: var(--ink-muted); }
.ts-journey__title { font-size: 16px; font-weight: 650; line-height: 22px; }
.ts-journey__step:not(.is-done):not(.is-current) .ts-journey__title { color: var(--ink-muted); }
.ts-journey__sub { font-size: 13px; color: var(--ink-muted); line-height: 18px; }

/* ---------- Media + experience card ---------- */
.ts-media { position: relative; overflow: hidden; border-radius: var(--radius-lg); background-color: var(--surface-sunken); background-size: cover; background-position: center; }
.ts-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--nav) 20%, transparent)); pointer-events: none; }
.ts-media--plain::after { display: none; }
.ts-xcard { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-xl); overflow: hidden; transition: transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.ts-xcard:hover { transform: translateY(-3px); box-shadow: var(--shadow-2); }
.ts-xcard .ts-media { aspect-ratio: 4 / 3; border-radius: 0; }
.ts-xcard__badges { position: absolute; top: 14px; left: 14px; right: 14px; display: flex; justify-content: space-between; z-index: 1; }
.ts-xcard__save { width: 36px; height: 36px; border-radius: 50%; background: color-mix(in srgb, var(--surface) 90%, transparent); color: var(--ink); display: grid; place-items: center; }
.ts-xcard__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.ts-xcard__title { font-size: 19px; line-height: 26px; font-weight: 650; letter-spacing: -.005em; }
.ts-xcard__desc { font-size: 14px; line-height: 21px; color: var(--ink-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ts-xcard__facts { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.ts-xcard__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-2); margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line); }
.ts-price small { display: block; font-size: 13px; color: var(--ink-muted); font-weight: 500; line-height: 18px; }
.ts-price strong { font-size: 22px; line-height: 28px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.ts-price span { font-size: 13px; color: var(--ink-muted); font-weight: 500; }
.ts-xcard--row { flex-direction: row; border-radius: var(--radius-lg); }
.ts-xcard--row .ts-media { width: 300px; aspect-ratio: auto; flex: none; }
.ts-xcard--row .ts-xcard__body { padding: 24px 28px; }
.ts-xcard--row .ts-xcard__desc { -webkit-line-clamp: 2; }

/* Launcher tiles (dashboard) */
.ts-launch { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 248px; padding: 28px; border-radius: var(--radius-xl); overflow: hidden; color: var(--ink); background: var(--surface); border: 1px solid var(--line); transition: transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); cursor: pointer; }
.ts-launch:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.ts-launch__icon { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--primary-soft); color: var(--on-primary-soft); }
.ts-launch__title { font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 500; letter-spacing: -.01em; margin-top: var(--space-3); }
.ts-launch__desc { font-size: 15px; color: var(--ink-muted); margin-top: 6px; }
.ts-launch__go { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; font-size: 15px; color: var(--primary); margin-top: var(--space-3); }
.ts-launch--hero { color: var(--on-media); border: 0; background-color: var(--nav); background-size: cover; background-position: center; }
.ts-launch--hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(200deg, color-mix(in srgb, var(--nav) 6%, transparent) 20%, color-mix(in srgb, var(--nav) 85%, transparent) 78%); }
.ts-launch--hero > * { position: relative; }
.ts-launch--hero .ts-launch__desc { color: var(--on-media-muted); }
.ts-launch--hero .ts-launch__icon { background: var(--surface); color: var(--primary); }
.ts-launch--hero .ts-launch__go { color: var(--surface); }
.ts-launch--navy { background: var(--nav); color: var(--on-nav); border: 0; }
.ts-launch--navy .ts-launch__desc { color: var(--on-nav-muted); }
.ts-launch--navy .ts-launch__icon { background: var(--nav-raised); color: var(--gold); }
.ts-launch--navy .ts-launch__go { color: var(--on-nav); }

/* Vehicle card */
.ts-vcard { position: relative; display: grid; grid-template-columns: 220px 1fr auto; gap: var(--space-4); align-items: center; padding: 20px 24px; background: var(--surface); border: 1.5px solid var(--line); border-radius: var(--radius-lg); cursor: pointer; transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.ts-vcard:hover { border-color: var(--line-strong); box-shadow: var(--shadow-1); }
.ts-vcard.is-selected { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.ts-vcard__art { height: 96px; background-size: contain; background-position: center; background-repeat: no-repeat; background-color: var(--surface-sunken); border-radius: var(--radius-md); background-origin: content-box; padding: 10px 14px; }
.ts-vcard__name { font-size: 18px; font-weight: 650; line-height: 26px; }
.ts-vcard__class { font-size: 13px; color: var(--ink-muted); font-weight: 500; }
.ts-vcard__specs { display: flex; gap: 18px; margin-top: 10px; flex-wrap: wrap; }
.ts-vcard__incl { display: flex; gap: 6px 14px; margin-top: 10px; flex-wrap: wrap; font-size: 13px; color: var(--ink-muted); }
.ts-vcard__incl span { display: inline-flex; align-items: center; gap: 4px; }
.ts-vcard__incl .ts-i { width: 14px; height: 14px; color: var(--primary); }
.ts-vcard__buy { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ts-vcard__tick { position: absolute; top: -10px; right: -10px; width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: var(--on-primary); display: none; place-items: center; box-shadow: var(--shadow-1); }
.ts-vcard.is-selected .ts-vcard__tick { display: grid; }

/* Option tile (transfer type) */
.ts-option { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 16px; text-align: left; background: var(--surface); border: 1.5px solid var(--line); border-radius: var(--radius-lg); cursor: pointer; transition: border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out); }
.ts-option:hover { border-color: var(--line-strong); }
.ts-option.is-selected { border-color: var(--accent); background: color-mix(in srgb, var(--accent-soft) 45%, var(--surface)); }
.ts-option__route { display: flex; align-items: center; gap: 8px; color: var(--ink); }
.ts-option__route .ts-dash { flex: 1; border-top: 1.5px dashed var(--line-strong); }
.ts-option.is-selected .ts-option__route .ts-dash { border-color: var(--accent); }
.ts-option__ico { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--surface-sunken); }
.ts-option.is-selected .ts-option__ico { background: var(--surface); }
.ts-option__label { white-space: nowrap; font-size: 15px; font-weight: 650; line-height: 20px; }
.ts-option__sub { font-size: 13px; color: var(--ink-muted); line-height: 18px; }

/* ---------- Booking rows ---------- */
.ts-blist { display: flex; flex-direction: column; gap: 12px; }
.ts-brow { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); transition: box-shadow var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out); }
.ts-brow:hover { box-shadow: var(--shadow-1); border-color: var(--line-strong); }
.ts-brow__main { display: grid; grid-template-columns: 64px minmax(260px, 2.2fr) minmax(140px, 1fr) 128px 112px auto; gap: 20px; align-items: center; padding: 16px 20px; cursor: pointer; }
.ts-brow__date { width: 64px; height: 64px; border-radius: 14px; background: var(--surface-sunken); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.ts-brow__date b { font-size: 24px; font-weight: 650; font-variant-numeric: tabular-nums; }
.ts-brow__date span { font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--ink-muted); text-transform: uppercase; margin-top: 4px; }
.ts-brow__svc { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ts-brow__svc strong { font-size: 16px; line-height: 22px; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ts-brow__meta { display: flex; gap: 12px; font-size: 13px; color: var(--ink-muted); align-items: center; flex-wrap: wrap; }
.ts-brow__meta .ts-i { width: 14px; height: 14px; }
.ts-brow__id { font-size: 13px; color: var(--ink-muted); font-variant-numeric: tabular-nums; font-weight: 600; }
.ts-brow__amt { text-align: right; }
.ts-brow__amt strong { display: block; font-size: 17px; font-weight: 650; font-variant-numeric: tabular-nums; }
.ts-brow__amt span { font-size: 13px; font-weight: 600; }
.ts-brow__amt .is-paid { color: var(--primary); } .ts-brow__amt .is-due { color: var(--accent-ink); } .ts-brow__amt .is-refund { color: var(--info); }
.ts-brow__actions { display: flex; gap: 6px; align-items: center; }
.ts-brow__chev { transition: transform var(--duration-base) var(--ease-out); }
.ts-brow.is-open .ts-brow__chev { transform: rotate(180deg); }
.ts-brow__more { display: none; padding: 4px 20px 20px 104px; }
.ts-brow.is-open .ts-brow__more { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--space-4); animation: ts-reveal var(--duration-base) var(--ease-out); }
.ts-brow.is-open { border-color: var(--line-strong); box-shadow: var(--shadow-1); }
@keyframes ts-reveal { from { opacity: 0; transform: translateY(-4px); } }

/* Definition list / summary */
.ts-dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 20px; font-size: 15px; }
.ts-dl dt { color: var(--ink-muted); }
.ts-dl dd { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.ts-facts { display: grid; gap: var(--space-3); }
.ts-fact { display: flex; gap: 12px; align-items: flex-start; }
.ts-fact__ico { width: 40px; height: 40px; flex: none; border-radius: 12px; background: var(--surface-sunken); display: grid; place-items: center; color: var(--ink); }
.ts-fact__k { font-size: 13px; color: var(--ink-muted); line-height: 18px; font-weight: 500; }
.ts-fact__v { font-size: 15px; font-weight: 650; line-height: 22px; }
.ts-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: var(--space-2); border-top: 1px dashed var(--line-strong); }
.ts-total span { font-weight: 600; }
.ts-total strong { font-size: 26px; line-height: 32px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }

/* ---------- Money ---------- */
.ts-balance { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 14px 0 6px; border-radius: var(--radius-pill); background: var(--nav-raised); color: var(--on-nav); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; border: 1px solid color-mix(in srgb, var(--on-media) 12%, transparent); }
.ts-balance__ico { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: var(--on-gold); }
.ts-balance small { color: var(--on-nav-muted); font-weight: 500; font-size: 13px; }
.ts-money { display: flex; flex-direction: column; gap: 4px; }
.ts-money__k { font-size: 13px; color: var(--ink-muted); font-weight: 600; display: flex; align-items: center; gap: 6px; }
.ts-money__v { font-size: 26px; line-height: 32px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.015em; }
.ts-money__n { font-size: 13px; color: var(--ink-muted); }
.ts-meter { height: 8px; border-radius: 99px; background: var(--surface-sunken); overflow: hidden; display: flex; }
.ts-meter i { display: block; height: 100%; }

/* Transactions */
.ts-txns { display: flex; flex-direction: column; }
.ts-txn-day { font-size: 13px; font-weight: 700; color: var(--ink-muted); padding: 18px 0 8px; letter-spacing: .02em; }
.ts-txn { display: grid; grid-template-columns: 44px 1fr 110px 130px 110px; gap: var(--space-3); align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.ts-txn-day + .ts-txn { border-top: 0; }
.ts-txn__ico { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-sunken); color: var(--ink); }
.ts-txn__ico--in { background: var(--primary-soft); color: var(--on-primary-soft); }
.ts-txn__ico--out { background: var(--surface-sunken); color: var(--ink); }
.ts-txn__ico--refund { background: var(--info-soft); color: var(--on-info-soft); }
.ts-txn__ico--adj { background: var(--gold-soft); color: var(--on-gold-soft); }
.ts-txn__desc strong { display: block; font-size: 15px; font-weight: 650; line-height: 22px; }
.ts-txn__desc span { font-size: 13px; color: var(--ink-muted); }
.ts-txn__ref { font-size: 14px; font-weight: 600; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.ts-txn__amt { text-align: right; font-size: 16px; font-weight: 650; font-variant-numeric: tabular-nums; }
.ts-txn__amt.is-in { color: var(--primary); }
.ts-txn__bal { text-align: right; font-size: 14px; color: var(--ink-muted); font-variant-numeric: tabular-nums; }

/* ---------- Feedback ---------- */
.ts-banner { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: var(--radius-lg); font-size: 15px; line-height: 22px; }
.ts-banner strong { display: block; font-weight: 650; }
.ts-banner p { font-size: 14px; }
.ts-banner--info { background: var(--info-soft); color: var(--on-info-soft); }
.ts-banner--warning { background: var(--warning-soft); color: var(--on-warning-soft); }
.ts-banner--danger { background: var(--danger-soft); color: var(--on-danger-soft); }
.ts-banner--success { background: var(--primary-soft); color: var(--on-primary-soft); }
.ts-banner--gold { background: var(--gold-soft); color: var(--on-gold-soft); }
.ts-banner .ts-btn { margin-left: auto; flex: none; }
.ts-toast { display: flex; align-items: center; gap: 14px; width: 400px; padding: 14px 16px; border-radius: var(--radius-lg); background: var(--nav); color: var(--on-nav); box-shadow: var(--shadow-3); font-size: 15px; animation: ts-toast-in var(--duration-base) var(--ease-out); }
.ts-toast__ico { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--primary); color: var(--on-primary); }
.ts-toast--error .ts-toast__ico { background: var(--danger); color: var(--on-primary); }
.ts-toast strong { display: block; font-weight: 650; }
.ts-toast span { color: var(--on-nav-muted); font-size: 14px; }
.ts-toast button { margin-left: auto; color: var(--on-nav-muted); }
@keyframes ts-toast-in { from { opacity: 0; transform: translateY(8px); } }
.ts-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: var(--space-6) var(--space-4); }
.ts-empty__art { width: 160px; height: 88px; position: relative; margin-bottom: 8px; }
.ts-empty__art::before { content: ""; position: absolute; left: 14px; right: 14px; top: 24px; height: 46px; border-top: 2px dashed var(--line-strong); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.ts-empty__art > i { position: absolute; width: 18px; height: 18px; border-radius: 50%; top: 52px; border: 3px solid var(--ink-muted); background: var(--bg); }
.ts-empty__art > i:first-child { left: 6px; } .ts-empty__art > i:last-child { right: 6px; border-color: var(--accent); background: var(--accent-soft); }
.ts-empty__art b { position: absolute; left: 50%; top: 4px; transform: translateX(-50%); width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--surface); border: 1px solid var(--line); color: var(--ink-muted); }
.ts-empty h3 { font-size: 20px; line-height: 28px; font-weight: 650; }
.ts-empty p { color: var(--ink-muted); max-width: 380px; }
.ts-skel { background: linear-gradient(90deg, var(--surface-sunken) 0%, var(--line) 50%, var(--surface-sunken) 100%); background-size: 200% 100%; animation: ts-shimmer 1.4s linear infinite; border-radius: 8px; }
@keyframes ts-shimmer { to { background-position: -200% 0; } }

/* Overlay: drawer + modal */
.ts-scrim { position: absolute; inset: 0; background: var(--scrim); }
.ts-drawer { position: absolute; top: 0; right: 0; bottom: 0; width: 520px; background: var(--surface); box-shadow: var(--shadow-3); display: flex; flex-direction: column; animation: ts-drawer-in var(--duration-base) var(--ease-out); }
.ts-drawer__head { display: flex; align-items: center; gap: 12px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.ts-drawer__body { flex: 1; overflow: auto; padding: 24px; display: flex; flex-direction: column; gap: var(--space-3); }
.ts-drawer__foot { display: flex; gap: 10px; padding: 16px 24px; border-top: 1px solid var(--line); background: var(--surface); }
@keyframes ts-drawer-in { from { transform: translateX(24px); opacity: 0; } }
.ts-modal { width: 480px; background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--shadow-3); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.ts-modal__ico { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--danger-soft); color: var(--danger); }
.ts-modal h3 { font-size: 22px; line-height: 30px; font-weight: 650; }
.ts-modal p { color: var(--ink-muted); }
.ts-modal__foot { display: flex; gap: 10px; justify-content: flex-end; margin-top: 8px; }

/* Pagination */
.ts-pager { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); font-size: 14px; color: var(--ink-muted); }
.ts-pager__pages { display: flex; gap: 4px; }
.ts-pager__p { min-width: 40px; height: 40px; padding: 0 10px; border-radius: var(--radius-md); display: grid; place-items: center; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; cursor: pointer; }
.ts-pager__p:hover { background: var(--surface-sunken); }
.ts-pager__p.is-active { background: var(--nav); color: var(--on-nav); }

/* Avatar */
.ts-avatar { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 14px; background: var(--gold-soft); color: var(--on-gold-soft); flex: none; }
.ts-avatar--lg { width: 72px; height: 72px; font-size: 24px; font-family: var(--font-display); font-weight: 500; }

/* ---------- Navigation ---------- */
.ts-nav { background: var(--nav); color: var(--on-nav); }
.ts-nav__in { display: flex; align-items: center; gap: var(--space-4); height: var(--nav-height); max-width: 1376px; margin: 0 auto; padding: 0 var(--space-4); }
.ts-nav__links { display: flex; gap: 4px; margin-left: var(--space-2); }
.ts-nav__link { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: var(--radius-md); font-size: 15px; font-weight: 600; color: var(--on-nav-muted); }
.ts-nav__link:hover { color: var(--on-nav); background: var(--nav-raised); }
.ts-nav__link.is-active { color: var(--on-nav); }
.ts-nav__link.is-active::after { content: ""; position: absolute; left: 50%; bottom: -10px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); transform: translateX(-50%); box-shadow: -12px 0 0 -1px var(--gold), 12px 0 0 -1px var(--gold); }
.ts-nav__right { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.ts-nav__icon { position: relative; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--on-nav); }
.ts-nav__icon:hover { background: var(--nav-raised); }
.ts-nav__dot { position: absolute; top: 8px; right: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 2px var(--nav); }
.ts-nav .ts-avatar { width: 38px; height: 38px; }
.ts-nav__route { height: 3px; background: repeating-linear-gradient(90deg, var(--gold) 0 10px, transparent 10px 18px); opacity: .35; }

.ts-tabbar { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--surface); border-top: 1px solid var(--line); padding: 6px 4px 18px; }
.ts-tabbar__it { display: flex; flex-direction: column; align-items: center; gap: 4px; height: 52px; justify-content: center; font-size: 12px; font-weight: 600; color: var(--ink-muted); position: relative; }
.ts-tabbar__it.is-active { color: var(--ink); }
.ts-tabbar__it.is-active::before { content: ""; position: absolute; top: -7px; width: 24px; height: 3px; border-radius: 0 0 3px 3px; background: var(--accent); }
.ts-tabbar__it--fab .ts-tabbar__fab { width: 48px; height: 48px; border-radius: 50%; background: var(--primary); color: var(--on-primary); display: grid; place-items: center; margin-top: -22px; box-shadow: var(--shadow-2); }

/* Footer (slim, product-style) */
.ts-foot { border-top: 1px solid var(--line); padding: var(--space-4) 0; font-size: 14px; color: var(--ink-muted); }
.ts-foot .ts-container { display: flex; align-items: center; gap: var(--space-4); }
.ts-foot a:hover { color: var(--ink); }

/* Scenes: art-direction placeholders until real photography lands */
.ts-scene { background-size: cover; background-position: center; }

/* Switch */
.ts-switch { position: relative; display: inline-block; width: 44px; height: 26px; flex: none; }
.ts-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.ts-switch span { position: absolute; inset: 0; border-radius: 999px; background: var(--line-strong); transition: background var(--duration-fast) var(--ease-out); }
.ts-switch span::after { content: ""; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--surface); box-shadow: var(--shadow-1); transition: transform var(--duration-base) var(--ease-out); }
.ts-switch input:checked + span { background: var(--primary); }
.ts-switch input:checked + span::after { transform: translateX(18px); }
.ts-switch input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
/* Settings sub-navigation */
.ts-subnav { display: flex; flex-direction: column; gap: 2px; }
.ts-subnav a { display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 14px; border-radius: var(--radius-md); font-weight: 600; color: var(--ink-muted); }
.ts-subnav a:hover { background: var(--surface-sunken); color: var(--ink); }
.ts-subnav a.is-active { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-1); }
.ts-subnav a.is-active .ts-i { color: var(--accent); }
.ts-i{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--ts-i) center/contain no-repeat;mask:var(--ts-i) center/contain no-repeat;vertical-align:middle}
.ts-i--sm{width:16px;height:16px}.ts-i--lg{width:24px;height:24px}.ts-i--xl{width:32px;height:32px}
.ts-i-search{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227%22/%3E%3Cpath d=%22m20 20-3.6-3.6%22/%3E%3C/svg%3E")}
.ts-i-filter{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 6h10M18 6h2M4 12h4M12 12h8M4 18h12M20 18h0%22/%3E%3Ccircle cx=%2216%22 cy=%226%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2212%22 r=%222%22/%3E%3Ccircle cx=%2218%22 cy=%2218%22 r=%222%22/%3E%3C/svg%3E")}
.ts-i-bell{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9%22/%3E%3Cpath d=%22M10.3 21a2 2 0 0 0 3.4 0%22/%3E%3C/svg%3E")}
.ts-i-plus{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 5v14M5 12h14%22/%3E%3C/svg%3E")}
.ts-i-arrow-right{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14M13 6l6 6-6 6%22/%3E%3C/svg%3E")}
.ts-i-arrow-left{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19 12H5M11 6l-6 6 6 6%22/%3E%3C/svg%3E")}
.ts-i-arrow-down{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 5v14M6 13l6 6 6-6%22/%3E%3C/svg%3E")}
.ts-i-check{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 12.5 4.5 4.5L19 7.5%22/%3E%3C/svg%3E")}
.ts-i-check-circle{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22m8 12.5 2.8 2.8L16.2 9.5%22/%3E%3C/svg%3E")}
.ts-i-x{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 6l12 12M18 6 6 18%22/%3E%3C/svg%3E")}
.ts-i-chevron-down{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E")}
.ts-i-chevron-right{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m9 6 6 6-6 6%22/%3E%3C/svg%3E")}
.ts-i-chevron-left{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m15 6-6 6 6 6%22/%3E%3C/svg%3E")}
.ts-i-plane-land{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 21h20%22/%3E%3Cpath d=%22M3.5 11.5 5 8l2 .6 1.5 3.2 5 1.4L13 5.5l2.3.7 3 8.3 2.6.8a1.6 1.6 0 0 1-.9 3.1L4.6 14.1a1.9 1.9 0 0 1-1.1-2.6z%22/%3E%3C/svg%3E")}
.ts-i-plane-takeoff{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 21h20%22/%3E%3Cpath d=%22m4.3 15.2-1.7-3.4 2.1-.9 2.6 1.6 4.8-2.2-5-5.5 2.4-1 7.5 4.1 3.3-1.5a1.6 1.6 0 0 1 1.3 2.9L6.4 15.4a1.8 1.8 0 0 1-2.1-.2z%22/%3E%3C/svg%3E")}
.ts-i-plane{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z%22/%3E%3C/svg%3E")}
.ts-i-hotel{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 21V4.5A1.5 1.5 0 0 1 5.5 3h9A1.5 1.5 0 0 1 16 4.5V21%22/%3E%3Cpath d=%22M16 10h2.5A1.5 1.5 0 0 1 20 11.5V21M2 21h20M8 7h1M11 7h1M8 11h1M11 11h1M8 15h1M11 15h1M9 21v-3h2v3%22/%3E%3C/svg%3E")}
.ts-i-pier{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 20c1.5 1 3 1 4.5 0s3-1 4.5 0 3 1 4.5 0 3-1 4.5 0%22/%3E%3Cpath d=%22M4 17 3 12h18l-2.5 5%22/%3E%3Cpath d=%22M6 12V8h9l3 4M10 8V5h3%22/%3E%3C/svg%3E")}
.ts-i-car{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 17H3.5A1.5 1.5 0 0 1 2 15.5V12l2.2-5A2 2 0 0 1 6 6h12a2 2 0 0 1 1.8 1l2.2 5v3.5a1.5 1.5 0 0 1-1.5 1.5H19%22/%3E%3Cpath d=%22M2 12h20M9 17h6%22/%3E%3Ccircle cx=%227%22 cy=%2217%22 r=%222%22/%3E%3Ccircle cx=%2217%22 cy=%2217%22 r=%222%22/%3E%3C/svg%3E")}
.ts-i-van{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 6h11l4 4h2.5A1.5 1.5 0 0 1 22 11.5V16a1 1 0 0 1-1 1h-1.5M4.5 17H3a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1M9.5 17h5%22/%3E%3Cpath d=%22M2 11h20M9 6v5%22/%3E%3Ccircle cx=%227%22 cy=%2217%22 r=%222%22/%3E%3Ccircle cx=%2217%22 cy=%2217%22 r=%222%22/%3E%3C/svg%3E")}
.ts-i-calendar{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22M3 10h18M8 3v4M16 3v4%22/%3E%3C/svg%3E")}
.ts-i-clock{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E")}
.ts-i-users{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228%22 r=%223.5%22/%3E%3Cpath d=%22M2.5 20a6.5 6.5 0 0 1 13 0%22/%3E%3Cpath d=%22M16 4.6a3.5 3.5 0 0 1 0 6.8M18.5 14.5a6.5 6.5 0 0 1 3 5.5%22/%3E%3C/svg%3E")}
.ts-i-user{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228%22 r=%224%22/%3E%3Cpath d=%22M4 21a8 8 0 0 1 16 0%22/%3E%3C/svg%3E")}
.ts-i-wallet{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19 7V5.5A1.5 1.5 0 0 0 17.5 4H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4M21 17v2a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V6%22/%3E%3Cpath d=%22M22 13h-4a2 2 0 0 0 0 4h4z%22/%3E%3C/svg%3E")}
.ts-i-ticket{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 8a2 2 0 0 0 0 8v2a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-2a2 2 0 0 1 0-4V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1z%22 transform=%22translate%280 -1%29%22/%3E%3Cpath d=%22M13 6v2M13 11v2M13 16v2%22/%3E%3C/svg%3E")}
.ts-i-pin{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%223%22/%3E%3C/svg%3E")}
.ts-i-route{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%226%22 cy=%2219%22 r=%223%22/%3E%3Ccircle cx=%2218%22 cy=%225%22 r=%223%22/%3E%3Cpath d=%22M9 19h7.5a3.5 3.5 0 0 0 0-7h-9a3.5 3.5 0 0 1 0-7H15%22/%3E%3C/svg%3E")}
.ts-i-compass{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22m15.5 8.5-2 5-5 2 2-5z%22/%3E%3C/svg%3E")}
.ts-i-home{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z%22/%3E%3C/svg%3E")}
.ts-i-bolt{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M13 2 4 14h7l-1 8 9-12h-7z%22/%3E%3C/svg%3E")}
.ts-i-luggage{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%226%22 y=%227%22 width=%2212%22 height=%2213%22 rx=%222%22/%3E%3Cpath d=%22M9 7V4.5A1.5 1.5 0 0 1 10.5 3h3A1.5 1.5 0 0 1 15 4.5V7M10 11v5M14 11v5M8 20v1M16 20v1%22/%3E%3C/svg%3E")}
.ts-i-info{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 11v5M12 8h0%22/%3E%3C/svg%3E")}
.ts-i-alert{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10.3 3.9 2.4 18a2 2 0 0 0 1.7 3h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z%22/%3E%3Cpath d=%22M12 9v4M12 17h0%22/%3E%3C/svg%3E")}
.ts-i-download{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3v12M7 10l5 5 5-5M4 20h16%22/%3E%3C/svg%3E")}
.ts-i-share{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2218%22 cy=%225%22 r=%223%22/%3E%3Ccircle cx=%226%22 cy=%2212%22 r=%223%22/%3E%3Ccircle cx=%2218%22 cy=%2219%22 r=%223%22/%3E%3Cpath d=%22m8.6 13.5 6.8 4M15.4 6.5l-6.8 4%22/%3E%3C/svg%3E")}
.ts-i-file{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z%22/%3E%3Cpath d=%22M14 3v5h5M9 13h6M9 17h4%22/%3E%3C/svg%3E")}
.ts-i-more{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%225%22 cy=%2212%22 r=%221%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%221%22/%3E%3Ccircle cx=%2219%22 cy=%2212%22 r=%221%22/%3E%3C/svg%3E")}
.ts-i-grid{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%223%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3Crect x=%2214%22 y=%223%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3Crect x=%223%22 y=%2214%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3Crect x=%2214%22 y=%2214%22 width=%227%22 height=%227%22 rx=%221.5%22/%3E%3C/svg%3E")}
.ts-i-list{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 6h12M9 12h12M9 18h12M4 6h0M4 12h0M4 18h0%22/%3E%3C/svg%3E")}
.ts-i-shield{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6z%22/%3E%3Cpath d=%22m8.5 12 2.5 2.5 4.5-5%22/%3E%3C/svg%3E")}
.ts-i-globe{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18%22/%3E%3C/svg%3E")}
.ts-i-repeat{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M17 2l4 4-4 4%22/%3E%3Cpath d=%22M3 11V9a3 3 0 0 1 3-3h15M7 22l-4-4 4-4%22/%3E%3Cpath d=%22M21 13v2a3 3 0 0 1-3 3H3%22/%3E%3C/svg%3E")}
.ts-i-logout{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9%22/%3E%3C/svg%3E")}
.ts-i-card{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%225%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M2 10h20M6 15h4%22/%3E%3C/svg%3E")}
.ts-i-receipt{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 3h14v18l-2.5-1.5L14 21l-2-1.5L10 21l-2.5-1.5L5 21z%22/%3E%3Cpath d=%22M9 8h6M9 12h6M9 16h3%22/%3E%3C/svg%3E")}
.ts-i-phone{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
.ts-i-mail{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22m22 7-10 6L2 7%22/%3E%3C/svg%3E")}
.ts-i-star{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3 6.4 20.2l1.1-6.2L3 9.6l6.2-.9z%22/%3E%3C/svg%3E")}
.ts-i-refund{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 12a9 9 0 1 0 3-6.7L3 8%22/%3E%3Cpath d=%22M3 3v5h5%22/%3E%3Cpath d=%22M12 8v8M9.5 10.5c0-1 1-1.5 2.5-1.5s2.5.6 2.5 1.6c0 2.4-5 1.4-5 3.8 0 1 1 1.6 2.5 1.6s2.5-.5 2.5-1.5%22/%3E%3C/svg%3E")}
.ts-i-in{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M17 7 7 17M15 17H7V9%22/%3E%3C/svg%3E")}
.ts-i-out{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 17 17 7M9 7h8v8%22/%3E%3C/svg%3E")}
.ts-i-sliders{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6%22/%3E%3C/svg%3E")}
.ts-i-sun{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%224%22/%3E%3Cpath d=%22M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4%22/%3E%3C/svg%3E")}
.ts-i-moon{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z%22/%3E%3C/svg%3E")}
.ts-i-edit{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z%22/%3E%3C/svg%3E")}
.ts-i-copy{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%229%22 y=%229%22 width=%2212%22 height=%2212%22 rx=%222%22/%3E%3Cpath d=%22M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1%22/%3E%3C/svg%3E")}
.ts-i-heart{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19.5 12.6 12 20l-7.5-7.4A5 5 0 1 1 12 6a5 5 0 1 1 7.5 6.6z%22/%3E%3C/svg%3E")}
.ts-i-swap{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 4v16M3 8l4-4 4 4M17 20V4M21 16l-4 4-4-4%22/%3E%3C/svg%3E")}
.ts-i-key{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%227.5%22 cy=%2215.5%22 r=%224.5%22/%3E%3Cpath d=%22m10.7 12.3 9.8-9.8M17 6l3 3M14 9l2 2%22/%3E%3C/svg%3E")}
.ts-i-building{--ts-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%222%22 width=%2216%22 height=%2220%22 rx=%222%22/%3E%3Cpath d=%22M9 22v-4h6v4M8 6h.01M12 6h.01M16 6h.01M8 10h.01M12 10h.01M16 10h.01M8 14h.01M12 14h.01M16 14h.01%22/%3E%3C/svg%3E")}
.ts-scene--bangkok{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 500%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23f3c9a0%22/%3E%3Cstop offset=%220.55%22 stop-color=%22%23e98a64%22/%3E%3Cstop offset=%221%22 stop-color=%22%23c9583e%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22w%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%237a3b35%22/%3E%3Cstop offset=%221%22 stop-color=%22%232a2236%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22800%22 height=%22500%22 fill=%22url%28%23a%29%22/%3E%3Ccircle cx=%22560%22 cy=%22210%22 r=%2270%22 fill=%22%23fbe3c4%22 opacity=%22.85%22/%3E%3Cpath d=%22M0 330h800v170H0z%22 fill=%22url%28%23w%29%22/%3E%3Cpath d=%22M90 330V290h40v-20h20v-30h10l10-60 10 60h10v30h20v20h40v40z%22 fill=%22%233a2433%22/%3E%3Cpath d=%22M300 330v-50h30v-30h20v-40h16v-40h10l14-110 14 110h10v40h16v40h20v30h30v50z%22 fill=%22%232c1d2e%22/%3E%3Cpath d=%22M520 330v-26h24v-18h14l8-44 8 44h14v18h24v26z%22 fill=%22%233a2433%22/%3E%3Cpath d=%22M0 330h800%22 stroke=%22%23f6c49c%22 stroke-width=%222%22 opacity=%22.5%22/%3E%3Cpath d=%22M180 380h120M420 400h160M260 430h90%22 stroke=%22%23f3b089%22 stroke-width=%223%22 stroke-linecap=%22round%22 opacity=%22.45%22/%3E%3Cpath d=%22M620 410q40 12 90 0l-8 14h-74z%22 fill=%22%231b1424%22/%3E%3Cpath d=%22M650 410v-16h22v16%22 fill=%22%231b1424%22/%3E%3C/svg%3E")}
.ts-scene--karst{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 500%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23bfe3e0%22/%3E%3Cstop offset=%220.6%22 stop-color=%22%23e9f1e6%22/%3E%3Cstop offset=%221%22 stop-color=%22%23f6ecd8%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22w%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%232fa79a%22/%3E%3Cstop offset=%221%22 stop-color=%22%230b5d58%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22800%22 height=%22500%22 fill=%22url%28%23a%29%22/%3E%3Ccircle cx=%22640%22 cy=%22120%22 r=%2244%22 fill=%22%23fff6e0%22/%3E%3Cpath d=%22M-10 330c30-120 60-200 110-210 40-8 50 70 70 100 30-110 70-130 90-80 20 50 30 120 40 190z%22 fill=%22%234f7d6c%22/%3E%3Cpath d=%22M440 330c10-90 40-170 80-180 30-6 40 40 50 70 20-60 60-70 80-30 30 60 40 110 60 140z%22 fill=%22%233e6b5c%22/%3E%3Cpath d=%22M250 330c10-50 30-90 50-90s30 40 40 90z%22 fill=%22%236c9481%22/%3E%3Crect y=%22330%22 width=%22800%22 height=%22170%22 fill=%22url%28%23w%29%22/%3E%3Cpath d=%22M80 370h140M330 395h200M560 430h150%22 stroke=%22%239fe0d4%22 stroke-width=%223%22 stroke-linecap=%22round%22 opacity=%22.5%22/%3E%3Cpath d=%22M300 440q70 14 160 0l-14 18H316z%22 fill=%22%230f1b2d%22/%3E%3Cpath d=%22M440 440l26-34%22 stroke=%22%230f1b2d%22 stroke-width=%224%22/%3E%3C/svg%3E")}
.ts-scene--market{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 500%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23f6e4c4%22/%3E%3Cstop offset=%221%22 stop-color=%22%23eecb94%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22w%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%235f8f7a%22/%3E%3Cstop offset=%221%22 stop-color=%22%232c5b52%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22800%22 height=%22500%22 fill=%22url%28%23a%29%22/%3E%3Cpath d=%22M0 120h260v170H0z%22 fill=%22%23b5653f%22/%3E%3Cpath d=%22M-20 130 130 50l150 80z%22 fill=%22%237d3b2a%22/%3E%3Cpath d=%22M40 170h60v60H40zM160 170h60v60h-60z%22 fill=%22%23e8b27c%22/%3E%3Cpath d=%22M560 140h260v150H560z%22 fill=%22%23a95a3a%22/%3E%3Cpath d=%22M540 150l140-80 150 80z%22 fill=%22%236f3326%22/%3E%3Cpath d=%22M600 180h60v60h-60zM700 180h60v60h-60z%22 fill=%22%23e8b27c%22/%3E%3Cpath d=%22M0 290h800v210H0z%22 fill=%22url%28%23w%29%22/%3E%3Cpath d=%22M160 380q120 22 250 0l-18 22H180z%22 fill=%22%233a2433%22/%3E%3Cpath d=%22M230 380l20-30h40l20 30z%22 fill=%22%23e9a23b%22/%3E%3Cpath d=%22M450 440q120 22 240 0l-18 22H468z%22 fill=%22%233a2433%22/%3E%3Cpath d=%22M520 440l20-30h40l20 30z%22 fill=%22%23d4553a%22/%3E%3Ccircle cx=%22640%22 cy=%22425%22 r=%2214%22 fill=%22%23f2c14e%22/%3E%3Ccircle cx=%22300%22 cy=%22366%22 r=%2212%22 fill=%22%2386b35a%22/%3E%3Cpath d=%22M60 330h120M520 350h160%22 stroke=%22%23a7d3c2%22 stroke-width=%223%22 stroke-linecap=%22round%22 opacity=%22.5%22/%3E%3C/svg%3E")}
.ts-scene--night{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 500%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%230b1426%22/%3E%3Cstop offset=%221%22 stop-color=%22%2324365a%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22w%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%231a2a48%22/%3E%3Cstop offset=%221%22 stop-color=%22%23070e19%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22800%22 height=%22500%22 fill=%22url%28%23a%29%22/%3E%3Ccircle cx=%22130%22 cy=%2290%22 r=%2226%22 fill=%22%23f4e6c4%22/%3E%3Cg fill=%22%230f1b30%22%3E%3Crect x=%2240%22 y=%22200%22 width=%2260%22 height=%22120%22/%3E%3Crect x=%22110%22 y=%22150%22 width=%2250%22 height=%22170%22/%3E%3Crect x=%22170%22 y=%22230%22 width=%2270%22 height=%2290%22/%3E%3Crect x=%22460%22 y=%22120%22 width=%2256%22 height=%22200%22/%3E%3Crect x=%22525%22 y=%22180%22 width=%2280%22 height=%22140%22/%3E%3Crect x=%22620%22 y=%2290%22 width=%2244%22 height=%22230%22/%3E%3Crect x=%22680%22 y=%22210%22 width=%2290%22 height=%22110%22/%3E%3Cpath d=%22M300 320v-70l40-40 40 40v70z%22/%3E%3C/g%3E%3Cg fill=%22%23d9b865%22 opacity=%22.85%22%3E%3Crect x=%22122%22 y=%22170%22 width=%226%22 height=%226%22/%3E%3Crect x=%22140%22 y=%22200%22 width=%226%22 height=%226%22/%3E%3Crect x=%22474%22 y=%22150%22 width=%226%22 height=%226%22/%3E%3Crect x=%22494%22 y=%22190%22 width=%226%22 height=%226%22/%3E%3Crect x=%22632%22 y=%22120%22 width=%226%22 height=%226%22/%3E%3Crect x=%22644%22 y=%22170%22 width=%226%22 height=%226%22/%3E%3Crect x=%22540%22 y=%22210%22 width=%226%22 height=%226%22/%3E%3Crect x=%22700%22 y=%22240%22 width=%226%22 height=%226%22/%3E%3C/g%3E%3Crect y=%22320%22 width=%22800%22 height=%22180%22 fill=%22url%28%23w%29%22/%3E%3Cpath d=%22M230 400h340l-30 40H260z%22 fill=%22%23e8ecf2%22/%3E%3Cpath d=%22M270 400v-30h260v30%22 fill=%22%23c9d3e2%22/%3E%3Cpath d=%22M290 380h220%22 stroke=%22%23f0b764%22 stroke-width=%225%22 stroke-dasharray=%228 10%22/%3E%3Cpath d=%22M140 470h120M480 460h220%22 stroke=%22%23d9b865%22 stroke-width=%223%22 stroke-linecap=%22round%22 opacity=%22.4%22/%3E%3C/svg%3E")}
.ts-scene--jungle{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 500%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23dfeee2%22/%3E%3Cstop offset=%221%22 stop-color=%22%23f4ead4%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22800%22 height=%22500%22 fill=%22url%28%23a%29%22/%3E%3Ccircle cx=%22600%22 cy=%22140%22 r=%2256%22 fill=%22%23f7d79c%22/%3E%3Cpath d=%22M0 300c120-80 240-90 360-40s260 30 440-50v290H0z%22 fill=%22%238fb39a%22/%3E%3Cpath d=%22M0 380c160-60 300-50 420-10s240 20 380-30v160H0z%22 fill=%22%234c7a62%22/%3E%3Cpath d=%22M0 450c200-40 400-30 800-10v60H0z%22 fill=%22%232b5546%22/%3E%3Cg stroke=%22%231f3f35%22 stroke-width=%226%22 fill=%22none%22%3E%3Cpath d=%22M140 450c0-60 6-110 16-150%22/%3E%3Cpath d=%22M660 440c0-50-4-90-14-130%22/%3E%3C/g%3E%3Cg fill=%22%231f3f35%22%3E%3Cpath d=%22M156 300c-40-10-70 0-90 20 30-6 60-6 90-20zM156 300c30-26 70-30 100-16-36 0-66 6-100 16zM156 300c-10-36 4-60 30-74-14 24-22 48-30 74zM156 300c-36 10-56 34-60 60 18-26 36-44 60-60z%22/%3E%3Cpath d=%22M646 310c-40-10-70 0-90 20 30-6 60-6 90-20zM646 310c30-26 70-30 100-16-36 0-66 6-100 16zM646 310c-10-36 4-60 30-74-14 24-22 48-30 74z%22/%3E%3C/g%3E%3C/svg%3E")}
.ts-scene--mountain{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 500%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23f6dcc0%22/%3E%3Cstop offset=%221%22 stop-color=%22%23f1e9dc%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22800%22 height=%22500%22 fill=%22url%28%23a%29%22/%3E%3Ccircle cx=%22230%22 cy=%22170%22 r=%2250%22 fill=%22%23f3b48a%22/%3E%3Cpath d=%22M0 290 120 200l90 50 130-110 120 90 90-60 120 80 130-70v320H0z%22 fill=%22%23b8a6a4%22/%3E%3Cpath d=%22M0 350 150 270l110 50 140-90 130 80 110-50 160 70v170H0z%22 fill=%22%237d6f7d%22/%3E%3Cpath d=%22M0 420 180 360l160 40 160-60 300 50v110H0z%22 fill=%22%233f3a4f%22/%3E%3Cpath d=%22M560 350v-30h14v-20h8l6-40 6 40h8v20h14v30z%22 fill=%22%232a2638%22/%3E%3C/svg%3E")}
.ts-scene--beach{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 500%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23cbe7ea%22/%3E%3Cstop offset=%221%22 stop-color=%22%23f4ecdc%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22w%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%2347b3aa%22/%3E%3Cstop offset=%221%22 stop-color=%22%231b7e78%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22800%22 height=%22500%22 fill=%22url%28%23a%29%22/%3E%3Ccircle cx=%22160%22 cy=%22120%22 r=%2240%22 fill=%22%23fff4d6%22/%3E%3Crect y=%22290%22 width=%22800%22 height=%22110%22 fill=%22url%28%23w%29%22/%3E%3Cpath d=%22M0 400c200-30 500-40 800-20v120H0z%22 fill=%22%23efdcb8%22/%3E%3Cpath d=%22M0 395c200-26 500-34 800-16%22 stroke=%22%23fff%22 stroke-width=%225%22 opacity=%22.7%22 fill=%22none%22/%3E%3Cpath d=%22M600 470c-6-90 0-160 30-230%22 stroke=%22%233d4a3c%22 stroke-width=%229%22 fill=%22none%22/%3E%3Cg fill=%22%233c6b55%22%3E%3Cpath d=%22M630 240c-50-10-90 4-110 30 40-10 76-10 110-30zM630 240c40-30 90-34 120-14-46 0-84 6-120 14zM630 240c-10-44 8-74 40-90-18 30-28 58-40 90zM630 240c-44 12-70 42-74 74 22-32 44-54 74-74z%22/%3E%3C/g%3E%3C/svg%3E")}
.ts-vehicle-art--sedan{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 140%22%3E%3Cellipse cx=%22160%22 cy=%22128%22 rx=%22140%22 ry=%226%22 fill=%22%230f1b2d%22 opacity=%22.12%22/%3E%3Cpath d=%22M24 104c0-16 6-26 22-30l46-8 36-26c8-5 16-8 26-8h56c12 0 22 4 30 12l26 24 30 6c14 3 22 12 22 26v6c0 4-3 6-6 6H30c-4 0-6-3-6-8z%22 fill=%22%23e9edf2%22/%3E%3Cpath d=%22M118 66l30-22c6-4 12-6 20-6h18v28zM196 38h34c8 0 14 3 20 8l20 20h-74z%22 fill=%22%232c3e5a%22/%3E%3Cpath d=%22M28 92h270%22 stroke=%22%23c9cfd8%22 stroke-width=%222%22/%3E%3Ccircle cx=%2278%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%2278%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3Ccircle cx=%22244%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%22244%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3C/svg%3E")}
.ts-vehicle-art--suv{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 140%22%3E%3Cellipse cx=%22160%22 cy=%22128%22 rx=%22140%22 ry=%226%22 fill=%22%230f1b2d%22 opacity=%22.12%22/%3E%3Cpath d=%22M22 106V78c0-8 6-14 14-16l52-6 30-28c6-5 13-8 22-8h96c10 0 18 4 24 10l28 30 10 2c10 2 16 10 16 20v24c0 4-3 6-6 6H28c-4 0-6-2-6-6z%22 fill=%22%23e9edf2%22/%3E%3Cpath d=%22M106 56l26-24c4-4 9-6 14-6h30v30zM186 26h40v30h-40zM236 26h20c6 0 10 2 14 6l22 24h-56z%22 fill=%22%232c3e5a%22/%3E%3Cpath d=%22M24 90h276%22 stroke=%22%23c9cfd8%22 stroke-width=%222%22/%3E%3Ccircle cx=%2278%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%2278%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3Ccircle cx=%22246%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%22246%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3C/svg%3E")}
.ts-vehicle-art--van{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 140%22%3E%3Cellipse cx=%22160%22 cy=%22128%22 rx=%22144%22 ry=%226%22 fill=%22%230f1b2d%22 opacity=%22.12%22/%3E%3Cpath d=%22M18 108V40c0-12 8-20 20-20h196c10 0 18 4 24 12l36 44c6 8 10 16 10 26v8c0 4-3 6-6 6H24c-4 0-6-2-6-8z%22 fill=%22%23e9edf2%22/%3E%3Cpath d=%22M34 32h46v34H34zM90 32h46v34H90zM146 32h46v34h-46zM202 32h34c6 0 10 2 14 6l26 28h-74z%22 fill=%22%232c3e5a%22/%3E%3Cpath d=%22M20 84h282%22 stroke=%22%23c9cfd8%22 stroke-width=%222%22/%3E%3Ccircle cx=%2272%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%2272%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3Ccircle cx=%22250%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%22250%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3C/svg%3E")}
.ts-vehicle-art--coach{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 140%22%3E%3Cellipse cx=%22160%22 cy=%22128%22 rx=%22150%22 ry=%226%22 fill=%22%230f1b2d%22 opacity=%22.12%22/%3E%3Cpath d=%22M10 108V30c0-10 6-16 16-16h250c12 0 20 6 24 16l12 50v28c0 4-3 6-6 6H16c-4 0-6-2-6-6z%22 fill=%22%23e9edf2%22/%3E%3Cpath d=%22M22 28h260c6 0 10 4 12 8l10 40H22z%22 fill=%22%232c3e5a%22/%3E%3Cpath d=%22M22 52h270M70 28v48M120 28v48M170 28v48M220 28v48%22 stroke=%22%23e9edf2%22 stroke-width=%223%22/%3E%3Cpath d=%22M12 92h298%22 stroke=%22%230b6e66%22 stroke-width=%225%22/%3E%3Ccircle cx=%2264%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%2264%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3Ccircle cx=%22258%22 cy=%22110%22 r=%2220%22 fill=%22%230f1b2d%22/%3E%3Ccircle cx=%22258%22 cy=%22110%22 r=%229%22 fill=%22%23c9cfd8%22/%3E%3C/svg%3E")}

