/* ==== AIBuy site-wide polish v3 (Grok Bot 2026-11-03). Visual-only overrides; layout, markup and behaviour untouched.
   `:root:not(#_v3)` lifts specificity above the existing layered rules without !important. Detection pages keep their own v2 styling. ==== */
:root:not(#_v3) {
  --v3-r: 14px; --v3-r-sm: 10px;
  --v3-line: var(--ui-line, #d7e1da);
  --v3-accent: var(--ui-accent, #2e6b50);
  --v3-primary: var(--ui-primary, #2e6b50);
  --v3-soft: var(--ui-accent-soft, #e3efe7);
  --v3-surface: var(--ui-surface, #fff);
  --v3-shadow: 0 1px 2px rgba(22, 52, 37, .05), 0 10px 28px -18px rgba(22, 52, 37, .28);
  --v3-shadow-hover: 0 2px 4px rgba(22, 52, 37, .06), 0 16px 34px -18px rgba(22, 52, 37, .38);
  --v3-ring: 0 0 0 4px color-mix(in srgb, var(--v3-accent) 16%, transparent);
}
:root:not(#_v3)[data-theme="dark"] { --v3-shadow: 0 1px 0 rgba(255,255,255,.03) inset, 0 12px 28px -20px rgba(0,0,0,.75); --v3-shadow-hover: 0 1px 0 rgba(255,255,255,.04) inset, 0 16px 34px -18px rgba(0,0,0,.85); }

/* ---------- Header (shared) ---------- */
:root:not(#_v3) .directory-topbar { backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: saturate(1.2) blur(10px); }
:root:not(#_v3) .directory-topbar .main-nav .directory-nav-tab { border-radius: 9px; transition: color .15s, background-color .15s; }
:root:not(#_v3) .directory-topbar .main-nav .directory-nav-tab:hover:not(.active) { background-color: color-mix(in srgb, var(--v3-accent) 7%, transparent); }
:root:not(#_v3) .directory-topbar .main-nav .directory-nav-tab.active { font-weight: 650; }
:root:not(#_v3) .directory-topbar :is(.header-save, .theme-toggle, .account-link) { border-radius: 999px; transition: color .15s, background-color .15s; }
:root:not(#_v3) .directory-topbar :is(.header-save, .theme-toggle, .account-link):hover { background-color: color-mix(in srgb, var(--v3-accent) 8%, transparent); color: var(--v3-accent); }
:root:not(#_v3) .app-shell :is(a, button, select, summary, input[type=checkbox], input[type=radio]):focus-visible { outline: 2px solid var(--ui-focus, var(--v3-accent)); outline-offset: 2px; }

/* ---------- Footer (shared) ---------- */
:root:not(#_v3) .site-footer .footer-links a { border-radius: 6px; padding: 2px 6px; transition: color .15s, background-color .15s; }
:root:not(#_v3) .site-footer .footer-links a:hover { color: var(--v3-accent); background-color: color-mix(in srgb, var(--v3-accent) 8%, transparent); }

/* ---------- AI 工具 directory (/?view=tools) ---------- */
:root:not(#_v3) .directory-home-shell .directory-sidebar { border-radius: 16px; box-shadow: var(--v3-shadow); }
:root:not(#_v3) .directory-home-shell .directory-side-item { border-radius: var(--v3-r-sm); transition: background-color .15s, color .15s; }
:root:not(#_v3) .directory-home-shell .directory-side-item:hover:not(.active) { background-color: color-mix(in srgb, var(--v3-accent) 6%, transparent); }
:root:not(#_v3) .directory-home-shell .directory-side-item b { border-radius: 999px; min-width: 22px; text-align: center; }
:root:not(#_v3) .directory-sidebar-heading .directory-submit-link { border-radius: 999px; }
:root:not(#_v3) .directory-home-shell .directory-tools-search .directory-search-form.directory-header-search { border-radius: 14px; box-shadow: var(--v3-shadow); transition: box-shadow .15s, border-color .15s; }
:root:not(#_v3) .directory-home-shell .directory-tools-search .directory-search-form.directory-header-search:focus-within { box-shadow: var(--v3-ring), var(--v3-shadow); }
:root:not(#_v3) .directory-search-form .directory-search-submit { border-radius: 10px; font-weight: 600; }
:root:not(#_v3) .directory-home-shell .directory-card { border-radius: var(--v3-r); box-shadow: var(--v3-shadow); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
:root:not(#_v3) .directory-home-shell .directory-card:hover { transform: translateY(-2px); box-shadow: var(--v3-shadow-hover); border-color: color-mix(in srgb, var(--v3-accent) 38%, var(--v3-line)); }
:root:not(#_v3) .directory-home-shell .directory-card .directory-logo { border-radius: 12px; }
:root:not(#_v3) .directory-home-shell .directory-card-title strong, :root:not(#_v3) .directory-home-shell .directory-card-title h3 { letter-spacing: -.2px; }
:root:not(#_v3) .directory-home-shell .directory-card-divider { opacity: .7; }
:root:not(#_v3) .directory-home-shell .directory-card-action { border-radius: 6px; transition: color .15s; }
:root:not(#_v3) .directory-home-shell .directory-favorite { border-radius: 999px; transition: background-color .15s, color .15s; }
:root:not(#_v3) .directory-home-shell .directory-favorite:hover { background-color: color-mix(in srgb, var(--v3-accent) 9%, transparent); color: var(--v3-accent); }
:root:not(#_v3) .directory-home-shell .directory-section-heading { padding-bottom: 4px; }
:root:not(#_v3) .directory-home-shell .directory-sorter button { border-radius: 8px; }

/* ---------- AI 低价资源库 (/?view=deals) ---------- */
:root:not(#_v3) .directory-workspace-deals :is(.price-category-option, .price-spec-option) { border-radius: var(--v3-r-sm); transition: background-color .15s, color .15s; }
:root:not(#_v3) .directory-workspace-deals :is(.price-category-option, .price-spec-option):hover:not([aria-pressed="true"]) { background-color: color-mix(in srgb, var(--v3-accent) 6%, transparent); }
:root:not(#_v3) .directory-workspace-deals :is(.price-category-option, .price-spec-option)[aria-pressed="true"] { box-shadow: inset 3px 0 0 var(--v3-accent); }
:root:not(#_v3) .directory-workspace-deals .price-count { font-variant-numeric: tabular-nums; }

/* ---------- AI 资源对接 + 交易避坑 (/?view=matching, /matching/N, /?view=risk, /risk) ---------- */
:root:not(#_v3) :is(.match-rail-section button, .match-category-trigger, .match-mine-link, .risk-rail-item) { border-radius: var(--v3-r-sm); transition: background-color .15s, color .15s; }
:root:not(#_v3) :is(.match-rail-section button, .match-category-trigger, .match-mine-link, .risk-rail-item):hover:not(.active) { background-color: color-mix(in srgb, var(--v3-accent) 6%, transparent); }
:root:not(#_v3) :is(.match-item, .risk-item) { transition: background-color .15s, box-shadow .15s; }
:root:not(#_v3) :is(.match-item, .risk-item):hover:not(.selected) { background-color: color-mix(in srgb, var(--v3-accent) 4%, var(--v3-surface)); }
:root:not(#_v3) :is(.match-item, .risk-item).selected { box-shadow: inset 3px 0 0 var(--v3-accent); }
:root:not(#_v3) .match-item-avatar { box-shadow: 0 0 0 2px var(--v3-surface), 0 0 0 3px color-mix(in srgb, var(--v3-accent) 18%, var(--v3-line)); border-radius: 50%; }
:root:not(#_v3) .match-item-classification { border-radius: 6px; }
:root:not(#_v3) .match-toolbar :is(input:not([type=search]), select) { border-radius: 10px; transition: box-shadow .15s, border-color .15s; }
:root:not(#_v3) .match-toolbar :is(input:not([type=search]), select):focus { box-shadow: var(--v3-ring); }
:root:not(#_v3) .match-toolbar button, :root:not(#_v3) .risk-toolbar button { border-radius: 10px; }
:root:not(#_v3) .match-list-heading strong, :root:not(#_v3) .risk-list-heading strong { letter-spacing: -.2px; }
:root:not(#_v3) .match-result-count { font-variant-numeric: tabular-nums; }
:root:not(#_v3) .match-pagination :is(a, button) { border-radius: 8px; }
:root:not(#_v3) .match-detail-placeholder { opacity: .9; }

/* ---------- Auth pages (/login, /register, /reset-password, and login-gated pages) ---------- */
:root:not(#_v3) .auth-split .auth-promo { border-radius: 22px; }
:root:not(#_v3) .auth-split .auth-form-panel .auth-form-heading h1 { letter-spacing: -.5px; }
:root:not(#_v3) .auth-split .auth-form-eyebrow { letter-spacing: .5px; }
:root:not(#_v3) .auth-split .account-auth-fields :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input:not([type]), select) { border-radius: 10px; transition: border-color .15s, box-shadow .15s; }
:root:not(#_v3) .auth-split .account-auth-fields :is(input, select):focus { border-color: var(--ui-focus, var(--v3-accent)); box-shadow: var(--v3-ring); outline: none; }
:root:not(#_v3) .auth-split .button.dark.auth-submit { border-radius: 12px; font-weight: 650; letter-spacing: .3px; box-shadow: 0 10px 22px -14px color-mix(in srgb, var(--v3-primary) 90%, transparent); transition: background-color .15s, transform .15s, box-shadow .15s; }
:root:not(#_v3) .auth-split .button.dark.auth-submit:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 14px 26px -14px color-mix(in srgb, var(--v3-primary) 95%, transparent); }
:root:not(#_v3) .auth-split .auth-password-toggle { border-radius: 8px; }
:root:not(#_v3) .auth-split .account-auth-switch a { text-underline-offset: 3px; }
:root:not(#_v3) .auth-split .auth-email-provider { border-radius: 999px; }

/* ---------- Account / appeal / contact-assistance / messages / profile (logged-in pages) ---------- */
:root:not(#_v3) :is(.account-page, .account-appeal-page) :is(section, .account-card, .account-panel) { border-radius: var(--v3-r); }
:root:not(#_v3) :is(.account-page, .account-appeal-page) .button { border-radius: 10px; }
:root:not(#_v3) .account-appeal-error { border-radius: 12px; }
:root:not(#_v3) .account-nav button { border-radius: var(--v3-r-sm); }

/* ---------- About (/about) ---------- */
:root:not(#_v3) .company-about .company-button { border-radius: 12px; transition: transform .15s, box-shadow .15s, background-color .15s; }
:root:not(#_v3) .company-about .company-button:hover { transform: translateY(-1px); box-shadow: var(--v3-shadow-hover); }
:root:not(#_v3) .company-about :is(.company-offering-item, .company-node) { border-radius: 16px; transition: box-shadow .18s, transform .18s; }
:root:not(#_v3) .company-about .company-offering-item:hover { box-shadow: var(--v3-shadow-hover); transform: translateY(-2px); }

/* ---------- Mobile nav (shared) ---------- */
:root:not(#_v3) .mobile-navigation { box-shadow: 0 12px 30px -12px rgba(22, 52, 37, .35); }

/* v4 note: deals right-side v3 rules removed (compact table below) */
/* v3 extras: card-framed auth form, softer deals header */
:root:not(#_v3) .auth-split .auth-form-panel .account-auth-fields { padding: 30px 30px 26px; border: 1px solid color-mix(in srgb, var(--ui-text, #23392d) 8%, var(--v3-line)); border-radius: 20px; background: var(--v3-surface); box-shadow: var(--v3-shadow); }
@media (max-width: 640px) { :root:not(#_v3) .auth-split .auth-form-panel .account-auth-fields { padding: 22px 18px 20px; border-radius: 16px; } }

@media (prefers-reduced-motion: reduce) {
  :root:not(#_v3) .app-shell * { transition: none !important; }
  :root:not(#_v3) .app-shell :is(.directory-card, .auth-submit, .company-button, .company-offering-item):hover { transform: none !important; }
}

/* ================= v4 (Grok Bot) ================= */
/* 1) 低价资源库 right side: compact, horizontal, dense rows for price comparison */
:root:not(#_v3) .directory-workspace-deals .price-quotes-heading { padding: 6px 12px; margin-bottom: 6px; }
:root:not(#_v3) .directory-workspace-deals .price-quotes-heading h2 { font-size: 16px; line-height: 1.35; }
:root:not(#_v3) .directory-workspace-deals .price-quotes-kicker { font-size: 11px; line-height: 1.4; }
:root:not(#_v3) .directory-workspace-deals .price-quote-count { font-size: 18px; line-height: 1.1; }
:root:not(#_v3) .directory-workspace-deals .price-offer-table-head { min-height: 32px; padding-top: 4px; padding-bottom: 4px; }
:root:not(#_v3) .directory-workspace-deals .price-offer-row { min-height: 0; padding: 5px 10px; transition: background-color .12s; }
:root:not(#_v3) .directory-workspace-deals .price-offer-row:hover { background-color: color-mix(in srgb, var(--v3-accent) 4%, transparent); }
:root:not(#_v3) .directory-workspace-deals .price-offer-product h3 { font-size: 13.5px; line-height: 18px; }
:root:not(#_v3) .directory-workspace-deals .price-offer-product p { font-size: 12px; line-height: 16px; margin-top: 1px; }
:root:not(#_v3) .directory-workspace-deals .price-offer-price { flex-direction: row; align-items: baseline; gap: 3px; }
:root:not(#_v3) .directory-workspace-deals .price-offer-price strong { font-size: 18px; line-height: 22px; letter-spacing: -.2px; font-variant-numeric: tabular-nums; }
:root:not(#_v3) .directory-workspace-deals .price-offer-price span { font-size: 11px; line-height: 1; }
:root:not(#_v3) .directory-workspace-deals .price-offer-stock { font-size: 12px; padding: 1px 7px; line-height: 18px; }
:root:not(#_v3) .directory-workspace-deals .price-offer-action a { min-height: 26px; padding-top: 0; padding-bottom: 0; }
@media (max-width: 760px) {
  :root:not(#_v3) .directory-workspace-deals .price-offer-row { grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 4px 10px; padding: 10px 0; min-height: 0; align-items: center; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-row > .price-offer-product { grid-column: 1 / 4; grid-row: 1; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-row > .price-offer-price { grid-column: 4; grid-row: 1; justify-content: flex-end; align-self: start; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-row > .price-offer-stock { grid-column: 1; grid-row: 2; justify-self: start; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-row > .price-offer-update { grid-column: 2; grid-row: 2; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-row > .price-offer-action { grid-column: 4; grid-row: 2; justify-self: end; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-product p { -webkit-line-clamp: 2; line-clamp: 2; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-price strong { font-size: 19px; }
  :root:not(#_v3) .directory-workspace-deals .price-offer-action a { min-height: 30px; padding-left: 10px; padding-right: 10px; }
  :root:not(#_v3) .directory-workspace-deals .price-quotes-heading { padding: 8px 12px; }
}

/* 2) Search boxes: one clean focus ring on the wrapper, none on the inner input */
:root:not(#_v3) :is(form[role=search], .match-search, .risk-search, .directory-search-form) input,
:root:not(#_v3) :is(form[role=search], .match-search, .risk-search, .directory-search-form) input:focus,
:root:not(#_v3) :is(form[role=search], .match-search, .risk-search, .directory-search-form) input:focus-visible { outline: none !important; box-shadow: none !important; border-radius: 0; background-clip: padding-box; }
:root:not(#_v3) input[type=search]::-webkit-search-cancel-button,
:root:not(#_v3) input[type=search]::-webkit-search-decoration,
:root:not(#_v3) input[type=search]::-webkit-search-results-button,
:root:not(#_v3) input[type=search]::-webkit-search-results-decoration { -webkit-appearance: none; appearance: none; display: none; }
:root:not(#_v3) :is(.match-search, .risk-search, .directory-search-form):focus-within { outline: none; border-color: var(--ui-focus, var(--v3-accent)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--v3-accent) 16%, transparent); }
:root:not(#_v3) .directory-home-shell .directory-tools-search .directory-search-form.directory-header-search:focus-within { box-shadow: 0 0 0 3px color-mix(in srgb, var(--v3-accent) 16%, transparent), var(--v3-shadow); }
/* standalone text inputs (detection tools, forms): border + soft ring only, no extra outline */
:root:not(#_v3) .app-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), textarea):focus-visible { outline: none; border-color: var(--ui-focus, var(--v3-accent)); box-shadow: var(--v3-ring); }

/* ================= v5 (Grok Bot) ================= */
/* Turnstile: the widget switches to the tall "compact" box when its container is <300px wide.
   Keep the form column >=300px on phones (>=340px wide) so it renders the horizontal flexible strip. */
:root:not(#_v3) .auth-split .human-verification-widget { border-radius: 10px; overflow: hidden; width: 100%; max-width: 100%; line-height: 0; }
:root:not(#_v3) .auth-split .human-verification-widget.flexible iframe { width: 100% !important; display: block; }
:root:not(#_v3) .auth-split .human-verification { width: 100%; min-width: 0; }
@media (max-width: 420px) {
  :root:not(#_v3) .auth-split .auth-form-panel { padding-left: 14px; padding-right: 14px; }
  :root:not(#_v3) .auth-split .auth-form-panel .account-auth-fields { padding: 20px 14px 18px; border-radius: 16px; }
}
@media (max-width: 359px) {
  :root:not(#_v3) .auth-split .auth-form-panel { padding-left: 10px; padding-right: 10px; }
  :root:not(#_v3) .auth-split .auth-form-panel .account-auth-fields { padding: 16px 0 14px; border: 0; box-shadow: none; background: transparent; }
}

/* v6 mobile-first layout pass (Grok Bot) */
@media (max-width: 760px) {
  :root:not(#_v3) .directory-topbar { height: 50px; min-height: 50px; padding: 0 12px; }
  :root:not(#_v3) .directory-topbar .brand-icon { height: 26px; width: auto; display: block; margin: 0; }
  :root:not(#_v3) .directory-topbar .brand { top: 0; left: 12px; height: 50px; margin: 0; padding: 0; display: flex; align-items: center; }
  :root:not(#_v3) .directory-topbar .top-actions { top: 0; right: 8px; height: 50px; align-items: center; }
  :root:not(#_v3) .directory-topbar .account-link { min-height: 40px; font-size: 13px; }
  /* matching feed: one-line scrollable filters instead of 3 stacked rows */
  :root:not(#_v3) .match-mobile-filters { display: flex !important; flex-wrap: nowrap; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding: 2px 12px 10px !important; -webkit-mask-image: linear-gradient(90deg,#000 calc(100% - 24px),transparent); mask-image: linear-gradient(90deg,#000 calc(100% - 24px),transparent); }
  :root:not(#_v3) .match-mobile-filters::-webkit-scrollbar { display: none; }
  :root:not(#_v3) .match-mobile-filters > * { flex: 0 0 auto; width: auto !important; min-width: 0; max-width: 46vw; height: 36px; min-height: 36px; border-radius: 999px; font-size: 13px; padding: 0 30px 0 12px; grid-column: auto !important; }
  :root:not(#_v3) .match-mobile-filters > button { padding: 0 14px; }
  :root:not(#_v3) .match-toolbar { padding: 8px 12px; }
  :root:not(#_v3) .match-search { height: 40px; min-height: 40px; }
  :root:not(#_v3) .match-blocked-toggle { height: 40px; min-height: 40px; }
  :root:not(#_v3) .match-result-count, :root:not(#_v3) .match-item-classification, :root:not(#_v3) .match-item-category, :root:not(#_v3) .match-item-meta, :root:not(#_v3) .post-interaction-bar--feed { font-size: 12px; }
  :root:not(#_v3) .match-controls-toggle { min-height: 40px; font-size: 13px; }
  :root:not(#_v3) .match-pagination button, :root:not(#_v3) .match-pagination a { min-height: 40px; }
  /* deals: pickers side by side, bigger store button */
  :root:not(#_v3) .mobile-price-picker { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
  :root:not(#_v3) .mobile-price-picker > div { min-width: 0; }
  :root:not(#_v3) .mobile-price-picker button { min-height: 46px; width: 100%; min-width: 0; padding: 0 10px; gap: 6px; }
  :root:not(#_v3) .mobile-price-picker button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1; text-align: left; font-size: 14px; }
  :root:not(#_v3) .mobile-price-picker span { font-size: 12px; }
  :root:not(#_v3) .price-offer-action a { min-height: 36px; padding: 0 12px; display: inline-flex; align-items: center; }
  :root:not(#_v3) .price-offer-update, :root:not(#_v3) .price-quotes-kicker, :root:not(#_v3) .price-quote-count { font-size: 12px; }
  /* tools */
  :root:not(#_v3) .directory-card-action, :root:not(#_v3) .directory-favorite { min-height: 36px; display: inline-flex; align-items: center; }
  /* auth: form first, compact promo */
  :root:not(#_v3) .auth-split .auth-promo { min-height: 0 !important; height: auto !important; padding: 16px 18px !important; margin: 10px 12px 0 !important; border-radius: 16px; }
  :root:not(#_v3) .auth-split .auth-connection-art { display: none !important; }
  :root:not(#_v3) .auth-split .auth-promo-copy { position: static !important; inset: auto !important; padding: 0 !important; }
  :root:not(#_v3) .auth-split .auth-promo-copy h2 { font-size: 20px !important; line-height: 1.35 !important; margin: 0 !important; }
  :root:not(#_v3) .auth-split .auth-promo-copy h2 br { display: none; }
  :root:not(#_v3) .auth-split .auth-form-panel { padding-top: 12px; padding-bottom: 28px; }
  :root:not(#_v3) .auth-split .auth-form-heading h1 { font-size: 22px; }
  :root:not(#_v3) .auth-split input:not([type=checkbox]) { min-height: 46px; font-size: 16px; }
  :root:not(#_v3) .auth-split .auth-submit { min-height: 48px; }
  :root:not(#_v3) .auth-split .auth-consent-row { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
  :root:not(#_v3) .auth-split .account-legal-consent { display: flex; align-items: center; gap: 8px; min-height: 36px; }
  :root:not(#_v3) .auth-split .account-legal-consent input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
  :root:not(#_v3) .auth-split .account-legal-consent label { font-size: 12.5px; line-height: 1.6; }
  :root:not(#_v3) .auth-split .account-legal-consent a { padding: 8px 0; }
  :root:not(#_v3) .auth-split a[href="/reset-password"] { display: inline-flex; align-items: center; min-height: 36px; }
  :root:not(#_v3) .auth-split [class*=hint], :root:not(#_v3) .auth-split small { font-size: 12px; }
  :root:not(#_v3) .site-footer a, :root:not(#_v3) .footer-links a { min-height: 36px; display: inline-flex; align-items: center; }
}

/* v7 (Grok Bot): flat auth, smarter mobile chrome */
:root:not(#_v3) .auth-split .auth-form-panel .account-auth-fields { border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important; padding: 8px 0 4px !important; }
:root:not(#_v3) .auth-split .auth-form-panel .auth-form-heading { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid color-mix(in srgb, var(--ui-text, #23392d) 9%, transparent); }
@media (max-width: 760px) {
  :root:not(#_v3) .auth-split .auth-form-panel { padding-left: 12px !important; padding-right: 12px !important; padding-top: 8px; }
  :root:not(#_v3) .auth-split .auth-promo { background: transparent !important; box-shadow: none !important; border: 0 !important; margin: 6px 12px 0 !important; padding: 14px 0 0 !important; }
  :root:not(#_v3) .auth-split .auth-promo-copy h2 { font-size: 15px !important; font-weight: 600 !important; color: var(--ui-muted, #5b6f64) !important; }
}
@media (max-width: 359px) { :root:not(#_v3) .auth-split .auth-form-panel { padding-left: 10px !important; padding-right: 10px !important; } :root:not(#_v3) .auth-split .auth-promo { margin-left: 10px !important; margin-right: 10px !important; } }

@media (max-width: 650px) {
  :root:not(#_v3) .directory-topbar { height: 50px !important; min-height: 50px !important; flex-basis: 50px !important; }
  /* header follows the tab bar: both tuck away together on scroll-down, both return on scroll-up/top/bottom */
  :root:not(#_v3) .directory-topbar { transition: margin-top .34s cubic-bezier(.22,1,.36,1), transform .34s cubic-bezier(.22,1,.36,1), opacity .24s ease; will-change: transform; }
  :root:not(#_v3):has(.mobile-navigation.is-minimized) .directory-topbar { margin-top: -50px; transform: translateY(-8px); opacity: 0; pointer-events: none; }
  /* compact pill instead of a 26px sliver: real 44px hit area */
  :root:not(#_v3) .mobile-navigation.is-minimized { width: 92px; height: 36px; border-radius: 18px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
  :root:not(#_v3) .mobile-navigation.is-minimized .mobile-navigation-toggle { width: 92px; height: 44px; top: 17px; }
  :root:not(#_v3) .mobile-navigation.is-minimized .mobile-navigation-toggle svg { transform: scale(.82); }
  /* softer spring for the sliding highlight */
  :root:not(#_v3) .mobile-navigation-indicator { transition: transform .48s cubic-bezier(.3,1.12,.4,1), opacity .2s ease; }
  :root:not(#_v3) .mobile-navigation-indicator::before { transition: transform .36s cubic-bezier(.3,1.2,.4,1), box-shadow .24s, background .24s; }
  :root:not(#_v3) .mobile-navigation-primary a svg { transition: transform .36s cubic-bezier(.3,1.25,.4,1); }
  :root:not(#_v3) .mobile-navigation-primary a[aria-current="page"] svg { transform: translateY(-1px); }
}
@media (max-width: 650px) and (prefers-reduced-motion: reduce) { :root:not(#_v3) .directory-topbar { transition: none; } }

/* v8 (Grok Bot): consent + login switch on one row */
:root:not(#_v3) .auth-split .auth-consent-row { flex-direction: row !important; align-items: center !important; justify-content: space-between; gap: 10px; flex-wrap: nowrap; }
:root:not(#_v3) .auth-split .auth-consent-row .account-legal-consent { flex: 1 1 auto; min-width: 0; }
:root:not(#_v3) .auth-split .auth-consent-row .account-auth-switch { flex: 0 0 auto; margin: 0 !important; white-space: nowrap; font-size: 12.5px; gap: 2px; min-height: 36px; display: inline-flex; align-items: center; }
:root:not(#_v3) .auth-split .auth-consent-row .account-auth-switch a { min-height: 36px; display: inline-flex; align-items: center; }
@media (max-width: 400px) {
  :root:not(#_v3) .auth-split .auth-consent-row { gap: 8px; }
  :root:not(#_v3) .auth-split .auth-consent-row .account-legal-consent label { font-size: 12px; line-height: 1.5; }
  :root:not(#_v3) .auth-split .auth-consent-row .account-auth-switch { font-size: 12px; }
}

/* v8: iOS 26 style liquid glass tab bar */
@media (max-width: 650px) {
  :root:not(#_v3) .mobile-navigation {
    background: linear-gradient(180deg, rgba(255,255,255,.56), rgba(246,250,248,.38));
    -webkit-backdrop-filter: blur(22px) saturate(185%) brightness(1.04);
    backdrop-filter: blur(22px) saturate(185%) brightness(1.04);
    border: 1px solid rgba(255,255,255,.62);
    box-shadow: 0 14px 34px -12px rgba(18,44,32,.32), 0 2px 6px rgba(18,44,32,.06), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.28), inset 0 0 0 .5px rgba(255,255,255,.35);
    isolation: isolate;
  }
  :root:not(#_v3) .mobile-navigation::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2;
    background: radial-gradient(120% 70% at 50% -10%, rgba(255,255,255,.55), transparent 55%), linear-gradient(100deg, rgba(255,255,255,.22), transparent 30%, transparent 70%, rgba(255,255,255,.16));
    mix-blend-mode: soft-light; opacity: .9;
  }
  :root:not(#_v3) .mobile-navigation-indicator::before {
    background: radial-gradient(90% 80% at 50% 18%, rgba(255,255,255,.88), rgba(232,246,239,.55) 55%, rgba(196,228,212,.42));
    border: 1px solid rgba(255,255,255,.85);
    box-shadow: inset 0 1px 1px rgba(255,255,255,1), inset 0 -2px 4px rgba(46,107,80,.12), 0 3px 10px -2px rgba(18,60,40,.22), 0 0 0 .5px rgba(46,107,80,.12);
  }
  :root:not(#_v3) .mobile-navigation-primary a[data-highlighted="true"] { color: #2e6b50; }
  :root:not(#_v3) .mobile-navigation-primary a[data-highlighted="true"] svg { transform: scale(1.08); }
  :root:not(#_v3) .mobile-navigation-primary[data-gesture="pressed"] .mobile-navigation-indicator::before { transform: scale(1.04, .98); }
  :root:not(#_v3) .mobile-navigation-primary[data-gesture="dragging"] .mobile-navigation-indicator { will-change: transform; }
  :root:not(#_v3) .mobile-navigation-primary[data-gesture="dragging"] .mobile-navigation-indicator::before { transform: scale(1.16, 1.08); background: radial-gradient(90% 80% at 50% 18%, rgba(255,255,255,.75), rgba(232,246,239,.4) 60%, rgba(196,228,212,.3)); box-shadow: inset 0 1px 2px #fff, inset 0 -3px 6px rgba(46,107,80,.14), 0 8px 18px -4px rgba(18,60,40,.28); }
  :root:not(#_v3) .mobile-navigation-primary[data-gesture="dragging"] a[data-highlighted="true"] svg { transform: scale(1.18); }
  :root:not(#_v3) .mobile-navigation-primary { touch-action: pan-y; }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation { background: linear-gradient(180deg, rgba(40,52,46,.62), rgba(22,30,26,.5)); border-color: rgba(255,255,255,.14); box-shadow: 0 14px 34px -12px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.18), inset 0 0 0 .5px rgba(255,255,255,.08); }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation::after { opacity: .35; }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-indicator::before { background: radial-gradient(90% 80% at 50% 18%, rgba(255,255,255,.26), rgba(120,170,145,.22) 60%, rgba(70,120,95,.2)); border-color: rgba(255,255,255,.22); box-shadow: inset 0 1px 1px rgba(255,255,255,.3), 0 3px 10px -2px rgba(0,0,0,.4); }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-primary a[data-highlighted="true"] { color: #bfe6d2; }
}
@media (max-width: 650px) and (prefers-reduced-motion: reduce) { :root:not(#_v3) .mobile-navigation-primary[data-gesture] .mobile-navigation-indicator::before, :root:not(#_v3) .mobile-navigation-primary a svg { transform: none !important; } }

/* v9 (Grok Bot): Liquid-glass tab bar + separate "more" button with glass popover */
@media (max-width: 650px) {
  :root:not(#_v3) .mobile-navigation,
  :root:not(#_v3) .mobile-navigation.is-expanded {
    background: none !important; border: 0 !important; box-shadow: none !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    overflow: visible !important; padding: 0 !important; height: 56px !important; max-height: none !important;
    border-radius: 0 !important; width: min(392px, 100% - 20px);
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  }
  :root:not(#_v3) .mobile-navigation::after { display: none !important; }
  /* the glass pill = primary row; glass painted on ::before so the lens can see the page behind */
  :root:not(#_v3) .mobile-navigation-primary {
    position: absolute; left: 0; top: 0; width: calc(100% - 66px); height: 56px; padding: 6px; box-sizing: border-box;
    grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; isolation: isolate; overflow: visible;
  }
  :root:not(#_v3) .mobile-navigation-primary::before,
  :root:not(#_v3) .mobile-navigation-toggle::before,
  :root:not(#_v3) .mobile-navigation-extra::before {
    content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
    background: radial-gradient(120% 80% at 50% -20%, rgba(255,255,255,.55), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.5), rgba(244,249,246,.32));
    -webkit-backdrop-filter: blur(20px) saturate(190%) brightness(1.05); backdrop-filter: blur(20px) saturate(190%) brightness(1.05);
    border: 1px solid rgba(255,255,255,.6);
    box-shadow: 0 14px 34px -14px rgba(18,44,32,.36), 0 2px 6px rgba(18,44,32,.07), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 1px rgba(255,255,255,.3), inset 1px 0 0 rgba(255,255,255,.25), inset -1px 0 0 rgba(255,255,255,.25);
  }
  :root:not(#_v3) .mobile-navigation-primary { border-radius: 28px; }
  :root:not(#_v3) .mobile-navigation-primary a { min-height: 44px; }
  :root:not(#_v3) .mobile-navigation-primary a svg { transform: scale(var(--aibuy-mag, 1)) !important; transition: transform .38s cubic-bezier(.3,1.3,.4,1) !important; }
  :root:not(#_v3) .mobile-navigation-primary[data-gesture="pressed"] a svg, :root:not(#_v3) .mobile-navigation-primary[data-gesture="dragging"] a svg { transition: transform .1s linear !important; }

  /* the lens */
  :root:not(#_v3) .mobile-navigation-indicator {
    top: 6px; left: 0; height: 44px; width: calc((100% - 12px - 6px) / 4);
    transform: translate3d(var(--mobile-navigation-drag-x, calc(6px + var(--mobile-navigation-index) * (100% + 2px))), 0, 0);
    transition: transform .5s cubic-bezier(.3,1.15,.4,1), opacity .2s ease;
  }
  :root:not(#_v3) .mobile-navigation-primary[data-gesture="dragging"] .mobile-navigation-indicator { transition: opacity .18s !important; }
  :root:not(#_v3) .mobile-navigation-indicator::before {
    border-radius: 999px;
    background: radial-gradient(100% 90% at 50% 12%, rgba(255,255,255,.9), rgba(236,247,241,.55) 52%, rgba(200,230,214,.42));
    border: 1px solid rgba(255,255,255,.88);
    box-shadow: inset 0 1px 1px #fff, inset 0 -2px 5px rgba(46,107,80,.12), 0 3px 10px -3px rgba(18,60,40,.24), 0 0 0 .5px rgba(46,107,80,.12);
    transform: scale(1); transform-origin: 50% 50%;
    transition: transform .46s cubic-bezier(.3,1.35,.45,1), background .3s ease, box-shadow .3s ease !important;
    animation: none !important;
  }
  :root:not(#_v3) .mobile-navigation-primary:is([data-gesture="pressed"], [data-gesture="dragging"]) .mobile-navigation-indicator::before {
    transform: scale(1.42, 1.5);
    background: radial-gradient(100% 90% at 50% 8%, rgba(255,255,255,.34), rgba(255,255,255,0) 50%, rgba(255,255,255,.12));
    -webkit-backdrop-filter: saturate(170%) brightness(1.08); backdrop-filter: saturate(170%) brightness(1.08);
    border-color: rgba(255,255,255,.95);
    box-shadow:
      inset 0 1.5px 1px rgba(255,255,255,.95), inset 0 -1.5px 1px rgba(255,255,255,.5),
      inset 3px 0 4px -2px rgba(255,160,200,.35), inset -3px 0 4px -2px rgba(120,210,255,.35),
      inset 0 0 10px rgba(255,255,255,.35), 0 10px 24px -8px rgba(18,50,36,.35), 0 0 0 .5px rgba(30,60,45,.18);
    transition: transform .34s cubic-bezier(.25,1.4,.45,1), background .2s ease, box-shadow .2s ease !important;
  }
  :root.aibuy-refract:not(#_v3) .mobile-navigation-primary:is([data-gesture="pressed"], [data-gesture="dragging"]) .mobile-navigation-indicator::before {
    backdrop-filter: url(#aibuy-lens) saturate(170%) brightness(1.08);
  }
  :root:not(#_v3) .mobile-navigation-primary a[data-highlighted="true"] { color: #2e6b50; }

  /* separate round "more" button */
  :root:not(#_v3) .mobile-navigation:not(.is-minimized) .mobile-navigation-toggle {
    left: auto !important; right: 0; top: 0 !important; width: 56px !important; min-width: 56px; height: 56px !important; transform: none !important;
    border-radius: 50%; background: none !important; color: #2f4a3d; isolation: isolate; z-index: 3;
    transition: transform .3s cubic-bezier(.3,1.4,.45,1) !important;
  }
  :root:not(#_v3) .mobile-navigation:not(.is-minimized) .mobile-navigation-toggle > svg { display: none; }
  :root:not(#_v3) .mobile-navigation:not(.is-minimized) .mobile-navigation-toggle::after {
    content: ""; width: 22px; height: 6px; border-radius: 3px;
    background: radial-gradient(circle at 3px 3px, currentColor 2.4px, transparent 2.9px) 0 0 / 8px 6px repeat-x;
    transition: transform .34s cubic-bezier(.3,1.4,.45,1);
  }
  :root:not(#_v3) .mobile-navigation:not(.is-minimized) .mobile-navigation-toggle:active { transform: scale(.92) !important; }
  :root:not(#_v3) .mobile-navigation.is-expanded:not(.is-minimized) .mobile-navigation-toggle::after { transform: rotate(90deg); }
  :root:not(#_v3) .mobile-navigation:not(.is-minimized) .mobile-navigation-toggle:hover { background: none !important; }

  /* glass popover with the extra functions */
  :root:not(#_v3) .mobile-navigation-extra {
    position: absolute; right: 0; bottom: calc(100% + 12px); width: min(312px, calc(100vw - 20px)); box-sizing: border-box;
    margin: 0 !important; padding: 10px !important; border-top: 0 !important; border-radius: 24px; isolation: isolate;
    grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; touch-action: none;
    opacity: 0; visibility: hidden; pointer-events: none; transform-origin: calc(100% - 28px) calc(100% + 40px);
    transform: translateY(10px) scale(.4);
    transition: opacity .18s ease, transform .3s cubic-bezier(.4,0,.2,1), visibility 0s .3s !important;
  }
  :root:not(#_v3) .mobile-navigation.is-expanded:not(.is-minimized) .mobile-navigation-extra {
    opacity: 1; visibility: visible; pointer-events: auto; transform: none;
    transition: opacity .2s ease, transform .5s cubic-bezier(.3,1.3,.45,1), visibility 0s !important;
  }
  :root:not(#_v3) .mobile-navigation-extra a { min-height: 66px; border-radius: 16px; gap: 6px; font-size: 12px; color: #2f4a3d; transition: background-color .18s, transform .2s cubic-bezier(.3,1.4,.45,1); }
  :root:not(#_v3) .mobile-navigation-extra a:active { background: rgba(255,255,255,.55); transform: scale(.94); }
  :root:not(#_v3) .mobile-navigation-extra a svg { width: 22px; height: 22px; }
  :root:not(#_v3) .mobile-navigation-backdrop { z-index: 70; transition: opacity .28s ease !important; }
  :root:not(#_v3) .mobile-navigation-backdrop.is-visible { background: rgba(12,24,18,.12); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); pointer-events: auto; }

  /* compact pill (v7 scroll collapse) */
  :root:not(#_v3) .mobile-navigation.is-minimized { width: 92px !important; height: 36px !important; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
  :root:not(#_v3) .mobile-navigation.is-minimized .mobile-navigation-primary { width: 100%; height: 36px; padding: 0; border-radius: 18px; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  :root:not(#_v3) .mobile-navigation.is-minimized .mobile-navigation-primary > * { opacity: 0; visibility: hidden; }
  :root:not(#_v3) .mobile-navigation-primary, :root:not(#_v3) .mobile-navigation-primary::before { transition: width .36s cubic-bezier(.22,1,.36,1), height .36s cubic-bezier(.22,1,.36,1), border-radius .36s, opacity .2s; }
  :root:not(#_v3) .mobile-navigation.is-minimized .mobile-navigation-toggle { left: 0 !important; right: auto; top: -4px !important; width: 92px !important; height: 44px !important; transform: none !important; z-index: 3; }
  :root:not(#_v3) .mobile-navigation.is-minimized .mobile-navigation-toggle::before { display: none; }

  /* dark */
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-primary::before, :root[data-theme="dark"]:not(#_v3) .mobile-navigation-toggle::before, :root[data-theme="dark"]:not(#_v3) .mobile-navigation-extra::before {
    background: radial-gradient(120% 80% at 50% -20%, rgba(255,255,255,.12), transparent 60%), linear-gradient(180deg, rgba(42,54,48,.66), rgba(22,30,26,.54));
    border-color: rgba(255,255,255,.14); box-shadow: 0 14px 34px -12px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 1px rgba(255,255,255,.06);
  }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-indicator::before { background: radial-gradient(100% 90% at 50% 12%, rgba(255,255,255,.28), rgba(120,170,145,.2) 60%, rgba(70,120,95,.18)); border-color: rgba(255,255,255,.22); box-shadow: inset 0 1px 1px rgba(255,255,255,.3), 0 3px 10px -2px rgba(0,0,0,.4); }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-primary:is([data-gesture="pressed"], [data-gesture="dragging"]) .mobile-navigation-indicator::before { background: radial-gradient(100% 90% at 50% 10%, rgba(255,255,255,.18), rgba(255,255,255,.03) 55%, rgba(255,255,255,.08)); border-color: rgba(255,255,255,.35); }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-toggle, :root[data-theme="dark"]:not(#_v3) .mobile-navigation-extra a { color: #d2e6dc; }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-primary a[data-highlighted="true"] { color: #bfe6d2; }
  :root[data-theme="dark"]:not(#_v3) .mobile-navigation-extra a:active { background: rgba(255,255,255,.1); }
}
@media (max-width: 650px) and (prefers-reduced-motion: reduce) {
  :root:not(#_v3) .mobile-navigation-primary .mobile-navigation-indicator::before { transform: none !important; }
  :root:not(#_v3) .mobile-navigation-extra { transform: none !important; }
  :root:not(#_v3) .mobile-navigation-primary a svg { transform: none !important; }
}
@media (max-width: 650px) {
  /* while pressed/dragging the lens floats ABOVE the icons so it refracts and magnifies them */
  :root:not(#_v3) .mobile-navigation-primary:is([data-gesture="pressed"], [data-gesture="dragging"]) .mobile-navigation-indicator { z-index: 2; }
}


/* ===== v10: grid alignment (≤760) ===== */
@media (max-width: 760px) {
  :root:not(#_v3) .mc-wrap, :root:not(#_v3) .ce-wrap { padding-left: 12px !important; padding-right: 12px !important; }
  :root:not(#_v3) .risk-toolbar { padding-left: 12px !important; padding-right: 12px !important; }
  :root:not(#_v3) main.company-about { width: auto !important; max-width: none !important; margin-left: 12px !important; margin-right: 12px !important; }
}
/* ===== v10: spring-driven lens + popover morph (≤650) ===== */
@media (max-width: 650px) {
  html.aibuy-spring:not(#_v3) .mobile-navigation-indicator, html.aibuy-spring:not(#_v3) .mobile-navigation-primary[data-gesture] .mobile-navigation-indicator { transition: opacity .2s ease !important; will-change: transform; }
  html.aibuy-spring:not(#_v3) .mobile-navigation-primary .mobile-navigation-indicator::before, html.aibuy-spring:not(#_v3) .mobile-navigation-primary[data-gesture] .mobile-navigation-indicator::before { transform: scale(var(--ls-x,1), var(--ls-y,1)) !important; transition: background .22s ease, box-shadow .22s ease, border-color .22s ease !important; }
  html.aibuy-spring:not(#_v3) .mobile-navigation-primary[data-lens="up"] .mobile-navigation-indicator { z-index: 2; }
  html.aibuy-spring:not(#_v3) .mobile-navigation-primary a svg { transition: transform .06s linear !important; }
  html.aibuy-spring:not(#_v3) .mobile-navigation-primary[data-lens="up"] a svg, :root:not(#_v3) .mobile-navigation-primary[data-lens="up"] a svg{ transition: transform .1s linear !important; }
  html.aibuy-spring:not(#_v3) .mobile-navigation-primary[data-lens="up"] .mobile-navigation-indicator::before{
    
    background: radial-gradient(100% 90% at 50% 8%, rgba(255,255,255,.34), rgba(255,255,255,0) 50%, rgba(255,255,255,.12));
    -webkit-backdrop-filter: saturate(170%) brightness(1.08); backdrop-filter: saturate(170%) brightness(1.08);
    border-color: rgba(255,255,255,.95);
    box-shadow:
      inset 0 1.5px 1px rgba(255,255,255,.95), inset 0 -1.5px 1px rgba(255,255,255,.5),
      inset 3px 0 4px -2px rgba(255,160,200,.35), inset -3px 0 4px -2px rgba(120,210,255,.35),
      inset 0 0 10px rgba(255,255,255,.35), 0 10px 24px -8px rgba(18,50,36,.35), 0 0 0 .5px rgba(30,60,45,.18);
    transition: transform .34s cubic-bezier(.25,1.4,.45,1), background .2s ease, box-shadow .2s ease !important;
  }
  html.aibuy-spring.aibuy-refract:not(#_v3) .mobile-navigation-primary[data-lens="up"] .mobile-navigation-indicator::before{
    backdrop-filter: url(#aibuy-lens) saturate(170%) brightness(1.08);
  }
  html.aibuy-spring[data-theme="dark"]:not(#_v3) .mobile-navigation-primary[data-lens="up"] .mobile-navigation-indicator::before{ background: radial-gradient(100% 90% at 50% 10%, rgba(255,255,255,.18), rgba(255,255,255,.03) 55%, rgba(255,255,255,.08)); border-color: rgba(255,255,255,.35); }
  /* while pressed/dragging the lens floats ABOVE the icons so it refracts and magnifies them */
  :root:not(#_v3) .mobile-navigation-primary[data-lens="up"] .mobile-navigation-indicator{ z-index: 2; }
  html.aibuy-spring:not(#_v3) .mobile-navigation-extra {
    transform-origin: 100% 100%; transition: none !important;
    transform: translate(var(--dx,0px), var(--dy,68px)) scale(var(--mx,.18), var(--my,.65));
  }
  html.aibuy-spring:not(#_v3) .mobile-navigation-extra::before { border-radius: inherit; }
  html.aibuy-spring:not(#_v3) .mobile-navigation.is-expanded:not(.is-minimized) .mobile-navigation-extra { transform: none; animation: aibuy-more-open .64s linear both; }
  html.aibuy-spring:not(#_v3) .mobile-navigation.is-expanded:not(.is-minimized) .mobile-navigation-extra a { animation: aibuy-more-items .26s ease-out .16s both; }
  html.aibuy-spring:not(#_v3) .mobile-navigation.is-closing:not(.is-expanded) .mobile-navigation-extra { visibility: visible; opacity: 1; pointer-events: none; animation: aibuy-more-close .36s linear both; }
  html.aibuy-spring:not(#_v3) .mobile-navigation.is-closing:not(.is-expanded) .mobile-navigation-extra a { animation: aibuy-more-items .12s ease-in reverse both; }
  @keyframes aibuy-more-open {
    0%   { opacity: .35; border-radius: var(--rx,150px) / var(--ry,43px); transform: translate(var(--dx,0px), var(--dy,68px)) scale(var(--mx,.18), var(--my,.65)); animation-timing-function: cubic-bezier(.3,.7,.4,1); }
    34%  { opacity: 1; border-radius: 34px; transform: translate(calc(var(--dx,0px) * .25), calc(var(--dy,68px) * .2)) scale(.7, .92) skewX(5deg); animation-timing-function: cubic-bezier(.3,.6,.4,1); }
    58%  { border-radius: 24px; transform: translateY(-5px) scale(1.04, 1.03) skewX(-1.2deg); animation-timing-function: ease-in-out; }
    78%  { transform: translateY(1px) scale(.988, .994) skewX(.3deg); animation-timing-function: ease-in-out; }
    100% { opacity: 1; border-radius: 24px; transform: none; }
  }
  @keyframes aibuy-more-close {
    0%   { opacity: 1; border-radius: 24px; transform: none; animation-timing-function: ease-out; }
    22%  { transform: translateY(-2px) scale(1.015, 1.01); animation-timing-function: cubic-bezier(.5,0,.75,.4); }
    70%  { opacity: 1; border-radius: 34px; transform: translate(calc(var(--dx,0px) * .4), calc(var(--dy,68px) * .45)) scale(.5, .85) skewX(4deg); animation-timing-function: ease-in-out; }
    100% { opacity: 0; border-radius: var(--rx,150px) / var(--ry,43px); transform: translate(var(--dx,0px), var(--dy,68px)) scale(var(--mx,.18), var(--my,.65)); }
  }
  @keyframes aibuy-more-items { from { opacity: 0; transform: translateY(4px) scale(.92); } to { opacity: 1; transform: none; } }
}
@media (max-width: 650px) and (prefers-reduced-motion: reduce) {
  html.aibuy-spring:not(#_v3) .mobile-navigation-extra, html.aibuy-spring:not(#_v3) .mobile-navigation.is-expanded .mobile-navigation-extra, html.aibuy-spring:not(#_v3) .mobile-navigation.is-closing .mobile-navigation-extra, html.aibuy-spring:not(#_v3) .mobile-navigation-extra a { animation: none !important; transform: none !important; }
  html.aibuy-spring:not(#_v3) .mobile-navigation.is-expanded .mobile-navigation-extra { transition: opacity .15s !important; }
}
/* ===== v10: desktop header — logo and actions share one 16px gutter and one centre line ===== */
@media (min-width: 761px) {
  :root:not(#_v3) .directory-topbar .brand { left: 16px !important; }
  :root:not(#_v3) .directory-topbar:has(.directory-tabs, nav) .brand { top: 5px !important; }
  :root:not(#_v3) .directory-topbar .top-actions { left: auto !important; right: 16px !important; }
}
/* ===== v11: cheaper theme reveal — the three glass layers skip backdrop blur while the snapshots are taken ===== */
html.theme-revealing .mobile-navigation-primary::before, html.theme-revealing .mobile-navigation-toggle::before, html.theme-revealing .mobile-navigation-extra::before { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html.theme-revealing::view-transition-new(root) { animation-duration: 520ms; animation-timing-function: cubic-bezier(.4, .1, .2, 1); }
/* off-screen posts are skipped by layout/paint (also inside the theme-reveal snapshots) */
:root:not(#_v3) .match-list-scroll > .match-item { content-visibility: auto; contain-intrinsic-size: auto 140px; }
/* ===== v11: one unified header bar (desktop ≥901): logo | tabs | actions in a single 56px row ===== */
@media (min-width: 901px) {
  :root:not(#_v3) .directory-home-shell .directory-topbar { --header-height: 56px; --header-nav-height: 56px; height: 56px !important; flex-basis: 56px !important; border-bottom: 1px solid color-mix(in srgb, var(--ui-text, #23392d) 9%, transparent); box-sizing: border-box; }
  :root:not(#_v3) .directory-home-shell .directory-topbar::before { display: none !important; }
  :root:not(#_v3) .directory-home-shell .directory-topbar .brand { top: 10px !important; height: 34px !important; width: auto !important; }
  :root:not(#_v3) .directory-home-shell .directory-topbar .brand-icon { height: 34px !important; width: auto !important; }
  :root:not(#_v3) .directory-home-shell .directory-topbar .main-nav { top: 0 !important; height: 55px !important; left: 50% !important; right: auto !important; width: max-content !important; transform: translateX(-50%); gap: 4px; border: 0 !important; background: none !important; }
  :root:not(#_v3) .directory-home-shell .directory-topbar .main-nav .directory-nav-tab { height: 55px !important; padding: 0 14px; font-size: 14px; }
  :root:not(#_v3) .directory-home-shell .directory-topbar .top-actions { top: 12px !important; }
  :root:not(#_v3) .directory-home-shell .directory-main.directory-main-deals { margin-top: 56px !important; height: calc(100% - 56px) !important; flex-basis: calc(100% - 56px) !important; }
  :root:not(#_v3) .directory-home-shell .match-board, :root:not(#_v3) .directory-home-shell .risk-board { padding-top: 56px !important; }
  :root:not(#_v3) .directory-home-shell .directory-workspace:not(.directory-workspace-matching):not(.directory-workspace-deals):not(.directory-workspace-risk) .directory-tools-search { margin-top: 72px !important; top: 72px !important; }
  :root:not(#_v3) .directory-home-shell .directory-workspace:not(.directory-workspace-matching):not(.directory-workspace-deals):not(.directory-workspace-risk) > .directory-sidebar { margin-top: 72px !important; top: 72px !important; max-height: calc(100vh - 88px) !important; }
}
/* ===== v11: 微信人工对接 (contact-assistance) — centred, flat, green ===== */
:root:not(#_v3) .contact-page-assistance { --c-line: color-mix(in srgb, var(--ui-text, #23392d) 11%, transparent); --c-green: #2f6b50; --c-tint: color-mix(in srgb, #2f6b50 8%, transparent); }
:root:not(#_v3) .contact-page-assistance :is(.contact-resource-card, .contact-ticket-card, .contact-qr-card) { border: 1px solid var(--c-line) !important; box-shadow: none !important; border-radius: 12px !important; background: var(--ui-surface, #fff); }
:root:not(#_v3) .contact-page-assistance .contact-step-number { width: 24px; height: 24px; min-width: 24px; display: inline-grid; place-items: center; border-radius: 50%; background: var(--c-green) !important; color: #fff !important; font-size: 12px; font-weight: 700; }
:root:not(#_v3) .contact-page-assistance .contact-section-heading { display: flex; align-items: center; gap: 10px; min-height: 24px; }
:root:not(#_v3) .contact-page-assistance .contact-section-heading h2 { font-size: 16px; margin: 0; line-height: 24px; }
:root:not(#_v3) .contact-page-assistance .contact-field-label { font-size: 12px; }
:root:not(#_v3) .contact-page-assistance .contact-code-instruction { font-size: 13px; line-height: 20px; }
:root:not(#_v3) .contact-page-assistance .contact-code-box { background: var(--c-tint) !important; border: 1px solid color-mix(in srgb, #2f6b50 18%, transparent) !important; border-radius: 10px !important; padding: 12px !important; display: grid; gap: 10px; }
:root:not(#_v3) .contact-page-assistance .contact-code-box input { font-size: 20px !important; letter-spacing: .08em; text-align: center; height: 40px; background: transparent !important; border: 0 !important; font-variant-numeric: tabular-nums; }
:root:not(#_v3) .contact-page-assistance .contact-code-box .contact-button-primary { height: 44px; border-radius: 8px !important; box-shadow: none !important; }
:root:not(#_v3) .contact-page-assistance .contact-ticket-dates { font-size: 12px; display: grid; gap: 6px; }
:root:not(#_v3) .contact-page-assistance .contact-ticket-dates div { display: flex; justify-content: space-between; gap: 8px; }
:root:not(#_v3) .contact-page-assistance .contact-ticket-dates dd { font-variant-numeric: tabular-nums; margin: 0; }
:root:not(#_v3) .contact-page-assistance .contact-qr-card { padding: 16px !important; display: flex; flex-direction: column; align-items: stretch; gap: 12px; position: relative; }
:root:not(#_v3) .contact-page-assistance .contact-qr-person { display: flex; align-items: center; gap: 10px; }
:root:not(#_v3) .contact-page-assistance .contact-person-avatar { width: 40px; height: 40px; border-radius: 50% !important; overflow: hidden; background: var(--c-tint); display: grid; place-items: center; color: var(--c-green); }
:root:not(#_v3) .contact-page-assistance .contact-person-avatar img { width: 100%; height: 100%; object-fit: cover; }
:root:not(#_v3) .contact-page-assistance .contact-qr-person-info strong { font-size: 15px; }
:root:not(#_v3) .contact-page-assistance .contact-wechat-id { font-size: 12px; }
:root:not(#_v3) .contact-page-assistance .contact-qr-image { width: 100%; max-width: 232px; aspect-ratio: 1; height: auto !important; margin: 0 auto; padding: 8px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px !important; box-sizing: border-box; }
:root:not(#_v3) .contact-page-assistance .contact-qr-image img { width: 100%; height: 100%; object-fit: contain; }
:root:not(#_v3) .contact-page-assistance .contact-qr-card > p { text-align: center; font-size: 13px; margin: 0; color: var(--c-green); font-weight: 600; }
:root:not(#_v3) .contact-page-assistance .contact-card-presence { position: absolute; top: 16px; right: 16px; font-size: 12px; display: inline-flex; align-items: center; gap: 6px; }
:root:not(#_v3) .contact-page-assistance .contact-final-step { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px !important; border: 1px solid var(--c-line) !important; border-radius: 12px; background: var(--c-tint); margin-top: 16px; }
:root:not(#_v3) .contact-page-assistance .contact-final-step p { margin: 0; display: grid; gap: 4px; font-size: 13px; }
:root:not(#_v3) .contact-page-assistance .contact-final-step strong { font-size: 14px; }
@media (min-width: 901px) {
  :root:not(#_v3) .contact-page-scroll:has(.contact-page-assistance) { display: flex; }
  :root:not(#_v3) .contact-page-assistance { width: min(1040px, calc(100% - 48px)); margin: auto !important; padding: 72px 0 32px !important; box-sizing: border-box; min-height: 100%; display: flex; flex-direction: column; justify-content: center; }
  :root:not(#_v3) .contact-page-assistance .contact-page-nav, :root:not(#_v3) .contact-page-assistance .contact-page-heading { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  :root:not(#_v3) .contact-page-assistance .contact-assistance-layout { display: grid !important; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; padding: 0 !important; margin: 16px 0 0 !important; align-items: start; }
  :root:not(#_v3) .contact-page-assistance .contact-context-column { display: grid; gap: 16px; width: auto !important; }
  :root:not(#_v3) .contact-page-assistance .contact-qr-column { width: auto !important; }
  :root:not(#_v3) .contact-page-assistance .contact-qr-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-top: 16px; }
  :root:not(#_v3) .contact-page-assistance .contact-qr-grid.single { grid-template-columns: minmax(260px, 340px); }
}
@media (max-width: 900px) {
  :root:not(#_v3) .contact-page-assistance { padding-left: 12px !important; padding-right: 12px !important; }
  :root:not(#_v3) .contact-page-assistance :is(.contact-page-nav, .contact-page-heading, .contact-assistance-layout) { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  :root:not(#_v3) .contact-page-assistance .contact-context-column { display: grid; gap: 12px; }
  :root:not(#_v3) .contact-page-assistance .contact-qr-grid { display: grid !important; grid-template-columns: 1fr; gap: 12px; margin-top: 12px; }
  :root:not(#_v3) .contact-page-assistance .contact-qr-image { max-width: 220px; }
}

/* ===== v11: 个人中心 (/account) — flat, aligned, green ===== */
:root:not(#_v3) .account-page { --a-line: color-mix(in srgb, var(--ui-text, #23392d) 10%, transparent); --a-green: #2f6b50; --a-tint: color-mix(in srgb, #2f6b50 8%, transparent); }
:root:not(#_v3) .account-page .account-sidebar { box-shadow: none !important; }
:root:not(#_v3) .account-page .account-nav button { min-height: 40px; border-radius: 8px !important; box-shadow: none !important; font-size: 14px; gap: 10px; }
:root:not(#_v3) .account-page .account-nav button.active { background: var(--a-tint) !important; color: var(--a-green) !important; font-weight: 600; }
:root:not(#_v3) .account-page .account-nav button.active::before { display: none !important; }
:root:not(#_v3) .account-page .account-sidebar-label { font-size: 12px; letter-spacing: .02em; }
:root:not(#_v3) .account-page .account-page-head { display: flex !important; align-items: flex-end; justify-content: space-between; gap: 12px; padding-bottom: 16px !important; border-bottom: 1px solid var(--a-line); }
:root:not(#_v3) .account-page .account-kicker { font-size: 12px; color: var(--a-green); font-weight: 600; }
:root:not(#_v3) .account-page .account-page-identity { position: static !important; font-size: 12px; padding: 4px 10px; border-radius: 999px; background: var(--a-tint); color: var(--a-green); white-space: nowrap; }
:root:not(#_v3) .account-page .account-overview { display: grid; gap: 16px; }
:root:not(#_v3) .account-page .account-welcome { padding: 0 !important; }
:root:not(#_v3) .account-page :is(.account-guid-card, .account-shortcuts button) { border: 1px solid var(--a-line) !important; border-radius: 12px !important; box-shadow: none !important; background: var(--ui-surface, #fff); }
:root:not(#_v3) .account-page .account-guid-card { padding: 16px !important; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
:root:not(#_v3) .account-page .account-guid-card button { height: 36px; border-radius: 8px !important; box-shadow: none !important; }
:root:not(#_v3) .account-page .account-stats { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border: 0 !important; padding: 0 !important; }
:root:not(#_v3) .account-page .account-stats > * { border: 1px solid var(--a-line) !important; border-radius: 12px; padding: 14px 16px !important; background: var(--ui-surface, #fff); min-width: 0; }
:root:not(#_v3) .account-page .account-stats strong { font-size: 22px; font-variant-numeric: tabular-nums; color: var(--a-green); }
:root:not(#_v3) .account-page .account-stats strong.account-date { font-size: 15px; width: auto !important; }
:root:not(#_v3) .account-page .account-shortcuts { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
:root:not(#_v3) .account-page .account-shortcuts button { min-height: 64px !important; padding: 12px 14px !important; align-items: center; }
:root:not(#_v3) .account-page .account-shortcuts button > svg:first-child { color: var(--a-green); }
:root:not(#_v3) .account-page .account-shortcuts button:hover { border-color: color-mix(in srgb, #2f6b50 35%, transparent) !important; background: var(--a-tint); }
@media (max-width: 760px) {
  :root:not(#_v3) .account-page .account-shell { padding-left: 12px !important; padding-right: 12px !important; gap: 12px !important; }
  :root:not(#_v3) .account-page .account-sidebar { padding: 12px !important; border-radius: 12px !important; margin: 0 !important; width: auto !important; }
  :root:not(#_v3) .account-page .account-sidebar-user { display: grid !important; grid-template-columns: 44px 1fr auto; align-items: center; column-gap: 12px; padding: 0 0 12px !important; }
  :root:not(#_v3) .account-page .account-sidebar-user .profile-account-home { grid-column: 3; grid-row: 1 / span 2; }
  :root:not(#_v3) .account-page .account-nav { display: flex !important; gap: 6px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding-top: 2px; }
  :root:not(#_v3) .account-page .account-nav::-webkit-scrollbar { display: none; }
  :root:not(#_v3) .account-page .account-nav-group { display: contents !important; }
  :root:not(#_v3) .account-page .account-sidebar-label { display: none !important; }
  :root:not(#_v3) .account-page .account-nav-group-items { display: contents !important; }
  :root:not(#_v3) .account-page .account-nav button { flex: none; width: auto !important; min-height: 36px; padding: 0 12px !important; border: 1px solid var(--a-line) !important; border-radius: 999px !important; white-space: nowrap; }
  :root:not(#_v3) .account-page .account-nav button.active { border-color: transparent !important; }
  :root:not(#_v3) .account-page .account-workspace { padding: 0 !important; margin: 0 !important; }
  :root:not(#_v3) .account-page .account-page-head { padding-top: 4px !important; }
  :root:not(#_v3) .account-page .account-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  :root:not(#_v3) .account-page .account-stats > * { padding: 12px !important; }
  :root:not(#_v3) .account-page .account-shortcuts { grid-template-columns: 1fr 1fr; gap: 8px; }
}
/* ===== v11: post interaction bar — icons scale around their own centre, counts never move the row ===== */
:root:not(#_v3) .match-board .post-interaction-bar--feed .post-interaction { position: relative; flex: none; overflow: visible; transform: none !important; -webkit-tap-highlight-color: transparent; }
:root:not(#_v3) .match-board .post-interaction-bar--feed .post-interaction-icon { flex: 0 0 20px !important; width: 20px !important; height: 20px !important; display: grid; place-items: center; transform-origin: 50% 50% !important; transition: transform .38s cubic-bezier(.3, 1.6, .5, 1) !important; }
:root:not(#_v3) .match-board .post-interaction-bar--feed .post-interaction-icon svg { display: block; width: 15px !important; height: 15px !important; transform-origin: 50% 50%; }
:root:not(#_v3) .match-board .post-interaction:active .post-interaction-icon { transform: scale(.8) !important; transition-duration: .09s !important; transition-timing-function: ease-out !important; }
:root:not(#_v3) .match-board .post-interaction-bar--feed { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; }
:root:not(#_v3) .match-board .post-interaction-bar--feed .post-interaction { justify-self: start; }
:root:not(#_v3) .match-board .post-interaction-bar--feed .post-interaction--comment { justify-self: end; }
:root:not(#_v3) .match-board .post-interaction-bar--feed .post-interaction .post-interaction-count { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); font-size: 12px; line-height: 1; font-variant-numeric: tabular-nums; pointer-events: none; }
:root:not(#_v3) .match-board .post-interaction--like.is-active .post-interaction-icon svg { animation: aibuy-like-pop .46s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes aibuy-like-pop { 0% { transform: scale(.7); } 55% { transform: scale(1.18); } 100% { transform: scale(1); } }
html.theme-revealing:not(#_v3) .match-board .post-interaction-icon, html.theme-revealing:not(#_v3) .match-board .post-interaction-icon svg { transition: none !important; animation: none !important; }
:root:not(#_v3) .match-board .post-interaction-bar--feed .post-interaction--comment .post-interaction-count { left: auto; right: 22px; }
/* dates: same width on every post so the bar starts at the same x */
:root:not(#_v3) .match-board .match-item-meta > time { min-width: 40px; font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .01em; color: color-mix(in srgb, var(--ui-text, #23392d) 58%, transparent); }
@media (prefers-reduced-motion: reduce) {
  :root:not(#_v3) .match-board .post-interaction-icon, :root:not(#_v3) .match-board .post-interaction-icon svg { animation: none !important; transition: color .14s ease !important; }
  :root:not(#_v3) .match-board .post-interaction:active .post-interaction-icon { transform: none !important; }
}

/* ===== v11: AI 低价资源库 — readable sizes, aligned rows, tidy footer ===== */
:root:not(#_v3) .price-offer-row { min-height: 56px; }
:root:not(#_v3) .price-offer-product h3 { font-size: 14px !important; line-height: 20px; }
:root:not(#_v3) .price-offer-product p { font-size: 13.5px !important; line-height: 20px; color: color-mix(in srgb, var(--ui-text, #23392d) 70%, transparent); }
:root:not(#_v3) .price-offer-price span { font-size: 12px !important; }
:root:not(#_v3) :is(.price-offer-stock, .price-offer-update, .price-offer-update time) { font-size: 13px !important; }
:root:not(#_v3) .price-offer-action a { font-size: 13px !important; min-height: 32px; display: inline-flex; align-items: center; gap: 4px; padding: 0 12px !important; border-radius: 8px !important; }
:root:not(#_v3) .price-offer-table-head, :root:not(#_v3) .price-offer-table-head :is(span, button) { font-size: 13px !important; }
:root:not(#_v3) .price-quotes-kicker { font-size: 12px !important; }
:root:not(#_v3) .price-spec-facts, :root:not(#_v3) .price-spec-facts span, :root:not(#_v3) .price-count, :root:not(#_v3) .price-spec-guarantee, :root:not(#_v3) .price-spec-category { font-size: 13px !important; font-variant-numeric: tabular-nums; }
:root:not(#_v3) .price-spec-option { min-height: 44px; }
:root:not(#_v3) .price-spec-name { font-size: 15px !important; }
:root:not(#_v3) .price-snapshot-note { font-size: 13px !important; margin: 0 !important; }
:root:not(#_v3) .price-quotes-footer { display: flex; align-items: center; min-height: 44px; padding: 0 16px !important; border-top: 1px solid color-mix(in srgb, var(--ui-text, #23392d) 9%, transparent); background: var(--ui-bg, #f6f8f6); box-sizing: border-box; }
@media (min-width: 901px) {
  :root:not(#_v3) .price-offer-product h3 { font-size: 15px !important; }
  :root:not(#_v3) .price-offer-product p { font-size: 14px !important; }
  :root:not(#_v3) :is(.price-offer-stock, .price-offer-update, .price-offer-update time) { font-size: 14px !important; }
  :root:not(#_v3) .price-offer-table-head, :root:not(#_v3) .price-offer-table-head :is(span, button) { font-size: 14px !important; }
  :root:not(#_v3) .price-spec-facts, :root:not(#_v3) .price-spec-facts span, :root:not(#_v3) .price-count { font-size: 14px !important; }
}
/* ===== v12: mobile scroll collapse without any layout change ===== */
@media (max-width: 650px) {
  /* header never changes the layout any more: no negative margin, only a transform */
  :root:not(#_v3):has(.mobile-navigation.is-scrolled-away) .directory-topbar { margin-top: 0 !important; }
  :root:not(#_v3) .directory-home-shell .directory-topbar { transition: transform .3s cubic-bezier(.3,.7,.2,1), opacity .22s ease !important; will-change: transform; }
  :root:not(#_v3):has(.mobile-navigation.is-scrolled-away) .directory-home-shell .directory-topbar { transform: translate3d(0,-100%,0) !important; opacity: 0; pointer-events: none; }
  /* pages whose header sits in flow above the pane (资源对接, 交易避坑): the pane is always 50px taller
     than the space under the header (clipped by the shell), and slides up with the header as one transform */
  :root:not(#_v3) :is(.directory-matching-shell, .directory-risk-shell) > .directory-main:not([hidden]) { flex: 0 0 100% !important; height: 100% !important; max-height: none !important; transition: transform .3s cubic-bezier(.3,.7,.2,1); will-change: transform; }
  :root:not(#_v3):has(.mobile-navigation.is-scrolled-away) :is(.directory-matching-shell, .directory-risk-shell) > .directory-main { transform: translate3d(0,-50px,0); }
  /* the pane's bottom padding used to switch 78px -> 36px with the bar (another layout change); keep it constant */
  :root:not(#_v3) :is(.directory-matching-shell, .directory-risk-shell) > .directory-main { padding-bottom: 0 !important; }
  :root:not(#_v3) .directory-matching-shell .match-pagination { transform: translate3d(0,-50px,0); transition: transform .32s cubic-bezier(.3,.7,.2,1); }
  :root:not(#_v3):has(.mobile-navigation.is-scrolled-away) .directory-matching-shell .match-pagination { transform: translate3d(0,42px,0); }
  :root:not(#_v3) .directory-matching-shell .match-list-scroll { padding-bottom: 164px !important; overflow-anchor: none; }
  :root:not(#_v3) .directory-risk-shell :is(.risk-list, .risk-detail) { padding-bottom: 128px !important; overflow-anchor: none; }
  :root:not(#_v3) .directory-home-shell .directory-content { overflow-anchor: none; }
}
@media (max-width: 650px) {
  /* bottom bar: keeps its size; scrolling down slides it out with a transform, scrolling up slides it back */
  :root:not(#_v3) .mobile-navigation { transition: translate .32s cubic-bezier(.3,.7,.2,1), opacity .24s ease !important; translate: 0 0; }
  :root:not(#_v3) .mobile-navigation.is-scrolled-away { translate: 0 calc(100% + 24px + env(safe-area-inset-bottom, 0px)); opacity: 0; pointer-events: none; }
  :root:not(#_v3) .mobile-navigation.is-scrolled-away * { pointer-events: none !important; }
}
@media (max-width: 650px) and (prefers-reduced-motion: reduce) {
  :root:not(#_v3) .directory-home-shell .directory-topbar, :root:not(#_v3) .directory-home-shell > .directory-main, :root:not(#_v3) .mobile-navigation { transition: none !important; }
}
/* ===== v13: 资源对接 pager always tappable — fixed visual spot just above the bar, never covered, never moves ===== */
@media (max-width: 650px) {
  /* the list box ends 50px below the screen while the header shows (v12), so lift the pager by that + bar + gap */
  :root:not(#_v3) .directory-matching-shell .match-pagination { bottom: calc(50px + 10px + 56px + 10px + env(safe-area-inset-bottom, 0px)) !important; transform: none !important; z-index: 5; }
  /* when the header and pane slide up 50px, the pager slides down 50px with the same curve, so on screen it stays put */
  :root:not(#_v3):has(.mobile-navigation.is-scrolled-away) .directory-matching-shell .match-pagination { transform: translate3d(0,50px,0) !important; }
  :root:not(#_v3) .directory-matching-shell .match-list-scroll { padding-bottom: calc(50px + 10px + 56px + 10px + 40px + 48px + env(safe-area-inset-bottom, 0px)) !important; }
}
