/* pc-pages-r2.css: design fixes, round 2 (pages). Source: the design audit redo of 2026-10-21
 * (pc-audit-redo-20261021/DESIGN-AUDIT-REDO.md). One stylesheet for every page fix so the pinned design pages only
 * carry a one-line STAGING-ADAPTER link (A90). Each block names its audit row.
 *
 * Scoping: the link patch sets <html data-r2="<page>">; every rule is under html[data-r2="..."], which also outranks
 * the <style> blocks the page scripts inject at runtime (same specificity class, more of it). */

/* ── H01 AI Experts (chat.html): master/detail below 900px ─────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  /* NO .chat-page offset here: the shell's 240px sidebar is only hidden at <=768 (the design's own rule sets left:0
   * there); between 769 and 900 the page keeps its left:240px so it never slides under the sidebar */
  html[data-r2="chat"] .agent-directory { width: 100%; border-right: 0; }
  html[data-r2="chat"] .agent-entry-info { display: block; }
  html[data-r2="chat"] .agent-entry { justify-content: flex-start; padding: 10px 12px; }
  html[data-r2="chat"] .agent-entry .ai-av { width: 44px; height: 44px; }
  html[data-r2="chat"] .dir-header { display: block; }
  html[data-r2="chat"] .dir-section-label { padding-left: 12px; padding-right: 12px; }
  /* list view: the pane is hidden until an expert is picked */
  html[data-r2="chat"]:not(.r2-chat-detail) .chat-room { display: none; }
  html[data-r2="chat"].r2-chat-detail .agent-directory { display: none; }
  html[data-r2="chat"].r2-chat-detail .chat-room { flex: 1; min-width: 0; }
  html[data-r2="chat"] .r2-chat-back { display: none; }
  html[data-r2="chat"].r2-chat-detail .r2-chat-back {
    display: inline-flex; align-items: center; gap: 6px; position: absolute; top: 10px; left: 12px; z-index: 5;
    height: 34px; padding: 0 14px 0 10px; border-radius: 999px; border: 1px solid var(--blue-border);
    background: var(--card, rgba(13,26,42,0.95)); color: var(--text); font-family: inherit; font-weight: 600; font-size: 13px; line-height: 1; cursor: pointer;
  }
  html[data-r2="chat"].r2-chat-detail .chat-room { padding-top: 52px; }
}
@media (max-width: 768px) {
  /* the page sat UNDER the 64px bottom nav: the composer and the end of the list were unreachable */
  html[data-r2="chat"] .chat-page { bottom: 64px; }
}
@media (min-width: 901px) { html[data-r2="chat"] .r2-chat-back { display: none; } }

/* ── H03 Education, Brainiac Sessions: light theme (the live cards kept their dark slate) ────────────────────────── */
html[data-r2="education"][data-theme="light"] .live-stream-section {
  background: linear-gradient(135deg, rgba(42,147,193,0.10), rgba(255,255,255,0.92));
  border-color: rgba(42,80,120,0.16);
}
html[data-r2="education"][data-theme="light"] .live-stream-frame { background: rgba(237,242,247,0.9); }
html[data-r2="education"][data-theme="light"] .module-number { color: rgba(26,26,46,0.55); }
html[data-r2="education"][data-theme="light"] .live-stream-section .stream-title { color: var(--text); }
html[data-r2="education"][data-theme="light"] .live-stream-section :is(.stream-meta, .pc-brainiac-desc) { color: #4a5568; }
html[data-r2="education"][data-theme="light"] .live-stream-section .stream-remind-btn { color: var(--text); border-color: rgba(42,80,120,0.22); background: rgba(255,255,255,0.7); }

/* ── H09 Notifications ───────────────────────────────────────────────────────────────────────────────────────── */
html[data-r2="notifications"] #pc-notif-markall {
  display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 14px;
  border-radius: 999px; border: 1px solid var(--blue-border); background: transparent; color: var(--text);
  font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; cursor: pointer; -webkit-appearance: none; appearance: none;
}
html[data-r2="notifications"] #pc-notif-markall:hover:not(:disabled) { background: var(--blue-dim); border-color: var(--blue); }
html[data-r2="notifications"] #pc-notif-markall:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
html[data-r2="notifications"] .pc-nt-row { align-items: center; }
html[data-r2="notifications"] .pc-nt-av {
  width: 38px; height: 38px; min-width: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700; color: #fff; flex: 0 0 auto;
}
html[data-r2="notifications"] .pc-nt-av:not([class*=" v"]) { background: linear-gradient(135deg, #2a93c1, #1a5f80); }
html[data-r2="notifications"] .pc-nt-av svg { width: 18px; height: 18px; }
html[data-r2="notifications"] .pc-nt-av.pc-nt-av-sys { background: var(--blue-dim); color: var(--blue); border: 1px solid var(--blue-border); }
html[data-r2="notifications"] .pc-nt-dot { margin-top: 0; }
html[data-r2="notifications"] .pc-nt-rowmsg { display: block; font-weight: 400; }
html[data-r2="notifications"] .pc-nt-row.unread .pc-nt-rowmsg { font-weight: 500; }
html[data-r2="notifications"] .pc-nt-rowtime { display: block; margin-top: 4px; }

/* ── H13 + M19 + M20 + L04 Mentor Match ──────────────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  html[data-r2="mentor-match"] .become-banner { flex-direction: column; align-items: flex-start; text-align: left; gap: 12px; }
  html[data-r2="mentor-match"] .become-banner > * { min-width: 0; max-width: 100%; }
  html[data-r2="mentor-match"] .become-banner :is(button, .btn-primary, .cf-btn) { width: 100%; justify-content: center; }
  /* Design audit 2026-10-23 LOW-1: the view tabs used to scroll sideways here behind a 36px edge fade that read as a
   * tab cut mid-word ("My Session") at 360. They wrap instead, like the Events Calendar chip row (#332) and this
   * page's own filter chips: every tab whole, nothing hidden. */
  html[data-r2="mentor-match"] .inbox-tab-row { flex-wrap: wrap; row-gap: 8px; overflow: visible; }
  html[data-r2="mentor-match"] .inbox-tab { white-space: nowrap; flex: 0 0 auto; }
}
/* M19: the request button sits on the card's bottom edge in every card of a row */
html[data-r2="mentor-match"] .cf-mt-card { display: flex; flex-direction: column; }
html[data-r2="mentor-match"] .cf-mt-card .cf-mt-foot { margin-top: auto; }
html[data-r2="mentor-match"] .cf-mt-card .cf-mt-bio { margin-bottom: 14px; }
/* M20: light theme, the active tab / pill read as washed out and the search and sort were bare white boxes */
html[data-r2="mentor-match"][data-theme="light"] .inbox-tab.active,
html[data-r2="mentor-match"][data-theme="light"] .cf-chip.active {
  color: #ffffff; background: #1f7fab; border-color: #1f7fab;
}
html[data-r2="mentor-match"][data-theme="light"] :is(#mt-search, .cf-select, .cf-search input) {
  background: rgba(226,234,242,0.75); border: 1px solid rgba(42,80,120,0.18); color: var(--text);
}
html[data-r2="mentor-match"][data-theme="light"] .cf-search { background: rgba(226,234,242,0.75); border-color: rgba(42,80,120,0.18); }
/* M20: the dark theme's #4ade80 green read 1.9:1 on the light cards; green-700 is 5:1 */
html[data-r2="mentor-match"][data-theme="light"] :is(.pc-price.free .amt, .pc-order-total .v.free, .pc-model-badge.instant) { color: #15803d; }
html[data-r2="mentor-match"][data-theme="light"] .pc-model-badge.instant { border-color: rgba(21,128,61,0.35); background: rgba(21,128,61,0.08); }
/* L04: the empty inbox / sessions line becomes a card (the line itself is the script's own copy) */
html[data-r2="mentor-match"] :is(#inbox-list, #sessions-list) > p.pc-note:only-child {
  display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 0; padding: 40px 24px !important; text-align: center;
  border: 1px dashed var(--blue-border); border-radius: 14px; background: var(--blue-dim); color: var(--muted); font-size: 14px; line-height: 1.5;
}
html[data-r2="mentor-match"] :is(#inbox-list, #sessions-list) > p.pc-note:only-child::before {
  content: ""; width: 44px; height: 44px; border-radius: 50%; background-color: var(--blue-dim); border: 1px solid var(--blue-border);
  background-repeat: no-repeat; background-position: center; background-size: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a93c1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");
}

/* ── H06 / M03 / M05 / M06 / L11 / L12 Profile ───────────────────────────────────────────────────────────────── */
/* H06: other members' Follow, Message and Share share one size and shape */
html[data-r2="profile"] .profile-actions { align-items: center; }
html[data-r2="profile"] .profile-actions :is(.pc-follow-btn, .pc-msg-btn, .pc-share-btn) {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; box-sizing: border-box;
  height: 40px; min-height: 40px; padding: 0 18px !important; border-radius: 999px; font-size: 14px !important; font-weight: 600; line-height: 1;
  white-space: nowrap; vertical-align: middle; margin-top: 0; margin-bottom: 0;
}
/* M03: Generate CV only ever answered "Not available yet." It returns when the feature ships. */
html[data-r2="profile"] .pc-gencv-btn { display: none !important; }
/* M06: the sticky full-width "Edit Profile" bar duplicated the header button (the AI "Ask" bar stays) */
html[data-r2="profile"] #pc-sticky-cta:not(:has(.pc-ask-ai-btn)) { display: none !important; }
/* DEMO-FIX 2026-10-22 (gap audit #6): with the sticky bar hidden (M06), profile.html EDITDUP still hid the header
   "Edit Profile" at <=768px, so a phone owner had NO way to edit. Show the header button again there. The class
   .pc-edit-btn-has-sticky is set only on the owner's own profile, so other profiles never get the button. */
@media (max-width: 768px) {
  html[data-r2="profile"] .profile-actions .pc-edit-btn.pc-edit-btn-has-sticky {
    display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; height: 40px; min-height: 40px;
    padding: 0 18px !important; border-radius: 999px; font-size: 14px !important; font-weight: 600; white-space: nowrap;
  }
}
/* M06: 5 stat cards no longer leave an orphan Tier card: 2 columns with the last card spanning both */
@media (max-width: 768px) {
  html[data-r2="profile"] .stats-row.pc-bento:not(.pc-bento-ai) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-r2="profile"] .stats-row.pc-bento:not(.pc-bento-ai) > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* M05: AI profile, the stats row no longer stops at 380px and the main column takes the width when the side is empty */
html[data-r2="profile"] .stats-row.pc-bento.pc-bento-ai { max-width: none; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
html[data-r2="profile"] .pc-pro-cols.r2-one-col { grid-template-columns: minmax(0, 1fr) !important; }
html[data-r2="profile"] .pc-pro-cols.r2-one-col > .pc-pro-side { display: none; }
/* M05: "What I can help with" repeated the "How I can help" card's topics; the list goes when that card is on the page */
html[data-r2="profile"] body:has(section.pc-help) #pc-ai-card .ai-help-block { display: none; }
html[data-r2="profile"] .pc-help .pc-help-meta { display: none; }
/* L11: even gaps between the right-column cards */
html[data-r2="profile"] .pc-pro-side { display: flex; flex-direction: column; gap: 16px; }
html[data-r2="profile"] .pc-pro-side > * { margin-top: 0 !important; margin-bottom: 0 !important; }
html[data-r2="profile"] .pc-pro-side > .r2-empty { display: none !important; }
/* L12: one colour per stat, whoever's profile it is and in both themes */
html[data-r2="profile"] .stats-row.pc-bento .pc-tile-val.accent { color: #2a93c1 !important; }
html[data-r2="profile"][data-theme="light"] .stats-row.pc-bento .pc-tile-val.accent { color: #1a6a94 !important; }
/* M03: the shared "Not available yet." toast sat on the bottom nav labels */
@media (max-width: 768px) {
  html[data-r2] #pc-na-toast-wrap { bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* ── M07 / M08 / L13 / L14 Feed ──────────────────────────────────────────────────────────────────────────────── */
/* M07: one onboarding prompt. The "Start here" checklist stays; the banner above it goes when both are on screen. */
html[data-r2="feed"] body:has(.pc-sh-head) #pc-onb-nudge { display: none !important; }
/* M08: one title scale for every post */
html[data-r2="feed"] .post-card h3.post-title,
html[data-r2="feed"] .post-card .post-title {
  font-size: 18px !important; line-height: 1.3 !important; letter-spacing: 0.01em;
}
@media (max-width: 480px) {
  html[data-r2="feed"] .post-card .post-title { font-size: 16px !important; }
}
/* M08: a link-only post shows a clean link line */
html[data-r2="feed"] .r2-link-line {
  display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 10px 12px; border-radius: 10px;
  border: 1px solid var(--blue-border); background: var(--blue-dim); color: var(--text); text-decoration: none; min-width: 0;
}
html[data-r2="feed"] .r2-link-line svg { flex: 0 0 auto; width: 16px; height: 16px; color: var(--blue); }
html[data-r2="feed"] .r2-link-line .r2-link-host { font-weight: 600; white-space: nowrap; }
html[data-r2="feed"] .r2-link-line .r2-link-path { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
html[data-r2="feed"] .r2-link-line:hover { border-color: var(--blue); }
/* M08: at phone width the actions stay on one line (Share / Report go icon-only) */
@media (max-width: 480px) {
  html[data-r2="feed"] .post-actions { flex-wrap: nowrap; gap: 4px; }
  html[data-r2="feed"] .post-actions .reaction-btn { padding-left: 8px; padding-right: 8px; min-width: 0; }
  html[data-r2="feed"] .post-actions .reaction-btn:is([data-act="share"], [data-act="report"]) .r2-lbl { display: none; }
}
/* L13: the second chip row is labelled */
html[data-r2="feed"] .pc-tag-row .r2-row-label,
html[data-r2="feed"] .pc-type-row .r2-row-label {
  align-self: center; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin-right: 4px; flex: 0 0 auto;
}
/* L14: Submit entry stays disabled until something is written */
html[data-r2] #pc-ch-submit:disabled { opacity: 0.5; cursor: not-allowed; }

/* ── M10 Members: the viewer's own row (no Message button) lines up with every other row ─────────────────────── */
html[data-r2="members"] .pc-c1-list:has(.pc-dm-wrap) > .pc-c1-row { padding-right: 56px; border-bottom: 1px solid rgba(255,255,255,0.05); }
html[data-r2="members"] .pc-c1-list:has(.pc-dm-wrap) > .pc-c1-row > .pc-c1-chev { visibility: hidden; }
html[data-r2="members"][data-theme="light"] .pc-c1-list:has(.pc-dm-wrap) > .pc-c1-row { border-bottom-color: var(--border); }
@media (max-width: 640px) { html[data-r2="members"] .pc-c1-list:has(.pc-dm-wrap) > .pc-c1-row { padding-right: 52px; } }
/* DEMO-FIX 2026-10-22 (Waqas): in LIGHT mode, hovering / focusing the round Message (envelope) button turned it solid
   #1a6a94 while members.html's light rule kept the icon #1a6a94 too (it outranks the page's :hover rule by order), so the
   icon vanished. On the solid fill the icon is white (white on #1a6a94 = 6.1:1). Dark mode is unchanged. */
html[data-r2="members"][data-theme="light"] .pc-dm-link:is(:hover, :focus-visible) { background: #1a6a94; border-color: #1a6a94; color: #fff; }

/* ── M12 / M13 Leaderboard ───────────────────────────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  /* M12: points are visible at 360 (the 560px table min-width pushed Brain XP off-screen) */
  html[data-r2="leaderboard"] .lb-table { min-width: 0; }
  html[data-r2="leaderboard"] .lb-table th:last-child, html[data-r2="leaderboard"] .lb-table td:last-child { display: none; }
  html[data-r2="leaderboard"] .lb-table th.num:not(.col-wpts), html[data-r2="leaderboard"] .lb-table td.num:not(.col-wpts) { display: table-cell; text-align: right; }
  /* (the your-standing YOU bar is #281's, H04a: not styled here) */
}
/* M13: the "Your position" card gives the perk its own full-width line */
html[data-r2="leaderboard"] .rlb-row.rlb-you-row {
  display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; column-gap: 10px; row-gap: 6px; align-items: center;
}
html[data-r2="leaderboard"] .rlb-row.rlb-you-row .rlb-info { display: contents; }
html[data-r2="leaderboard"] .rlb-row.rlb-you-row .rlb-name { grid-column: 3; grid-row: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-r2="leaderboard"] .rlb-row.rlb-you-row .rlb-pts { grid-column: 4; grid-row: 1; }
html[data-r2="leaderboard"] .rlb-row.rlb-you-row .rlb-tier { grid-column: 3 / -1; grid-row: 2; }
html[data-r2="leaderboard"] .rlb-row.rlb-you-row .pc-tier-perk { grid-column: 1 / -1; grid-row: 3; line-height: 1.45; }
/* M13: the legend lines all start on the left */
html[data-r2="leaderboard"] .currency-legend { flex-direction: column; align-items: flex-start; gap: 8px; }
html[data-r2="leaderboard"] .currency-item { margin-left: 0 !important; justify-content: flex-start; text-align: left; }

/* ── M14 Community Guide ─────────────────────────────────────────────────────────────────────────────────────── */
html[data-r2="askai"] .post-company a, html[data-r2="askai"] a.r2-guide-link {
  color: var(--blue); text-decoration: none; font-weight: 600;
}
html[data-r2="askai"] .post-company a:hover { text-decoration: underline; }
html[data-r2="askai"] .pc-ai-prompt .tag { white-space: nowrap; flex: 0 0 auto; }
html[data-r2="askai"][data-theme="light"] .post-company a { color: #1a6a94; }

/* ── M21 Job Board: one Post-a-Job CTA, one search, a readable title ─────────────────────────────────────────── */
html[data-r2="job-board"] .post-job-banner { display: none !important; }
/* Design audit 2026-10-23 LOW-1: at <=768px the design keeps the job-type chips on one sideways-scrolling line with a
 * hidden scrollbar, so at 360 "Internship" was cut mid-chip with nothing saying the row scrolls. They wrap instead, like
 * the Events Calendar chip row (#332) and Mentor Match's filter chips: every chip whole, nothing hidden. */
@media (max-width: 768px) {
  html[data-r2="job-board"] .cf-chips { flex-wrap: wrap; row-gap: 8px; overflow: visible; }
}
html[data-r2="job-board"] aside.right-rail .rail-card:has([onclick*="postJobModal"]) { display: none !important; }
html[data-r2="job-board"] #emptyState .cf-empty-actions { display: none !important; }
html[data-r2="job-board"] .topnav-search { display: none !important; }
html[data-r2="job-board"] .pb-community-hero .hero-overlay { z-index: 2; }
html[data-r2="job-board"] .pb-community-hero .hero-overlay :is(h2, p) {
  display: inline-block; padding: 4px 12px; border-radius: 10px; background: rgba(8,10,18,0.72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
html[data-r2="job-board"][data-theme="light"] .pb-community-hero .hero-overlay :is(h2, p) { background: rgba(255,255,255,0.8); }
/* F-04 (functional audit redo): the page's modals (Post a Job, apply, details) kept the dark #0e1120 panel on a light
 * page, so the heading and Cancel were near-invisible. Light theme: a light panel with the page's own tokens. */
html[data-r2="job-board"][data-theme="light"] .modal-overlay { background: rgba(15,30,50,0.45); }
html[data-r2="job-board"][data-theme="light"] .modal {
  background: #ffffff; color: var(--text); border-color: rgba(42,80,120,0.16); box-shadow: 0 24px 60px rgba(15,40,70,0.18);
}
html[data-r2="job-board"][data-theme="light"] .modal :is(h2, h3, .modal-head h2, .form-label) { color: var(--text); }
/* Round 5: the sign-in gate modal carries an inline dark background (job-board.html, generated), which beats the rule
 * above, so in light mode its heading and Cancel were dark on dark. !important is the only way past an inline style. */
html[data-r2="job-board"][data-theme="light"] #jb-signin-modal .modal { background: #ffffff !important; color: var(--text); }
html[data-r2="job-board"][data-theme="light"] #jb-signin-modal .modal :is(h2, .cf-btn-ghost) { color: var(--text); }
html[data-r2="job-board"][data-theme="light"] .modal :is(.modal-head, .modal-footer) { border-color: rgba(42,80,120,0.12); }
html[data-r2="job-board"][data-theme="light"] .modal .modal-close { color: var(--muted); background: transparent; border-color: rgba(42,80,120,0.18); }
html[data-r2="job-board"][data-theme="light"] .modal :is(.form-input, .form-select, .form-textarea, input, select, textarea) {
  background: rgba(226,234,242,0.6); border-color: rgba(42,80,120,0.2); color: var(--text);
}
/* the role-type / arrangement choices: an unpicked chip is a plain outline, the picked one is filled (not a faint tint) */
html[data-r2="job-board"][data-theme="light"] .modal .radio-btn { background: #fff; border-color: rgba(42,80,120,0.22); color: var(--text); }
html[data-r2="job-board"][data-theme="light"] .modal .radio-btn:has(input:checked) { background: #1b6f99; border-color: #1b6f99; color: #fff; font-weight: 600; }
/* the skill input sits inside its own bordered tag box: it takes the box's colour, no second grey box */
html[data-r2="job-board"][data-theme="light"] .modal .skills-text-input { background: transparent; border-color: transparent; }
html[data-r2="job-board"][data-theme="light"] .modal .cf-btn-ghost { color: var(--text); border-color: rgba(42,80,120,0.28); background: transparent; }

/* ── L02 / L03 Events ────────────────────────────────────────────────────────────────────────────────────────── */
/* L02: one Create Event button (the one beside the filters); the rail copy goes */
html[data-r2="events-calendar"] aside.fc-rail > button[onclick^="openCreate"] { display: none !important; }
/* L02: brand colours for Social and Pair-build (both were purple) */
html[data-r2="events-calendar"] .cf-evt-c-social { background: #2ba7a0; }
html[data-r2="events-calendar"] .cf-cal-dot.pc-pb-dot { background: #3f7fd6; }
/* L02: the date already shows in the badge on the left; the second copy under RSVP goes */
html[data-r2="events-calendar"] .cf-evt-side > div[style*="font-size:11px"] { display: none; }
/* L02: "( UTC )" had stray inner spaces */
html[data-r2="events-calendar"] #tz-label { display: contents; } /* its parent is a flex row with a gap: as its own flex item it was spaced off the brackets */
html[data-r2="events-calendar"] .r2-ico { display: inline-block; width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; color: var(--blue); }

/* ── L09 My AI: the page focuses Connect on load; a pointer / script focus shows no ring, a keyboard focus keeps it ── */
html[data-r2="my-ai"] :focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }

/* ── L10 AI Experts: the promo heading is a heading, not the member's name ───────────────────────────────────── */
html[data-r2="chat"] .r2-promo-title { font-size: 14px; font-weight: 700; color: var(--text); }
