/* advisory.css — the Advisory Board tab.
   Long-form reading surface: wider measure than the trading chrome, generous line height,
   and reports collapsed by default so a quarter of weeklies stays scannable. */

.ab-page { max-width: 980px; margin: 0 auto; padding: 26px 20px 90px; }

.ab-header h1 { margin: 0 0 6px; font-size: 26px; letter-spacing: .3px; color: #eee; }
.ab-sub { margin: 0 0 26px; color: #9ca3af; font-size: 13.5px; line-height: 1.6; max-width: 62ch; }

.ab-section { margin-bottom: 34px; }
.ab-section-title {
    font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
    color: #d1d5db; font-weight: 700; margin-bottom: 12px;
    display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
    border-bottom: 1px solid #2b2f36; padding-bottom: 8px;
}
.ab-hint { font-size: 11px; letter-spacing: 0; text-transform: none; color: #6b7280; font-weight: 400; }

/* --- roster --- */
.ab-roster { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 10px; }
.ab-card {
    border: 1px solid #2b2f36; border-radius: 8px; padding: 12px 13px;
    background: rgba(255,255,255,0.02);
}
.ab-card-off { opacity: .5; }
.ab-card-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ab-icon { font-size: 16px; }
.ab-name { font-weight: 600; color: #e5e7eb; font-size: 14px; }
.ab-badge { font-size: 9px; letter-spacing: .08em; padding: 2px 6px; border-radius: 9px; border: 1px solid; }
.ab-badge.lead { color: #00ffcc; border-color: #00ffcc; }
.ab-badge.veto { color: #f87171; border-color: #f87171; }
.ab-seat { font-size: 12px; color: #9ca3af; margin-top: 6px; line-height: 1.45; }
.ab-source { font-size: 10.5px; color: #6b7280; margin-top: 6px; font-style: italic; }
.ab-off { font-size: 10.5px; color: #f87171; margin-top: 6px; }

.ab-card-clickable { cursor: pointer; transition: border-color .15s, background .15s; }
.ab-card-clickable:hover, .ab-card-clickable:focus-visible {
    border-color: #00ffcc55; background: rgba(0,255,204,0.05); outline: none;
}
.ab-chat-hint {
    font-size: 10.5px; color: #00ffcc; margin-top: 9px;
    display: flex; align-items: center; gap: 6px;
}

/* --- discuss buttons (report-level and per-section) --- */
.ab-discuss-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: transparent; border: 1px solid #2b2f36; color: #00ffcc;
    font-size: 11px; padding: 4px 10px; border-radius: 12px; cursor: pointer;
    margin: 4px 0 10px;
}
.ab-discuss-btn:hover { border-color: #00ffcc; background: rgba(0,255,204,0.06); }

.ab-report-actions { margin-top: 16px; padding: 12px 12px 0; border-top: 1px solid #2b2f36; }
.ab-discuss-report {
    display: inline-flex; align-items: center; gap: 7px;
    background: rgba(0,255,204,0.06); border: 1px solid #00ffcc55; color: #00ffcc;
    font-size: 12px; font-weight: 600; padding: 6px 14px; border-radius: 14px; cursor: pointer;
}
.ab-discuss-report:hover { background: rgba(0,255,204,0.12); }

/* --- report tabs --- */
.ab-tabs { display: flex; gap: 6px; margin-bottom: 12px; }
.ab-tab {
    background: transparent; border: 1px solid #2b2f36; color: #9ca3af;
    padding: 6px 14px; border-radius: 14px; cursor: pointer; font-size: 12px;
}
.ab-tab.active { color: #0b0b0d; background: #00ffcc; border-color: #00ffcc; font-weight: 600; }

/* --- reports --- */
.ab-reports { display: flex; flex-direction: column; gap: 10px; }
.ab-report {
    border: 1px solid #2b2f36; border-left-width: 4px; border-radius: 8px;
    background: rgba(255,255,255,0.02);
}
.ab-report-open  { border-left-color: #7c3aed; }   /* Sunday — matches the Discord pastel family */
.ab-report-close { border-left-color: #6366f1; }
.ab-report-skill { border-left-color: #10b981; }   /* distinct from the weekly pair on purpose */
.ab-report > summary {
    cursor: pointer; padding: 13px 15px; display: flex; gap: 12px;
    align-items: baseline; flex-wrap: wrap; list-style: none;
}
.ab-report > summary::-webkit-details-marker { display: none; }
.ab-report > summary::before { content: '▸'; color: #6b7280; margin-right: 2px; }
.ab-report[open] > summary::before { content: '▾'; }
.ab-rep-kind { font-size: 12px; font-weight: 700; color: #d1d5db; }
.ab-rep-title { font-size: 13px; color: #9ca3af; flex: 1; }
.ab-rep-date { font-size: 11px; color: #6b7280; font-variant-numeric: tabular-nums; }

/* --- rendered markdown --- */
.ab-md {
    padding: 4px 22px 22px; color: #d1d5db;
    font-size: 14.5px; line-height: 1.72; max-width: 74ch;
}
.ab-md h1, .ab-md h2, .ab-md h3 {
    color: #fff; margin: 26px 0 10px; line-height: 1.3;
    border-bottom: 1px solid #2b2f36; padding-bottom: 6px;
}
.ab-md h1 { font-size: 20px; } .ab-md h2 { font-size: 17px; } .ab-md h3 { font-size: 15px; border: none; }
.ab-md p { margin: 0 0 14px; }
.ab-md ul, .ab-md ol { margin: 0 0 14px; padding-left: 22px; }
.ab-md li { margin-bottom: 6px; }
.ab-md strong { color: #fff; }
.ab-md blockquote {
    border-left: 3px solid #00ffcc; margin: 0 0 14px; padding: 4px 0 4px 14px;
    color: #9ca3af; font-style: italic;
}
.ab-md code {
    background: #15161b; padding: 2px 6px; border-radius: 4px;
    font-size: 12.5px; color: #00ffcc;
}
.ab-md pre { background: #15161b; padding: 12px; border-radius: 6px; overflow-x: auto; }
.ab-md pre code { background: none; padding: 0; }
.ab-md table { border-collapse: collapse; width: 100%; margin: 0 0 16px; font-size: 13px; display: block; overflow-x: auto; }
.ab-md th, .ab-md td { border: 1px solid #2b2f36; padding: 7px 10px; text-align: left; }
.ab-md th { background: rgba(255,255,255,0.04); color: #e5e7eb; }
.ab-md hr { border: none; border-top: 1px solid #2b2f36; margin: 22px 0; }

.ab-empty { color: #9ca3af; font-size: 13.5px; line-height: 1.65; padding: 20px 4px; }
.ab-empty p { margin: 0 0 10px; }

@media (max-width: 640px) {
    .ab-page { padding: 18px 14px 70px; }
    .ab-md { padding: 4px 12px 18px; font-size: 14px; }
    .ab-rep-title { flex-basis: 100%; }
}

/* --- setup library: the reference Kevin reads until the names stick --- */
.ab-note { color: #9ca3af; font-size: 12.5px; line-height: 1.6; margin: 0 0 14px; max-width: 68ch; }

/* Thumb bars — collapsed by default, click to expand one at a time, click again to retrace. */
.ab-setup {
    border: 1px solid #2b2f36; border-left-width: 4px; border-radius: 8px;
    padding: 0; margin-bottom: 10px; background: rgba(255,255,255,0.02);
}
.ab-setup-validated { border-left-color: #1e7e78; }
.ab-setup-candidate { border-left-color: #d99a1e; }
.ab-setup-retired   { border-left-color: #a83043; opacity: .66; }

.ab-setup-head {
    display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
    padding: 13px 15px; cursor: pointer; list-style: none;
}
.ab-setup-head::-webkit-details-marker { display: none; }
.ab-setup-head::before {
    content: '▸'; color: #6b7280; font-size: 11px; transition: transform .15s;
}
.ab-setup[open] > .ab-setup-head::before { transform: rotate(90deg); }
.ab-setup-head:hover { background: rgba(255,255,255,0.02); }

.ab-setup-name { font-weight: 700; font-size: 15px; color: #e5e7eb; }
.ab-setup-dir {
    font-size: 9px; letter-spacing: .06em; padding: 2px 6px; border-radius: 9px;
    color: #9ca3af; border: 1px solid #3a3f47;
}
.ab-badge.validated { color: #1e7e78; border-color: #1e7e78; }
.ab-badge.candidate { color: #d99a1e; border-color: #d99a1e; }
.ab-badge.retired   { color: #a83043; border-color: #a83043; }

.ab-setup-ev { font-size: 11.5px; color: #9ca3af; margin-left: auto; font-variant-numeric: tabular-nums; }
.ab-setup-child { margin-left: 22px; border-left-style: dashed; }
.ab-setup-parent {
    font-size: 10.5px; color: #7a8a94; font-style: italic; flex-basis: 100%;
}
.ab-setup-body { padding: 0 15px 15px; }
.ab-setup-alias { font-size: 11.5px; color: #6b7280; font-style: italic; }
.ab-setup-thesis { font-size: 13px; color: #d1d5db; line-height: 1.6; margin-top: 9px; }
.ab-setup-why { font-size: 12.5px; color: #c76a7a; line-height: 1.55; margin-top: 9px; }

.ab-setup-vars { margin-top: 11px; font-size: 12.5px; color: #d1d5db; }
.ab-setup-vars b { color: #e5e7eb; display: block; margin-bottom: 5px; }
.ab-setup-vars ol { margin: 0; padding-left: 20px; }
.ab-setup-vars li { margin-bottom: 4px; line-height: 1.5; }

.ab-setup-geo, .ab-setup-sizing {
    font-size: 11.5px; color: #9ca3af; margin-top: 9px;
    padding-top: 8px; border-top: 1px dashed #2b2f36;
}

/* Higher-timeframe confirmation — deliberately its own visually distinct block, not buried
   as one line in a ten-item checklist. Kevin's own feedback: he looked at the setup and
   didn't see it, because it was there but not standing out. */
.ab-setup-htf-confluence {
    margin-top: 11px; padding: 10px 12px; border-radius: 6px;
    background: rgba(0, 255, 204, 0.05); border: 1px solid #00ffcc33;
    font-size: 12px; color: #d1d5db;
}
.ab-setup-htf-confluence > b { color: #00ffcc; font-size: 12.5px; }
.ab-setup-htf-thresh { color: #9ca3af; font-size: 11px; margin-top: 4px; font-style: italic; }
.ab-setup-htf-note { margin-top: 6px; line-height: 1.5; }
.ab-setup-htf-table { width: 100%; margin-top: 8px; border-collapse: collapse; font-size: 11.5px; }
.ab-setup-htf-table th { text-align: left; color: #6b7280; font-weight: 600; padding: 3px 6px; border-bottom: 1px solid #2b2f36; }
.ab-setup-htf-table td { padding: 4px 6px; border-bottom: 1px solid #22252b; font-variant-numeric: tabular-nums; }
.ab-setup-htf-table td.ab-htf-pos { color: #1e7e78; font-weight: 600; }
.ab-setup-htf-table td.ab-htf-neg { color: #a83043; font-weight: 600; }
