/* ============================================================================
 * mentor.css — JOBCHAT Layer C (Growth Mode) front-end styling.
 * SELF-CONTAINED: every class is prefixed `jc-growth-` — no collision with jobchat.css.
 * Never touches base/*, jobchat's own classes, or any global element.
 * ============================================================================ */

/* ---------- Growth-Mode CELEBRATION modal ---------- */
.jc-growth-modal-wrap {
    position: fixed; inset: 0;
    z-index: 10050;              /* above chat but below toast/notifications */
    display: flex; align-items: center; justify-content: center;
    padding: 16px;
    animation: jcGrowthFade 220ms ease-out both;
}
@keyframes jcGrowthFade { from { opacity: 0; } to { opacity: 1; } }

.jc-growth-backdrop {
    position: absolute; inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
}

.jc-growth-card {
    position: relative;
    max-width: 460px; width: 100%;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22), 0 2px 8px rgba(15, 23, 42, 0.08);
    padding: 26px 24px 22px;
    text-align: center;
    animation: jcGrowthPop 260ms cubic-bezier(.2,.9,.3,1.2) both;
}
@keyframes jcGrowthPop {
    from { transform: translateY(12px) scale(0.96); opacity: 0; }
    to   { transform: translateY(0)    scale(1);    opacity: 1; }
}

.jc-growth-icon {
    width: 56px; height: 56px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 30%, #fef3c7 0%, #fde68a 45%, #f59e0b 100%);
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
    position: relative;
}
.jc-growth-icon::before {
    /* subtle celebratory star, no emoji so it renders identically everywhere */
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(45deg, transparent 45%, rgba(255,255,255,0.85) 50%, transparent 55%);
    border-radius: 50%;
}

.jc-growth-title {
    margin: 4px 0 10px;
    font-size: 20px; font-weight: 700; color: #0f172a;
    letter-spacing: -0.01em;
}

.jc-growth-body {
    margin: 0 0 20px;
    font-size: 14.5px; line-height: 1.55; color: #334155;
    white-space: pre-wrap;   /* preserves the Q20 sentence rhythm */
    text-align: left;
}

.jc-growth-actions {
    display: flex; gap: 10px; justify-content: center; align-items: center;
    flex-wrap: wrap;
}

.jc-growth-primary,
.jc-growth-secondary {
    font: inherit; cursor: pointer;
    padding: 9px 16px; border-radius: 8px;
    transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.jc-growth-primary {
    background: #0f172a; color: #fff; border: 1px solid #0f172a;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.15);
}
.jc-growth-primary:hover  { background: #1e293b; }
.jc-growth-primary:active { transform: translateY(1px); }
.jc-growth-secondary {
    background: transparent; color: #475569; border: 1px solid #e2e8f0;
    font-weight: 500;
}
.jc-growth-secondary:hover { background: #f8fafc; }
.jc-growth-primary:focus,
.jc-growth-secondary:focus { outline: 2px solid #6366f1; outline-offset: 2px; }

/* Mobile — the card breathes; buttons stack. */
@media (max-width: 480px) {
    .jc-growth-card { padding: 22px 18px 18px; }
    .jc-growth-title { font-size: 18px; }
    .jc-growth-body  { font-size: 14px; }
    .jc-growth-actions { flex-direction: column; }
    .jc-growth-primary,
    .jc-growth-secondary { width: 100%; }
}

/* ---------- Growth TAB container ---------- */
/* #jobchat-growth now lives INSIDE #jobchat-rail-panel-growth (the 2-tab sidebar). The PANEL's .is-on controls
   visibility (jobchat.css .jobchat-rail-panel{display:none}/.is-on{display:block}); the container itself must be
   block so its rendered content shows whenever its tab is active. (The legacy display:none-until-.jc-growth-tab-on
   was for the old standalone sibling; keeping it hid the container INSIDE the active panel — the invisible-tab bug.) */
#jobchat-growth { display: block; }

.jc-growth-tab-inner {
    margin: 14px 0;
    padding: 4px 6px;
    border: 1px solid #e2e8f0; border-left: 3px solid #f59e0b;
    border-radius: 10px;
    background: linear-gradient(180deg, #fffbeb 0%, #ffffff 40%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.jc-growth-tab-title {
    font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 3px;
}
.jc-growth-tab-sub {
    font-size: 13px; color: #475569; line-height: 1.45;
}

/* ── P-c/P-d Growth Mode UI — pill, switch control, lock card, tab body (jc-growth-* namespaced) ── */
.jc-growth-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:20px;font-size:13px;font-weight:600;line-height:1;cursor:pointer;border:0}
.jc-growth-pill-on{background:#fff;color:#065f46;border:1px solid #6ee7b7}
.jc-growth-pill-on .jc-growth-pill-x{background:rgba(6,95,70,.10);color:#065f46;border:0;border-radius:50%;width:18px;height:18px;line-height:18px;text-align:center;cursor:pointer;font-size:11px}
.jc-growth-pill-locked{background:#f3f4f6;color:#374151;border:1px dashed #cbd5e1}
.jc-growth-pill-locked:hover{background:#eef2ff;border-color:#a5b4fc}
.jc-growth-pill-reenter{background:#fff;color:#065f46;border:1px solid #6ee7b7}
.jc-growth-pill-reenter:hover{background:#ecfdf5;border-color:#34d399}
.jc-growth-fomo-info{margin:8px 0;padding:10px 12px;background:#eef2ff;border-radius:10px;color:#3730a3;font-size:13px}
.jc-growth-switch-ctl{margin:10px 0;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa}
.jc-growth-switch{background:#111827;color:#fff;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}
.jc-lock-card{margin:10px 0;padding:14px;border:1px solid #d1fae5;border-radius:12px;background:#f0fdf4}
.jc-lock-head{font-weight:700;font-size:13px;color:#065f46;margin-bottom:6px}
.jc-lock-obj{font-size:14px;color:#111827;font-weight:600}
.jc-lock-next{font-size:13px;color:#4b5563;margin:4px 0 10px}
.jc-lock-actions{display:flex;gap:8px}
.jc-lock-yes{background:#0b7a4b;color:#fff;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}
.jc-lock-no{background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer}
.jc-lock-done{font-size:13px;color:#065f46;font-weight:600}
.jc-growth-tab-body{margin:12px 0}
.jc-growth-step-card{padding:12px;border:1px solid #d1fae5;border-radius:12px;background:#f0fdf4;margin-bottom:12px}
.jc-growth-step-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#059669;font-weight:700;margin-bottom:6px}
.jc-growth-step-obj{font-size:14px;font-weight:600;color:#111827}
.jc-growth-step-next{font-size:13px;color:#4b5563;margin-top:4px}
.jc-growth-step-empty{font-size:13px;color:#6b7280;padding:12px;background:#f9fafb;border-radius:10px;margin-bottom:12px}
.jc-growth-chapters-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-weight:700;margin:14px 0 8px}
.jc-growth-chapters-list{margin:0;padding:0}
.jc-growth-chapters-empty{font-size:13px;color:#6b7280;padding:12px;background:#f9fafb;border-radius:10px}
/* Career-Growth filter-chip rules REMOVED 2026-08-28 (owner): the jc-growth-filters row + jc-growth-rf chips no
   longer render (mentor.js) — the Growth tab shows all chapters directly. No remaining selector depends on them. */
/* Goal kind badge (distinguishes a Learning Goal card from a Life Chapter in the All view). */
.jc-chap-kind-goal{color:#7c3aed;background:#ede9fe}
.jc-chap-goal{border-left:3px solid #a78bfa}

/* GROWTH CHAPTER RAIL (2026-08-08) — clickable small-win cards: title + recall subline + category badge + tag chips.
   Newest-first, paginated (load-more). A click opens the recall panel. Hover/focus make it feel clickable. */
.jc-chap-card{display:flex;align-items:center;gap:10px;padding:11px 12px;margin:0 0 8px;border:1px solid #e5e7eb;border-radius:11px;background:#fff;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}
.jc-chap-card:hover{border-color:#a7f3d0;background:#f6fefb;box-shadow:0 1px 4px rgba(6,95,70,.08)}
.jc-chap-card:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}
.jc-chap-main{flex:1 1 auto;min-width:0}
.jc-chap-title{font-size:14px;font-weight:600;color:#111827;line-height:1.3;word-break:break-word}
.jc-chap-sub{font-size:12px;color:#6b7280;margin-top:3px;line-height:1.35;word-break:break-word}
.jc-chap-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.jc-chap-badge{font-size:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;border-radius:6px;padding:2px 7px}
.jc-chap-cat{color:#065f46;background:#d1fae5}
.jc-chap-tag{font-size:11px;color:#4b5563;background:#f3f4f6;border-radius:6px;padding:2px 7px}
.jc-chap-go{color:#9ca3af;font-size:12px;flex:0 0 auto}
.jc-chap-card:hover .jc-chap-go{color:#0b7a4b}
.jc-chap-done{opacity:.7}
.jc-chap-done .jc-chap-title{text-decoration:line-through;text-decoration-color:#9ca3af}
.jc-chap-parked{opacity:.6}

/* SUB-STREAM (2026-08-08) — a Career-Growth card's own conversation loaded into the main chat: a sticky top bar with
   the back control + the chapter title, and the entered/back breadcrumb lines. Green Growth accent. */
.jc-thread-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:9px 12px;margin:0 -20px 10px;background:#065f46;border:1px solid #d1fae5;border-radius:10px}
.jc-thread-back{font-size:13px;font-weight:600;color:#f4f4f4;background:transparent;border:0;padding:0;cursor:pointer;flex:0 0 auto;text-decoration:underline;text-underline-offset:2px}
.jc-thread-back:hover{opacity:.75}
.jc-thread-back:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}
.jc-thread-title{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}
.jc-thread-crumb{font-size:11.5px;color:#6b7280;text-align:center;margin:4px 0 12px;font-style:italic}
/* Sub-stream reloaded bubble: preserve the saved reply's line breaks (was mashed → looked cut). */
.jc-thread-bubble{white-space:pre-wrap}

/* TEACH-TO-FISH framework link (2026-08-08) — a SIMPLE aligned text link under a grounded reply (owner: not a chip):
   trust signal ("Advice based on <framework>") + sub-learning door (click → the guide teaches that framework). */
.jc-fw-wrap{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:2px 0 6px;padding-left:2px}
.jc-fw-note{font-size:11.5px;color:#9ca3af;font-weight:500}
.jc-fw-tag{font-size:11.5px;font-weight:600;color:#2563eb;background:transparent;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#93c5fd}
.jc-fw-tag:hover{text-decoration-color:#2563eb}
.jc-fw-tag:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:3px}
/* Clickable learning sources (2-3 credible links) — simple aligned list under a value-delivery reply. */
.jc-src-wrap{margin:4px 0 6px;padding-left:2px}
.jc-src-head{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#9ca3af;font-weight:700;margin-bottom:4px}
.jc-src-list{list-style:none;margin:0;padding:0}
.jc-src-list li{margin:2px 0}
.jc-src-link{font-size:13px;font-weight:600;color:#2563eb;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#93c5fd;word-break:break-word}
.jc-src-link:hover{text-decoration-color:#2563eb}
.jc-src-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:3px}
/* Load-more */
.jc-growth-chapters-more{margin-top:4px}
.jc-chap-more-btn{width:100%;padding:9px;font-size:13px;font-weight:600;color:#0b7a4b;background:#f0fdf4;border:1px solid #d1fae5;border-radius:10px;cursor:pointer}
.jc-chap-more-btn:hover{background:#dcfce7}
.jc-chap-more-btn:disabled{opacity:.6;cursor:default}
.jc-chap-more-btn:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}

/* CHAPTER RECALL PANEL (Phase 7) — the in-rail focused view of one locked win (never mixes into main chat). */
.jc-chap-back{font-size:13px;font-weight:600;color:#0b7a4b;background:transparent;border:0;padding:2px 0;margin-bottom:10px;cursor:pointer}
.jc-chap-back:hover{text-decoration:underline}
.jc-chap-back:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}
.jc-chap-recall{border:1px solid #d1fae5;border-radius:12px;background:#f0fdf4;padding:14px}
.jc-chap-recall-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.jc-chap-recall-title{font-size:16px;font-weight:700;color:#111827;line-height:1.3}
.jc-chap-recall-sub{font-size:13px;color:#374151;line-height:1.45;margin-bottom:8px}
.jc-chap-recall-fw{font-size:12px;color:#059669;font-weight:600;margin-bottom:10px}
.jc-chap-recall-next{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;margin-bottom:10px}
.jc-chap-recall-next-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#059669;font-weight:700}
.jc-chap-recall-next-txt{font-size:14px;color:#111827;margin-top:4px;line-height:1.4}
.jc-chap-recall-link{display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:#1d4ed8;text-decoration:none;word-break:break-word}
.jc-chap-recall-link:hover{text-decoration:underline}
.jc-chap-recall-link:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}
.jc-chap-recall-prov{font-size:12px;color:#6b7280;font-weight:500}
.jc-chap-recall-loading,.jc-chap-recall-empty{font-size:13px;color:#6b7280;padding:12px}

/* Locked Career-Growth tab FOMO panel (audit rec — primary enable/unlock affordance, spacious). */
.jc-growth-locked{padding:14px;border:1px dashed #c7d2fe;border-radius:12px;background:#f5f7ff}
.jc-growth-locked-head{font-size:15px;font-weight:700;color:#3730a3;margin-bottom:4px}
.jc-growth-locked-sub{font-size:13px;color:#4b5563;margin-bottom:10px;line-height:1.4}
.jc-growth-locked-list{list-style:none;margin:0;padding:0}
.jc-growth-locked-list li{font-size:13px;color:#374151;padding:5px 0;border-top:1px solid #eef2ff}
/* Clickable pending gate-tool (owner 2026-08-08): tapping it launches that tool's existing flow to unlock faster. */
.jc-growth-todo{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px!important;margin-top:6px;border:1px solid #e0e7ff;border-top:1px solid #e0e7ff!important;border-radius:9px;background:#fff;transition:border-color .12s,background .12s,box-shadow .12s}
.jc-growth-todo:hover{border-color:#a5b4fc;background:#f5f7ff;box-shadow:0 1px 4px rgba(55,48,163,.08)}
.jc-growth-todo:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}
.jc-growth-todo::after{content:'\f061';font-family:'Font Awesome 6 Free';font-weight:900;font-size:11px;color:#a5b4fc}
.jc-growth-todo:hover::after{color:#4f46e5}
/* BUG-1: in Growth Mode the ✕ pill replaces the chip row — hide tool chips, keep only our pill. */
#jobchat-chips.jc-growth-chips-hidden > *:not(.jc-growth-pill){display:none!important}

/* P3 (2026-08-06) — the mini LEARNING-MATERIAL card (a verified link OR a pre-filled search). Low cognitive load:
   one small card, a badge + the framework tag, one clickable line, one transparency line. */
.jc-resource-card{margin:8px 0;padding:10px 12px;border:1px solid #dbeafe;border-radius:10px;background:#f5f9ff}
.jc-resource-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.jc-resource-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:#1d4ed8;background:#e0ecff;border-radius:6px;padding:2px 7px}
.jc-resource-fw{font-size:11px;color:#6b7280;font-weight:600}
.jc-resource-link{display:inline-block;font-size:14px;font-weight:600;color:#1d4ed8;text-decoration:none;word-break:break-word}
.jc-resource-link:hover{text-decoration:underline}
.jc-resource-src{font-size:12px;color:#6b7280;margin-top:3px}

/* M1 (2026-08-06): growth cards mount inside an AI message row so they align to the chat column (not flush-left).
   The row is a plain block wrapper (the card carries its own look); it inherits the stream's 18px vertical rhythm. */
.jobchat-row-growth{display:block}
.jobchat-row-growth > .jc-resource-card,
.jobchat-row-growth > .jc-lock-card,
.jobchat-row-growth > .jc-growth-switch-ctl{margin-top:0;margin-bottom:0}
/* M4 (2026-08-06): a consistent, visible keyboard focus ring on EVERY growth card control (border:0 buttons had a
   weak/inconsistent UA ring). Accessibility — WCAG focus-visible. */
.jc-resource-link:focus-visible,
.jc-lock-yes:focus-visible,.jc-lock-no:focus-visible,
.jc-growth-switch:focus-visible,
.jc-growth-pill-x:focus-visible,.jc-growth-pill-locked:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:6px}

/* ============================================================================================
   P4 (2026-08-19): the "AI Mentor" chip + within-eye-view 2-level menu (growth_chip.js).
   Sibling of the growth UI — reuses the SAME green palette tokens (#0b7a4b / #065f46 / #d1fae5)
   and the jcGrowthPop open animation; NO new colour system. The chip carries .jc-growth-pill so
   it survives the active-state hide rule (line 243, :not(.jc-growth-pill)).
   ============================================================================================ */
/* the chip (inherits .jc-growth-pill base geometry; distinct green-outline look) */
.jc-mentor-chip{background:#065f46;color:#fff;border:1px solid #065f46!important;gap:6px}
.jc-mentor-chip:hover{background:#0b7a4b;border-color:#0b7a4b!important}
.jc-mentor-chip:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}
.jc-mentor-chip-ic{font-size:13px;line-height:1;color:#fff}
.jc-mentor-chip-lbl{line-height:1}

/* the gentle ritual nudge (fixed, anchored near the chip) */
.jc-mentor-nudge{position:fixed;z-index:10060;max-width:240px;background:#065f46;color:#fff;font-size:12.5px;font-weight:500;line-height:1.35;padding:8px 11px;border-radius:10px;box-shadow:0 6px 20px rgba(6,95,70,.28);animation:jcGrowthPop 220ms cubic-bezier(.2,.9,.3,1.2) both}

/* the flyout — fixed height, internal scroll, never pushes the page */
.jc-mentor-flyout{position:fixed;z-index:10060;width:400px;max-width:calc(100vw - 16px);max-height:min(64vh,460px);display:flex;flex-direction:column;background:#fff;border:1px solid #d1fae5;border-radius:14px;box-shadow:0 14px 44px rgba(6,95,70,.22);overflow:hidden;animation:jcGrowthPop 240ms cubic-bezier(.2,.9,.3,1.2) both}
.jc-mentor-fly-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;border-bottom:1px solid #eef2ef;background:#f0fdf4}
.jc-mentor-fly-title{font-size:14px;font-weight:700;color:#065f46;line-height:1.2}
.jc-mentor-fly-x{background:rgba(6,95,70,.10);color:#065f46;border:0;border-radius:50%;width:22px;height:22px;line-height:22px;text-align:center;cursor:pointer;font-size:12px;flex:0 0 auto}
.jc-mentor-fly-x:hover{background:rgba(6,95,70,.20)}
.jc-mentor-fly-x:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}
.jc-mentor-fly-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px 12px}

/* L1 door rows — 2 columns: label left, personalised impact right */
/* Door row = a tappable "enter" card: stacked title + benefit line on the left, a › enter-arrow on the right. */
.jc-mentor-door{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #e5efe9;border-radius:12px;padding:13px 14px;margin-top:9px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}
.jc-mentor-door:first-child{margin-top:0}
.jc-mentor-door:hover{border-color:#6ee7b7;background:#f6fffb;box-shadow:0 2px 8px rgba(6,95,70,.10)}
.jc-mentor-door:hover .jc-mentor-door-arrow{transform:translateX(2px);color:#0b7a4b}
.jc-mentor-door:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}
.jc-mentor-door-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.jc-mentor-door-lbl{font-size:14.5px;font-weight:700;color:#065f46;line-height:1.25}
.jc-mentor-door-impact{font-size:12px;font-weight:500;color:#6b7280;line-height:1.35}
.jc-mentor-door-arrow{flex:0 0 auto;font-size:20px;font-weight:700;color:#9ca3af;line-height:1;transition:transform .12s,color .12s}

/* L2 — Back on top, then pointer rows */
.jc-mentor-back{display:block}
.jc-mentor-rows{display:block}
/* Tasks #1/#2 — L2 door header: Back on the left, "Change …" switch link right-floated. */
.jc-mentor-l2head{display:flex;justify-content:space-between;align-items:center}
.jc-mentor-change{color:var(--jc-primary,#2a6df4);background:none;border:0;font-weight:600;cursor:pointer;font-size:.85em;padding:2px 0}
.jc-mentor-change:hover{text-decoration:underline}
.jc-mentor-change:focus-visible{outline:2px solid var(--jc-primary,#2a6df4);outline-offset:2px}
.jc-mentor-ptr{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;background:#fff;border:1px solid #e5efe9;border-radius:9px;padding:9px 10px;margin-top:7px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}
.jc-mentor-ptr:hover{border-color:#6ee7b7;background:#f6fffb;box-shadow:0 1px 4px rgba(6,95,70,.07)}
.jc-mentor-ptr:focus-visible{outline:2px solid #0b7a4b;outline-offset:2px}
.jc-mentor-ptr-txt{flex:1 1 auto;font-size:12.5px;font-weight:500;color:#374151;line-height:1.35}
.jc-mentor-ptr-ic{flex:0 0 auto;font-size:12px;color:#0b7a4b;font-weight:700}
.jc-mentor-ptr-link .jc-mentor-ptr-txt{color:#065f46}

/* Load-more reuses the .jc-chap-more-btn green look; margin for the menu context */
.jc-mentor-more{margin-top:9px}

/* inline loaders / fail text */
.jc-mentor-loading{font-size:12.5px;color:#6b7280;padding:10px 2px;text-align:center}
.jc-mentor-fail{font-size:12.5px;color:#b91c1c;padding:8px 2px;text-align:center}

/* mobile: let the flyout use more of the small screen but stay within eye-view */
@media (max-width:560px){
  .jc-mentor-flyout{width:calc(100vw - 16px);max-height:min(66vh,440px)}
}

/* 2026-08-29 FIX1 (owner): chapter-heading strip must hold to the top ABOVE the fixed rail-toggle
   (z-index:60) on mobile. Base :179 rule (sticky;top:0;z-index:5) is correct for desktop; on mobile
   the stream is overflow:visible so the sticky context is the document — only the z-index needs to
   clear the fixed chrome. top:0 kept (owner: sticky to top). Margins/sticky NOT changed here. */
@media (max-width:900px){
  .jc-thread-bar{ position:fixed; z-index:65; }
}
