/* Public pages (leaderboards, brand/source/bot, methodology). */
.pub h1 { font-size:2rem; margin:14px 0 10px; }
/* Leads span the full content width (Akash 2026-08-07, methodology then
   brand pages: no 760px reading cap on public pages). */
.pub .lead { font-size:1.15rem; color:#4b5563; margin:0 0 24px; }

/* The theme clips #page and the menu container (animation-era guard), which
   DISABLES position:sticky for everything inside: the jump/date rails on
   brand and answer pages scrolled away with the page. Public pages have no
   decorative overflow to clip (no animations, wide tables live in
   .table-scroll), so let them flow. Loaded only on the public layout, so
   marketing pages keep the theme's clipping. */
#page.page { overflow: visible; }
.wsmenucontainer { overflow: visible; }
.crumbs { font-size:.82rem; color:#6b7280; margin-bottom:6px; }
.crumbs a { color:#6b7280; text-decoration:none; }
.crumbs a:hover { color:#6c5ce7; }
.pub-cta { text-align:center; background:linear-gradient(180deg,#faf9ff,#fff); }
.pub-cta h2 { font-size:1.4rem; }
.pub-fresh { color:#6b7280; font-size:.82rem; text-align:center; margin:20px 0; }
.pub-fresh a, .pub-remove a { color:#6c5ce7; }
.pub-remove { font-size:.82rem; margin-top:14px; }
.pub-footer { text-align:center; padding:40px 20px; color:#6b7280; font-size:.85rem; border-top:1px solid #e9ecf3; }
.pub-footer a { color:#6c5ce7; text-decoration:none; }
.pub-industries { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.pub-ind { display:block; padding:16px 18px; border:1px solid #e9ecf3; border-radius:10px; text-decoration:none; color:#1c1c28; font-weight:600; }
.pub-ind:hover { border-color:#6c5ce7; color:#6c5ce7; }
pre.robots { background:#1c1c28; color:#e6e6f0; padding:14px 16px; border-radius:8px; font-size:.85rem; overflow:auto; }

/* Sources drill-down (per-domain <details> rows on /sources/chatgpt/*) */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.src-card { padding-top:10px; }
/* #, Domain, Type, Citations, Reads, Prompts, Avg position, toggle */
.src-grid { display:grid; grid-template-columns:2.2rem minmax(0,1fr) 6.5rem 5.5rem 5rem 5rem 7rem 2rem; gap:0 10px; align-items:center; }
.src-head { font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#6b7280; padding:8px 6px; border-bottom:1px solid #e9ecf3; }
.src { border-bottom:1px solid #f0f1f7; }
.src:last-of-type { border-bottom:0; }
.src > summary { padding:13px 6px; cursor:pointer; list-style:none; }
.src > summary::-webkit-details-marker { display:none; }
.src > summary:hover { background:#fafbfe; }
.src-grid .num { text-align:right; font-variant-numeric:tabular-nums; }
.src-rank { color:#97a0b5; font-size:.85rem; }
.src-dom { min-width:0; overflow-wrap:anywhere; }
.src-toggle { justify-self:end; width:22px; height:22px; border-radius:6px; background:#eef2fb; color:#185abd; font-weight:700; text-align:center; line-height:22px; }
.src-toggle::before { content:'+'; }
.src[open] .src-toggle::before { content:'\2212'; }
.src-body { padding:2px 6px 18px 6px; }
.src-body h2 { font-size:.95rem; margin:0 0 6px; }
.cite-path { color:#6b7280; font-size:.8rem; overflow-wrap:anywhere; }
.src-prompts { margin:0; padding-left:20px; }
.src-prompts li { margin:5px 0; }
@media (max-width:640px) {
  .src-grid { grid-template-columns:1.6rem minmax(0,1fr) 5rem 1.6rem; }
  .src-grid .m-hide { display:none; }
}

/* Topic group header rows in the industry questions table (2026-08-07) */
.data tr.tgroup th { text-align:left; background:#f6f8fc; padding:14px 6px 9px; font-size:.95rem; border-bottom:1px solid #e9ecf3; }
.data tr.tgroup th .ci { font-weight:400; margin-left:6px; }

/* Floating tooltip bubble styles + the ::after suppression live in app.css
   since 2026-08-08 (Akash: tooltips near the mouse EVERYWHERE, app incl.);
   tips.js is loaded by the app, admin and public layouts. */

/* ---- Data links look clickable (Akash 2026-08-08: brand names and topics
   read as plain text). The theme ships a:hover{color:#353f4f!important},
   hence the !important on our hover. */
.pub .data a, .pub .src-dom a { color:#185abd; text-decoration:none; }
.pub .data a:hover, .pub .src-dom a:hover { color:#124a9e !important; text-decoration:underline; }
.pub a.tchip.active, .pub a.tchip.active:hover { color:#fff !important; }

/* ---- Leaderboard typography (Akash 2026-08-08: scores larger, ranges
   smaller, Visibility Score the eye-catcher) ---- */
.board td { vertical-align:middle; }
.board tbody tr:hover td { background:#fafbfe; }
.board .rk-col { color:#97a0b5; font-size:.85rem; width:2.2rem; }
.score-l { display:block; font-size:1.4rem; font-weight:800; color:#185abd; line-height:1.15; }
.num-m { display:block; font-size:1rem; font-weight:600; line-height:1.2; }
.ci-r { display:block; font-size:.72rem; color:#97a0b5; margin-top:1px; }

/* Brand cell: favicon (default globe icon when uncached) + linked name.
   Base .bcell/.favrow rules live in app.css; public adds the bold label. */
.pub .bcell { font-weight:700; }

/* ---- Live demo picker (Akash 2026-08-08: two cards per row so the second
   industry is visible without scrolling; top 5 brands inside each) ---- */
.demo-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.demo-card { display:block; text-decoration:none; color:inherit; transition:box-shadow .15s ease; }
.demo-card .demo-info { margin-bottom:14px; }
a.demo-card:hover { box-shadow:0 10px 34px rgba(24,42,76,.16); color:inherit !important; }
.demo-card h2 { font-size:1.3rem; margin:0 0 8px; color:#185abd; }
a.demo-card:hover h2 { text-decoration:underline; }
.demo-card .sub { margin:0 0 14px; }
.demo-open { display:inline-block; font-weight:700; font-size:.88rem; color:#185abd; }
.demo-open::after { content:' \203A'; }
.demo-top h3 { font-size:.68rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
  color:#8b93a7; margin:0 0 6px; }
.demo-top5 { list-style:none; margin:0; padding:0; }
.demo-top5 li { display:flex; align-items:center; gap:9px; padding:6px 0; border-bottom:1px solid #f0f1f7; }
.demo-top5 li:last-child { border-bottom:0; }
.demo-top5 .rk { color:#97a0b5; font-size:.8rem; width:1.1rem; flex:0 0 auto; }
.demo-top5 img { width:18px; height:18px; border-radius:4px; flex:0 0 auto; }
.demo-top5 .nm { font-weight:600; min-width:0; overflow-wrap:anywhere; }
.demo-top5 .sc { margin-left:auto; font-weight:800; color:#185abd; font-variant-numeric:tabular-nums; }
.demo-top5 .scl { color:#97a0b5; font-size:.72rem; margin-left:6px; }
.demo-collecting { color:#6b7280; font-size:.9rem; }
@media (max-width:860px) { .demo-list { grid-template-columns:minmax(0,1fr); } }


/* ---- Sources: favicons and per-domain report links (2026-08-08) ---- */
.src-dom { display:flex; align-items:center; gap:8px; }
.src-dom img { width:16px; height:16px; border-radius:3px; flex:0 0 auto; }
.src-dom a, .src-dom strong { min-width:0; overflow-wrap:anywhere; }
.src-report { font-size:.85rem; margin:14px 0 0; }
.src-report a { color:#185abd; font-weight:700; }

/* ---- 2026-08-10 fixes round: inline change arrows, hover ranges, topic
   jump links, mobile single-column tables + fold (Akash items 1-8) ---- */
.board .chg-ico { margin-left: 6px; vertical-align: middle; }
/* Topic sub-items under "The prompts": indented, smaller, lighter, so the
   hierarchy reads at a glance. Selector must outweigh .pub .jump-nav a. */
.pub .jump-nav a.jn-sub { display: block; padding: 3px 0 3px 14px; font-size: .76rem; font-weight: 500; color: #9aa3b5; max-width: 190px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pub .jump-nav a.jn-sub:hover { color: var(--brand); }
.m-chats, .m-meta { display: none; }
.fold-btn { display: none; }
@media (max-width: 640px) {
    .m-hide { display: none !important; }
    /* Board: rank, brand, Score only; tight enough to need no inner scroll */
    .board td, .board th { white-space: nowrap; padding-left: 6px; padding-right: 6px; }
    .board .bcell span { max-width: 11rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; vertical-align: middle; }
    /* Fold: tap the chevron in a card heading to collapse it */
    .fold-btn { display: inline-block; float: right; width: 26px; height: 26px; border: 1px solid #d7dfec; border-radius: 6px; background: #fff; position: relative; }
    .fold-btn::after { content: ""; position: absolute; left: 8px; top: 7px; width: 8px; height: 8px; border-right: 2px solid #185abd; border-bottom: 2px solid #185abd; transform: rotate(45deg); transition: transform .15s; }
    .card.folded .fold-btn::after { transform: rotate(-45deg); top: 10px; }
    .card.folded > *:not(h2) { display: none; }
    /* Single-column stacked tables: topics, prompts, fan-out queries */
    #topics thead, #questions thead, #searches thead { display: none; }
    #topics tbody tr, #questions tbody tr, #searches tbody tr { display: block; padding: 10px 0; border-bottom: 1px solid #edf1f8; }
    #topics td, #questions td, #searches td { display: block; border: 0; padding: 2px 0; text-align: left; }
    #topics .t-name { font-size: 1rem; }
    #topics td.num { display: inline-block; margin-right: 16px; }
    #topics .t-meta::before { content: "Prompts: "; color: #97a0b5; font-weight: 400; }
    #topics .t-vol::before { content: "Volume: "; color: #97a0b5; font-weight: 400; }
    #topics .favrow .wl:nth-child(n+6) { display: none; }
    #questions .tgroup th { display: block; border: 0; padding: 6px 0 2px; }
    #questions td a:first-child { display: inline; }
    .m-chats { display: inline-block; margin-left: 8px; font-weight: 600; white-space: nowrap; }
    .m-meta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 4px; color: #667085; }
}

/* ---- 2026-08-10 round 2: mobile sweep across ALL public pages. Generic
   stacked tables (m-stack), URL wrapping (m-break), reusing m-meta/m-hide. */
@media (max-width: 640px) {
    table.m-stack thead { display: none; }
    table.m-stack tbody tr { display: block; padding: 10px 0; border-bottom: 1px solid #edf1f8; }
    table.m-stack tbody td, table.m-stack tbody th { display: block; border: 0; padding: 2px 0; text-align: left; }
    .m-break td, .m-break .cite-path, td.cite-url { word-break: break-word; overflow-wrap: anywhere; }
    .entrow { gap: 6px; }
    /* Answers page h1 on one line (public.css loads last, so the size
       must live here to beat the theme + .pub heading rules) */
    .pub h1.h1-c { font-size: 1.5rem; line-height: 1.25; }
}

/* ---- 2026-08-15, Harry round: demo entry + live-demo strip ---- */
/* Primary open-the-demo action on the /demo picker */
.demo-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 4px 0 30px; }
.demo-go-sub { color: #666f7d; font-size: 15px; }
.pub h2.demo-h2 { margin: 36px 0 4px; font-size: 1.5rem; }
.pub h2.demo-h2 + .sub { margin-bottom: 16px; }
/* The demo data pages' banner is the shared .seat-bar/.seat-strip card in
   site.css (one banner across the whole live demo, his 2026-08-15 call). */

/* ---- 2026-08-15 persona picker (/demo/pick) ---- */
.persona-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 18px 0 10px;
}
.persona-btn {
    display: block;
    background: #fff;
    border: 1px solid #dbe2ee;
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: 0 4px 14px rgba(23, 38, 74, 0.06);
    text-decoration: none;
}
.persona-btn:hover { border-color: #185abd; box-shadow: 0 6px 18px rgba(24, 90, 189, 0.14); }
.persona-btn .pb-label { display: block; font-weight: 700; font-size: 17px; color: #185abd; }
.persona-btn .pb-sub { display: block; margin-top: 4px; font-size: 13.5px; color: #666f7d; }
.persona-escape { margin-top: 14px; }
.persona-back { margin-top: 26px; }
@media (max-width: 900px) { .persona-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .persona-grid { grid-template-columns: 1fr; } }
