
#dash-root { --dash-gutter: clamp(10px, 2vw, 24px); }
.tr { font-family: var(--font-anthropic-sans); color: var(--tf); display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--cds-gap-xl); align-items: start; }
.tr *, .tr *::before, .tr *::after { box-sizing: border-box; }
.tr button, .tr input, .tr select { font: inherit; color: inherit; }
.tr :focus-visible { outline: 2px solid var(--tf); outline-offset: 2px; }
.tr-ico { width: 1.05rem; height: 1.05rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tr-ico-sm { width: .9rem; height: .9rem; }

/* ===== Sidebar ===== */
.tr-side { position: sticky; top: env(safe-area-inset-top, 0px); display: grid; gap: var(--cds-gap-md); padding-block: var(--cds-pad-xs); }
.tr-brand { display: flex; align-items: center; gap: var(--cds-gap-sm); padding: var(--cds-pad-xs) var(--cds-pad-sm); }
.tr-logo { width: 2.25rem; height: 2.25rem; flex: none; }
.tr-brand-name { font-family: var(--font-anthropic-sans); font-size: var(--cds-font-size-heading); line-height: 1.05; }
.tr-brand-sub { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-nav { display: grid; gap: 1px; }
.tr-nav-label { font-size: var(--cds-font-size-caption); color: var(--tm); text-transform: uppercase; letter-spacing: .07em; padding: var(--cds-pad-md) var(--cds-pad-sm) var(--cds-pad-xs); }
.tr-nav button { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: var(--cds-gap-sm); padding: .5rem var(--cds-pad-sm); border-radius: var(--cds-radius); color: var(--tm); white-space: nowrap; position: relative; }
.tr-nav button:hover { background: var(--tp); color: var(--tf); }
.tr-nav button[aria-current="page"] { background: var(--tp); color: var(--tf); font-weight: var(--cds-font-weight-medium); box-shadow: inset 0 0 0 1px var(--tl); }
.tr-nav button[aria-current="page"]::before { content: ""; position: absolute; left: -.5rem; top: .45rem; bottom: .45rem; width: 3px; border-radius: 3px; background: var(--tr-accent); }
.tr-nav button:focus-visible { outline: 2px solid var(--tf); }
.tr-badge { margin-left: auto; font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; padding: 0 .45rem; border-radius: 999px; background: var(--tb); border: 1px solid var(--tl); color: var(--tm); min-width: 1.6rem; text-align: center; }
.tr-soon { margin-left: auto; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; padding: 0 .4rem; border-radius: 999px; border: 1px dashed var(--tl); color: var(--tm); }
.tr-status { display: grid; gap: var(--cds-gap-xs); padding: var(--cds-pad-md); border-radius: var(--cds-radius); background: var(--tp); border: 1px solid var(--tl); font-size: var(--cds-font-size-caption); color: var(--tm); line-height: 1.45; }
.tr-status-t { display: flex; align-items: center; gap: var(--cds-gap-sm); color: var(--tf); font-weight: var(--cds-font-weight-medium); }
.tr-live { width: .5rem; height: .5rem; border-radius: 50%; background: var(--tok); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tok) 22%, transparent); }

/* ===== Top bar ===== */
.tr-main { min-width: 0; display: grid; gap: var(--cds-gap-lg); }
.tr-top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cds-gap-md); justify-content: space-between; position: relative; z-index: 5; }
.tr-search { position: relative; flex: 1 1 20rem; max-width: 36rem; min-width: 0; }
.tr-search > .tr-ico { position: absolute; left: .8rem; top: 50%; transform: translateY(-50%); color: var(--tm); pointer-events: none; }
.tr-search input { width: 100%; font-size: var(--cds-font-size-body); background: var(--tp); border: 1px solid var(--tl); border-radius: 999px; padding: .55rem 3rem .55rem 2.3rem; }
.tr-kbd { position: absolute; right: .7rem; top: 50%; transform: translateY(-50%); font-size: .7rem; color: var(--tm); border: 1px solid var(--tl); border-radius: 4px; padding: 0 .35rem; pointer-events: none; }
.tr-drop { position: absolute; left: 0; right: 0; top: calc(100% + 6px); background: var(--tpop); border: 1px solid var(--tl); border-radius: var(--cds-radius); box-shadow: 0 12px 32px rgba(0,0,0,.45); padding: var(--cds-pad-xs); max-height: 26rem; overflow: auto; }
.tr-drop-h { font-size: var(--cds-font-size-caption); color: var(--tm); text-transform: uppercase; letter-spacing: .06em; padding: var(--cds-pad-sm) var(--cds-pad-sm) var(--cds-pad-xs); }
.tr-drop button { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr) auto; gap: var(--cds-gap-sm); align-items: center; width: 100%; padding: .4rem var(--cds-pad-sm); border-radius: var(--cds-radius); }
.tr-drop button:hover, .tr-drop button.is-active { background: var(--tp); }
.tr-drop-n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-drop-m { font-size: var(--cds-font-size-caption); color: var(--tm); white-space: nowrap; }
.tr-drop-empty { padding: var(--cds-pad-md); font-size: var(--cds-font-size-caption); color: var(--tm); text-align: center; }
.tr-top-r { display: flex; align-items: center; gap: var(--cds-gap-sm); font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-pill { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .7rem; border-radius: 999px; border: 1px solid var(--tl); background: var(--tp); white-space: nowrap; }

/* ===== Page scaffolding ===== */
.tr-page { display: grid; gap: var(--cds-gap-lg); min-width: 0; }
.tr-crumbs { display: flex; align-items: center; gap: .4rem; font-size: var(--cds-font-size-caption); color: var(--tm); flex-wrap: wrap; }
.tr-crumbs button { all: unset; cursor: pointer; }
.tr-crumbs button:hover { color: var(--tf); text-decoration: underline; text-underline-offset: 3px; }
.tr-ph { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--cds-gap-md); }
.tr-ph-t { display: grid; gap: var(--cds-gap-xs); min-width: 0; }
.tr-ph h1 { margin: 0; font-family: var(--font-anthropic-sans); font-weight: 400; font-size: calc(var(--cds-font-size-title) * 1.2); line-height: 1.1; text-wrap: balance; }
.tr-ph p { margin: 0; color: var(--tm); max-width: 68ch; line-height: 1.55; }
.tr-strong { color: var(--tf); font-weight: var(--cds-font-weight-medium); }
.tr-h2row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cds-gap-md); flex-wrap: wrap; }
.tr-h2 { margin: 0; font-size: var(--cds-font-size-heading); font-weight: var(--cds-font-weight-medium); }
.tr-sub { margin: 0; font-size: var(--cds-font-size-caption); color: var(--tm); line-height: 1.5; }
.tr-link { all: unset; cursor: pointer; font-size: var(--cds-font-size-caption); color: var(--tm); display: inline-flex; align-items: center; gap: .3rem; }
.tr-link:hover { color: var(--tf); }
.tr-card { background: var(--tp); border: 1px solid var(--tl); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); min-width: 0; display: grid; gap: var(--cds-gap-sm); align-content: start; }
.tr-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: var(--cds-gap-md); }
.tr-btn { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; font-size: var(--cds-font-size-caption); padding: .4rem .8rem; border-radius: 999px; border: 1px solid var(--tl); background: var(--tp); color: var(--tf); white-space: nowrap; }
.tr-btn:hover { border-color: var(--tm); }
.tr-btn-solid { background: var(--tf); color: var(--tb); border-color: var(--tf); }
.tr-btn-solid:hover { opacity: .88; }
.tr-btn:focus-visible { outline: 2px solid var(--tf); outline-offset: 2px; }

/* KPIs */
.tr-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr)); gap: var(--cds-gap-md); }
.tr-kpi { display: grid; gap: var(--cds-gap-xs); }
.tr-kpi-l { display: flex; align-items: center; gap: .4rem; font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-kpi-v { font-family: var(--font-anthropic-sans); font-weight: 400; font-size: var(--cds-font-size-title); line-height: 1.12; font-variant-numeric: tabular-nums; min-height: 1.12em; overflow-wrap: anywhere; }
.tr-kpi-n { font-size: var(--cds-font-size-caption); color: var(--tm); }

/* Avatars, rings, tags */
.tr-av { width: 2.25rem; height: 2.25rem; border-radius: calc(var(--cds-radius) + 2px); display: grid; place-items: center; font-family: var(--font-anthropic-sans); font-size: 1.05rem; flex: none; }
.tr-av-xl { width: 4rem; height: 4rem; font-size: 1.8rem; border-radius: calc(var(--cds-radius) + 6px); box-shadow: 0 0 0 3px var(--tp); }
.tr-thumb { width: 2.25rem; height: 2.25rem; border-radius: calc(var(--cds-radius) + 2px); object-fit: cover; display: block; flex: none; background: var(--tb); }
.tr-ring { width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; flex: none; }
.tr-ring-lg { width: 4.75rem; height: 4.75rem; }
.tr-ring-in { width: calc(100% - 7px); height: calc(100% - 7px); border-radius: 50%; background: var(--tp); display: grid; place-items: center; font-variant-numeric: tabular-nums; font-weight: var(--cds-font-weight-medium); font-size: var(--cds-font-size-caption); }
.tr-ring-lg .tr-ring-in { font-family: var(--font-anthropic-sans); font-weight: 400; font-size: var(--cds-font-size-heading); width: calc(100% - 10px); height: calc(100% - 10px); }
.tr-tags { display: flex; flex-wrap: wrap; gap: var(--cds-gap-xs); }
.tr-tag { font-size: var(--cds-font-size-caption); padding: 0 .55rem; border-radius: 999px; border: 1px solid var(--tl); color: var(--tm); line-height: 1.7; white-space: nowrap; }
.tr-tag-bad { color: var(--tbad); }
.tr-up { color: var(--tok); }
.tr-warn { color: var(--twarn); }
.tr-down { color: var(--tbad); }
.tr-dot { display: inline-block; width: .45rem; height: .45rem; border-radius: 50%; margin-right: .35rem; vertical-align: middle; background: currentColor; }

/* ===== Explorer ===== */
.tr-presets { display: flex; gap: var(--cds-gap-xs); overflow-x: auto; padding-bottom: 2px; }
.tr-preset { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; font-size: var(--cds-font-size-caption); padding: .35rem .8rem; border-radius: 999px; border: 1px solid var(--tl); color: var(--tm); background: var(--tp); white-space: nowrap; }
.tr-preset:hover { color: var(--tf); }
.tr-preset[aria-pressed="true"] { background: var(--tf); color: var(--tb); border-color: var(--tf); }
.tr-preset:focus-visible { outline: 2px solid var(--tf); outline-offset: 2px; }
.tr-filters { display: flex; flex-wrap: wrap; gap: var(--cds-gap-md); align-items: end; padding: var(--cds-pad-md) var(--cds-pad-lg); }
.tr-f { display: grid; gap: .3rem; min-width: 0; }
.tr-f label, .tr-f .tr-f-l { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-f select, .tr-f input[type="number"], .tr-f input[type="search"] { font-size: var(--cds-font-size-caption); background: var(--tb); border: 1px solid var(--tl); border-radius: var(--cds-radius); padding: .4rem .55rem; min-width: 0; }
.tr-f input[type="number"] { width: 5.5rem; }
.tr-f input[type="range"] { width: 9rem; accent-color: var(--tr-accent); }
.tr-range { display: flex; align-items: center; gap: var(--cds-gap-sm); font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; }
.tr-f-sep { color: var(--tm); font-size: var(--cds-font-size-caption); }
.tr-seg { display: inline-flex; border: 1px solid var(--tl); border-radius: 999px; padding: 2px; background: var(--tp); }
.tr-seg button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: .35rem; font-size: var(--cds-font-size-caption); padding: .3rem .7rem; border-radius: 999px; color: var(--tm); }
.tr-seg button[aria-pressed="true"] { background: var(--tb); color: var(--tf); box-shadow: 0 0 0 1px var(--tl); }
.tr-seg button:focus-visible { outline: 2px solid var(--tf); }
.tr-count { font-size: var(--cds-font-size-caption); color: var(--tm); font-variant-numeric: tabular-nums; }

/* Data list (table-like) */
.tr-dl { background: var(--tp); border: 1px solid var(--tl); border-radius: var(--cds-radius); overflow-x: auto; }
.tr-dl-in { min-width: 62rem; }
.tr-dr { display: grid; grid-template-columns: 2rem minmax(13rem, 2.2fr) minmax(8rem, 1.1fr) 5.5rem 7.5rem 7.5rem 6rem 5.5rem 8.5rem 6.5rem; gap: var(--cds-gap-sm); align-items: center; padding: .6rem var(--cds-pad-md); border-bottom: 1px solid var(--tl); }
.tr-dr:last-child { border-bottom: 0; }
.tr-dh { position: sticky; top: 0; background: var(--tp); z-index: 1; padding-block: .5rem; }
.tr-dh button { all: unset; cursor: pointer; font-size: var(--cds-font-size-caption); color: var(--tm); white-space: nowrap; }
.tr-dh button:hover, .tr-dh button[aria-sort="ascending"], .tr-dh button[aria-sort="descending"] { color: var(--tf); }
.tr-dh button[aria-sort="ascending"]::after { content: " ↑"; }
.tr-dh button[aria-sort="descending"]::after { content: " ↓"; }
.tr-dh span { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-dr-body { cursor: pointer; transition: background var(--cds-dur-slow); }
.tr-dr-body:hover { background: var(--tb); }
.tr-rank { font-size: var(--cds-font-size-caption); color: var(--tm); font-variant-numeric: tabular-nums; }
.tr-shopcell { display: flex; align-items: center; gap: var(--cds-gap-sm); min-width: 0; }
.tr-shopcell-t { min-width: 0; }
.tr-shopname { font-weight: var(--cds-font-weight-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-shopdom { font-size: var(--cds-font-size-caption); color: var(--tm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tr-cellbar { display: grid; gap: .25rem; justify-items: end; }
.tr-track { width: 100%; max-width: 5.5rem; height: .3rem; border-radius: 999px; background: var(--tgrid); overflow: hidden; }
.tr-fill { display: block; height: 100%; border-radius: 999px; }
.tr-vit { display: flex; gap: 3px; justify-content: flex-start; }
.tr-vit img, .tr-vit span { width: 2.6rem; height: 2rem; border-radius: 4px; object-fit: cover; display: block; background: var(--tb); border: 1px solid var(--tl); }
.tr-go { justify-self: end; }

/* Store cards */
.tr-sgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: var(--cds-gap-md); }
.tr-store { all: unset; box-sizing: border-box; cursor: pointer; background: var(--tp); border: 1px solid var(--tl); border-radius: var(--cds-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr; min-width: 0; transition: border-color var(--cds-dur-slow), transform var(--cds-dur-slow); }
.tr-store:hover { border-color: var(--tm); transform: translateY(-2px); }
.tr-store:focus-visible { outline: 2px solid var(--tf); outline-offset: 2px; }
.tr-store-cv { position: relative; aspect-ratio: 2 / 1; max-width: 100%; background: var(--tb); overflow: hidden; }
.tr-store-cv img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tr-store-cv .tr-av { position: absolute; left: var(--cds-pad-md); bottom: -1.1rem; box-shadow: 0 0 0 3px var(--tp); }
.tr-store-rank { position: absolute; top: var(--cds-pad-sm); left: var(--cds-pad-sm); font-size: var(--cds-font-size-caption); background: var(--tp); padding: 0 .5rem; border-radius: 999px; line-height: 1.7; font-variant-numeric: tabular-nums; }
.tr-store-b { padding: 1.5rem var(--cds-pad-md) var(--cds-pad-md); display: grid; gap: var(--cds-gap-sm); align-content: start; }
.tr-store-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--cds-gap-sm); align-items: center; }
.tr-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cds-gap-sm); border-top: 1px solid var(--tl); padding-top: var(--cds-pad-sm); }
.tr-stat-l { font-size: .72rem; color: var(--tm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tr-stat-v { font-variant-numeric: tabular-nums; font-weight: var(--cds-font-weight-medium); white-space: nowrap; }

/* Product cards */
.tr-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14.5rem), 1fr)); gap: var(--cds-gap-md); }
.tr-prod { all: unset; box-sizing: border-box; cursor: pointer; background: var(--tp); border: 1px solid var(--tl); border-radius: var(--cds-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr; min-width: 0; transition: border-color var(--cds-dur-slow), transform var(--cds-dur-slow); }
.tr-prod:hover { border-color: var(--tm); transform: translateY(-2px); }
.tr-prod:focus-visible { outline: 2px solid var(--tf); outline-offset: 2px; }
.tr-prod-img { position: relative; aspect-ratio: 4 / 3; max-width: 100%; background: var(--tb); overflow: hidden; display: grid; place-items: center; }
.tr-prod-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tr-prod-img > span { font-family: var(--font-anthropic-sans); font-size: 2.2rem; }
.tr-badges { position: absolute; top: var(--cds-pad-sm); left: var(--cds-pad-sm); right: var(--cds-pad-sm); display: flex; justify-content: space-between; gap: var(--cds-gap-xs); z-index: 1; }
.tr-b { font-size: .72rem; background: var(--tp); color: var(--tf); border-radius: 999px; padding: 0 .5rem; line-height: 1.75; white-space: nowrap; }
.tr-b-new { background: var(--tf); color: var(--tb); }
.tr-b-off { color: var(--tbad); }
.tr-prod-b { padding: var(--cds-pad-md); display: grid; gap: .3rem; align-content: start; }
.tr-prod-shop { display: flex; align-items: center; gap: .4rem; font-size: var(--cds-font-size-caption); color: var(--tm); min-width: 0; }
.tr-prod-shop .tr-av { width: 1.25rem; height: 1.25rem; font-size: .7rem; border-radius: 4px; }
.tr-prod-n { font-weight: var(--cds-font-weight-medium); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tr-price { display: flex; align-items: baseline; gap: var(--cds-gap-sm); font-variant-numeric: tabular-nums; }
.tr-price b { font-weight: var(--cds-font-weight-medium); }
.tr-price s { color: var(--tm); font-size: var(--cds-font-size-caption); }
.tr-prod-d { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(12.5rem, 1fr); gap: var(--cds-gap-md); overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }
.tr-strip > * { scroll-snap-align: start; }

/* Shop page */
.tr-hero { position: relative; border-radius: var(--cds-radius); overflow: hidden; border: 1px solid var(--tl); background: var(--tp); }
.tr-hero-cv { position: relative; aspect-ratio: 5 / 1; max-width: 100%; background: var(--tb); overflow: hidden; }
.tr-hero-cv img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tr-hero-b { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--cds-gap-md); align-items: end; padding: 0 var(--cds-pad-lg) var(--cds-pad-lg); margin-top: -2rem; position: relative; }
.tr-hero-b h1 { margin: 0; font-family: var(--font-anthropic-sans); font-weight: 400; font-size: calc(var(--cds-font-size-title) * 1.15); line-height: 1.1; }
.tr-hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cds-gap-sm); margin-top: .35rem; font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-hero-meta a { color: inherit; }
.tr-hero-act { display: flex; gap: var(--cds-gap-sm); align-items: center; }
.tr-tabs { display: flex; gap: var(--cds-gap-md); border-bottom: 1px solid var(--tl); overflow-x: auto; }
.tr-tabs button { all: unset; cursor: pointer; padding: .55rem 0; font-size: var(--cds-font-size-body); color: var(--tm); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; display: inline-flex; gap: .4rem; align-items: center; }
.tr-tabs button:hover { color: var(--tf); }
.tr-tabs button[aria-selected="true"] { color: var(--tf); border-bottom-color: var(--tr-accent); font-weight: var(--cds-font-weight-medium); }
.tr-tabs button:focus-visible { outline: 2px solid var(--tf); }
.tr-signals { display: grid; gap: var(--cds-gap-sm); margin: 0; padding: 0; list-style: none; }
.tr-signals li { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); gap: var(--cds-gap-sm); align-items: start; line-height: 1.5; }
.tr-sig-i { width: 1.6rem; height: 1.6rem; border-radius: 6px; display: grid; place-items: center; background: var(--tb); border: 1px solid var(--tl); }
.tr-cmp { display: grid; gap: var(--cds-gap-md); }
.tr-cmp-row { display: grid; gap: .35rem; }
.tr-cmp-h { display: flex; justify-content: space-between; gap: var(--cds-gap-sm); font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-cmp-bars { display: grid; gap: 4px; }
.tr-cmp-bar { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) 4.5rem; gap: var(--cds-gap-sm); align-items: center; font-size: var(--cds-font-size-caption); }
.tr-cmp-bar .tr-track { max-width: none; height: .5rem; }
.tr-cmp-bar .tr-num { color: var(--tf); }

/* Product page */
.tr-pp { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--cds-gap-xl); align-items: start; }
.tr-pp-img { position: relative; aspect-ratio: 4 / 3; max-width: 100%; border-radius: var(--cds-radius); overflow: hidden; background: var(--tp); border: 1px solid var(--tl); display: grid; place-items: center; }
.tr-pp-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tr-pp-img > span { font-family: var(--font-anthropic-sans); font-size: 4rem; }
.tr-pp-info { display: grid; gap: var(--cds-gap-md); align-content: start; }
.tr-pp-info h1 { margin: 0; font-family: var(--font-anthropic-sans); font-weight: 400; font-size: calc(var(--cds-font-size-title) * 1.1); line-height: 1.15; }
.tr-pp-price { display: flex; align-items: baseline; gap: var(--cds-gap-md); font-variant-numeric: tabular-nums; }
.tr-pp-price b { font-family: var(--font-anthropic-sans); font-weight: 400; font-size: var(--cds-font-size-title); }
.tr-pp-price s { color: var(--tm); }
.tr-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cds-gap-sm); }
.tr-fact { padding: var(--cds-pad-sm) var(--cds-pad-md); border-radius: var(--cds-radius); background: var(--tp); border: 1px solid var(--tl); display: grid; gap: .15rem; }
.tr-fact-l { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-fact-v { font-weight: var(--cds-font-weight-medium); overflow-wrap: anywhere; }
.tr-shoplink { all: unset; cursor: pointer; display: flex; align-items: center; gap: var(--cds-gap-sm); padding: var(--cds-pad-sm) var(--cds-pad-md); border-radius: var(--cds-radius); border: 1px solid var(--tl); background: var(--tp); }
.tr-shoplink:hover { border-color: var(--tm); }

/* Charts */
.tr-chart { position: relative; min-height: 14rem; }
.tr-chart svg { display: block; }
.tr-chart text { font-family: var(--font-anthropic-sans); font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; }
.tr-tip { position: absolute; z-index: 3; pointer-events: none; background: var(--tpop); border: 1px solid var(--tl); border-radius: var(--cds-radius); box-shadow: 0 12px 32px rgba(0,0,0,.45); padding: var(--cds-pad-xs) var(--cds-pad-sm); font-size: var(--cds-font-size-caption); white-space: nowrap; }
.tr-tip-k { color: var(--tm); }
.tr-wait { display: flex; align-items: center; justify-content: center; min-height: inherit; text-align: center; padding: var(--cds-pad-md); font-size: var(--cds-font-size-caption); color: var(--tm); line-height: 1.5; }
.tr-niche { display: grid; gap: var(--cds-gap-sm); }
.tr-niche-r { display: grid; grid-template-columns: minmax(7rem, 11rem) minmax(0, 1fr) 2.5rem; gap: var(--cds-gap-sm); align-items: center; font-size: var(--cds-font-size-caption); }
.tr-niche-r .tr-track { max-width: none; height: .55rem; }

/* Tracker */
.tr-tk .tr-dr { grid-template-columns: minmax(13rem, 2fr) 7rem 7rem 7rem 7rem 7rem 8rem; }
.tr-tk .tr-dl-in { min-width: 56rem; }
.tr-delta { font-size: var(--cds-font-size-caption); }

/* Empty, method */
.tr-empty { display: grid; justify-items: center; text-align: center; gap: var(--cds-gap-sm); padding: var(--cds-pad-xl) var(--cds-pad-lg); }
.tr-empty .tr-ico { width: 2.2rem; height: 2.2rem; color: var(--tm); }
.tr-empty h2 { margin: 0; font-size: var(--cds-font-size-heading); font-weight: var(--cds-font-weight-medium); }
.tr-empty p { margin: 0; color: var(--tm); max-width: 54ch; line-height: 1.55; }
.tr-ghost { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: var(--cds-gap-md); width: 100%; margin-top: var(--cds-gap-md); }
.tr-ghost div { aspect-ratio: 4 / 5; max-width: 100%; border-radius: var(--cds-radius); border: 1px dashed var(--tl); background: repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--tl) 35%, transparent) 10px 11px); }
.tr-steps { margin: 0; padding-left: 1.2rem; display: grid; gap: var(--cds-gap-sm); color: var(--tm); line-height: 1.55; max-width: 74ch; }
.tr-steps b { color: var(--tf); font-weight: var(--cds-font-weight-medium); }
.tr-none { padding: var(--cds-pad-lg); text-align: center; font-size: var(--cds-font-size-caption); color: var(--tm); grid-column: 1 / -1; }
.tr-fail { display: flex; align-items: center; justify-content: center; gap: var(--cds-gap-sm); min-height: 6rem; font-size: var(--cds-font-size-caption); color: var(--tm); grid-column: 1 / -1; }
.tr-fail::before { content: ""; width: .375rem; height: .375rem; border-radius: 50%; background: var(--tbad); }
.tr-skel { min-height: 9rem; border-radius: var(--cds-radius); }
.tr [data-dash-source-state=empty] { color: transparent; }
.tr [data-dash-source-state=refreshing] { opacity: .5; transition: opacity var(--cds-dur-slow); }

@media (prefers-reduced-motion: no-preference) {
  .tr-page:not([hidden]) { animation: tr-in var(--cds-dur-slow) var(--cds-ease-out); }
  @keyframes tr-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
  .tr-logo-sweep { transform-origin: 18px 18px; animation: tr-sweep 6s linear infinite; }
  @keyframes tr-sweep { to { transform: rotate(360deg); } }
}
@media (prefers-reduced-motion: reduce) { .tr-store:hover, .tr-prod:hover { transform: none; } }

@media (max-width: 56rem) {
  .tr { grid-template-columns: minmax(0, 1fr); gap: var(--cds-gap-md); }
  .tr-side { position: static; gap: var(--cds-gap-sm); }
  .tr-nav { display: flex; overflow-x: auto; gap: var(--cds-gap-xs); padding-bottom: 2px; }
  .tr-nav-label, .tr-status, .tr-badge, .tr-soon { display: none; }
  .tr-nav button[aria-current="page"]::before { display: none; }
  .tr-pp { grid-template-columns: minmax(0, 1fr); }
  .tr-hero-b { grid-template-columns: auto minmax(0, 1fr); }
  .tr-hero-act { grid-column: 1 / -1; }
  .tr-hero-cv { aspect-ratio: 3 / 1; }
  .tr-top-r { display: none; }
}

/* ===== Coque sombre façon app ===== */
.tr { --tb: #0c1211; --tp: #121a19; --tp2: #172120; --tl: #22302d; --tf: #e7f0ee; --tm: #8ea39e; --tok: #34d399; --tbad: #f87171; --twarn: #fbbf24;
  --tgrid: #1d2826; --taxis: #2c3b38; --tmuted: #3a4a46; --tpop: #172120; --tr-accent: #2dd4bf;
  color-scheme: dark; background: radial-gradient(1100px 420px at 35% -8%, #12302a 0%, transparent 62%), #0a100f; color: var(--tf);
  border-radius: 16px; border: 1px solid #1a2523; padding: var(--cds-pad-md); grid-template-columns: 5.25rem minmax(0, 1fr); gap: var(--cds-gap-lg); }
.tr h1 { font-weight: 650 !important; letter-spacing: -.01em; }
.tr-kpi-v, .tr-ring-lg .tr-ring-in, .tr-pp-price b { font-weight: 650 !important; }
.tr-rail { position: sticky; top: env(safe-area-inset-top, 0px); display: flex; flex-direction: column; align-items: center; gap: var(--cds-gap-md); padding-block: var(--cds-pad-sm); min-height: 30rem; }
.tr-rail-logo { width: 2.75rem; height: 2.75rem; border-radius: 12px; background: #0f1d1b; border: 1px solid #1f3330; display: grid; place-items: center; }
.tr-rail-logo .tr-logo { width: 2rem; height: 2rem; }
.tr-rail .tr-nav { display: flex; flex-direction: column; gap: var(--cds-gap-sm); margin-top: var(--cds-gap-lg); }
.tr-rail .tr-nav button { all: unset; box-sizing: border-box; cursor: pointer; display: grid; justify-items: center; gap: .3rem; width: 4.75rem; padding: .55rem .2rem; border-radius: 12px; font-size: .74rem; color: var(--tm); text-align: center; }
.tr-rail .tr-nav button .tr-ico { width: 1.3rem; height: 1.3rem; }
.tr-rail .tr-nav button:hover { color: var(--tf); background: var(--tp2); }
.tr-rail .tr-nav button[aria-current="page"] { color: var(--tf); font-weight: 600; }
.tr-rail .tr-nav button[aria-current="page"] .tr-ico { color: #0a100f; background: var(--tr-accent); border-radius: 50%; padding: .2rem; width: 1.55rem; height: 1.55rem; }
.tr-rail .tr-nav button:focus-visible { outline: 2px solid var(--tf); }
.tr-rail-foot { margin-top: auto; display: grid; justify-items: center; gap: .4rem; font-size: .68rem; color: var(--tm); text-align: center; line-height: 1.3; }
.tr-top { display: grid; justify-items: center; gap: var(--cds-gap-md); }
.tr-ttabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: #0f1716; border: 1px solid var(--tl); max-width: 100%; overflow-x: auto; }
.tr-ttabs button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .95rem; border-radius: 10px; color: var(--tm); font-weight: 500; white-space: nowrap; }
.tr-ttabs button:hover { color: var(--tf); }
.tr-ttabs button[aria-current="page"] { background: var(--tp2); color: var(--tf); font-weight: 650; box-shadow: inset 0 0 0 1px var(--tl); }
.tr-ttabs button[aria-current="page"] .tr-ico { color: var(--tr-accent); }
.tr-ttabs button:focus-visible { outline: 2px solid var(--tf); }
.tr-tcount { font-size: .72rem; font-variant-numeric: tabular-nums; padding: 0 .4rem; border-radius: 999px; background: #0c1211; color: var(--tm); }
.tr-soon-pill { font-size: .62rem; color: var(--tm); border: 1px dashed var(--tl); border-radius: 999px; padding: 0 .4rem; }
.tr-top .tr-search { width: min(100%, 42rem); max-width: none; flex: none; }
.tr-top .tr-search input { background: #1a2321; border-color: #26332f; border-radius: 14px; padding-block: .75rem; }
.tr-card, .tr-dl, .tr-store, .tr-prod, .tr-hero, .tr-status { background: var(--tp); }

/* ===== Tableau Explorer façon base de données ===== */
.tr-xt { background: var(--tp); border: 1px solid var(--tl); border-radius: 14px; overflow-x: auto; }
.tr-xt-in { min-width: 66rem; }
.tr-xr { display: grid; grid-template-columns: minmax(17rem, 1.5fr) minmax(10rem, .9fr) 13.5rem 7rem 11rem 8.5rem 8.5rem; align-items: center; }
.tr-xr > * { padding: var(--cds-pad-md) var(--cds-pad-md); min-width: 0; }
.tr-xr > *:first-child { border-right: 1px solid var(--tl); align-self: stretch; display: flex; align-items: center; }
.tr-xh { position: sticky; top: 0; z-index: 1; background: #141d1c; border-bottom: 1px solid var(--tl); }
.tr-xh > * { padding-block: .8rem; }
.tr-xh button, .tr-xh span { all: unset; display: inline-flex; align-items: center; gap: .45rem; color: var(--tm); font-weight: 500; white-space: nowrap; cursor: default; }
.tr-xh button { cursor: pointer; }
.tr-xh button:hover, .tr-xh button[aria-sort="ascending"], .tr-xh button[aria-sort="descending"] { color: var(--tf); }
.tr-xh button[aria-sort="ascending"]::after { content: "↑"; }
.tr-xh button[aria-sort="descending"]::after { content: "↓"; }
.tr-xh button:focus-visible { outline: 2px solid var(--tf); }
.tr-xb { border-bottom: 1px solid var(--tl); cursor: pointer; transition: background var(--cds-dur-slow); }
.tr-xb:last-child { border-bottom: 0; }
.tr-xb:hover { background: var(--tp2); }
.tr-xb:focus-visible { outline: 2px solid var(--tr-accent); outline-offset: -2px; }
.tr-xshop { display: flex; align-items: center; gap: var(--cds-gap-md); min-width: 0; }
.tr-xcv { position: relative; width: 6.25rem; height: 3.75rem; flex: none; border-radius: 8px; overflow: visible; background: var(--tb); }
.tr-xcv img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; display: block; border: 1px solid var(--tl); }
.tr-xcv .tr-av { position: absolute; right: -.45rem; bottom: -.45rem; width: 1.5rem; height: 1.5rem; font-size: .75rem; border-radius: 50%; box-shadow: 0 0 0 2px var(--tp); }
.tr-xname { font-weight: 650; font-size: 1.02rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-xdom { color: var(--tm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-xmeta { color: var(--tm); font-size: var(--cds-font-size-caption); white-space: nowrap; }
.tr-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .75rem; border-radius: 999px; background: #0f1716; border: 1px solid var(--tl); font-weight: 500; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.tr-chip .tr-ico { width: .95rem; height: .95rem; color: var(--tm); }
.tr-chip-bad { color: var(--tbad); }
.tr-bs { display: grid; gap: .35rem; }
.tr-bs-imgs { display: flex; gap: 6px; }
.tr-bs-imgs img, .tr-bs-imgs span { width: 3.9rem; height: 3.9rem; border-radius: 8px; object-fit: cover; display: block; background: #f3f5f4; border: 1px solid var(--tl); }
.tr-bs-imgs span { background: var(--tb); }
.tr-bs-n { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-bs-n b { color: var(--tf); font-weight: 650; }
.tr-big { font-weight: 650; font-size: 1.08rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tr-small { font-size: var(--cds-font-size-caption); color: var(--tm); white-space: nowrap; }
.tr-spark { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--cds-gap-sm); }
.tr-spark svg { width: 100%; height: 2.6rem; display: block; }
.tr-xtool { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cds-gap-sm); }
.tr-xtool-l { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cds-gap-sm); }
.tr-presets { flex-wrap: wrap; overflow: visible; }
.tr-preset { background: #0f1716; }
.tr-preset[aria-pressed="true"] { background: var(--tr-accent); color: #0a100f; border-color: var(--tr-accent); font-weight: 600; }
.tr-seg { background: #0f1716; }
.tr-seg button[aria-pressed="true"] { background: var(--tp2); }
.tr-btn-solid { background: var(--tr-accent) !important; color: #0a100f !important; border-color: var(--tr-accent) !important; font-weight: 600; }
.tr-b-new { background: var(--tr-accent) !important; color: #0a100f !important; }
.tr-filters[hidden] { display: none !important; }
@media (max-width: 56rem) {
  .tr { grid-template-columns: minmax(0, 1fr); padding: var(--cds-pad-sm); }
  .tr-rail { position: static; flex-direction: row; min-height: 0; padding: 0; }
  .tr-rail .tr-nav { flex-direction: row; margin: 0; overflow-x: auto; }
  .tr-rail .tr-nav button { width: auto; min-width: 3.9rem; }
  .tr-rail-foot { display: none; }
}

/* ===== Page d'analyse boutique ===== */
#boutique > .tr-crumbs { display: none; }
.tr-sp { display: grid; grid-template-columns: 14.5rem minmax(0, 1fr); gap: var(--cds-gap-lg); align-items: start; }
.tr-ss { position: sticky; top: env(safe-area-inset-top, 0px); display: grid; gap: 2px; padding: var(--cds-pad-sm); border-radius: 14px; background: var(--tp); border: 1px solid var(--tl); }
.tr-ss-back { all: unset; cursor: pointer; padding: .55rem .6rem .8rem; color: var(--tf); font-weight: 600; border-bottom: 1px solid var(--tl); margin-bottom: .4rem; }
.tr-ss-back:hover { color: var(--tr-accent); }
.tr-ss-i { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: .6rem; padding: .55rem .6rem; border-radius: 10px; color: var(--tm); }
.tr-ss-i:hover { background: var(--tp2); color: var(--tf); }
.tr-ss-i[aria-current="page"] { background: var(--tp2); color: var(--tf); font-weight: 600; box-shadow: inset 0 0 0 1px var(--tl); }
.tr-ss-i[aria-current="page"] .tr-ico { color: var(--tr-accent); }
.tr-ss-i:focus-visible, .tr-ss-back:focus-visible { outline: 2px solid var(--tf); }
.tr-ss-n { margin-left: auto; font-size: .78rem; font-variant-numeric: tabular-nums; color: var(--tm); }
.tr-ss-lock { margin-left: auto; font-size: .66rem; color: var(--tm); border: 1px dashed var(--tl); border-radius: 999px; padding: 0 .4rem; white-space: nowrap; }
.tr-ss-h { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--tm); padding: .9rem .6rem .3rem; font-weight: 600; }
.tr-sm { display: grid; gap: var(--cds-gap-lg); min-width: 0; }
.tr-sh { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--cds-gap-md); align-items: center; }
.tr-sh-logo { width: 5.25rem; height: 5.25rem; border-radius: 14px; overflow: hidden; background: #f3f5f4; border: 1px solid var(--tl); display: grid; place-items: center; }
.tr-sh-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tr-sh-t { min-width: 0; display: grid; gap: .35rem; }
.tr-sh-name { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.tr-sh-name h1 { margin: 0; font-size: calc(var(--cds-font-size-title) * 1.15); line-height: 1.1; }
.tr-sh-badge { font-size: .74rem; font-weight: 600; color: #0a100f; background: #95bf47; border-radius: 999px; padding: .1rem .55rem; }
.tr-sh-sub { color: var(--tm); line-height: 1.5; }
.tr-sh-sub a { color: var(--tf); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
.tr-sh-sub b { color: var(--tf); font-weight: 600; }
.tr-sh-act { display: flex; align-items: center; gap: var(--cds-gap-sm); }
.tr-si { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--cds-gap-md); padding-block: var(--cds-pad-sm); }
.tr-si-c { display: grid; gap: .4rem; min-width: 0; }
.tr-si-l { color: var(--tm); font-size: var(--cds-font-size-caption); }
.tr-si-v { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-weight: 500; }
.tr-si-v b { font-weight: 650; }
.tr-soc-a { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 8px; background: #0f1716; border: 1px solid var(--tl); color: var(--tf); }
.tr-soc-a:hover { border-color: var(--tr-accent); color: var(--tr-accent); }
.tr-tp { display: inline-flex; align-items: center; gap: .35rem; color: var(--tf); text-decoration: none; }
.tr-tp:hover { text-decoration: underline; }
.tr-star { width: 1.05rem; height: 1.05rem; fill: #00b67a; stroke: #00b67a; }
.tr-star.off { fill: none; stroke: var(--tmuted); }
.tr-sg { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: var(--cds-gap-md); }
.tr-big-card { background: var(--tp); border: 1px solid var(--tl); border-radius: 16px; padding: var(--cds-pad-lg); display: grid; gap: var(--cds-gap-md); align-content: start; min-width: 0; }
.tr-bc-h { display: flex; align-items: center; gap: .55rem; font-weight: 650; font-size: 1.05rem; flex-wrap: wrap; }
.tr-bc-h .tr-ico { color: var(--tm); }
.tr-mtabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); border-bottom: 1px solid var(--tl); }
.tr-mtab { all: unset; box-sizing: border-box; cursor: pointer; display: grid; gap: .3rem; padding: .3rem .2rem .8rem; border-bottom: 2px solid transparent; margin-bottom: -1px; min-width: 0; }
.tr-mtab[aria-pressed="true"] { border-bottom-color: var(--mc); }
.tr-mtab:focus-visible { outline: 2px solid var(--tf); }
.tr-mtab-off { cursor: default; opacity: .55; }
.tr-mtab-l { display: flex; align-items: center; gap: .4rem; font-weight: 600; color: var(--tf); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tr-mdot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--mc, var(--tmuted)); flex: none; }
.tr-mtab-v { font-size: 1.35rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tr-mtab-s { font-size: .85rem; font-weight: 500; color: var(--tm); }
.tr-big-card .tr-chart { min-height: 15rem; }
.tr-bc-f { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; border-top: 1px solid var(--tl); padding-top: var(--cds-pad-sm); }
.tr-bc-fl { color: var(--tm); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; margin-right: .3rem; }
.tr-adpills { margin-left: auto; display: flex; gap: 4px; padding: 3px; border-radius: 999px; background: #0f1716; border: 1px solid var(--tl); }
.tr-adpill { font-size: .78rem; font-weight: 500; padding: .2rem .7rem; border-radius: 999px; color: var(--tm); }
.tr-tp-big { display: flex; align-items: baseline; gap: .2rem; }
.tr-tp-big b { font-size: 2.6rem; font-weight: 700; }
.tr-tp-big span { color: var(--tm); }
.tr-stars { display: flex; gap: 4px; }
.tr-stars .tr-star { width: 1.6rem; height: 1.6rem; }
.tr-soclist { display: grid; gap: 4px; }
.tr-socrow { display: grid; grid-template-columns: 1.4rem 6rem minmax(0, 1fr); align-items: center; gap: .6rem; padding: .55rem .6rem; border-radius: 10px; color: var(--tf); text-decoration: none; }
.tr-socrow:hover { background: var(--tp2); }
.tr-socrow .tr-small { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 64rem) { .tr-sp { grid-template-columns: minmax(0, 1fr); } .tr-ss { position: static; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; } .tr-ss-h { display: none; } .tr-ss-back { border-bottom: 0; margin: 0; } }
@media (max-width: 40rem) { .tr-sh { grid-template-columns: auto minmax(0, 1fr); } .tr-sh-act { grid-column: 1 / -1; } .tr-sh-logo { width: 4rem; height: 4rem; } }

/* ===== Radar des marques ===== */
.tr[data-page="radar"] .tr-top { display: none; }
.tr-rt { display: grid; gap: var(--cds-gap-lg); }
.tr-rt-tabs { justify-self: center; display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; max-width: 100%; overflow-x: auto; }
.tr-rt-tabs button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1rem; border-radius: 12px; color: var(--tm); font-weight: 500; white-space: nowrap; font-size: 1.02rem; }
.tr-rt-tabs button:hover { color: var(--tf); }
.tr-rt-tabs button[aria-selected="true"] { background: var(--tp2); color: var(--tf); font-weight: 650; box-shadow: 0 6px 18px rgba(0,0,0,.35), inset 0 0 0 1px var(--tl); }
.tr-rt-tabs button[aria-selected="true"] .tr-ico { color: var(--tr-accent); }
.tr-rt-tabs button:focus-visible { outline: 2px solid var(--tf); }
.tr-rt-top { display: flex; align-items: center; justify-content: space-between; gap: var(--cds-gap-md); flex-wrap: wrap; }
.tr-rt-count { color: var(--tr-accent); }
.tr-rt-count b { font-weight: 650; }
.tr-rt-add { border-color: color-mix(in srgb, var(--tr-accent) 45%, var(--tl)); }
.tr-rt-search { position: relative; justify-self: center; width: min(100%, 52rem); }
.tr-rt-search .tr-ico { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--tm); }
.tr-rt-search input { width: 100%; font-size: 1rem; background: #1a2321; border: 1px solid #26332f; border-radius: 14px; padding: .8rem 1rem .8rem 2.6rem; color: var(--tf); }
.tr-rt-folders { justify-self: center; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.tr-rt-folders button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .9rem; border-radius: 12px; color: var(--tm); font-weight: 500; }
.tr-rt-folders button:hover { color: var(--tf); }
.tr-rt-folders button[aria-pressed="true"] { background: var(--tp2); color: var(--tf); font-weight: 650; box-shadow: inset 0 0 0 1px var(--tl); }
.tr-rt-folders button:focus-visible { outline: 2px solid var(--tf); }
.tr-rt-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--cds-gap-md); flex-wrap: wrap; }
.tr-rt-sort { display: inline-flex; align-items: center; gap: .5rem; }
.tr-rt-sort select { all: unset; cursor: pointer; font-weight: 650; padding-right: 1rem; background: linear-gradient(45deg, transparent 50%, var(--tm) 50%) right .2rem center / 5px 5px no-repeat, linear-gradient(-45deg, transparent 50%, var(--tm) 50%) right 0 center / 5px 5px no-repeat; }
.tr-rt-sort select:focus-visible { outline: 2px solid var(--tf); }
.tr-rt-bar-r { display: flex; align-items: center; gap: var(--cds-gap-sm); }
.tr-rt-per button { padding: .35rem .8rem; font-weight: 600; }
.tr-rt-in { min-width: 70rem; }
.tr-rt-r { grid-template-columns: minmax(17rem, 1.5fr) 13rem 13rem 9.5rem 8rem 11rem; }
.tr-rt-metric { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--cds-gap-sm); }
.tr-rt-spark svg { width: 100%; height: 2.9rem; display: block; }
.tr-flags { display: flex; gap: 3px; margin-top: .25rem; }
.tr-flag { font-size: .66rem; font-weight: 700; letter-spacing: .02em; padding: .05rem .3rem; border-radius: 4px; background: #0f1716; border: 1px solid var(--tl); color: var(--tm); }
.tr-rt-price { display: grid; gap: .35rem; }
.tr-rt-pl { display: flex; align-items: center; gap: .35rem; white-space: nowrap; }
.tr-rt-pl b { font-weight: 650; font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.tr-rt-pl .tr-ico { color: var(--tm); }
.tr-rt-last { display: grid; gap: .35rem; }
.tr-rt-thumbs { display: flex; gap: 6px; }
.tr-rt-thumbs img { width: 4.25rem; height: 4.25rem; object-fit: cover; border-radius: 8px; border: 1px solid var(--tl); background: #f3f5f4; }
/* Activité */
.tr-feed { display: grid; gap: var(--cds-gap-lg); }
.tr-feed-day { display: grid; gap: var(--cds-gap-sm); }
.tr-feed-date { font-size: var(--cds-font-size-caption); color: var(--tm); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.tr-feed-it { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--cds-gap-md); padding: var(--cds-pad-md); background: var(--tp); border: 1px solid var(--tl); border-radius: 14px; }
.tr-feed-t { display: grid; gap: var(--cds-gap-sm); min-width: 0; }
.tr-feed-t b { font-weight: 650; }
.tr-feed-t b:hover { color: var(--tr-accent); }
.tr-feed-strip { display: grid; grid-auto-flow: column; grid-auto-columns: 9rem; gap: var(--cds-gap-sm); overflow-x: auto; padding-bottom: 4px; }
.tr-feed-p { all: unset; box-sizing: border-box; cursor: pointer; display: grid; gap: .3rem; }
.tr-feed-p img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; border: 1px solid var(--tl); }
.tr-feed-p .tr-av { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.tr-feed-p > span { display: grid; gap: .1rem; }
.tr-feed-pn { font-size: var(--cds-font-size-caption); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-feed-p:hover .tr-feed-pn { color: var(--tr-accent); }
.tr-feed-p:focus-visible { outline: 2px solid var(--tf); border-radius: 8px; }
/* Bibliothèque */
.tr-lib { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); gap: var(--cds-gap-md); }
.tr-lib-i { all: unset; box-sizing: border-box; cursor: pointer; position: relative; display: grid; border-radius: 12px; overflow: hidden; border: 1px solid var(--tl); background: var(--tp); }
.tr-lib-i img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.tr-lib-cap { display: grid; gap: .1rem; padding: .5rem .6rem; font-size: var(--cds-font-size-caption); }
.tr-lib-cap b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-lib-cap span { color: var(--tm); }
.tr-lib-new { position: absolute; top: .5rem; left: .5rem; }
.tr-lib-i:hover { border-color: var(--tm); }
.tr-lib-i:focus-visible { outline: 2px solid var(--tf); }
/* Comparer */
.tr-cmp-pick { display: flex; flex-wrap: wrap; gap: var(--cds-gap-md); }
.tr-cmp-pick select { font-size: var(--cds-font-size-body); background: var(--tp); border: 1px solid var(--tl); border-radius: 10px; padding: .5rem .7rem; color: var(--tf); min-width: 12rem; }
.tr-cmp-heads { display: flex; flex-wrap: wrap; gap: var(--cds-gap-md); }
.tr-cmp-hd { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: .6rem; padding: .4rem .8rem .4rem .4rem; border-radius: 12px; border: 1px solid var(--tl); border-left: 4px solid var(--mc); }
.tr-cmp-hd > span { display: grid; }
.tr-cmp-hd b { font-weight: 650; }
.tr-cmp-hd:focus-visible { outline: 2px solid var(--tf); }
.tr-cmp2 { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: var(--cds-gap-md); align-items: center; padding-block: .6rem; border-top: 1px solid var(--tl); }
.tr-cmp2-l { color: var(--tm); }
.tr-cmp2-b { display: grid; gap: 5px; }
.tr-cmp2-row { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; gap: var(--cds-gap-sm); align-items: center; }
.tr-cmp2-row .tr-track { max-width: none; height: .55rem; }
.tr-cmp2-row b { font-weight: 650; }
/* Calendrier */
.tr-cal-nav { display: flex; align-items: center; justify-content: space-between; gap: var(--cds-gap-md); flex-wrap: wrap; }
.tr-cal-title { font-size: 1.15rem; text-transform: capitalize; font-weight: 650; }
.tr-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.tr-cal-h { font-size: var(--cds-font-size-caption); color: var(--tm); text-align: center; padding-bottom: .2rem; }
.tr-cal-c { all: unset; box-sizing: border-box; min-height: 5.5rem; padding: .45rem .5rem; border-radius: 10px; background: var(--tp); border: 1px solid var(--tl); display: grid; align-content: start; gap: .25rem; min-width: 0; }
.tr-cal-c:not(:disabled) { cursor: pointer; }
.tr-cal-c:not(:disabled):hover, .tr-cal-c[aria-pressed="true"] { border-color: var(--tr-accent); }
.tr-cal-c:disabled { opacity: .55; }
.tr-cal-c:focus-visible { outline: 2px solid var(--tf); }
.tr-cal-empty { background: transparent; border-color: transparent; }
.tr-cal-d { font-weight: 650; font-size: var(--cds-font-size-caption); }
.tr-cal-n { font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-cal-av { display: flex; }
.tr-cal-av .tr-av { width: 1.3rem; height: 1.3rem; font-size: .66rem; border-radius: 50%; margin-right: -4px; box-shadow: 0 0 0 2px var(--tp); }
@media (max-width: 40rem) { .tr-cal-c { min-height: 3.5rem; } .tr-cal-n, .tr-cal-av { display: none; } .tr-cmp2 { grid-template-columns: minmax(0, 1fr); } }

.tr-moves { display: grid; gap: 2px; }
.tr-move { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) auto; gap: var(--cds-gap-sm); align-items: center; padding: .5rem 0; border-top: 1px solid var(--tl); }
.tr-move-a { font-size: .74rem; font-weight: 650; text-align: center; border-radius: 999px; padding: .1rem .5rem; }
.tr-move-a.is-in { background: color-mix(in srgb, #34d399 18%, transparent); color: #34d399; }
.tr-move-a.is-out { background: color-mix(in srgb, #f87171 18%, transparent); color: #f87171; }
.tr-move-t { display: grid; min-width: 0; }
.tr-move-t b { font-weight: 650; }
.tr-move-t .tr-small { white-space: normal; }
.tr-newshop { margin-left: .45rem; vertical-align: middle; font-size: .66rem; }

/* ===== Pro ===== */
.tr-pro-badge { display: inline-block; font-size: .62rem; font-weight: 800; letter-spacing: .08em; padding: .1rem .45rem; border-radius: 6px; color: #0a100f; background: linear-gradient(135deg, #2dd4bf, #a3e635); vertical-align: middle; }
.tr-rail .tr-nav button.tr-rail-pro .tr-ico { color: #a3e635; }
.tr-pro-hero { display: grid; justify-items: center; text-align: center; gap: var(--cds-gap-sm); padding: var(--cds-pad-lg) var(--cds-pad-md) 0; }
.tr-pro-hero h1 { margin: 0; font-size: calc(var(--cds-font-size-title) * 1.35); line-height: 1.1; max-width: 22ch; text-wrap: balance; }
.tr-pro-hero p { margin: 0; color: var(--tm); max-width: 60ch; line-height: 1.55; }
.tr-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--cds-gap-md); align-items: stretch; }
.tr-plan { position: relative; display: grid; gap: var(--cds-gap-md); align-content: start; grid-template-rows: auto auto 1fr auto; padding: var(--cds-pad-lg); border-radius: 18px; background: var(--tp); border: 1px solid var(--tl); }
.tr-plan.is-featured { border-color: #2dd4bf; box-shadow: 0 0 0 1px #2dd4bf, 0 18px 40px rgba(45, 212, 191, .12); }
.tr-plan-tag { position: absolute; top: -.7rem; left: 50%; transform: translateX(-50%); font-size: .72rem; font-weight: 700; color: #0a100f; background: #2dd4bf; border-radius: 999px; padding: .15rem .7rem; white-space: nowrap; }
.tr-plan-n { font-weight: 700; font-size: 1.1rem; }
.tr-plan-p { display: flex; align-items: baseline; gap: .3rem; }
.tr-plan-p b { font-size: 2.4rem; font-weight: 750; letter-spacing: -.02em; }
.tr-plan-p span { color: var(--tm); }
.tr-plan-f { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.tr-plan-f li { display: grid; grid-template-columns: 1.2rem minmax(0, 1fr); gap: .4rem; line-height: 1.4; }
.tr-plan-f li span { color: #2dd4bf; font-weight: 700; }
.tr-plan-f li.is-off { color: var(--tm); }
.tr-plan-f li.is-off span { color: var(--tmuted); }
.tr-plan .tr-btn { justify-content: center; padding-block: .65rem; font-size: .9rem; }
.tr-btn:disabled { opacity: .6; cursor: not-allowed; }
.tr-pro-note { text-align: center; }
.tr-toolbar-r { grid-template-columns: 10rem minmax(0, 1fr) 3.5rem; padding-block: .3rem; }
.tr-toolbar-l { display: grid; min-width: 0; }
.tr-toolbar-l b { font-weight: 650; }
.tr-tools { display: flex; flex-wrap: wrap; gap: 4px; }
.tr-tool { font-size: .76rem; font-weight: 600; padding: .15rem .55rem; border-radius: 999px; background: color-mix(in srgb, #2dd4bf 12%, transparent); border: 1px solid color-mix(in srgb, #2dd4bf 30%, transparent); color: #c7f5ee; white-space: nowrap; }
.tr-mx-in { min-width: 64rem; }
.tr-mx { grid-template-columns: minmax(12rem, 1.2fr) repeat(6, minmax(8.5rem, 1fr)); }
.tr-mx .tr-xname { font-size: .95rem; }
.tr-stack-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: var(--cds-gap-md); }
.tr-stack-c { display: grid; gap: .6rem; padding: var(--cds-pad-md); border-radius: 14px; background: var(--tp); border: 1px solid var(--tl); align-content: start; }
.tr-stack-c.is-empty { opacity: .6; }
.tr-stack-h { display: flex; align-items: center; gap: .5rem; font-weight: 650; }
.tr-stack-h .tr-ico { color: #2dd4bf; }
.tr-audit { display: grid; gap: 2px; }
.tr-audit-r { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: var(--cds-gap-md); align-items: start; padding: .7rem 0; border-top: 1px solid var(--tl); }
.tr-audit-r b { font-weight: 650; }
.tr-audit-i { display: grid; place-items: center; min-width: 2.2rem; height: 2.2rem; padding: 0 .3rem; border-radius: 10px; font-weight: 750; font-size: .85rem; }
.tr-audit-i.is-yes { background: color-mix(in srgb, #34d399 16%, transparent); color: #34d399; }
.tr-audit-i.is-no { background: var(--tb); color: var(--tm); border: 1px solid var(--tl); }
.tr-audit-tip { margin-top: .35rem; font-size: var(--cds-font-size-caption); color: #c7f5ee; background: color-mix(in srgb, #2dd4bf 9%, transparent); border-left: 2px solid #2dd4bf; padding: .35rem .6rem; border-radius: 0 8px 8px 0; }
.tr-sup { display: flex; flex-wrap: wrap; gap: 6px; }
.tr-sup-box { display: grid; gap: .5rem; }
.tr-sup-two { display: grid; grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); gap: var(--cds-gap-md); align-items: start; }
.tr-pp-pro { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.tr-sup-list { display: grid; gap: 4px; max-height: 34rem; overflow: auto; padding: 4px; border-radius: 14px; background: var(--tp); border: 1px solid var(--tl); }
.tr-sup-item { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .6rem; align-items: center; padding: .45rem .5rem; border-radius: 10px; }
.tr-sup-item > span { display: grid; min-width: 0; }
.tr-sup-item b { font-weight: 600; font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-sup-item:hover, .tr-sup-item[aria-pressed="true"] { background: var(--tp2); }
.tr-sup-item[aria-pressed="true"] { box-shadow: inset 0 0 0 1px #2dd4bf; }
.tr-sup-item:focus-visible { outline: 2px solid var(--tf); }
.tr-sup-head { display: flex; align-items: center; gap: var(--cds-gap-md); }
.tr-sup-head b { font-weight: 650; }
.tr-sup-img { width: 5rem; height: 3.75rem; object-fit: cover; border-radius: 8px; border: 1px solid var(--tl); }
.tr-calc { display: grid; gap: var(--cds-gap-md); padding: var(--cds-pad-lg); border-radius: 16px; background: var(--tp); border: 1px solid var(--tl); }
.tr-calc-g { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: var(--cds-gap-sm); }
.tr-calc-g input { width: 100%; font-size: var(--cds-font-size-body); background: var(--tb); border: 1px solid var(--tl); border-radius: 10px; padding: .5rem .6rem; color: var(--tf); font-variant-numeric: tabular-nums; }
.tr-calc-g input:focus-visible { outline: 2px solid #2dd4bf; }
.tr-calc-out { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: var(--cds-gap-sm); }
.tr-calc-r { display: grid; gap: .15rem; padding: .7rem .8rem; border-radius: 12px; background: var(--tb); border: 1px solid var(--tl); }
.tr-calc-r b { font-size: 1.3rem; font-weight: 750; font-variant-numeric: tabular-nums; }
@media (max-width: 52rem) { .tr-sup-two { grid-template-columns: minmax(0, 1fr); } .tr-sup-list { max-height: 14rem; } }

/* ===== Verrou Pro ===== */
.tr-lock { position: relative; border-radius: 16px; overflow: hidden; min-height: 22rem; border: 1px solid var(--tl); background: var(--tp); }
.tr-lock-mock { padding: var(--cds-pad-lg); filter: blur(7px); opacity: .55; pointer-events: none; user-select: none; display: grid; gap: var(--cds-gap-md); }
.tr-lock-ov { position: absolute; inset: 0; display: grid; place-items: center; padding: var(--cds-pad-md); background: linear-gradient(180deg, rgba(10,16,15,.25), rgba(10,16,15,.75)); }
.tr-lock-card { display: grid; justify-items: center; text-align: center; gap: .6rem; max-width: 26rem; padding: var(--cds-pad-lg); border-radius: 18px; background: #111a19; border: 1px solid color-mix(in srgb, #2dd4bf 40%, var(--tl)); box-shadow: 0 20px 50px rgba(0,0,0,.5); }
.tr-lock-ic { width: 2.2rem; height: 2.2rem; color: #2dd4bf; }
.tr-lock-t { font-weight: 700; font-size: 1.1rem; }
.tr-lock-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.tr-lock-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; width: 100%; }
.tr-lock-form input { font-size: var(--cds-font-size-body); background: var(--tb); border: 1px solid var(--tl); border-radius: 10px; padding: .5rem .7rem; color: var(--tf); letter-spacing: .04em; text-transform: uppercase; min-width: 0; }
.tr-lock-form input:focus-visible { outline: 2px solid #2dd4bf; }
.tr-lock-msg { grid-column: 1 / -1; min-height: 1em; color: #fca5a5; }
.tr-pro-ok { display: grid; gap: .2rem; justify-items: center; text-align: center; border-color: #2dd4bf; }
.tr-rail .tr-nav button.tr-rail-pro.is-unlocked .tr-ico { color: #2dd4bf; }

/* Onglets du haut plus compacts */
.tr-top { gap: var(--cds-gap-sm); }
.tr-ttabs { gap: 2px; padding: 3px; border-radius: 10px; }
.tr-ttabs button { gap: .35rem; padding: .3rem .7rem; border-radius: 8px; font-size: .84rem; line-height: 1.2; }
.tr-ttabs button .tr-ico { width: .9rem; height: .9rem; }
.tr-tcount { font-size: .66rem; padding: 0 .35rem; }
.tr-top .tr-search input { padding-block: .55rem; font-size: .92rem; border-radius: 12px; }

.tr-ttabs button.tr-ttab-pro { color: #c7f5ee; }
.tr-ttabs button.tr-ttab-pro .tr-ico { color: #a3e635; }
.tr-ttabs button.tr-ttab-pro .tr-pro-badge { font-size: .6rem; padding: .05rem .35rem; }
.tr-ttabs button.tr-ttab-pro[aria-current="page"] { box-shadow: inset 0 0 0 1px #2dd4bf; }

/* ===== Accueil vivant ===== */
.tr-hero2 { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: var(--cds-gap-xl); align-items: center; padding: clamp(1rem, 3vw, 2.2rem); border-radius: 22px; overflow: hidden; border: 1px solid #1d3532;
  background: radial-gradient(600px 300px at 85% 20%, rgba(45,212,191,.16), transparent 70%), radial-gradient(500px 280px at 0% 100%, rgba(167,139,250,.10), transparent 70%), linear-gradient(180deg, #0f1918, #0b1211); }
.tr-hero2::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(45,212,191,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(45,212,191,.05) 1px, transparent 1px); background-size: 32px 32px; mask-image: radial-gradient(ellipse at 70% 40%, #000 20%, transparent 75%); }
.tr-hero2-l { position: relative; z-index: 1; display: grid; gap: var(--cds-gap-md); align-content: center; }
.tr-hero2-l h1 { margin: 0; font-size: clamp(1.8rem, 3.6vw, 2.9rem); line-height: 1.05; letter-spacing: -.025em; text-wrap: balance; }
.tr-grad { background: linear-gradient(90deg, #2dd4bf, #a3e635, #2dd4bf); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; }
.tr-hero2-l > p { margin: 0; color: var(--tm); line-height: 1.6; max-width: 54ch; font-size: 1.02rem; }
.tr-live-chip { justify-self: start; display: inline-flex; align-items: center; gap: .5rem; font-size: .78rem; font-weight: 600; color: #a7f3d0; padding: .3rem .75rem; border-radius: 999px; background: rgba(52,211,153,.10); border: 1px solid rgba(52,211,153,.25); }
.tr-hero2-cta { display: flex; flex-wrap: wrap; gap: .6rem; }
.tr-btn-lg { padding: .7rem 1.15rem; font-size: .92rem; font-weight: 600; }
.tr-hstats { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: var(--cds-gap-md); padding-top: var(--cds-pad-md); border-top: 1px solid #1d3532; }
.tr-hstat-v { font-size: 1.85rem; font-weight: 750; letter-spacing: -.02em; font-variant-numeric: tabular-nums; min-height: 1.2em; }
.tr-hstat-l { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-hero2-r { position: relative; z-index: 1; display: grid; justify-items: center; gap: .5rem; }
.tr-radarviz { width: min(100%, 25rem); aspect-ratio: 1; max-width: 100%; }
.tr-rv-svg { width: 100%; height: 100%; display: block; overflow: visible; }
.tr-rv-sweep { transform-origin: 200px 200px; }
.tr-rv-dot { fill: #2dd4bf; stroke: #0b1211; stroke-width: 2; transition: r .2s; }
.tr-rv-dot.is-top { fill: #a3e635; }
.tr-rv-pulse { fill: none; stroke: #2dd4bf; stroke-width: 1.5; opacity: 0; }
.tr-rv-blip { cursor: pointer; outline: none; }
.tr-rv-blip:hover .tr-rv-dot, .tr-rv-blip:focus-visible .tr-rv-dot { fill: #fff; }
.tr-rv-lab { fill: #d1fae5; font-size: 12px; font-weight: 600; font-family: var(--font-anthropic-sans); paint-order: stroke; stroke: #0b1211; stroke-width: 3px; }
.tr-radar-cap { font-size: var(--cds-font-size-caption); color: var(--tm); text-align: center; max-width: 30ch; }
/* Défilé */
.tr-ticker { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--cds-gap-md); padding: .5rem .5rem .5rem 1rem; border-radius: 16px; background: var(--tp); border: 1px solid var(--tl); overflow: hidden; }
.tr-ticker-h { display: inline-flex; align-items: center; gap: .5rem; font-weight: 650; font-size: .85rem; white-space: nowrap; }
.tr-ticker-vp { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.tr-ticker-track { display: flex; gap: .6rem; width: max-content; }
.tr-tk-i { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .55rem; padding: .35rem .7rem .35rem .35rem; border-radius: 12px; background: #0f1716; border: 1px solid var(--tl); white-space: nowrap; transition: border-color .2s, transform .2s; }
.tr-tk-i:hover { border-color: #2dd4bf; transform: translateY(-2px); }
.tr-tk-i:focus-visible { outline: 2px solid var(--tf); }
.tr-tk-i img, .tr-tk-i .tr-av { width: 2.4rem; height: 2.4rem; border-radius: 8px; object-fit: cover; }
.tr-tk-t { display: grid; }
.tr-tk-t b { font-size: .82rem; font-weight: 600; max-width: 14rem; overflow: hidden; text-overflow: ellipsis; }
.tr-tk-t span { font-size: .72rem; color: var(--tm); }
/* Boutique de la semaine */
.tr-spot { position: relative; display: grid; border-radius: 18px; overflow: hidden; background: var(--tp); border: 1px solid #23423c; box-shadow: 0 0 0 1px rgba(45,212,191,.08), 0 20px 50px rgba(0,0,0,.35); }
.tr-spot-cv { position: relative; aspect-ratio: 2.6 / 1; max-width: 100%; background: var(--tb); overflow: hidden; }
.tr-spot-cv img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 6s ease; }
.tr-spot:hover .tr-spot-cv img { transform: scale(1.12); }
.tr-spot-cv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(18,26,25,.95)); }
.tr-spot-tag { position: absolute; top: .8rem; left: .8rem; z-index: 1; font-size: .74rem; font-weight: 700; color: #0a100f; background: linear-gradient(90deg, #2dd4bf, #a3e635); padding: .2rem .65rem; border-radius: 999px; }
.tr-spot-b { display: grid; gap: var(--cds-gap-md); padding: 0 var(--cds-pad-lg) var(--cds-pad-lg); margin-top: -2.2rem; position: relative; z-index: 1; }
.tr-spot-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; }
.tr-spot-n { font-size: 1.4rem; font-weight: 750; letter-spacing: -.01em; }
.tr-spot-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.tr-spot-stats > div { display: grid; gap: .1rem; padding: .6rem .7rem; border-radius: 12px; background: var(--tb); border: 1px solid var(--tl); }
.tr-spot-stats b { font-size: 1.15rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.tr-spot-pics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.tr-spot-pics img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; border: 1px solid var(--tl); transition: transform .25s; }
.tr-spot-pics img:hover { transform: scale(1.05); }
.tr-spot .tr-btn { justify-self: start; }
.tr-moves-start { display: flex; flex-wrap: wrap; gap: 6px; }
.tr-moves-start .tr-thumb, .tr-moves-start .tr-av { width: 2.6rem; height: 2.6rem; border-radius: 10px; }
/* Bannière Pro */
.tr-probanner { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cds-gap-lg); padding: clamp(1rem, 3vw, 1.8rem); border-radius: 20px; overflow: hidden; isolation: isolate;
  background: linear-gradient(120deg, #0f2a26, #13221a 45%, #1d2a12); border: 1px solid #2a4a3c; }
.tr-probanner::before { content: ""; position: absolute; inset: -40%; z-index: -1; background: conic-gradient(from 0deg, transparent 0 70%, rgba(45,212,191,.25) 80%, rgba(163,230,53,.25) 88%, transparent 95%); }
.tr-probanner-t { display: grid; gap: .45rem; max-width: 46ch; }
.tr-probanner-t .tr-pro-badge { justify-self: start; }
.tr-probanner h2 { margin: 0; font-size: 1.45rem; line-height: 1.15; letter-spacing: -.01em; }
.tr-probanner p { margin: 0; color: #b5cbc6; }
/* Cartes vivantes */
.tr-store, .tr-prod { position: relative; }
.tr-store:hover, .tr-prod:hover { box-shadow: 0 14px 36px rgba(0,0,0,.4), 0 0 0 1px rgba(45,212,191,.35); border-color: transparent; }
.tr-store-cv img, .tr-prod-img img { transition: transform .5s ease; }
.tr-store:hover .tr-store-cv img, .tr-prod:hover .tr-prod-img img { transform: scale(1.06); }

@media (prefers-reduced-motion: no-preference) {
  .tr-rise { animation: tr-rise .7s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--d, 0) * 90ms); }
  @keyframes tr-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  .tr-stagger > * { animation: tr-rise .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--d, 0) * 110ms + 200ms); }
  .tr-grad { animation: tr-shine 6s linear infinite; }
  @keyframes tr-shine { to { background-position: -200% 0; } }
  .tr-live { animation: tr-blink 2s ease-in-out infinite; }
  @keyframes tr-blink { 50% { box-shadow: 0 0 0 6px rgba(52,211,153,0); opacity: .55; } }
  .tr-rv-sweep { animation: tr-spin 5s linear infinite; }
  @keyframes tr-spin { to { transform: rotate(360deg); } }
  .tr-rv-pulse { animation: tr-ping 2.6s ease-out infinite; animation-delay: var(--d, 0s); }
  @keyframes tr-ping { 0% { opacity: .8; transform: scale(1); } 100% { opacity: 0; transform: scale(3.2); } }
  .tr-rv-blip { animation: tr-blip-in .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--d, 0s) + .4s); }
  @keyframes tr-blip-in { from { opacity: 0; } to { opacity: 1; } }
  .tr-ticker-track { animation: tr-marquee var(--dur, 50s) linear infinite; }
  .tr-ticker:hover .tr-ticker-track, .tr-ticker:focus-within .tr-ticker-track { animation-play-state: paused; }
  @keyframes tr-marquee { to { transform: translateX(-50%); } }
  .tr-probanner::before { animation: tr-spin 9s linear infinite; }
  .tr-pop { animation: tr-pop .5s cubic-bezier(.3,1.6,.5,1) both; animation-delay: calc(var(--d, 0) * 70ms + .3s); }
  @keyframes tr-pop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
  .tr-grow { animation: tr-grow 1s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--d, 0) * 120ms + .3s); transform-origin: left; }
  @keyframes tr-grow { from { transform: scaleX(0); } to { transform: none; } }
}
@media (prefers-reduced-motion: reduce) { .tr-ticker-vp { overflow-x: auto; } }
@media (max-width: 60rem) { .tr-hero2 { grid-template-columns: minmax(0, 1fr); } .tr-hero2-r { order: -1; } .tr-radarviz { width: min(100%, 18rem); } }
@media (max-width: 40rem) { .tr-ticker { grid-template-columns: minmax(0, 1fr); } .tr-spot-stats { grid-template-columns: minmax(0, 1fr); } }

/* ===== Fiche boutique vivante ===== */
.tr-sbn { position: relative; height: clamp(9rem, 22vw, 15rem); border-radius: 20px; overflow: hidden; border: 1px solid #1d3532; background: radial-gradient(600px 240px at 80% 0%, rgba(45,212,191,.18), transparent 70%), #0f1918; }
.tr-sbn-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.tr-sbn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,16,15,.1) 0%, rgba(10,16,15,.55) 55%, #0a100f 100%), linear-gradient(90deg, rgba(10,16,15,.6), transparent 60%); }
.tr-sbn-float { position: absolute; right: clamp(.8rem, 3vw, 2rem); top: 50%; transform: translateY(-58%); display: flex; gap: .6rem; z-index: 2; }
.tr-sbn-f { width: clamp(3.6rem, 8vw, 6rem); aspect-ratio: 1; object-fit: cover; border-radius: 14px; border: 2px solid rgba(255,255,255,.12); box-shadow: 0 14px 30px rgba(0,0,0,.45); }
.tr-sbn-f:nth-child(2) { margin-top: 1.4rem; }
.tr-sbn-chips { position: absolute; left: clamp(.8rem, 3vw, 1.6rem); top: clamp(.8rem, 2vw, 1.2rem); z-index: 2; display: flex; flex-wrap: wrap; gap: .4rem; }
.tr-sbn-chip { display: inline-flex; align-items: center; gap: .45rem; font-size: .76rem; font-weight: 650; padding: .3rem .7rem; border-radius: 999px; background: rgba(10,16,15,.7); border: 1px solid #2a4a44; color: #d1fae5; backdrop-filter: blur(6px); }
.tr-sbn-chip.is-hot { border-color: rgba(163,230,53,.5); color: #ecfccb; }
.tr-sh-over { position: relative; z-index: 3; margin-top: -4.2rem; padding-inline: clamp(.6rem, 2vw, 1.4rem); }
.tr-sh-over .tr-sh-logo { width: 6rem; height: 6rem; border-radius: 18px; border: 3px solid #0a100f; box-shadow: 0 12px 30px rgba(0,0,0,.5); }
.tr-sh-over h1 { text-shadow: 0 2px 18px rgba(0,0,0,.6); }
.tr-sstrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr)); gap: var(--cds-gap-sm); }
.tr-sst { position: relative; display: grid; gap: .1rem; padding: .85rem 1rem; border-radius: 16px; background: linear-gradient(180deg, #131d1c, #101817); border: 1px solid var(--tl); overflow: hidden; }
.tr-sst::after { content: ""; position: absolute; inset: auto -30% -60% auto; width: 7rem; height: 7rem; border-radius: 50%; background: radial-gradient(circle, rgba(45,212,191,.18), transparent 70%); }
.tr-sst-i { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 9px; background: rgba(45,212,191,.12); color: #2dd4bf; margin-bottom: .35rem; }
.tr-sst-v { font-size: 1.6rem; font-weight: 750; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.tr-sst-l { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-smq { display: grid; gap: .6rem; padding: .8rem; border-radius: 18px; background: var(--tp); border: 1px solid var(--tl); overflow: hidden; }
.tr-smq-h { display: flex; align-items: center; gap: .5rem; font-weight: 650; font-size: .88rem; padding-inline: .3rem; }
.tr-smq-track { display: flex; gap: .7rem; width: max-content; }
.tr-smq-i { all: unset; box-sizing: border-box; cursor: pointer; position: relative; width: 11rem; border-radius: 14px; overflow: hidden; border: 1px solid var(--tl); background: #0f1716; transition: transform .25s, border-color .25s; }
.tr-smq-i:hover { transform: translateY(-3px); border-color: #2dd4bf; }
.tr-smq-i:focus-visible { outline: 2px solid var(--tf); }
.tr-smq-i img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.tr-smq-cap { display: grid; gap: .1rem; padding: .45rem .6rem .55rem; }
.tr-smq-cap b { font-size: .8rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-smq-cap span { font-size: .75rem; color: #5eead4; font-weight: 600; }
.tr-prosum { border-color: #2a4a44; background: linear-gradient(180deg, #121c1b, #0f1716); }
@media (prefers-reduced-motion: no-preference) {
  .tr-sbn-img { animation: tr-kenburns 18s ease-in-out infinite alternate; }
  @keyframes tr-kenburns { from { transform: scale(1.05) translate(0, 0); } to { transform: scale(1.18) translate(-2%, -3%); } }
  .tr-sbn-f { animation: tr-float 5s ease-in-out infinite; animation-delay: calc(var(--i) * -1.4s); }
  @keyframes tr-float { 50% { transform: translateY(-8px) rotate(-1.5deg); } }
  .tr-sbn-chips > * { animation: tr-rise .6s cubic-bezier(.2,.8,.2,1) both; }
  .tr-sbn-chips > *:nth-child(2) { animation-delay: .12s; } .tr-sbn-chips > *:nth-child(3) { animation-delay: .24s; }
  .tr-sh-over .tr-sh-logo { animation: tr-pop .6s cubic-bezier(.3,1.5,.5,1) both .1s; }
  .tr-sh-over .tr-sh-t { animation: tr-rise .7s cubic-bezier(.2,.8,.2,1) both .18s; }
  .tr-sst { animation: tr-rise .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 80ms + .15s); }
  .tr-smq-track { animation: tr-marquee var(--dur, 40s) linear infinite; }
  .tr-smq:hover .tr-smq-track, .tr-smq:focus-within .tr-smq-track { animation-play-state: paused; }
  .tr-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: tr-drawline 1.4s cubic-bezier(.4,0,.2,1) forwards .2s; }
  @keyframes tr-drawline { to { stroke-dashoffset: 0; } }
  .tr-areafade { animation: tr-fadein 1s ease both .6s; }
  @keyframes tr-fadein { from { opacity: 0; } to { opacity: 1; } }
  .tr-dotpop { animation: tr-fadein .4s ease both; animation-delay: calc(var(--i, 0) * 90ms + .5s); }
  .tr-ss-i { transition: background .2s, color .2s, transform .2s; }
  .tr-ss-i:hover { transform: translateX(3px); }
}
@media (max-width: 40rem) { .tr-sbn-float { display: none; } .tr-sh-over { margin-top: -3rem; } }

/* Bloc Pro compact (fiche boutique) */
.tr-lock-sm { min-height: 0; border-radius: 14px; }
.tr-lock-sm .tr-lock-mock { padding: .7rem; }
.tr-lock-sm .tr-lock-ov { place-items: stretch; padding: 0; background: linear-gradient(90deg, rgba(10,16,15,.92) 0%, rgba(10,16,15,.75) 60%, rgba(10,16,15,.55)); }
.tr-lock-sm .tr-lock-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; text-align: left; gap: .4rem .9rem; max-width: none; padding: .55rem .9rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.tr-lock-sm .tr-lock-ic { width: 1.3rem; height: 1.3rem; }
.tr-lock-sm .tr-lock-t { font-size: .92rem; }
.tr-lock-sm .tr-sub { margin: 0; flex: 1 1 14rem; font-size: .8rem; }
.tr-lock-sm .tr-lock-acts { justify-content: flex-start; gap: .35rem; }
.tr-lock-sm .tr-btn { padding: .3rem .7rem; font-size: .76rem; }
.tr-lock-sm .tr-lock-form { flex: 1 1 100%; }
.tr-prosum { padding: var(--cds-pad-md); gap: .6rem; }
.tr-prosum .tr-bc-h { font-size: .92rem; }
.tr-prosum .tr-stack-g { grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr)); gap: .4rem; }
.tr-prosum .tr-stack-c { padding: .45rem .6rem; gap: .35rem; border-radius: 10px; }
.tr-prosum .tr-stack-h { font-size: .78rem; }
.tr-prosum .tr-tool { font-size: .68rem; padding: .08rem .45rem; }
.tr-prosum .tr-btn { padding: .3rem .7rem; font-size: .76rem; }

/* ===== Sélection Q4 Pro ===== */
.tr-q4 { position: relative; display: grid; gap: var(--cds-gap-md); padding: clamp(.9rem, 2.5vw, 1.4rem); border-radius: 20px; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, #1a1410, #13201c 55%, #0f1918); border: 1px solid #3a3020; }
.tr-q4::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(500px 200px at 10% 0%, rgba(251,191,36,.16), transparent 70%), radial-gradient(400px 200px at 100% 100%, rgba(45,212,191,.12), transparent 70%); }
.tr-q4-h { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--cds-gap-sm); }
.tr-q4-t { display: grid; gap: .3rem; }
.tr-q4-t .tr-h2 { display: flex; align-items: center; gap: .5rem; }
.tr-q4-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.tr-q4-lock { position: relative; border-radius: 14px; overflow: hidden; border: 1px solid #3a3020; background: var(--tp); min-height: 13rem; }
.tr-q4-cv { position: absolute; inset: 0; }
.tr-q4-cv img { width: 100%; height: 100%; object-fit: cover; filter: blur(14px) saturate(1.2); transform: scale(1.2); opacity: .55; }
.tr-q4-mock { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: grid; gap: .4rem; filter: blur(3px); }
.tr-q4-mock span { height: .55rem; border-radius: 99px; background: rgba(255,255,255,.18); }
.tr-q4-mock span:nth-child(2) { width: 70%; } .tr-q4-mock span:nth-child(3) { width: 45%; }
.tr-q4-ov { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; text-align: center; gap: .3rem; padding: 1rem; background: linear-gradient(180deg, rgba(10,16,15,.35), rgba(10,16,15,.75)); }
.tr-q4-ov .tr-lock-ic { color: #fbbf24; width: 1.8rem; height: 1.8rem; }
.tr-q4-ov b { font-size: 1.05rem; }
.tr-q4-cta { display: flex; flex-wrap: wrap; gap: .5rem; }
.tr-tag-q4, .tr-q4b { color: #0a100f !important; background: linear-gradient(90deg, #fbbf24, #a3e635); border-color: transparent !important; font-weight: 700; }
.tr-q4b { margin-left: .45rem; font-size: .62rem; padding: .08rem .45rem; border-radius: 999px; vertical-align: middle; }
@media (prefers-reduced-motion: no-preference) {
  .tr-q4-lock { animation: tr-rise .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--d, 0) * 110ms + .15s); }
  .tr-q4-ov .tr-lock-ic { animation: tr-wiggle 3s ease-in-out infinite; }
  @keyframes tr-wiggle { 0%, 80%, 100% { transform: rotate(0); } 85% { transform: rotate(-10deg); } 90% { transform: rotate(8deg); } 95% { transform: rotate(-4deg); } }
}

/* ===== Accès Pro (clé d'accès) ===== */
.tr-lock-form input { text-transform: none; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.tr-lock-msg { grid-column: 1 / -1; min-height: 1em; }
.tr-pro-ok .tr-lock-form { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; margin-block: .35rem; }
.tr-pro-key { display: block; padding: .5rem .7rem; border-radius: 10px; background: var(--tb); border: 1px solid var(--tl); color: #5eead4; font-size: var(--cds-font-size-body); overflow-wrap: anywhere; user-select: all; }
@media (max-width: 560px) { .tr-pro-ok .tr-lock-form { grid-template-columns: 1fr; } }
.tr-pro-help { margin: .5rem 0 0; color: var(--tm); }
.tr-pro-help a { color: #2dd4bf; text-decoration: none; }
.tr-pro-help a:hover { text-decoration: underline; }
.tr-pro-note a { color: #2dd4bf; }

/* ===== Publicités : bibliothèques officielles ===== */
.tr-adgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--cds-gap-sm); }
.tr-adcell { display: grid; gap: .6rem; align-content: start; padding: var(--cds-pad-md); border-radius: 14px; background: var(--tp); border: 1px solid var(--tl); }
.tr-adcell-t { display: flex; align-items: center; gap: .5rem; }
.tr-adcell-t b { font-weight: 700; }
.tr-adcell .tr-btn { justify-self: start; }
.tr-adsig { display: flex; align-items: center; gap: .5rem; font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-adsig i { width: .55rem; height: .55rem; border-radius: 50%; background: var(--tmuted); flex: none; }
.tr-adsig.is-on { color: #c7f5ee; } .tr-adsig.is-on i { background: #34d399; box-shadow: 0 0 10px #34d399; }
.tr-adsig.is-lock i { background: #a3e635; }
.tr-adlib { display: grid; gap: .8rem; }
.tr-adwhat { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; color: var(--tf); }
.tr-adtip { white-space: normal; padding: .6rem .8rem; border-radius: 10px; background: #0f1d1b; border: 1px dashed var(--tl); }
.tr-adcount { display: grid; gap: .25rem; padding: var(--cds-pad-md); border-radius: 14px; background: linear-gradient(180deg, #11302b, #0d1f1c); border: 1px solid #2dd4bf55; }
.tr-adcount-v b { font-size: 2.2rem; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: #a3e635; }
.tr-adcount-v span { color: var(--tf); font-weight: 600; }
.tr-adcount-sm b { font-size: 1.5rem; }
.tr-adcount-sm span { font-size: var(--cds-font-size-caption); color: var(--tm); }
.tr-adcount-old { color: #c7f5ee; font-size: var(--cds-font-size-body); }
.tr-adex { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.tr-adex .tr-btn { padding: .3rem .7rem; font-size: .8rem; }
.tr-adlib .tr-small, .tr-ads .tr-small { white-space: normal; }
.tr-adlib > *, .tr-adcell > * { min-width: 0; }
.tr-adex > span { flex: 1 1 100%; }

/* Nom du site sous le logo (en haut à gauche) */
.tr-brand { display: grid; justify-items: center; gap: .4rem; text-decoration: none; color: inherit; }
.tr-wordmark { font-weight: 800; font-size: .86rem; letter-spacing: -.02em; color: var(--tf); white-space: nowrap; line-height: 1; }
.tr-wordmark b { font-weight: 800; background: linear-gradient(92deg, #2dd4bf, #a3e635); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tr-brand:hover .tr-wordmark { color: #fff; }
