/* ═══════════════════════════════════════════════════════════════════════════
   Recherche d'offres du talent (`/talent/search`) — ticket #4238.

   La feuille de la maquette du 13/09, `app/views/mockups/talent/explorer.html.erb`
   (typographie normalisée le 05/10 : Geist, tailles sous 14 px remontées,
   « maison » en Playfair Display ; la source Drive du 01/10,
   1vhW9W8pAKapin6_CQlhYKJHBgNfn634k, est le même écran). Ses blocs <style> sont
   repris DANS LEUR ORDRE, mécaniquement :

     · chaque sélecteur est préfixé par la racine `:where(.tsp)` (la page porte
       `.tsp.ts-page.te-page`) : toutes les feuilles de `app/assets/stylesheets`
       sont servies à toutes les pages (`stylesheet_link_tag :app`) et la
       recherche recruteur emploie aussi le préfixe `ts-`. `:where()` ne pèse
       rien : chaque règle garde la spécificité qu'elle avait dans la maquette,
       donc la même cascade face aux feuilles globales (`.te-page button`
       de talent_explorer.css, notamment) ;
     · les `@keyframes` sont préfixés `tsp-` pour la même raison ;
     · retirés : les commentaires et les règles de l'aperçu rapide (`.te-ov-*`),
       qui garde sa feuille `talent_explorer.css` et son contrôleur ;
     · les dorés écrits en dur sont repliés sur le jeton le plus proche de
       `design_tokens.css` (garde-fou `test/assets/design_system_test.rb`, même
       décision que le profil talent). Seule entorse au littéral, assumée.

   La vue charge cette feuille APRÈS les autres, comme le <style> de la
   maquette venait après elles. Les règles propres à l'application sont en fin
   de feuille, sous « Écarts applicatifs ».
   ═══════════════════════════════════════════════════════════════════════════ */
:where(.tsp).ts-page {
  --ts-gold: var(--gold-500);
  --ts-gold-light: var(--gold-primary);
  --ts-gold-deep: var(--gold-700);
  --ts-gold-luminous: linear-gradient(99deg, var(--gold-edge) 0%, var(--gold-200) 25%, var(--gold-on-ink) 50%, var(--gold-200) 75%, var(--gold-100) 100%);
  --ts-cream: #FBF7EE;
  --ts-cream-border: var(--gold-200);
  --ts-ink: #1E1C18;
  --ts-ink-soft: #4A4640;
  --ts-ink-mute: #8A857A;
  --ts-line: #E8E2D6;
  --ts-bg: #FFFFFF;
  --ts-success: #1B7A4E;
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--ts-bg);
  min-height: 100vh;
  color: var(--ts-ink);
}
:where(.tsp) .ts-hero {
  max-width: 1280px;
  margin: 0 auto;
  padding: 26px 40px 10px;
  text-align: center;
}
:where(.tsp) .ts-hero h1 {
  font-size: 34px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0 0 8px;
}
:where(.tsp) .ts-hero h1 em {
  font-style: italic;
  font-weight: 600;
  display: inline-block;
  padding-right: .14em;
  margin-right: -.14em;
  background: linear-gradient(100deg, var(--gold-primary), var(--gold-200), var(--gold-500));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
:where(.tsp) .ts-hero p {
  font-size: 13.75px;
  color: var(--ts-ink-mute);
  margin: 0 0 14px;
}
:where(.tsp) .ts-hero p strong { color: var(--ts-gold-deep); font-weight: 600; }
:where(.tsp) .ts-hero-search {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 620px;
  margin: 0 auto 14px;
  padding: 6px 6px 6px 16px;
  background: #fff;
  border: 1px solid var(--ts-line);
  border-radius: 999px;
  box-shadow: 0 2px 14px rgba(44,44,44,0.06);
  transition: border-color 0.15s, box-shadow 0.15s;
}
:where(.tsp) .ts-hero-search:focus-within {
  border-color: var(--ts-cream-border);
  box-shadow: 0 4px 18px rgba(163,133,67,0.14);
}
:where(.tsp) .ts-hero-search > svg { width: 17px; height: 17px; color: var(--ts-ink-mute); flex-shrink: 0; }
:where(.tsp) .ts-hero-search input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-family: inherit;
  font-size: 13.75px;
  color: var(--ts-ink);
  padding: 9px 0;
}
:where(.tsp) .ts-hero-search input::placeholder { color: var(--ts-ink-mute); }
:where(.tsp) .ts-hero-search button {
  flex-shrink: 0;
  height: 36px;
  padding: 0 20px;
  border: none;
  border-radius: 999px;
  background: var(--ts-gold-luminous);
  color: #fff; text-shadow: 0 1px 2px rgba(60,44,10,.45);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(163,133,67,0.28);
  transition: filter 0.15s;
}
:where(.tsp) .ts-hero-search button:hover { filter: brightness(1.04); }
:where(.tsp) .ts-filter-bar {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 7px;
  background: #fff;
  border: 1px solid var(--ts-line);
  border-radius: 20px;
  box-shadow: 0 3px 18px rgba(44,44,44,0.05);
  max-width: 1180px;
  margin: 0 auto;
}
:where(.tsp) .ts-cell-wrap { flex: 1; position: relative; min-width: 0; }
:where(.tsp) .ts-cell {
  width: 100%;
  padding: 8px 26px 8px 13px;
  border-radius: 14px;
  cursor: pointer;
  transition: background 0.15s;
  background: transparent;
  border: none;
  text-align: left;
  font-family: inherit;
  min-width: 0;
}
:where(.tsp) .ts-cell:hover,
:where(.tsp) .ts-cell.active { background: var(--ts-cream); }
:where(.tsp) .ts-cell-label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--ts-ink-mute);
  font-size: 12.25px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  white-space: nowrap;
}
:where(.tsp) .ts-cell-label svg { width: 11px; height: 11px; opacity: 0.75; }
:where(.tsp) .ts-cell-value {
  display: block;
  color: var(--ts-ink);
  font-weight: 600;
  font-size: 13.75px;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
:where(.tsp) .ts-chevron {
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ts-ink-mute);
  opacity: 0.55;
  pointer-events: none;
}
:where(.tsp) .ts-divider { width: 1px; height: 26px; background: var(--ts-line); flex-shrink: 0; }
:where(.tsp) .ts-reset {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ts-ink-mute);
  flex-shrink: 0;
  transition: all 0.15s;
}
:where(.tsp) .ts-reset:hover { background: #F4F2EE; color: var(--ts-gold-deep); }
:where(.tsp) .ts-search-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--ts-gold-luminous);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff; text-shadow: 0 1px 2px rgba(60,44,10,.45);
  box-shadow: 0 3px 10px rgba(163,133,67,0.30);
  flex-shrink: 0;
  transition: filter 0.15s;
}
:where(.tsp) .ts-search-btn:hover { filter: brightness(1.04); }
:where(.tsp) .ts-chevron { transition: transform 0.18s ease; }
:where(.tsp) .ts-cell.active { background: var(--ts-cream); }
:where(.tsp) .ts-cell.active .ts-chevron { transform: translateY(-50%) rotate(180deg); opacity: 0.9; }
:where(.tsp) .ts-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid var(--ts-line);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(44,44,44,0.14);
  padding: 6px;
  z-index: 40;
  animation: tsp-tsMenuIn 0.14s ease;
}
@keyframes tsp-tsMenuIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
:where(.tsp) .ts-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 11px;
  border-radius: 9px;
  border: none;
  background: transparent;
  text-align: left;
  font-family: inherit;
  font-size: 13.75px;
  color: var(--ts-ink);
  cursor: pointer;
  white-space: nowrap;
}
:where(.tsp) .ts-menu-item:hover { background: var(--ts-cream); }
:where(.tsp) .ts-menu-item[aria-selected="true"] { color: var(--ts-gold-deep); font-weight: 600; }
:where(.tsp) .ts-menu-item .ts-check { margin-left: auto; opacity: 0; color: var(--ts-gold-deep); flex-shrink: 0; }
:where(.tsp) .ts-menu-item[aria-selected="true"] .ts-check { opacity: 1; }
:where(.tsp) .ts-menu-search {
  width: 100%;
  box-sizing: border-box;
  margin: 2px 0 6px;
  padding: 8px 11px;
  border: 1px solid var(--ts-line);
  border-radius: 9px;
  font-family: inherit;
  font-size: 13.75px;
  color: var(--ts-ink);
  background: #FCFBF9;
  outline: none;
}
:where(.tsp) .ts-menu-search:focus { border-color: var(--ts-gold-deep); background: #fff; }
:where(.tsp) .ts-menu-empty { padding: 9px 11px; font-size: 13.5px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-advanced-link { text-align: center; margin-top: 12px; }
:where(.tsp) .ts-advanced-link button {
  background: transparent;
  border: none;
  color: var(--ts-ink-mute);
  font-family: inherit;
  font-size: 13.5px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
:where(.tsp) .ts-advanced-link button:hover { color: var(--ts-gold-deep); }
:where(.tsp) .ts-advanced-link svg { width: 13px; height: 13px; }
:where(.tsp) .ts-adv-panel { max-width: 940px; margin: 14px auto 0; background: #fff; border: 1px solid var(--ts-line); border-radius: 18px; padding: 20px 24px; box-shadow: 0 4px 18px rgba(44,44,44,0.05); animation: tsp-tsAdvIn 0.16s ease; }
@keyframes tsp-tsAdvIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
:where(.tsp) .ts-adv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
:where(.tsp) .ts-adv-f { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ts-ink-mute); }
:where(.tsp) .ts-adv-f select { font-family: inherit; font-size: 13.75px; font-weight: 500; color: var(--ts-ink); text-transform: none; letter-spacing: normal; padding: 9px 12px; border: 1px solid var(--ts-line); border-radius: 10px; background: #fff; cursor: pointer; }
:where(.tsp) .ts-adv-f select:focus { outline: none; border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-adv-chipgroup { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
:where(.tsp) .ts-adv-lbl { font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ts-ink-mute); margin-right: 4px; }
:where(.tsp) .ts-adv-chip { font-family: inherit; font-size: 13.5px; font-weight: 600; color: var(--ts-ink); background: #fff; border: 1px solid var(--ts-line); border-radius: 999px; padding: 6px 14px; cursor: pointer; transition: all 0.14s; }
:where(.tsp) .ts-adv-chip:hover { border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-adv-chip.is-on { background: var(--ts-cream); border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-advanced-link button[aria-expanded="true"] svg { color: var(--ts-gold-deep); }
:where(.tsp) .ts-auguste-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
  display: block;
  object-fit: cover;
  border: 2.5px solid transparent;
  background: linear-gradient(#fff,#fff) padding-box,
    linear-gradient(140deg,#F7ECC4,var(--gold-primary) 45%,var(--gold-600) 70%,var(--gold-200)) border-box;
  box-shadow: 0 2px 12px rgba(184,145,42,0.35);
}
:where(.tsp) .ts-mode-panel { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
:where(.tsp).ts-page [hidden] { display: none !important; }
:where(.tsp) .ts-hero { padding-bottom: 6px; }
:where(.tsp) .ts-ubar-wrap { position: relative; max-width: 860px; margin: 0 auto; }
:where(.tsp) .ts-composer { background: #fff; border: 1px solid var(--ts-line); border-radius: 26px; box-shadow: 0 2px 14px rgba(44,44,44,0.06); padding: 8px; text-align: left; transition: border-color .15s, box-shadow .15s; }
:where(.tsp) .ts-composer:focus-within { border-color: var(--ts-cream-border); box-shadow: 0 4px 18px rgba(163,133,67,0.14); }
:where(.tsp) .ts-composer-row { display: flex; align-items: center; gap: 8px; padding: 2px 2px 2px 12px; }
:where(.tsp) .ts-composer-ic { width: 17px; height: 17px; color: var(--ts-ink-mute); flex-shrink: 0; }
:where(.tsp) .ts-composer-row input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: inherit; font-size: 14px; color: var(--ts-ink); padding: 10px 0; }
:where(.tsp) .ts-composer-row input::placeholder { color: var(--ts-ink-mute); }
:where(.tsp) .ts-composer-row button[type="submit"] {
  flex-shrink: 0; height: 38px; padding: 0 20px; border: none; border-radius: 999px;
  background: var(--ts-gold-luminous); color: #fff; text-shadow: 0 1px 2px rgba(60,44,10,.45);
  font-family: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; box-shadow: 0 2px 8px rgba(163,133,67,0.28); transition: filter .15s;
}
:where(.tsp) .ts-composer-row button[type="submit"]:hover { filter: brightness(1.04); }
:where(.tsp) .ts-composer-hint { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 2px 12px 8px; font-size: 13.25px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-composer-hint b { color: var(--ts-gold-deep); font-weight: 600; }
:where(.tsp) .ts-hint-ex { font-family: inherit; font-size: 13.25px; font-weight: 600; color: var(--ts-gold-deep); background: var(--ts-cream); border: 1px dashed var(--ts-cream-border); border-radius: 999px; padding: 3px 11px; cursor: pointer; transition: all .15s; }
:where(.tsp) .ts-hint-ex:hover { border-style: solid; border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-chat { padding: 4px 4px 10px; border-bottom: 1px solid var(--ts-line); margin-bottom: 4px; }
:where(.tsp) .ts-chat-me { display: flex; justify-content: flex-end; margin: 4px 6px 8px; }
:where(.tsp) .ts-chat-me span { background: #1E1C18; color: #fff; border-radius: 16px 16px 4px 16px; padding: 6px 12px; font-size: 13.5px; font-weight: 600; animation: tsp-tsPillIn .26s ease both; }
:where(.tsp) .ts-chat-msg { position: relative; display: flex; align-items: flex-start; gap: 10px; padding: 10px 40px 10px 8px; border-radius: 18px 18px 18px 6px; background: linear-gradient(135deg, #FDF7EA 0%, #F8F1DF 100%); }
:where(.tsp) .ts-composer .ts-live { justify-content: flex-start; margin: 0; padding: 6px 12px 8px; max-width: none; }
:where(.tsp) .ts-aug-calwrap { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 100%; }
:where(.tsp) .ts-cal .ts-qpill { animation: none; }
:where(.tsp) .ts-ubar { max-width: none; padding-left: 7px; gap: 10px; margin-bottom: 0; }
:where(.tsp) .ts-ubar > svg { display: none; }
:where(.tsp) .ts-ubar-av-unused {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0; object-fit: cover;
  border: 2px solid transparent;
  background: linear-gradient(#fff,#fff) padding-box, linear-gradient(140deg,#F7ECC4,var(--gold-primary) 45%,var(--gold-600) 70%,var(--gold-200)) border-box;
  box-shadow: 0 1px 6px rgba(184,145,42,0.25);
  transition: box-shadow .25s, transform .25s;
}
:where(.tsp) .ts-ubar-av.listening { box-shadow: 0 0 0 4px rgba(196,165,89,0.22), 0 1px 6px rgba(184,145,42,0.35); }
:where(.tsp) .ts-ubar-av.awake { animation: tsp-tsAwake 1.6s ease; }
@keyframes tsp-tsAwake { 0%,100% { transform: none; } 30% { transform: scale(1.12); box-shadow: 0 0 0 6px rgba(196,165,89,0.28); } }
:where(.tsp) .ts-composer-row button.ts-mic {
  width: 36px; height: 36px; padding: 0; border-radius: 50%;
  background: #F4F2EE; color: var(--ts-ink-mute); box-shadow: none; text-shadow: none;
  display: flex; align-items: center; justify-content: center; transition: all .15s;
}
:where(.tsp) .ts-composer-row button.ts-mic svg { width: 16px; height: 16px; }
:where(.tsp) .ts-composer-row button.ts-mic:hover { background: var(--ts-cream); color: var(--ts-gold-deep); }
:where(.tsp) .ts-composer-row button.ts-mic.rec { background: #FDECEC; color: #C0392B; animation: tsp-tsRec 1s ease infinite; }
@keyframes tsp-tsRec { 50% { box-shadow: 0 0 0 5px rgba(192,57,43,0.18); } }
:where(.tsp) .ts-focus {
  position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 45; text-align: left;
  background: #fff; border: 1px solid var(--ts-line); border-radius: 18px; padding: 14px 16px 12px;
  box-shadow: 0 16px 40px rgba(44,44,44,0.14); animation: tsp-tsMenuIn .14s ease;
}
:where(.tsp) .ts-focus-cur { display: none !important; }
:where(.tsp) .ts-aug-recap-i.is-edit { cursor: pointer; }
:where(.tsp) .ts-aug-recap-i.is-edit svg { width: 10px; height: 10px; margin-left: 4px; opacity: .55; flex-shrink: 0; }
:where(.tsp) .ts-aug-recap-i.is-edit:hover { border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-aug-recap-i.is-edit:hover svg { opacity: 1; }
:where(.tsp) #ts-focus .ts-focus-row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
:where(.tsp) #ts-focus .ts-focus-row::-webkit-scrollbar { display: none; }
:where(.tsp) #ts-focus .ts-focus-row > * { flex: 0 0 auto; scroll-snap-align: start; }
:where(.tsp) .ts-focus-lblrow { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; }
:where(.tsp) .ts-focus-lblrow .ts-focus-lbl { margin: 0; }
:where(.tsp) .ts-focus-arr { display: none; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--ts-line); background: #fff; color: var(--ts-ink-soft); cursor: pointer; align-items: center; justify-content: center; padding: 0; }
:where(.tsp) .ts-focus-arr svg { width: 12px; height: 12px; }
:where(.tsp) .ts-focus-arr:hover { border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-focus-arr:disabled { opacity: .3; cursor: default; }
:where(.tsp) .ts-focus-lblrow.has-more .ts-focus-arr { display: inline-flex; }
:where(.tsp) .ts-focus-lblrow.has-more + .ts-focus-row { -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); mask-image: linear-gradient(90deg, #000 90%, transparent); }
:where(.tsp) .ts-crit .mob { color: #1B7A4E; font-weight: 700; }
:where(.tsp) .ts-qpill-stack { display: inline-flex; align-items: center; gap: 8px; padding-left: 6px; }
:where(.tsp) .ts-avstack { display: inline-flex; align-items: center; }
:where(.tsp) .ts-avstack img,
:where(.tsp) .ts-avstack i { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(163,133,67,.35); margin-left: -8px; background: #F4F2EE; }
:where(.tsp) .ts-avstack img:first-child,
:where(.tsp) .ts-avstack i:first-child { margin-left: 0; }
:where(.tsp) .ts-avstack i { display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--ts-gold-deep); background: var(--ts-cream); }
:where(.tsp) .ts-focus .ts-focus-foot { display: none !important; }
:where(.tsp) .ts-focus { padding: 10px 14px 4px; }
:where(.tsp) .ts-focus-row { margin-bottom: 8px; }
:where(.tsp) .ts-focus-newlink { margin-left: auto; align-self: center; font-family: inherit; font-size: 13px; color: var(--ts-ink-mute); background: none; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
:where(.tsp) .ts-focus-newlink:hover { color: var(--ts-gold-deep); }
:where(.tsp) .ts-focus-currow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
:where(.tsp) .ts-focus-curtxt { flex: 1 1 200px; font-size: 13.75px; color: var(--ts-ink); }
:where(.tsp) .ts-focus-curtxt b { color: var(--ts-gold-deep); }
:where(.tsp) .ts-focus-lbl { font-size: 12.25px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ts-ink-mute); margin: 0 0 7px; }
:where(.tsp) .ts-focus-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
:where(.tsp) .ts-offer {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
  background: #fff; border: 1px solid var(--ts-line); font-family: inherit; font-size: 13.25px; font-weight: 600;
  color: var(--ts-ink); cursor: pointer; transition: all .15s;
}
:where(.tsp) .ts-offer svg { width: 12px; height: 12px; color: var(--ts-gold); }
:where(.tsp) .ts-offer span { font-weight: 500; color: var(--ts-ink-mute); }
:where(.tsp) .ts-offer.is-recent { font-weight: 500; color: var(--ts-ink-soft); }
:where(.tsp) .ts-offer.is-recent svg { color: var(--ts-ink-mute); }
:where(.tsp) .ts-offer:hover { border-color: var(--ts-gold-deep); background: var(--ts-cream); }
:where(.tsp) .ts-focus-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; border-top: 1px solid var(--ts-line); font-size: 13.5px; color: var(--ts-ink-soft); }
:where(.tsp) .ts-focus-foot b { color: var(--ts-gold-deep); font-weight: 600; }
:where(.tsp) .ts-guide-cta {
  display: inline-flex; align-items: center; gap: 8px; padding: 5px 14px 5px 5px; border-radius: 999px; flex-shrink: 0;
  background: linear-gradient(135deg, #FDF7EA 0%, #F8F1DF 100%); border: 1px solid rgba(163,133,67,0.4);
  font-family: inherit; font-size: 13.5px; font-weight: 700; color: var(--ts-gold-deep); cursor: pointer; transition: all .15s;
}
:where(.tsp) .ts-guide-cta-av { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; border: 1.5px solid #fff; box-shadow: 0 1px 4px rgba(184,145,42,0.35); }
:where(.tsp) .ts-guide-cta:hover { box-shadow: 0 3px 12px rgba(163,133,67,0.22); border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-live { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; max-width: 900px; margin: 10px auto 0; font-size: 13.5px; }
:where(.tsp) .ts-live-lbl { font-size: 12.25px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ts-ink-mute); margin-right: 4px; }
:where(.tsp) .ts-live-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; }
:where(.tsp) .ts-lchip {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; cursor: pointer;
  background: var(--ts-cream); border: 1px solid var(--ts-cream-border); color: var(--ts-gold-deep); font-family: inherit; font-size: 13.25px; font-weight: 600;
  animation: tsp-tsMenuIn .14s ease;
}
:where(.tsp) .ts-lchip small { font-weight: 500; color: var(--ts-ink-mute); font-size: 12.75px; text-transform: uppercase; letter-spacing: .06em; }
:where(.tsp) .ts-lchip span { color: var(--ts-ink-mute); margin-left: 2px; }
:where(.tsp) .ts-lchip:hover { border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-lchip:hover span { color: #C0392B; }
:where(.tsp) .ts-lchip.is-kept { background: #F4F2EE; border-color: var(--ts-line); color: var(--ts-ink-mute); cursor: default; text-decoration: line-through; }
:where(.tsp) .ts-lchip.is-kept i { text-decoration: none; font-style: normal; font-weight: 500; }
:where(.tsp) .ts-live-count { color: var(--ts-ink-soft); margin-left: 4px; }
:where(.tsp) .ts-live-count b { color: var(--ts-gold-deep); }
:where(.tsp) .ts-live-count kbd { display: inline-block; border: 1px solid var(--ts-line); border-radius: 4px; padding: 0 5px; font-size: 12.75px; color: var(--ts-ink-mute); background: #F4F2EE; font-family: inherit; }
:where(.tsp) .ts-filter-bar { margin-top: 12px; }
:where(.tsp) .ts-cell-value.is-empty { color: var(--ts-ink-mute); font-weight: 500; }
:where(.tsp) .ts-cell-value.is-prev { color: var(--gold-edge); font-style: italic; }
:where(.tsp) .ts-cell.is-set .ts-cell-label { color: var(--ts-gold-deep); }
:where(.tsp) .ts-cell.is-set { background: #FDFAF3; }
:where(.tsp) .ts-lock { display: none; width: 10px !important; height: 10px !important; margin-left: 2px; opacity: 1 !important; }
:where(.tsp) .ts-cell.is-locked .ts-lock { display: inline-block; }
:where(.tsp) .ts-menu { min-width: 240px; }
:where(.tsp) .ts-menu-hint { font-size: 13px; color: var(--ts-ink-mute); padding: 6px 11px 8px; border-bottom: 1px solid var(--ts-line); margin-bottom: 4px; line-height: 1.4; }
:where(.tsp) .ts-menu-count { margin-left: auto; font-size: 13px; color: var(--ts-ink-mute); font-variant-numeric: tabular-nums; }
:where(.tsp) .ts-menu-item .ts-check { margin-left: 8px; }
:where(.tsp) .ts-menu-item.is-zero { opacity: .45; }
:where(.tsp) .ts-adv-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; font-size: 13px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-adv-foot button { font-family: inherit; font-size: 13.25px; font-weight: 600; color: var(--ts-gold-deep); background: transparent; border: 1px solid var(--ts-line); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
:where(.tsp) .ts-adv-foot button:hover { border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-augbox {
  position: relative; display: flex; align-items: flex-start; gap: 12px; max-width: 1180px; margin: 12px auto 0;
  padding: 12px 44px 12px 14px; border-radius: 16px;
  background: linear-gradient(135deg, #FDF7EA 0%, #F8F1DF 100%); border: 1px dashed rgba(163,133,67,0.45);
  animation: tsp-tsAdvIn .16s ease;
}
:where(.tsp) .ts-augbox-av {
  width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
  border: 2px solid transparent;
  background: linear-gradient(#fff,#fff) padding-box, linear-gradient(140deg,#F7ECC4,var(--gold-primary) 45%,var(--gold-600) 70%,var(--gold-200)) border-box;
  box-shadow: 0 1px 5px rgba(184,145,42,0.3);
}
:where(.tsp) .ts-augbox-body { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
:where(.tsp) .ts-augbox-body .ts-aug-recap { order: 9; margin-top: 2px; padding-top: 7px; border-top: 1px dashed rgba(163,133,67,0.35); }
:where(.tsp) .ts-chat { border-bottom: 1px solid var(--ts-line); padding: 4px 4px 8px; display: flex; flex-direction: column; gap: 8px; }
:where(.tsp) .ts-chat-me { margin: 0 6px; }
:where(.tsp) .ts-chat-msg.is-greet { background: #FBF7EE; }
:where(.tsp) .ts-chat-msg.is-greet .ts-augbox-line .mute { color: var(--ts-ink-mute); font-size: 13.5px; }
:where(.tsp) .ts-chat-msg.is-greet .ts-augbox-pills .ts-qpill { font-size: 13.25px; padding: 5px 11px; }
:where(.tsp) .ts-composer-row input::placeholder { color: var(--ts-ink-mute); }
:where(.tsp) .ts-augbox-line { font-size: 13.75px; line-height: 1.45; color: var(--ts-ink); display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
:where(.tsp) .ts-augbox-line .mute { color: var(--ts-ink-mute); font-size: 13.25px; }
:where(.tsp) .ts-augbox-step { font-size: 12.25px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ts-gold-deep); background: #fff; border: 1px solid var(--ts-cream-border); border-radius: 6px; padding: 2px 7px; white-space: nowrap; }
:where(.tsp) .ts-augbox-pills { display: flex; flex-wrap: wrap; gap: 6px; }
:where(.tsp) .ts-augbox-x { position: absolute; right: 10px; top: 10px; width: 26px; height: 26px; border-radius: 50%; border: none; background: transparent; color: var(--ts-ink-mute); cursor: pointer; display: flex; align-items: center; justify-content: center; }
:where(.tsp) .ts-augbox-x svg { width: 14px; height: 14px; }
:where(.tsp) .ts-augbox-x:hover { background: #fff; color: var(--ts-ink); }
:where(.tsp) .ts-qpill {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
  background: #fff; border: 1px solid var(--ts-line); font-family: inherit; font-size: 13.5px; font-weight: 600;
  color: var(--ts-ink); cursor: pointer; transition: all .15s;
}
:where(.tsp) .ts-qpill b { font-weight: 700; font-size: 13px; color: var(--ts-gold-deep); background: var(--ts-cream); border: 1px solid var(--ts-cream-border); border-radius: 999px; padding: 1px 7px; }
:where(.tsp) .ts-qpill:hover { border-color: var(--ts-gold-deep); background: var(--ts-cream); }
:where(.tsp) .ts-qpill.is-skip { color: var(--ts-ink); font-weight: 600; border-style: solid; background: #fff; }
:where(.tsp) .ts-qpill.is-skip:hover { border-color: var(--ts-gold); color: var(--ts-gold-deep); }
:where(.tsp) .ts-qpill.is-aug { color: var(--ts-gold-deep); border-color: rgba(163,133,67,0.4); }
:where(.tsp) .ts-augpill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 4px; border-radius: 999px; border: 1px solid rgba(163,133,67,0.4); background: var(--ts-cream); color: var(--ts-gold-deep); font-family: inherit; font-size: 13.25px; font-weight: 600; cursor: pointer; }
:where(.tsp) .ts-augpill-av { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; }
:where(.tsp) .ts-aug-dots { display: inline-flex; gap: 4px; align-items: center; height: 20px; }
:where(.tsp) .ts-aug-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--ts-gold); opacity: .35; animation: tsp-tsDot 1s ease infinite; }
:where(.tsp) .ts-aug-dots i:nth-child(2) { animation-delay: .15s; }
:where(.tsp) .ts-aug-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes tsp-tsDot { 0%,100% { opacity: .35; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
:where(.tsp) #ts-aug-txt { display: inline; }
:where(.tsp) #ts-aug-txt.is-in { animation: tsp-tsTxtIn .28s ease both; }
@keyframes tsp-tsTxtIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
:where(.tsp) .ts-augbox-pills .ts-qpill { animation: tsp-tsPillIn .26s ease both; }
@keyframes tsp-tsPillIn { from { opacity: 0; transform: translateY(5px) scale(.97); } to { opacity: 1; transform: none; } }
:where(.tsp) .ts-augbox-av.is-talking { animation: tsp-tsTalk 1s ease infinite; }
@keyframes tsp-tsTalk { 0%,100% { box-shadow: 0 1px 5px rgba(184,145,42,0.3); transform: none; } 50% { box-shadow: 0 0 0 5px rgba(196,165,89,0.25); transform: translateY(-1px); } }
:where(.tsp) .ts-aug-recap { font-size: 13px; color: var(--ts-gold-deep); font-weight: 600; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
:where(.tsp) .ts-aug-back { width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--ts-cream-border); background: #fff; color: var(--ts-gold-deep); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; align-self: center; }
:where(.tsp) .ts-aug-back svg { width: 14px; height: 14px; }
:where(.tsp) .ts-aug-back:hover { background: var(--ts-cream); border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-augbox-body { flex: 1; min-width: 0; }
:where(.tsp) .ts-chat-msg { padding: 9px 36px 9px 8px; }
:where(.tsp) .ts-augbox-av { width: 30px; height: 30px; }
:where(.tsp) .ts-aug-recap::before { content: none; }
:where(.tsp) .ts-augbox-pills { align-items: center; }
:where(.tsp) .ts-qpill.is-zero { opacity: .5; }
:where(.tsp) .ts-qpill.is-zero:hover { opacity: 1; }
:where(.tsp) .ts-qpill:disabled { opacity: .45; cursor: not-allowed; }
:where(.tsp) .ts-aug-multi { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 100%; }
:where(.tsp) .ts-aug-free { position: relative; display: flex; align-items: center; flex: 0 1 auto; width: 345px; max-width: 100%; margin-top: 0; }
:where(.tsp) .ts-aug-free .ts-aug-in { height: 34px; padding-top: 0; padding-bottom: 0; font-size: 13.5px; }
:where(.tsp) .ts-aug-free-ic { position: absolute; left: 11px; color: var(--ts-ink-mute); display: flex; }
:where(.tsp) .ts-aug-free-ic svg { width: 14px; height: 14px; }
:where(.tsp) .ts-aug-in { width: 100%; box-sizing: border-box; padding: 9px 12px 9px 32px; border: 1px solid var(--ts-line); border-radius: 12px; background: #fff; font-family: inherit; font-size: 13.75px; color: var(--ts-ink); outline: none; }
:where(.tsp) .ts-aug-in:focus { border-color: var(--ts-gold-deep); box-shadow: 0 0 0 3px rgba(163,133,67,0.12); }
:where(.tsp) .ts-aug-sugg { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 50; background: #fff; border: 1px solid var(--ts-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(44,44,44,0.14); padding: 5px; }
:where(.tsp) .ts-aug-sugg-i { display: flex; justify-content: space-between; gap: 10px; width: 100%; text-align: left; padding: 8px 11px; border: none; border-radius: 8px; background: transparent; font-family: inherit; font-size: 13.75px; color: var(--ts-ink); cursor: pointer; }
:where(.tsp) .ts-aug-sugg-i small { color: var(--ts-ink-mute); font-size: 13px; }
:where(.tsp) .ts-aug-sugg-i:hover { background: var(--ts-cream); }
:where(.tsp) .ts-aug-sugg-e { padding: 8px 11px; font-size: 13.25px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-aug-lvl { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: 100%; }
:where(.tsp) .ts-aug-lvl-n { min-width: 86px; font-size: 13.25px; font-weight: 700; color: var(--ts-ink-soft); }
:where(.tsp) .ts-aug-lvl .ts-qpill { padding: 5px 10px; font-size: 13.25px; }
:where(.tsp) .ts-aug-range { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin-top: 2px; }
:where(.tsp) .ts-aug-num { width: 92px; padding: 8px 10px; border: 1px solid var(--ts-line); border-radius: 10px; background: #fff; font-family: inherit; font-size: 13.75px; color: var(--ts-ink); outline: none; }
:where(.tsp) .ts-aug-num:focus { border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-aug-suffix { font-size: 13.25px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-qpill.is-reqbtn { margin-left: 6px; border-style: dashed; color: var(--ts-ink-mute); font-weight: 500; }
:where(.tsp) .ts-qpill.is-reqbtn.is-req { border-style: solid; border-color: #C0392B; color: #C0392B; background: #FDECEC; font-weight: 700; }
:where(.tsp) .ts-cal { width: 100%; max-width: 380px; background: #fff; border: 1px solid var(--ts-line); border-radius: 16px; padding: 12px 14px 12px; box-shadow: 0 6px 22px rgba(44,44,44,0.08); animation: tsp-tsAdvIn .16s ease; }
:where(.tsp) .ts-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
:where(.tsp) .ts-cal-title { font-size: 13.75px; font-weight: 700; color: var(--ts-ink); }
:where(.tsp) .ts-cal-nav { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--ts-line); background: #fff; font-size: 18px; line-height: 1; color: var(--ts-ink-soft); cursor: pointer; }
:where(.tsp) .ts-cal-nav:hover { border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
:where(.tsp) .ts-cal-dow { text-align: center; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; color: var(--ts-ink-mute); padding: 4px 0 6px; }
:where(.tsp) .ts-cal-day { height: 36px; border: none; border-radius: 10px; background: transparent; font-family: inherit; font-size: 13.75px; color: var(--ts-ink); cursor: pointer; transition: background .12s; }
:where(.tsp) .ts-cal-day:hover:not(:disabled) { background: var(--ts-cream); }
:where(.tsp) .ts-cal-day.is-past { color: #C9C4B8; cursor: not-allowed; }
:where(.tsp) .ts-cal-day.is-today { box-shadow: inset 0 0 0 1px var(--ts-cream-border); }
:where(.tsp) .ts-cal-day.is-in { background: #FBF4E2; border-radius: 0; }
:where(.tsp) .ts-cal-day.is-start,
:where(.tsp) .ts-cal-day.is-end { background: var(--ts-gold-luminous); color: #fff; text-shadow: 0 1px 2px rgba(60,44,10,.45); font-weight: 700; }
:where(.tsp) .ts-cal-day.is-start { border-radius: 10px 0 0 10px; }
:where(.tsp) .ts-cal-day.is-end { border-radius: 0 10px 10px 0; }
:where(.tsp) .ts-cal-day.is-start.is-end,
:where(.tsp) .ts-cal-day.is-start:not(.is-in):last-child { border-radius: 10px; }
:where(.tsp) .ts-cal-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--ts-line); }
:where(.tsp) .ts-cal-lab { font-size: 13.5px; color: var(--ts-ink-soft); }
:where(.tsp) .ts-augbox-pills .ts-cal .ts-qpill,
:where(.tsp) .ts-augbox-pills .ts-aug-calwrap > .ts-qpill { animation: none; }
:where(.tsp) .ts-face { position: relative; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; flex-shrink: 0; overflow: hidden;
  background: #fff; box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--gold-200), 0 2px 8px rgba(184,145,42,0.28); }
:where(.tsp) .ts-face > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform: scale(1.45); transform-origin: 50% 34%; border-radius: 50%;
  background: none !important; box-shadow: none !important; border: 0 !important; }
:where(.tsp) .ts-face--bubble { width: 34px; height: 34px; margin-top: 1px; }
:where(.tsp) .ts-face--bubble > img { width: 34px; height: 34px; }
:where(.tsp) .ts-face--input { width: 48px; height: 48px; }
:where(.tsp) .ts-face--input > img { object-position: 50% 50%; transform: none; }
:where(.tsp) .ts-face--pill { width: 24px; height: 24px; box-shadow: 0 0 0 1.5px #fff, 0 1px 4px rgba(184,145,42,0.35); }
:where(.tsp) .ts-face--pill > img { width: 24px; height: 24px; }
:where(.tsp) .ts-face.is-talking,
:where(.tsp) .ts-face:has(.is-talking) { animation: tsp-tsTalk 1s ease infinite; }
:where(.tsp) .ts-aug-dots { gap: 8px; height: 22px; }
:where(.tsp) .ts-aug-spin { position: relative; width: 18px; height: 18px; animation: tsp-tsSpin 1s steps(8) infinite; flex-shrink: 0; }
:where(.tsp) .ts-aug-spin i { position: absolute; left: 50%; top: 50%; width: 2px; height: 5px; margin: -9px 0 0 -1px; border-radius: 2px; background: var(--ts-gold-deep); transform-origin: 1px 9px; }
:where(.tsp) .ts-aug-spin i:nth-child(1) { transform: rotate(0deg); opacity: 1; }
:where(.tsp) .ts-aug-spin i:nth-child(2) { transform: rotate(45deg); opacity: .85; }
:where(.tsp) .ts-aug-spin i:nth-child(3) { transform: rotate(90deg); opacity: .7; }
:where(.tsp) .ts-aug-spin i:nth-child(4) { transform: rotate(135deg); opacity: .55; }
:where(.tsp) .ts-aug-spin i:nth-child(5) { transform: rotate(180deg); opacity: .4; }
:where(.tsp) .ts-aug-spin i:nth-child(6) { transform: rotate(225deg); opacity: .3; }
:where(.tsp) .ts-aug-spin i:nth-child(7) { transform: rotate(270deg); opacity: .22; }
:where(.tsp) .ts-aug-spin i:nth-child(8) { transform: rotate(315deg); opacity: .15; }
@keyframes tsp-tsSpin { to { transform: rotate(360deg); } }
:where(.tsp) .ts-aug-think { font-size: 13.75px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-aug-think em { font-style: italic; color: var(--ts-ink-soft); }
:where(.tsp) .ts-aug-dots > i { display: none; }
:where(.tsp) .ts-welcome { position: relative; z-index: 5; max-width: 1280px; margin: 18px auto 0; padding: 0 40px; text-align: left; isolation: isolate; }
:where(.tsp) .ts-welcome-inner {
  position: relative; overflow: hidden; border-radius: 28px 28px 0 0; min-height: 380px;
  padding: 36px 48px 140px; color: #1A1614; display: flex; align-items: center;
  background-color: #FFFFFF;
  background-image: linear-gradient(90deg, #FFFFFF 0%, rgba(255,255,255,0.92) 28%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 72%), var(--tsw-fond), radial-gradient(ellipse at 82% 35%, rgba(239,226,184,0.24), rgba(196,165,89,0.04) 30%, transparent 65%), linear-gradient(115deg, #F7F5F0, #E9E5DD);
  background-size: auto, cover, auto, auto; background-position: center, center, center, center;
}
:where(.tsp) .ts-welcome[data-theme="brume-claire"] .ts-welcome-inner { background-color: #FFFFFF; background-image: linear-gradient(90deg, #FFFFFF 0%, rgba(255,255,255,0.92) 28%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 72%), radial-gradient(ellipse at 82% 35%, rgba(239,226,184,0.24), rgba(196,165,89,0.04) 30%, transparent 65%), linear-gradient(115deg, #EAF1F9, #F7F5F0); }
:where(.tsp) .ts-welcome-copy { position: relative; z-index: 2; max-width: 56%; }
:where(.tsp) .ts-welcome-kicker { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; color: #4A4640; }
:where(.tsp) .ts-welcome-kicker b { font-weight: 700; color: #1A1614; }
:where(.tsp) .ts-welcome-kicker span { color: var(--gold-primary); }
:where(.tsp) .ts-welcome-title { margin: 0 0 12px; font-size: 52px; line-height: 1.02; letter-spacing: -0.03em; font-weight: 700; color: #1A1614; }
:where(.tsp) .ts-welcome-title em { font-style: italic; font-weight: 600; font-family: 'Playfair Display', Georgia, serif; letter-spacing: -0.01em; padding-right: .1em;
  background: linear-gradient(100deg, var(--gold-primary) 0%, var(--gold-200) 45%, var(--gold-primary) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
:where(.tsp) .ts-welcome-sub { margin: 0; font-size: 18px; color: #5C6270; }
:where(.tsp) .ts-welcome-portrait { position: absolute; z-index: 1; right: 5%; bottom: 30px; height: 340px; width: auto; pointer-events: none; user-select: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,.6) 88%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,.6) 88%, transparent 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
:where(.tsp) .ts-welcome .ts-ubar-wrap { max-width: none; width: calc(100% - 420px); margin: -110px 0 0 28px; z-index: 3; }
:where(.tsp) .ts-welcome .ts-composer { border-radius: 24px; box-shadow: 0 10px 30px rgba(44,44,44,0.10); }
:where(.tsp) .ts-welcome .ts-composer:focus-within { box-shadow: 0 0 0 1px var(--gold-primary), 0 12px 32px rgba(163,133,67,.16); }
:where(.tsp) .ts-welcome .ts-composer-row { padding: 6px 6px 6px 12px; gap: 10px; }
:where(.tsp) .ts-welcome .ts-composer-row input { font-size: 15px; padding: 12px 0; }
:where(.tsp) .ts-welcome .ts-composer-row input::placeholder { color: #6F6A61; }
:where(.tsp) .ts-composer-row button.ts-go-champagne {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 22px; border-radius: 999px;
  color: #1A1614; text-shadow: none; font-size: 14px; font-weight: 600;
  background: linear-gradient(115deg, rgba(232,204,110,0.82) 0%, rgba(245,232,190,0.95) 50%, rgba(220,196,120,0.85) 100%);
  border: 1px solid rgba(196,165,89,0.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 3px 10px rgba(110,88,44,0.08);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; filter: none;
}
:where(.tsp) .ts-composer-row button.ts-go-champagne svg { width: 16px; height: 16px; color: #1A1614; }
:where(.tsp) .ts-composer-row button.ts-go-champagne:hover { filter: none; transform: translateY(-1px); border-color: rgba(196,165,89,0.45); box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), 0 5px 14px rgba(110,88,44,0.12); }
:where(.tsp) .ts-composer-row button.ts-go-champagne:active { transform: translateY(0); }
:where(.tsp) .ts-composer-row button.ts-go-champagne:focus-visible { outline: 2px solid var(--gold-700); outline-offset: 3px; }
:where(.tsp) .ts-filters-btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--ts-line); background: #fff; color: var(--ts-ink); font-family: inherit; font-size: 14px; font-weight: 500; cursor: pointer; flex-shrink: 0; transition: border-color .15s, background .15s; }
:where(.tsp) .ts-filters-btn svg { width: 16px; height: 16px; color: var(--ts-ink-soft); }
:where(.tsp) .ts-filters-btn:hover { border-color: var(--ts-cream-border); background: #FCFBF9; }
:where(.tsp) .ts-filters-btn[aria-expanded="true"] { border-color: var(--ts-gold-deep); background: var(--ts-cream); }
:where(.tsp) .ts-filters-btn:focus-visible { outline: 2px solid var(--gold-700); outline-offset: 3px; }
:where(.tsp) .ts-filters-n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--ts-gold-deep); color: #fff; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
:where(.tsp) .ts-filters { position: relative; z-index: 6; box-sizing: border-box; max-width: 1136px; margin: 12px auto 0; padding: 14px 28px; background: #fff; border-radius: 0 0 24px 24px; box-shadow: 0 10px 26px rgba(44,44,44,0.08); animation: tsp-tsAdvIn .16s ease; }
:where(.tsp).ts-page:has(#ts-filters:not([hidden])) .ts-welcome-inner { border-radius: 28px 28px 0 0; }
:where(.tsp).ts-page:has(#ts-focus:not([hidden])) #ts-filters,
:where(.tsp).ts-page:has(#ts-augbox:not([hidden])) #ts-filters { z-index: 4; }
:where(.tsp) .ts-filters .ts-filter-bar { margin-top: 0; }
@media (prefers-reduced-motion: reduce) {
:where(.tsp) .ts-filters,
:where(.tsp) .ts-augbox,
:where(.tsp) .ts-qpill,
:where(.tsp) .ts-lchip,
:where(.tsp) .ts-menu,
:where(.tsp) .ts-adv-panel,
:where(.tsp) .ts-cal { animation: none !important; }
:where(.tsp) .ts-composer-row button.ts-go-champagne,
:where(.tsp) .ts-face,
:where(.tsp) .ts-augbox-av { transition: none !important; animation: none !important; }
}
@media (max-width: 1100px) {
:where(.tsp) .ts-welcome-title { font-size: 40px; }
:where(.tsp) .ts-welcome-inner { min-height: 360px; }
:where(.tsp) .ts-welcome-portrait { height: 300px; bottom: 40px; }
:where(.tsp) .ts-welcome-copy { max-width: 58%; }
:where(.tsp) .ts-welcome .ts-ubar-wrap { width: calc(100% - 330px); }
}
@media (max-width: 760px) {
:where(.tsp) .ts-welcome { padding: 0 12px; }
:where(.tsp) .ts-welcome-inner { padding: 24px 20px 120px; min-height: 0; border-radius: 22px 22px 0 0; display: block; }
:where(.tsp) .ts-welcome-copy { max-width: 58%; }
:where(.tsp) .ts-welcome-title { font-size: 30px; }
:where(.tsp) .ts-welcome-sub { font-size: 15px; }
:where(.tsp) .ts-welcome-portrait { top: 8%; bottom: auto; right: -6%; height: 170px; -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%); }
:where(.tsp) .ts-welcome .ts-ubar-wrap { width: auto; margin: -84px 8px 0; }
:where(.tsp) .ts-welcome .ts-composer-row { flex-wrap: wrap; padding: 8px; }
:where(.tsp) .ts-welcome .ts-composer-row input { flex: 1 1 100%; order: 1; padding: 8px 0 4px 4px; }
:where(.tsp) .ts-welcome .ts-composer-avw { order: 0; }
:where(.tsp) .ts-welcome .ts-composer-row .ts-mic { order: 2; }
:where(.tsp) .ts-welcome .ts-filters-btn { order: 3; flex: 1 1 auto; min-width: 0; justify-content: center; padding: 0 12px; font-size: 13.75px; }
:where(.tsp) .ts-welcome .ts-composer-row button.ts-go-champagne { order: 4; flex: 1 1 100%; min-width: 0; justify-content: center; }
:where(.tsp) .ts-filters { padding: 0 12px; }
:where(.tsp) .ts-rh-right { flex-wrap: wrap; gap: 6px; }
:where(.tsp) .ts-results-sort,
:where(.tsp) .ts-results-sort .ts-pill { max-width: 100%; }
:where(.tsp) .ts-results-sort select { max-width: 150px; }
}
:where(.tsp) .ts-chat:not(:has(> :not([hidden]):not(:empty))) { display: none; }
:where(.tsp) .ts-chat { max-height: 26vh; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; padding-right: 8px; }
:where(.tsp) .ts-chat.is-collapsed { display: none; }
:where(.tsp) .ts-chat { scrollbar-width: thin; scrollbar-color: var(--ts-cream-border) transparent; }
:where(.tsp) .ts-chat::-webkit-scrollbar { width: 6px; }
:where(.tsp) .ts-chat::-webkit-scrollbar-thumb { background: var(--ts-cream-border); border-radius: 3px; }
:where(.tsp) .ts-chat::-webkit-scrollbar-thumb:hover { background: var(--ts-gold-deep); }
:where(.tsp) .ts-chat-down { position: absolute; right: 22px; bottom: 84px; z-index: 6; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ts-cream-border); background: #fff; color: var(--ts-gold-deep); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.14); }
:where(.tsp) .ts-chat-down svg { width: 16px; height: 16px; }
:where(.tsp) .ts-ubar-wrap { position: relative; }
:where(.tsp) .ts-chat.is-min { display: none; }
:where(.tsp) .ts-chat-minbtn { position: absolute; top: 8px; right: 12px; z-index: 7; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--ts-line); background: #fff; color: var(--ts-ink-mute); cursor: pointer; display: none; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
:where(.tsp) .ts-chat-minbtn svg { width: 14px; height: 14px; }
:where(.tsp) .ts-chat-minbtn:hover { color: var(--ts-ink); border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-ubar-wrap:has(#ts-chat:not(.is-collapsed):not(.is-min) > #ts-augbox:not([hidden])) .ts-chat-minbtn { display: inline-flex; }
:where(.tsp) .ts-ubar-wrap:has(#ts-chat:not(.is-collapsed):not(.is-min) > #ts-augbox:not([hidden])) .ts-chat { padding-top: 12px; }
:where(.tsp) .ts-chat-mini { display: flex; align-items: center; gap: 8px; width: 100%; margin: 0 0 6px; padding: 7px 12px; border-radius: 14px; border: 1px solid var(--ts-cream-border); background: var(--ts-cream); color: var(--ts-ink); font-family: inherit; font-size: 13.5px; text-align: left; cursor: pointer; }
:where(.tsp) .ts-chat-mini b { color: var(--ts-gold-deep); }
:where(.tsp) .ts-chat-mini-txt { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ts-ink-soft); }
:where(.tsp) .ts-chat-mini svg { width: 14px; height: 14px; color: var(--ts-ink-mute); flex-shrink: 0; }
:where(.tsp) .ts-chat-mini .ts-face--pill { width: 24px; height: 24px; }
:where(.tsp) .ts-thread { display: contents; }
:where(.tsp) .ts-thread:empty { display: none; }
:where(.tsp) .ts-msg-past { opacity: .92; }
:where(.tsp) .ts-msg-past .ts-qpill,
:where(.tsp) .ts-msg-past .ts-exit,
:where(.tsp) .ts-msg-past button,
:where(.tsp) .ts-msg-past a,
:where(.tsp) .ts-msg-past input,
:where(.tsp) .ts-msg-past textarea { pointer-events: none; }
:where(.tsp) .ts-msg-past .ts-qpill,
:where(.tsp) .ts-msg-past .ts-exit { opacity: .5; }
:where(.tsp) .ts-msg-past .ts-augbox-x,
:where(.tsp) .ts-msg-past .ts-aug-back,
:where(.tsp) .ts-msg-past .ts-augbox-step,
:where(.tsp) .ts-msg-past .ts-aug-recap,
:where(.tsp) .ts-msg-past .ts-aug-dots { display: none !important; }
:where(.tsp) .ts-msg-past .ts-augbox-pills .ts-qpill { animation: none; }
:where(.tsp) .ts-chat-new { position: relative; align-self: center; margin: -2px auto 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--ts-cream-border); background: var(--ts-cream); color: var(--ts-gold-deep); font-family: inherit; font-size: 13.25px; font-weight: 600; cursor: pointer; box-shadow: 0 2px 8px rgba(163,133,67,.18); }
:where(.tsp) .ts-face > img { transform: none; object-position: 50% 50%; }
:where(.tsp) .ts-welcome .ts-ubar-wrap { transition: width .25s ease; }
:where(.tsp) .ts-welcome .ts-ubar-wrap:has(#ts-augbox:not([hidden])),
:where(.tsp) .ts-welcome .ts-ubar-wrap:has(#ts-live:not([hidden])),
:where(.tsp) .ts-welcome .ts-ubar-wrap:has(#ts-focus:not([hidden])) { width: calc(100% - 28px); }
:where(.tsp) .ts-welcome .ts-augbox-pills { max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
:where(.tsp) .ts-welcome .ts-ubar-wrap { transition: none; }
}
:where(.tsp) .ts-welcome .ts-chat-msg { background: radial-gradient(ellipse at 88% 30%, rgba(239,226,184,0.55), rgba(196,165,89,0.06) 35%, transparent 65%), linear-gradient(115deg, #FFFFFF 0%, #F6F3EC 45%, #ECE4D0 100%); border: 1px solid rgba(196,165,89,0.22); }
:where(.tsp) .ts-welcome[data-theme="brume-claire"] .ts-chat-msg { background: radial-gradient(ellipse at 88% 30%, rgba(239,226,184,0.35), transparent 60%), linear-gradient(115deg, #FFFFFF 0%, #EAF1F9 55%, #F7F5F0 100%); }
:where(.tsp).ts-page:has(#ts-selbar:not([hidden])) ~ .augx .augx-bubble,
body:has(#ts-selbar:not([hidden])) :where(.tsp) .augx-bubble { bottom: 84px; }
:where(.tsp) .ts-rh { align-items: center; }
:where(.tsp) .ts-rh-left { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
:where(.tsp) .ts-rh-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
:where(.tsp) .ts-read { font-size: 13.5px; color: var(--ts-ink-soft); line-height: 1.45; }
:where(.tsp) .ts-read b { color: var(--ts-gold-deep); font-weight: 600; }
:where(.tsp) .ts-read .mute { color: var(--ts-ink-mute); }
:where(.tsp) .ts-save {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px;
  background: #fff; border: 1px solid var(--ts-line); font-family: inherit; font-size: 13.25px; font-weight: 600;
  color: var(--ts-ink-soft); cursor: pointer; transition: all .15s;
}
:where(.tsp) .ts-save svg { width: 13px; height: 13px; }
:where(.tsp) .ts-save:hover { border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-save.is-on { background: var(--ts-cream); border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-results-sort select option:disabled { color: #bbb; }
:where(.tsp) .ts-aug-sub { width: 100%; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ts-ink-mute); margin-top: 6px; }
:where(.tsp) .ts-aug-exits { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 6px; width: 100%; }
:where(.tsp) .ts-exit { display: flex; align-items: center; gap: 9px; padding: 6px 11px; border-radius: 12px; background: #fff; border: 1px solid var(--ts-line); font-family: inherit; color: var(--ts-ink); cursor: pointer; text-decoration: none; text-align: left; transition: all .15s; animation: tsp-tsPillIn .26s ease both; }
:where(.tsp) .ts-exit:hover { border-color: var(--ts-gold-deep); background: var(--ts-cream); }
:where(.tsp) .ts-exit svg { width: 15px; height: 15px; color: var(--ts-gold-deep); flex-shrink: 0; }
:where(.tsp) .ts-exit span { min-width: 0; }
:where(.tsp) .ts-exit b { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
:where(.tsp) .ts-exit small { display: block; font-size: 13px; color: var(--ts-ink-mute); line-height: 1.35; margin-top: 1px; }
:where(.tsp) .ts-aug-draft { width: 100%; box-sizing: border-box; min-height: 120px; padding: 10px 12px; border: 1px solid var(--ts-line); border-radius: 12px; background: #fff; font-family: inherit; font-size: 13.75px; line-height: 1.5; color: var(--ts-ink); resize: vertical; outline: none; }
:where(.tsp) .ts-aug-draft:focus { border-color: var(--ts-gold-deep); }
:where(.tsp) #ts-group-open .ts-group-title b { color: #1B7A4E; }
:where(.tsp) .ts-group { margin-top: 8px; margin-bottom: 26px; }
:where(.tsp) .ts-group-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
:where(.tsp) .ts-group-title { font-size: 13.25px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ts-ink); }
:where(.tsp) .ts-group-title b { color: var(--ts-gold-deep); font-weight: 700; margin-left: 2px; }
:where(.tsp) .ts-group-head small { font-size: 13.25px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-group-all { margin-left: auto; font-family: inherit; font-size: 13px; color: var(--ts-ink-mute); background: transparent; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
:where(.tsp) .ts-group-all:hover { color: var(--ts-gold-deep); }
:where(.tsp) #ts-group-verify .ts-group-title b { color: var(--gold-edge); }
:where(.tsp) #ts-group-alt .ts-card { opacity: .93; }
:where(.tsp) .ts-empty { padding: 22px 20px; text-align: center; font-size: 13.75px; color: var(--ts-ink-soft); background: #FCFBF9; border: 1px dashed var(--ts-line); border-radius: 16px; margin-top: 8px; }
:where(.tsp) .ts-slot { display: contents; }
:where(.tsp) .ts-slot[hidden] { display: none; }
:where(.tsp).ts-page.no-ctx .ts-card-mtab { display: none; }
:where(.tsp).ts-page .ts-card .ts-card-block:first-of-type { margin-top: 6px; }
:where(.tsp).ts-page .ts-card .ts-crit + .ts-card-block { margin-top: 6px; }
:where(.tsp).ts-page .ts-card .ts-card-chips { flex-wrap: nowrap; overflow: hidden; }
:where(.tsp).ts-page .ts-card .ts-card-actions { margin-top: 7px; }
:where(.tsp).ts-page .ts-crit { margin-top: 8px; padding-top: 7px; }
:where(.tsp) .ts-crit { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 10px 0 0; padding-top: 9px; border-top: 1px solid #F1EDE4; font-size: 13px; line-height: 1.5; color: var(--ts-ink-soft); }
:where(.tsp) .ts-crit .ok { color: #1B7A4E; font-weight: 700; }
:where(.tsp) .ts-crit .ko { color: #C0392B; font-weight: 700; }
:where(.tsp) .ts-crit .unk { color: var(--gold-edge); font-weight: 700; }
:where(.tsp) .ts-crit i { color: var(--ts-ink-mute); font-style: normal; }
:where(.tsp) .ts-crit .sep { width: 1px; height: 10px; background: var(--ts-line); margin: 0 2px; }
:where(.tsp) .ts-crit-it { white-space: nowrap; }
:where(.tsp).ts-page .ts-sel { position: absolute; left: 10px; top: 10px; z-index: 3; cursor: pointer; width: 22px; height: 22px; line-height: 0; padding: 0 !important; margin: 0 !important; background: none !important; border: none !important; box-shadow: none !important; }
:where(.tsp).ts-page .ts-sel::before,
:where(.tsp).ts-page .ts-sel::after { content: none !important; }
:where(.tsp) .ts-sel input { position: absolute; opacity: 0; width: 0; height: 0; }
:where(.tsp) .ts-sel span { display: block; position: relative; width: 22px; height: 22px; border-radius: 7px; background: rgba(255,255,255,0.92); border: 1.5px solid rgba(0,0,0,0.18); box-shadow: 0 1px 4px rgba(0,0,0,0.18); transition: all .15s; }
:where(.tsp) .ts-sel:hover span { border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-sel input:checked + span { background: var(--ts-gold-luminous); border-color: var(--gold-edge); }
:where(.tsp) .ts-sel input:checked + span::after { content: ""; position: absolute; left: 7px; top: 3px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.2px 2.2px 0; transform: rotate(45deg); }
:where(.tsp) .ts-slot.is-sel .ts-card { box-shadow: 0 0 0 2px var(--ts-gold), 0 10px 30px rgba(44,44,44,.10); }
:where(.tsp).ts-page .ts-card .ts-card-vbadge { left: auto; right: 10px; }
:where(.tsp) .ts-selbar {
  position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 60;
  display: flex; align-items: center; gap: 8px; padding: 8px 10px 8px 16px;
  background: #1E1C18; color: #fff; border-radius: 999px; box-shadow: 0 14px 40px rgba(0,0,0,0.28);
  animation: tsp-tsSelIn .2s ease;
}
@keyframes tsp-tsSelIn { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }
:where(.tsp) .ts-selbar-n { font-size: 13.75px; margin-right: 6px; white-space: nowrap; }
:where(.tsp) .ts-selbar-n b { color: var(--gold-on-ink); }
:where(.tsp) .ts-selbar-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.06); color: #fff; font-family: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; text-decoration: none; transition: background .15s; }
:where(.tsp) .ts-selbar-btn svg { width: 13px; height: 13px; }
:where(.tsp) .ts-selbar-btn:hover { background: rgba(255,255,255,0.14); }
:where(.tsp) .ts-selbar-btn.is-gold { background: var(--ts-gold-luminous); border-color: transparent; text-shadow: 0 1px 2px rgba(60,44,10,.45); }
:where(.tsp) .ts-selbar-btn.is-done { background: #1B7A4E; border-color: transparent; }
:where(.tsp) .ts-selbar-x { width: 30px; height: 30px; border-radius: 50%; border: none; background: transparent; color: rgba(255,255,255,0.7); cursor: pointer; display: flex; align-items: center; justify-content: center; }
:where(.tsp) .ts-selbar-x svg { width: 14px; height: 14px; }
:where(.tsp) .ts-selbar-x:hover { background: rgba(255,255,255,0.12); color: #fff; }
@media (max-width: 900px) {
:where(.tsp) .ts-rh-right { width: 100%; justify-content: space-between; }
:where(.tsp) .ts-selbar { left: 12px; right: 12px; transform: none; flex-wrap: wrap; border-radius: 20px; }
}
:where(.tsp) .ts-results {
  max-width: 1280px;
  margin: 36px auto 0;   
  padding: 0 40px 56px;
}
:where(.tsp) .ts-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
:where(.tsp) .ts-results-title {
  font-size: 13.25px;
  color: var(--ts-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
}
:where(.tsp) .ts-results-title strong { color: var(--ts-gold-deep); font-weight: 700; }
:where(.tsp) .ts-results-sort {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  font-size: 13.5px;
  color: var(--ts-ink-mute);
}
:where(.tsp) .ts-results-sort .ts-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 6px 12px;
  transition: border-color 0.15s;
}
:where(.tsp) .ts-results-sort .ts-pill:hover { border-color: var(--ts-cream-border); }
:where(.tsp) .ts-results-sort .ts-pill svg { width: 12px; height: 12px; opacity: 0.55; }
:where(.tsp) .ts-results-sort select {
  background: transparent;
  border: none;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--ts-ink);
  font-weight: 600;
  cursor: pointer;
  outline: none;
  appearance: none;
  padding-right: 2px;
}
:where(.tsp) .ts-qp-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(20,18,14,0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s;
}
:where(.tsp) .ts-qp-overlay.open { opacity: 1; visibility: visible; }
:where(.tsp) .ts-qp-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 440px;
  max-width: 92vw;
  z-index: 1001;
  background: #fff;
  box-shadow: -10px 0 40px rgba(0,0,0,0.20);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
  font-family: 'Geist', system-ui, sans-serif;
}
:where(.tsp) .ts-qp-drawer.open { transform: translateX(0); }
:where(.tsp) .ts-qp-scroll { flex: 1; overflow-y: auto; }
:where(.tsp) .ts-qp-photo { position: relative; width: 100%; height: 300px; background: #E6E0D4; overflow: hidden; flex-shrink: 0; }
:where(.tsp) .ts-qp-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; display: block; }
:where(.tsp) .ts-qp-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(0,0,0,0.62));
}
:where(.tsp) .ts-qp-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 10px;
  background: #fff;
  color: #1E1C18;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  transition: all 0.15s;
}
:where(.tsp) .ts-qp-close:hover { background: #1E1C18; color: var(--gold-200); }
:where(.tsp) .ts-qp-close svg { width: 16px; height: 16px; }
:where(.tsp) .ts-qp-id { position: absolute; left: 24px; right: 66px; bottom: 18px; z-index: 2; }
:where(.tsp) .ts-qp-name { display: flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 600; color: #fff; letter-spacing: -0.02em; }
:where(.tsp) .ts-qp-role { font-size: 13.75px; font-weight: 600; color: var(--gold-200); margin-top: 2px; }
:where(.tsp) .ts-qp-body { padding: 14px 26px 26px; }
:where(.tsp) .ts-qp-sec {
  font-size: 12.25px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ts-ink-mute);
  margin: 16px 0 9px;
  display: flex;
  align-items: center;
  gap: 7px;
}
:where(.tsp) .ts-qp-sec:first-child { margin-top: 0; }
:where(.tsp) .ts-qp-ai-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: none;
  color: var(--ts-gold-deep);
  background: var(--ts-cream);
  border: 1px solid var(--ts-cream-border);
  border-radius: 999px;
  padding: 2px 8px;
}
:where(.tsp) .ts-qp-ai-tag svg { width: 10px; height: 10px; }
:where(.tsp) .ts-qp-split { display: flex; align-items: center; gap: 14px; }
:where(.tsp) .ts-qp-pitch {
  position: relative; width: 56px; height: 56px; padding: 3px; flex-shrink: 0;
  border: none; border-radius: 50%; cursor: pointer;
  background: var(--ts-round); box-shadow: 0 2px 8px rgba(163,133,67,.35);
}
:where(.tsp) .ts-qp-pitch-inner { display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: #E6E0D4; }
:where(.tsp) .ts-qp-pitch-inner img { width: 100%; height: 100%; object-fit: cover; display: block; }
:where(.tsp) .ts-qp-pitch-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,.92); color: #1E1C18;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 5px rgba(0,0,0,.28);
}
:where(.tsp) .ts-qp-pitch-play svg { width: 12px; height: 12px; margin-left: 1px; }
:where(.tsp) .ts-qp-split-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
:where(.tsp) .ts-qp-pitch-lbl { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ts-gold-deep); }
:where(.tsp) .ts-qp-status { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: 13.75px; color: var(--ts-ink-soft); }
:where(.tsp) .ts-qp-loc { display: inline-flex; align-items: center; gap: 5px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-qp-loc svg { width: 13px; height: 13px; }
:where(.tsp) .ts-qp-cur {
  background: var(--ts-cream);
  border: 1px solid var(--ts-cream-border);
  border-radius: 12px;
  padding: 13px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
:where(.tsp) .ts-qp-cur-t { font-size: 13.75px; font-weight: 700; color: var(--ts-ink); }
:where(.tsp) .ts-qp-cur-m { font-size: 13.25px; color: var(--ts-ink-mute); margin-top: 2px; }
:where(.tsp) .ts-qp-cur-b { font-size: 13px; font-weight: 700; color: var(--ts-gold-deep); white-space: nowrap; }
:where(.tsp) .ts-qp-tl { position: relative; padding-left: 22px; }
:where(.tsp) .ts-qp-tl::before { content: ""; position: absolute; left: 5.25px; top: 4px; bottom: 8px; width: 1.5px; background: var(--ts-line); }
:where(.tsp) .ts-qp-tl-i { position: relative; margin-bottom: 15px; }
:where(.tsp) .ts-qp-tl-i:last-child { margin-bottom: 0; }
:where(.tsp) .ts-qp-tl-i::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 3px;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  background: #fff;
  border: 1.5px solid var(--ts-cream-border);
}
:where(.tsp) .ts-qp-tl-i.is-current::before { background: var(--ts-gold); border-color: var(--ts-gold); }
:where(.tsp) .ts-qp-tl-top { display: flex; align-items: center; gap: 8px; }
:where(.tsp) .ts-qp-tl-t { font-size: 13.75px; font-weight: 700; color: var(--ts-ink); }
:where(.tsp) .ts-qp-tl-now {
  font-size: 12.25px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ts-success);
  background: #EAF4EE;
  border: 1px solid #BFE0CC;
  border-radius: 5px;
  padding: 2px 6px;
}
:where(.tsp) .ts-qp-tl-mich { display: inline-flex; align-items: center; gap: 2px; background: #fff; border: 1px solid #E0A9A5; border-radius: 4px; padding: 2px 5px; line-height: 0; }
:where(.tsp) .ts-qp-tl-y { margin-left: auto; font-size: 13px; color: var(--ts-ink-mute); white-space: nowrap; }
:where(.tsp) .ts-qp-tl-m { font-size: 13.25px; color: var(--ts-ink-mute); margin-top: 2px; }
:where(.tsp) .ts-qp-exp { font-size: 13.5px; line-height: 1.65; color: var(--ts-ink-soft); }
:where(.tsp) .ts-qp-langs { display: flex; flex-direction: column; gap: 13px; }
:where(.tsp) .ts-qp-lg { display: flex; align-items: center; gap: 12px; }
:where(.tsp) .ts-qp-lg-t { flex: 1; min-width: 0; }
:where(.tsp) .ts-qp-lg-n { font-size: 13.75px; font-weight: 700; color: var(--ts-ink); }
:where(.tsp) .ts-qp-lg-lv { font-size: 13.25px; color: var(--ts-ink-mute); margin-top: 1px; }
:where(.tsp) .ts-qp-lg-d { display: flex; gap: 5px; flex-shrink: 0; }
:where(.tsp) .ts-qp-lg-d i { width: 8px; height: 8px; border-radius: 50%; background: var(--ts-cream-border); opacity: 0.45; }
:where(.tsp) .ts-qp-lg-d i.on { background: var(--ts-gold); opacity: 1; }
:where(.tsp) .ts-qp-chips { display: flex; flex-wrap: wrap; gap: 7px; }
:where(.tsp) .ts-qp-chip { 
  font-size: 13.25px;
  font-weight: 600;
  color: var(--ts-ink-soft);
  border: 1px solid var(--ts-line);
  border-radius: 8px;
  padding: 7px 12px;
}
:where(.tsp) .ts-qp-form,
:where(.tsp) .ts-qp-ref {
  display: flex;
  gap: 12px;
  align-items: center;
  border-radius: 12px;
  padding: 13px 15px;
}
:where(.tsp) .ts-qp-form { background: var(--ts-cream); border: 1px solid var(--ts-cream-border); }
:where(.tsp) .ts-qp-ref { background: #fff; border: 1px solid var(--ts-line); align-items: flex-start; }
:where(.tsp) .ts-qp-form-i {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg,var(--gold-400),var(--gold-200) 55%,var(--gold-400));
  color: #fff; text-shadow: 0 1px 2px rgba(60,44,10,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
:where(.tsp) .ts-qp-form-i svg { width: 19px; height: 19px; }
:where(.tsp) .ts-qp-form-n,
:where(.tsp) .ts-qp-ref-n { font-size: 13.75px; font-weight: 700; color: var(--ts-ink); }
:where(.tsp) .ts-qp-form-f { font-size: 13.25px; color: var(--ts-ink-mute); margin-top: 2px; }
:where(.tsp) .ts-qp-ref-a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg,var(--gold-400),var(--gold-200) 55%,var(--gold-400));
  color: #fff; text-shadow: 0 1px 2px rgba(60,44,10,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13.75px;
  font-weight: 700;
  flex-shrink: 0;
}
:where(.tsp) .ts-qp-ref-q { font-size: 13.25px; color: var(--ts-ink-mute); font-style: italic; margin-top: 3px; line-height: 1.5; }
:where(.tsp) .ts-qp-foot {
  border-top: 1px solid var(--ts-line);
  padding: 14px 26px;
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
:where(.tsp) .ts-qp-foot button,
:where(.tsp) .ts-qp-foot a {
  flex: 1;
  height: 46px;
  border-radius: 13px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  transition: all 0.15s;
}
:where(.tsp) .ts-qp-foot svg { width: 14px; height: 14px; }
:where(.tsp) .ts-qp-foot .shortlist-btn { border: 1px solid var(--ts-line); background: #fff; color: var(--ts-ink); }
:where(.tsp) .ts-qp-foot .shortlist-btn:hover { border-color: var(--ts-cream-border); background: var(--ts-cream); color: var(--ts-gold-deep); }
:where(.tsp) .ts-qp-foot .shortlist-btn.is-on { border-color: #BFE0CC; background: #EAF4EE; color: var(--ts-success); }
:where(.tsp) .ts-qp-foot .view-btn {
  border: none;
  background: linear-gradient(90deg,var(--gold-400) 0%,var(--gold-300) 28%,var(--gold-200) 58%,var(--gold-200) 80%,var(--gold-300) 100%);
  color: #fff; text-shadow: 0 1px 2px rgba(60,44,10,.45);
  box-shadow: 0 3px 10px rgba(184,145,42,0.28);
}
:where(.tsp) .ts-qp-nav {
  position: fixed;
  top: 50%;
  right: calc(min(440px, 92vw) + 10px);
  transform: translateY(-50%);
  z-index: 1002;
  display: flex;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s;
}
:where(.tsp) .ts-qp-nav.open { opacity: 1; visibility: visible; }
:where(.tsp) .ts-qp-nav { align-items: flex-start; gap: 6px; padding: 10px 12px 8px; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 6px 24px rgba(0,0,0,.18); }
:where(.tsp) .ts-qp-navcol { display: flex; flex-direction: column; align-items: center; gap: 5px; }
:where(.tsp) .ts-qp-navlbl { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ts-gold-deep); white-space: nowrap; }
:where(.tsp) .ts-qp-navpos { align-self: center; margin-top: 12px; font-size: 13.25px; font-weight: 600; color: var(--ts-ink-mute); font-variant-numeric: tabular-nums; min-width: 40px; text-align: center; }
:where(.tsp) .ts-qp-arrow {
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #1E1C18;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 3px 14px rgba(0,0,0,0.28);
  transition: all 0.15s;
}
:where(.tsp) .ts-qp-arrow:hover { background: var(--ts-cream); color: var(--ts-gold-deep); }
:where(.tsp) .ts-qp-arrow:disabled { opacity: 0.35; cursor: not-allowed; }
:where(.tsp) .ts-qp-arrow svg { width: 20px; height: 20px; }
@media (max-width: 1180px) {
:where(.tsp) .ts-filter-bar { flex-wrap: wrap; border-radius: 18px; }
:where(.tsp) .ts-divider { display: none; }
:where(.tsp) .ts-cell-wrap { flex: 1 1 30%; }
}
@media (max-width: 720px) {
:where(.tsp) .ts-hero { padding: 20px 20px 10px; }
:where(.tsp) .ts-hero h1 { font-size: 28px; }
:where(.tsp) .ts-mode-panel { padding: 0 20px; }
:where(.tsp) .ts-results { padding: 0 20px 40px; }
:where(.tsp) .ts-cell-wrap { flex: 1 1 45%; }
:where(.tsp) .ts-hero-search { flex-wrap: wrap; border-radius: 18px; }
:where(.tsp) .ts-qp-nav { display: none; }
}
:where(.tsp) .ts-composer-avw { position: relative; flex-shrink: 0; width: 48px; height: 48px; }
:where(.tsp) .ts-composer-av { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: 50% 40%; display: block; box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--gold-primary); transition: box-shadow .2s; }
:where(.tsp) .ts-composer-av.listening { animation: tsp-ts-avpulse 1.3s ease-in-out infinite; }
:where(.tsp) .ts-composer-av.awake { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #809A38; }
@keyframes tsp-ts-avpulse { 0%, 100% { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--gold-primary), 0 0 0 7px rgba(201,165,74,.18); } 50% { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--gold-primary), 0 0 0 12px rgba(201,165,74,.04); } }
:where(.tsp) .ts-composer-dot { position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; border-radius: 50%; background: #809A38; border: 2px solid #fff; }
:where(.tsp) .ts-composer-whisper { position: absolute; left: -4px; bottom: calc(100% + 12px); white-space: nowrap; background: #1A1614; color: #fff; font-size: 13px; font-weight: 600; padding: 5px 11px; border-radius: 999px; opacity: 0; transform: translateY(4px); transition: .18s; pointer-events: none; z-index: 5; }
:where(.tsp) .ts-composer-whisper::after { content: ""; position: absolute; left: 14px; top: 100%; border: 5px solid transparent; border-top-color: #1A1614; }
:where(.tsp) .ts-composer-row:focus-within .ts-composer-whisper { opacity: 1; transform: none; }
:where(.tsp) .ts-composer:has(#ts-augbox:not([hidden])) .ts-composer-whisper,
:where(.tsp) .ts-composer:has(#ts-live:not([hidden])) .ts-composer-whisper { display: none; }
:where(.tsp) .ts-composer:focus-within { box-shadow: 0 0 0 1px var(--gold-primary), 0 10px 30px rgba(163,133,67,.14); }
:where(.tsp) .ts-aug-free.is-lang .ts-aug-free-ic { color: var(--ts-gold-deep); }
:where(.tsp) .ts-aug-sugg-i .ts-flag { display: inline-block; width: 16px; height: 12px; margin-right: 6px; vertical-align: -1px; border-radius: 2px; }
:where(.tsp) .ts-aug-recap { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; white-space: normal; }
:where(.tsp) .ts-aug-recap-i { font: inherit; font-size: inherit; color: inherit; background: rgba(255,255,255,.75); border: 1px solid rgba(163,133,67,.35); border-radius: 999px; padding: 1px 8px; cursor: pointer; }
:where(.tsp) .ts-aug-recap-i:hover { border-color: var(--ts-gold); color: var(--ts-gold-deep); }
:where(.tsp) .ts-aug-recap-i.is-static { cursor: default; background: none; border-color: transparent; padding: 1px 0; }
:where(.tsp) .ts-wa-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .9fr); gap: 12px; width: 100%; align-items: start; }
:where(.tsp) .ts-wa-visuals { margin-top: 10px; }
:where(.tsp) .ts-wa-vrow { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
:where(.tsp) .ts-wa-thumb { position: relative; width: 74px; height: 56px; border-radius: 10px; overflow: hidden; border: 2px solid transparent; padding: 0; background: #F4F2EE; cursor: pointer; transition: all .15s; }
:where(.tsp) .ts-wa-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
:where(.tsp) .ts-wa-thumb i { position: absolute; left: 0; right: 0; bottom: 0; font-style: normal; font-size: 12.25px; font-weight: 600; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.65)); padding: 10px 5px 4px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:where(.tsp) .ts-wa-thumb.is-none i { position: static; display: flex; align-items: center; justify-content: center; height: 100%; color: var(--ts-ink-mute); background: none; padding: 0; font-size: 13px; }
:where(.tsp) .ts-wa-thumb:hover { border-color: var(--ts-cream-border); }
:where(.tsp) .ts-wa-thumb.is-on { border-color: var(--ts-gold-deep); box-shadow: 0 0 0 2px rgba(163,133,67,0.18); }
:where(.tsp) .ts-wa-phone { border-radius: 18px; overflow: hidden; border: 1px solid var(--ts-line); background: #ECE5DD; box-shadow: 0 6px 22px rgba(44,44,44,0.10); }
:where(.tsp) .ts-wa-head { display: flex; align-items: center; gap: 9px; padding: 9px 12px; background: #075E54; color: #fff; }
:where(.tsp) .ts-wa-hav { width: 28px; height: 28px; border-radius: 50%; background: #128C7E; flex-shrink: 0; }
:where(.tsp) .ts-wa-head b { display: block; font-size: 13.5px; font-weight: 600; }
:where(.tsp) .ts-wa-head small { display: block; font-size: 12.75px; opacity: .8; }
:where(.tsp) .ts-wa-body { padding: 14px 10px 14px 34px; min-height: 120px; background-image: radial-gradient(rgba(0,0,0,0.035) 1px, transparent 1px); background-size: 14px 14px; }
:where(.tsp) .ts-wa-bubble { position: relative; background: #DCF8C6; border-radius: 10px 2px 10px 10px; padding: 6px 8px 18px; box-shadow: 0 1px 1px rgba(0,0,0,0.12); font-size: 13.5px; line-height: 1.45; color: #111; }
:where(.tsp) .ts-wa-bubble img { display: block; width: 100%; max-height: 130px; object-fit: cover; border-radius: 7px; margin-bottom: 6px; }
:where(.tsp) .ts-wa-bubble p { margin: 0; white-space: pre-line; }
:where(.tsp) .ts-wa-time { position: absolute; right: 8px; bottom: 4px; font-size: 12.5px; color: #5B7A63; display: inline-flex; align-items: center; gap: 3px; }
:where(.tsp) .ts-wa-time svg { width: 13px; height: 13px; color: #34B7F1; }
@media (max-width: 760px) {
:where(.tsp) .ts-wa-grid { grid-template-columns: 1fr; }
}
:where(.tsp) .ts-aug-tones { display: flex; align-items: center; gap: 5px; margin-bottom: 6px; }
:where(.tsp) .ts-aug-tones .ts-aug-lvl-n { margin-right: 4px; }
:where(.tsp) .ts-aug-tones .ts-qpill { padding: 3px 10px; font-size: 13px; }
:where(.tsp) .ts-wa-share { background: var(--ts-gold-deep) !important; color: #fff !important; border-color: var(--ts-gold-deep) !important; font-weight: 700; }
:where(.tsp) .ts-wa-note { margin-top: 6px; font-size: 13px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-wa-edit .ts-aug-multi { margin-top: 10px; }
:where(.tsp) .ts-wa-edit .ts-aug-draft { min-height: 84px; }
:where(.tsp) .ts-wa-visuals .ts-wa-thumb { width: 62px; height: 46px; }
:where(.tsp) .ts-wa-bubble img { max-height: 96px; }
:where(.tsp) .ts-aug-tones .ts-qpill.is-on { background: var(--ts-gold-deep); color: #fff; border-color: var(--ts-gold-deep); }
:where(.tsp) .ts-aug-draftmeta { display: flex; justify-content: space-between; gap: 10px; margin: 6px 2px 0; font-size: 13px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-aug-honest { margin-top: 8px; padding: 7px 10px; border-radius: 9px; background: rgba(255,255,255,.7); border: 1px dashed rgba(163,133,67,.35); font-size: 13px; color: var(--ts-ink-soft); line-height: 1.45; }
:where(.tsp).ts-page.is-carousel .ts-group .ts-grid { display: flex; flex-wrap: nowrap; gap: 15px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 4px 14px; margin: 0 -4px; scrollbar-width: none; }
:where(.tsp).ts-page.is-carousel .ts-group .ts-grid::-webkit-scrollbar { display: none; }
:where(.tsp).ts-page.is-carousel .ts-group .ts-grid { align-items: stretch; }
:where(.tsp).ts-page.is-carousel .ts-group .ts-grid > .ts-slot > .ts-card { flex: 0 0 292px; width: 292px; scroll-snap-align: start; height: auto; }
:where(.tsp).ts-page.is-carousel .ts-group-head { position: sticky; top: 84px; z-index: 3; background: rgba(255,255,255,.94); backdrop-filter: blur(6px); padding: 8px 0; margin-bottom: 4px; }
:where(.tsp) .ts-carousel-nav { display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; }
:where(.tsp).ts-page.is-carousel .ts-carousel-nav button { display: none; }
:where(.tsp).ts-page.is-carousel .ts-group { position: relative; }
:where(.tsp) .ts-carousel-side { position: absolute; top: 118px; z-index: 4; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--ts-line); background: #fff; color: var(--ts-gold-deep); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(0,0,0,.16); transition: transform .15s, box-shadow .15s; }
:where(.tsp) .ts-carousel-side svg { width: 20px; height: 20px; }
:where(.tsp) .ts-carousel-side:hover { transform: scale(1.06); box-shadow: 0 8px 24px rgba(163,133,67,.30); background: var(--ts-cream); }
:where(.tsp).ts-page.is-carousel .ts-carousel-side:disabled { opacity: 0; visibility: hidden; pointer-events: none; }
:where(.tsp) .ts-carousel-side.is-prev { left: -22px; }
:where(.tsp) .ts-carousel-side.is-next { right: -22px; }
:where(.tsp) .ts-carousel-side .ts-carousel-sidelbl { position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ts-gold-deep); white-space: nowrap; background: rgba(255,255,255,.95); border: 1px solid var(--ts-line); border-radius: 999px; padding: 3px 8px; box-shadow: 0 2px 8px rgba(0,0,0,.10); }
:where(.tsp) .ts-view-toggle { display: inline-flex; gap: 6px; border: none; padding: 0; background: transparent; }
:where(.tsp) .ts-view-toggle a { padding: 8px 14px; border: 1px solid var(--ts-line); background: #fff; color: var(--ts-ink); font-size: 13.5px; font-weight: 600; text-shadow: none; -webkit-font-smoothing: antialiased; }
:where(.tsp) .ts-view-toggle a:hover { border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-view-toggle a.is-on { background: var(--ts-gold-deep); border-color: var(--ts-gold-deep); color: #fff; box-shadow: none; cursor: default; }
:where(.tsp) .ts-view-toggle svg { width: 14px; height: 14px; }
:where(.tsp) .ts-view-hint { display: block; font-size: 13px; color: var(--ts-ink-mute); margin-top: 3px; text-transform: none; letter-spacing: 0; font-weight: 500; }
:where(.tsp) .ts-carousel-nav button { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--ts-line); background: #fff; color: var(--ts-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: all .15s; }
:where(.tsp) .ts-carousel-nav button:hover { border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); background: var(--ts-cream); }
:where(.tsp) .ts-carousel-nav button:disabled { opacity: .3; cursor: default; }
:where(.tsp) .ts-carousel-nav button svg { width: 14px; height: 14px; }
:where(.tsp) .ts-carousel-pos { font-size: 13px; color: var(--ts-ink-mute); min-width: 44px; text-align: center; font-variant-numeric: tabular-nums; }
:where(.tsp) .ts-carousel-dots { display: flex; gap: 5px; justify-content: center; margin: -6px 0 6px; }
:where(.tsp) .ts-carousel-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--ts-line); transition: all .2s; }
:where(.tsp) .ts-carousel-dots i.is-on { width: 18px; border-radius: 3px; background: var(--ts-gold-deep); }
:where(.tsp) .ts-view-toggle { display: inline-flex; border: 1px solid var(--ts-line); border-radius: 999px; padding: 3px; background: #fff; }
:where(.tsp) .ts-view-toggle a { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 999px; font-size: 13.25px; font-weight: 600; color: var(--ts-ink-mute); text-decoration: none; }
:where(.tsp) .ts-view-toggle a.is-on { background: var(--ts-cream); color: var(--ts-gold-deep); }
:where(.tsp) .ts-view-toggle svg { width: 13px; height: 13px; }
:where(.tsp).ts-page.is-carousel .ts-grid > .ts-slot > .ts-card:hover { transform: none; }
@media (max-width: 760px) {
:where(.tsp).ts-page.is-carousel .ts-group .ts-grid > .ts-slot > .ts-card { flex-basis: 84vw; width: 84vw; }
:where(.tsp).ts-page.is-carousel .ts-group-head { top: 64px; }
}
:where(.tsp) .ts-cell.is-manual .ts-lock { display: inline-block; }
:where(.tsp) .ts-qpill.is-mobile {border-style:solid;border-color:rgba(27,122,78,.35);background:#fff;}
:where(.tsp) .ts-qpill.is-mobile::before {content:"";width:6px;height:6px;border-radius:50%;background:#1B7A4E;display:inline-block;flex-shrink:0;}
:where(.tsp) .ts-qpill.is-mobile:hover {border-color:#1B7A4E;color:#1B7A4E;}
:where(.tsp) .ts-qpill.is-mobile.is-on {background:var(--ts-cream);border-color:#1B7A4E;color:#1B7A4E;}
:where(.tsp) .ts-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:15px;}
@media (max-width:1180px) {
:where(.tsp) .ts-grid {grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px) {
:where(.tsp) .ts-grid {grid-template-columns:1fr;}
}
/* #4558 (Tatianna 06/10) — la recherche Talent en demi-écran (≈ 1120 px)
   passait à 2 cartes de 514 px. Les offres gardent 3 cartes par ligne
   jusqu'à 980 px (≈ 290 px par carte, la largeur d'une carte du carrousel),
   puis 2, puis 1 sous 640 px. Les 4 colonnes au-dessus de 1180 px ne
   changent pas. */
@media (max-width:1180px) and (min-width:981px) {
:where(.tsp) .ts-grid.te-cards-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
:where(.tsp) .te-quota { display:inline-flex; align-items:center; gap:7px; background:#FBF7EE; border:1px solid var(--gold-200); border-radius:999px; padding:6px 13px; line-height:1; box-shadow:0 2px 10px rgba(163,133,67,.10); position:relative; z-index:30; }
:where(.tsp) .te-quota-num { font-size:14px; font-weight:800; color:var(--gold-600); line-height:1; letter-spacing:-.01em; }
:where(.tsp) .te-quota-label { font-size:13.25px; font-weight:700; color:#1E1C18; white-space:nowrap; }
:where(.tsp) .te-quota-help { position:relative; display:inline-flex; }
:where(.tsp) .te-quota-help-btn { width:19px; height:19px; border-radius:999px; border:1.5px solid rgba(163,133,67,.5); color:var(--gold-500); background:transparent; cursor:pointer; font-family:inherit; font-size:13px; font-weight:700; line-height:1; display:flex; align-items:center; justify-content:center; transition:border-color .18s ease, color .18s ease; }
:where(.tsp) .te-quota-help:hover .te-quota-help-btn,
:where(.tsp) .te-quota-help-btn:focus-visible { border-color:var(--gold-600); color:var(--gold-600); outline:none; }
:where(.tsp) .te-quota-tip { position:absolute; top:calc(100% + 10px); right:-6px; left:auto; width:290px; background:#2C2C2C; color:#fff; font-size:13.75px; font-weight:400; line-height:1.5; padding:14px 16px; border-radius:14px; text-align:left; opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .18s ease, transform .18s ease, visibility .18s; z-index:40; box-shadow:0 12px 32px rgba(44,44,44,.22); }
:where(.tsp) .te-quota-tip::before { content:""; position:absolute; bottom:100%; right:14px; border:7px solid transparent; border-bottom-color:#2C2C2C; }
:where(.tsp) .te-quota-help:hover .te-quota-tip,
:where(.tsp) .te-quota-help-btn:focus-visible + .te-quota-tip { opacity:1; visibility:visible; transform:translateY(0); }
:where(.tsp) .te-opp-card {background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 14px rgba(0,0,0,.05);overflow:hidden;transition:all .3s;cursor:pointer;position:relative;display:flex;flex-direction:column;height:100%;}
:where(.tsp) .te-opp-card:hover {box-shadow:0 8px 30px rgba(0,0,0,.1);transform:translateY(-3px);}
:where(.tsp) .te-opp-photo {position:relative;aspect-ratio:16/10;overflow:visible;border-radius:14px 14px 0 0;}
:where(.tsp) .te-opp-photo-img {position:absolute;inset:0;background-size:cover;background-position:center;border-radius:14px 14px 0 0;}
:where(.tsp) .te-opp-mtab {position:absolute;right:0;bottom:0;transform:translateY(50%);z-index:6;display:inline-flex;border-radius:999px 0 0 999px;overflow:hidden;box-shadow:0 3px 12px rgba(30,28,24,.20);}
:where(.tsp) .te-opp-mtab .tsm-badge {border-radius:999px 0 0 999px;border-right:none;padding-right:11px;}
:where(.tsp).ts-page.no-ctx .te-opp-mtab {display:none;}
:where(.tsp) .te-opp-photo-grad {position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);pointer-events:none;}
:where(.tsp) .te-opp-estab-type {position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 9px 4px 8px;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;z-index:5;box-shadow:0 2px 6px rgba(0,0,0,.18);}
:where(.tsp) .te-opp-photo-badges {position:absolute;top:8px;right:8px;display:flex;gap:5px;z-index:5;}
:where(.tsp) .te-opp-photo-badge {font-size:11.5px;font-weight:800;padding:2px 7px;border-radius:100px;backdrop-filter:blur(8px);letter-spacing:.4px;}
:where(.tsp) .te-opp-photo-badge.featured {background:rgba(184,151,90,.92);color:#fff;}
:where(.tsp) .te-opp-photo-badge.urgent {background:rgba(211,47,47,.9);color:#fff;}
:where(.tsp) .te-opp-roletag {position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);color:#fff;font-size:12.75px;font-weight:600;padding:3px 9px;border-radius:6px;font-family:'Geist',system-ui,sans-serif;font-style:italic;z-index:4;}
:where(.tsp) .te-opp-info {padding:22px 12px 0;flex:1;display:flex;flex-direction:column;}
:where(.tsp) .te-opp-name-row {display:flex;align-items:center;gap:8px;}
:where(.tsp) .te-opp-name-block {display:flex;align-items:center;gap:5px;flex:1;min-width:0;}
:where(.tsp) .te-opp-name {font-family:'Geist',system-ui,sans-serif;font-size:15px;font-weight:700;color:#18140C;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
:where(.tsp) .te-opp-check {flex-shrink:0;}
:where(.tsp) .te-opp-logo {width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:rgba(255,255,255,.9);flex-shrink:0;}
:where(.tsp) .te-opp-role {font-size:13px;font-weight:600;color:var(--gold-300);margin-top:1px;}
:where(.tsp) .te-opp-status {display:flex;align-items:center;gap:9px;margin-top:5px;font-size:12.75px;color:#6B6560;flex-wrap:wrap;}
:where(.tsp) .te-opp-status-item {display:flex;align-items:center;gap:4px;}
:where(.tsp) .te-opp-dot-green {width:6px;height:6px;border-radius:50%;background:#1B7A4E;}
:where(.tsp) .te-opp-michelin {display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:100px;background:#C0392B;text-transform:uppercase;letter-spacing:.3px;}
:where(.tsp) .te-opp-michelin svg,
:where(.tsp) .te-opp-michelin img {width:9px;height:9px;}
:where(.tsp) .te-opp-michelin b {font-weight:800;color:#fff;font-size:12.25px;}
:where(.tsp) .te-opp-currently {margin-top:4px;font-size:13px;}
:where(.tsp) .te-opp-currently .te-opp-salary {color:var(--gold-600);font-weight:700;}
:where(.tsp) .te-opp-section-lbl {font-size:12px;font-weight:700;letter-spacing:1px;color:#A09890;text-transform:uppercase;margin:8px 0 4px;}
:where(.tsp) .te-opp-conds {display:flex;gap:5px;flex-wrap:wrap;}
:where(.tsp) .te-opp-cond {display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--gold-700);background:linear-gradient(180deg,#FBF4DC,var(--gold-200));border:1px solid rgba(184,151,90,.32);padding:2px 7px 2px 6px;border-radius:999px;line-height:1;}
:where(.tsp) .te-opp-cond svg {color:var(--gold-500);flex-shrink:0;}
:where(.tsp) .te-opp-info .ts-crit {margin:10px 0 0;padding-top:9px;}
:where(.tsp).te-page .te-opp-preview {margin-top:auto;width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--gold-300);background:linear-gradient(135deg,rgba(201,165,74,.10),rgba(232,204,110,.05));color:var(--gold-700);font-size:13px;font-weight:700;letter-spacing:.3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;transition:all .15s;}
:where(.tsp).te-page .te-opp-preview:hover {filter:brightness(1.03);border-color:var(--gold-primary);}
:where(.tsp) .te-opp-actions {padding:8px 12px 12px;display:flex;gap:8px;align-items:stretch;}
:where(.tsp) .te-opp-shortlist {flex:1;padding:9px 0;border-radius:8px;border:1.5px solid rgba(201,165,74,.45);background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.3px;color:var(--gold-deep);font-family:inherit;transition:all .15s;text-transform:uppercase;}
:where(.tsp) .te-opp-shortlist:hover {background:linear-gradient(135deg,rgba(201,165,74,.10),rgba(232,204,110,.05));border-color:var(--gold-300);}
:where(.tsp) .te-opp-shortlist.saved {background:linear-gradient(135deg,rgba(201,165,74,.18),rgba(232,204,110,.10));border-color:var(--gold-300);color:var(--gold-700);}
:where(.tsp) .te-opp-shortlist svg {flex-shrink:0;}
:where(.tsp).te-page .te-opp-apply {flex:1;padding:9px 0;border-radius:8px;border:none;background:var(--gold-fill, var(--ts-gold-luminous));color:var(--on-gold,#fff);text-shadow:var(--on-gold-shadow, 0 1px 2px rgba(60,44,10,.45));font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;}
:where(.tsp) .te-opp-apply:hover {filter:brightness(1.05);}
:where(.tsp) .ts-slot.is-sel .te-opp-card {box-shadow:0 0 0 2px var(--ts-gold), 0 10px 30px rgba(44,44,44,.10);}
:where(.tsp).ts-page.is-carousel .ts-group .ts-grid > .ts-slot > .te-opp-card {flex:0 0 292px;width:292px;scroll-snap-align:start;height:auto;}
:where(.tsp).ts-page.is-carousel .ts-grid > .ts-slot > .te-opp-card:hover {transform:none;}
@media (max-width:760px) {
:where(.tsp).ts-page.is-carousel .ts-group .ts-grid > .ts-slot > .te-opp-card {flex-basis:84vw;width:84vw;}
}
:where(.tsp).te-page .te-btn-gold { padding:12px; border-radius:8px; font-size:13.25px; font-weight:800; color:var(--on-gold,#fff); text-shadow:var(--on-gold-shadow, 0 1px 2px rgba(60,44,10,.45)); background:var(--gold-fill, var(--ts-gold-luminous)); box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 3px 10px rgba(150,120,62,.2); transition:all .2s; text-align:center; position:relative; overflow:hidden; white-space:nowrap; border:none; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; font-family:inherit; letter-spacing:.5px; flex:1; }
:where(.tsp).te-page .te-btn-gold:hover { background:linear-gradient(180deg,#000,#1a1a1a); color:var(--gold-edge); }
:where(.tsp).te-page .te-btn-outline { padding:12px 18px; border-radius:8px; font-size:13px; font-weight:700; color:#1a1a1a; background:#fff; border:1px solid rgba(0,0,0,.1); transition:all .2s; cursor:pointer; }
:where(.tsp).te-page .te-btn-outline:hover { border-color:var(--gold-400); color:var(--gold-400); }
:where(.tsp).te-page .te-btn-estab { width:100%; padding:11px 14px; border-radius:9999px; background:#fff; border:1.5px solid rgba(184,151,90,.35); color:var(--gold-500); font-weight:600; font-size:13.25px; letter-spacing:.3px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; }
:where(.tsp).te-page .te-btn-estab:hover { border-color:var(--gold-300); background:#FBF8F2; }
@media (max-width:760px) {
}
:where(.tsp) .ts-aug-recap-i { display: inline-flex; align-items: center; white-space: nowrap; flex: none; }
:where(.tsp) .ts-qpill.is-secteur { background: linear-gradient(90deg, #fff 0%, var(--ts-cream) 100%); border-color: var(--ts-line); border-style: solid; font-weight: 700; }
:where(.tsp) .ts-qpill.is-secteur:hover { border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.tsp) .ts-qpill.is-on { background: var(--ts-gold-deep); border-color: var(--ts-gold-deep); color: #fff; font-weight: 700; }
:where(.tsp) .ts-qpill.is-on:hover { background: var(--ts-gold-deep); border-color: var(--ts-gold-deep); color: #fff; }
:where(.tsp) .ts-qpill.is-mobile.is-on { background: var(--ts-cream); border-color: #1B7A4E; color: #1B7A4E; font-weight: 700; }
:where(.tsp) .ts-msg-past[data-step-key] .ts-aug-txt { cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; text-decoration-color: rgba(163,133,67,.5); }
:where(.tsp) .ts-msg-past[data-step-key] .ts-aug-txt:hover { color: var(--ts-gold-deep); }
:where(.tsp) .te-opp-conds + .te-opp-preview { margin-top: 4px; }
:where(.tsp) .qp-flag { width: 20px; height: 13px; border-radius: 2px; box-shadow: 0 0 0 .5px rgba(0,0,0,.14); display: inline-block; flex-shrink: 0; }
:where(.tsp) .ts-qp-lg-fl { display: inline-flex; align-items: center; flex-shrink: 0; }
:where(.tsp) .ts-qp-lg-fl .qp-flag { width: 22px; height: 15px; }
@media (max-width: 760px) {
:where(.tsp) .ts-welcome-portrait { right: 0; }
}

/* ═══ Écarts applicatifs ═══════════════════════════════════════════════════
   La maquette calcule en JavaScript ; ici menus, puces et entrées guidées
   sont des liens GET. Dans la maquette ce sont des <button>, que
   `.te-page button` (talent_explorer.css) dépouille de bordure et de fond, et
   que `.te-page a` ne touche pas : les liens reçoivent ici le même traitement,
   à spécificité égale. */
:where(.tsp) a.ts-adv-chip,
:where(.tsp) a.ts-qpill,
:where(.tsp) a.ts-reset { border: none; background: none; }
:where(.tsp) a.ts-adv-chip,
:where(.tsp) a.ts-qpill,
:where(.tsp) a.ts-menu-item { color: var(--ts-ink); text-decoration: none; }
:where(.tsp) a.ts-menu-item { display: flex; }
:where(.tsp) a.ts-adv-chip,
:where(.tsp) a.ts-qpill { display: inline-flex; align-items: center; }

/* Menus des cellules : rendus par le serveur, ouverts par le contrôleur. */
:where(.tsp) .ts-menu[hidden] { display: none; }

/* Valeurs posées en style dans la maquette (premier groupe, grille du salaire). */
:where(.tsp) .ts-adv-chipgroup.ts-adv-first { margin-top: 0; }
:where(.tsp) form.ts-adv-grid { margin-top: 16px; }

/* Nombre de filtres actifs sur « Voir les filtres » (la maquette le pose en JS
   sans style propre : celui de la pastille des pills d'Auguste). */
:where(.tsp) .ts-filters-n { font-weight: 700; font-size: 13px; color: var(--ts-gold-deep); background: var(--ts-cream); border: 1px solid var(--ts-cream-border); border-radius: 999px; padding: 1px 7px; }

/* Le bouton loupe de la barre de filtres : dans la maquette, `.te-page button`
   lui retire son fond doré et l'icône blanche disparaît sur fond blanc. Écart
   voulu : le fond de sa propre règle lui est rendu. */
.tsp .ts-search-btn { background: var(--ts-gold-luminous); }

/* Tri et qualité de match : un formulaire GET autour du select. */
:where(.tsp) .ts-results-sort .ts-pill form { display: contents; }

/* ═══ Retours Tatianna du 05/10 (GO Colin 06/10), branche retours-0610-recherche ═══
   Valeurs posées après la maquette, d'où le bloc en fin de feuille. */

/* #4462 — bandeau 15 % moins haut (380 → 323 px, marges et portrait au prorata). */
:where(.tsp) .ts-welcome-inner { min-height: 323px; padding: 30px 48px 112px; }
:where(.tsp) .ts-welcome-portrait { height: 289px; bottom: 26px; }
:where(.tsp) .ts-welcome-kicker { margin-bottom: 10px; }
:where(.tsp) .ts-welcome-title { font-size: 46px; margin-bottom: 10px; }
:where(.tsp) .ts-welcome .ts-ubar-wrap { margin-top: -92px; }
@media (max-width: 1100px) {
:where(.tsp) .ts-welcome-inner { min-height: 306px; }
:where(.tsp) .ts-welcome-portrait { height: 255px; bottom: 34px; }
:where(.tsp) .ts-welcome-title { font-size: 36px; }
}
@media (max-width: 760px) {
:where(.tsp) .ts-welcome-inner { min-height: 0; padding: 20px 20px 100px; }
:where(.tsp) .ts-welcome-portrait { height: 145px; }
:where(.tsp) .ts-welcome-title { font-size: 28px; }
:where(.tsp) .ts-welcome .ts-ubar-wrap { margin-top: -72px; }
}

/* #4462 option A — l'accueil d'Auguste tient dans la barre, sur une ligne. */
:where(.tsp) .ts-greet { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 2px 6px 0; padding: 7px 8px 3px; border-top: 1px solid var(--ts-line); font-size: 13.25px; color: var(--ts-ink-mute); }
:where(.tsp) .ts-greet-txt { margin-right: 2px; }
:where(.tsp) .ts-greet .ts-qpill { font-size: 13px; padding: 4px 11px; animation: none; }

/* #4462 — les filtres s'ouvrent PAR-DESSUS les résultats : le panneau vit dans
   le bandeau (contexte d'empilement au-dessus des résultats) et s'en détache. */
:where(.tsp) .ts-welcome > .ts-filters { position: absolute; top: calc(100% + 10px); left: 40px; right: 40px; margin: 0 auto; z-index: 20; border-radius: 24px; box-shadow: 0 18px 44px rgba(44,44,44,0.16); }
:where(.tsp).ts-page:has(#ts-filters:not([hidden])) .ts-welcome-inner { border-radius: 28px 28px 0 0; }
@media (max-width: 760px) {
:where(.tsp) .ts-welcome > .ts-filters { left: 12px; right: 12px; padding: 0 12px; }
}

/* #4464 — le tri : même gabarit que la pastille des candidatures, sans le
   grand encadré blanc autour (`.ts-results-sort` de recruiter_talent_search.css). */
.tsp .ts-results-sort { border: none; background: none; padding: 0; box-shadow: none; gap: 7px; font-size: 13.25px; }
.tsp .ts-results-sort .ts-pill { min-height: 33px; box-sizing: border-box; padding: 6px 13px; line-height: 1; border: 1px solid var(--gold-200); background: var(--n-0); border-radius: 999px; }
.tsp .ts-results-sort select { font-size: 13.25px; font-weight: 700; line-height: 1; padding: 0 2px 0 0; height: auto; }

/* #4475 — un seul groupe : son intitulé est l'en-tête, sur la ligne du tri. */
:where(.tsp) .ts-group-head--inline { margin-bottom: 0; }

/* #4463 — marqueur de type d'établissement 10 % plus petit (12,5 → 11,25 px). */
:where(.tsp) .te-opp-estab-type { font-size: 11.25px; padding: 3.5px 8px 3.5px 7px; gap: 3.5px; }

/* #4469 — « Urgent » seul sur la photo, en rouge comme la maquette. */
:where(.tsp) .te-opp-photo-badge.urgent { background: var(--red); color: var(--n-0); }

/* #4474 — le marqueur de compatibilité est visible hors recherche IA. */
:where(.tsp).ts-page.no-ctx .te-opp-mtab { display: inline-flex; }

/* #4470 — cartes plus compactes (maquette) : photo 16/9, marges resserrées. */
:where(.tsp) .te-opp-photo { aspect-ratio: 16/9; }
:where(.tsp) .te-opp-info { padding: 16px 12px 0; }
:where(.tsp) .te-opp-card:has(.te-opp-mtab) .te-opp-info { padding-top: 22px; } /* #4709 : languette plus haute de 4 px */
:where(.tsp) .te-opp-status { margin-top: 4px; }
:where(.tsp) .te-opp-section-lbl { margin: 7px 0 4px; }
:where(.tsp) .te-opp-actions { padding: 8px 12px 12px; }
:where(.tsp) .te-opp-shortlist,
:where(.tsp).te-page .te-opp-apply { padding: 8px 0; }

/* #4471 — l'intitulé du poste dans le doré foncé du texte « Aperçu rapide ». */
:where(.tsp) .te-opp-role { color: var(--gold-700); }

/* #4467 — badge Michelin 25 % plus petit. */
:where(.tsp) .te-opp-michelin { gap: 2px; padding: 1.5px 6px; letter-spacing: .2px; }
:where(.tsp) .te-opp-michelin b { font-size: 9.25px; }
:where(.tsp) .te-opp-michelin svg,
:where(.tsp) .te-opp-michelin img { width: 7px; height: 7px; }

/* #4468 — pastilles d'avantages 15 à 20 % plus petites, sur le crème du design
   system (--gold-50 #FBF7EE, bord --gold-100 #F4EBD2). */
:where(.tsp) .te-opp-conds { gap: 4px; }
:where(.tsp) .te-opp-cond { font-size: 10.5px; padding: 2px 6px 2px 5px; gap: 3px; background: var(--gold-50); border-color: var(--gold-100); }
:where(.tsp) .te-opp-cond svg { width: 8px; height: 8px; }

/* #4466 — « Aperçu rapide » sur la même ligne d'une carte à l'autre : il
   descend en bas du bloc, quel que soit le nombre d'avantages. */
:where(.tsp) .te-opp-conds + .te-opp-preview,
:where(.tsp).te-page .te-opp-preview { margin-top: auto; }
:where(.tsp) .te-opp-info > :nth-last-child(2) { margin-bottom: 10px; }

/* #4485 — « Candidature envoyée » tient dans sa moitié de carte. */
:where(.tsp).te-page .te-opp-apply-sent { font-size: 10.5px; letter-spacing: .2px; line-height: 1.2; padding: 8px 6px; white-space: normal; }
/* Ouvert, le panneau passe au-dessus de tout ce qui suit le bandeau, y compris
   la pastille des candidatures (z-index 30, son infobulle 40). */
:where(.tsp).ts-page:has(#ts-filters:not([hidden])) .ts-welcome { z-index: 50; }
/* #4466 + #4485 : la rangée d'actions a la même hauteur sur toutes les cartes,
   que « Candidature envoyée » tienne sur une ligne ou sur deux ; sinon
   « Aperçu rapide » remonterait de quelques pixels sur la carte concernée. */
:where(.tsp) .te-opp-actions > .te-opp-shortlist,
:where(.tsp).te-page .te-opp-actions > .te-opp-apply { min-height: 36px; box-sizing: border-box; }
:where(.tsp).te-page .te-opp-apply-sent { padding-top: 4px; padding-bottom: 4px; }

/* #4472 (Tatianna 05/10) — la case de sélection de la carte d'offre, « sur la
   droite » : la gauche de la photo porte le type de Maison. Les pastilles
   (Urgent, Shortlistée) se décalent pour ne pas passer dessous. */
:where(.tsp).ts-page .te-opp-sel { left: auto; right: 10px; top: 10px; z-index: 6; }
:where(.tsp) .te-opp-sel ~ .te-opp-photo-badges,
:where(.tsp) .te-opp-photo-badges:has(~ .te-opp-sel) { right: 40px; }
/* #4628 (Tatianna 07/10) annule le côté de #4472 : « miroir de la recherche
   Talent côté recruteur », la case passe en haut à GAUCHE (comme `.ts-sel`
   des cartes Talents) et le type de Maison (« Palace ») à droite. Les
   pastilles Urgent / Shortlistée se rangent sous le type, à droite. */
:where(.tsp).ts-page .te-opp-sel { left: 10px; right: auto; }
:where(.tsp) .te-opp-card:has(.te-opp-sel) .te-opp-estab-type { left: auto; right: 10px; }
:where(.tsp) .te-opp-card:has(.te-opp-sel) .te-opp-photo-badges { right: 8px; top: 40px; }
:where(.tsp) .te-opp-photo-badge--saved { background: var(--n-0); color: var(--gold-deep); border: 1px solid var(--gold-300); }
/* #4473 — « Contacter » garde le dessin du bouton secondaire de la carte. */
:where(.tsp) .te-opp-contact, :where(.tsp) .te-opp-view { text-decoration: none; }

/* ═══ Retours Tatianna du 07/10 (GO Colin 07/10), branche recherches-0710 ═══ */

/* #4627 : Auguste posé sur le bas du bandeau (il « flottait » à 26 px du bas,
   avec un fondu vers le bas) : collé au bord, seul le fondu latéral reste.
   Sous 760 px le portrait reste en haut à droite, la barre de saisie couvre
   tout le bas du bandeau. */
:where(.tsp) .ts-welcome-portrait { bottom: 0; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%); }
@media (max-width: 1100px) {
:where(.tsp) .ts-welcome-portrait { bottom: 0; }
}
@media (max-width: 760px) {
:where(.tsp) .ts-welcome-portrait { bottom: auto; -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%); }
}

/* #4640 : texte des boutons d'action des cartes 11,5 % plus petit (13 → 11,5 px). */
:where(.tsp) .te-opp-shortlist,
:where(.tsp).te-page .te-opp-apply:not(.te-opp-apply-sent) { font-size: 11.5px; }
