/* Blog dark — page chrome is dark; post notebook content stays light */

/* --- Home page --- */
.hero-title { color: #bbc7ff; }
.brand-sub  { color: #a0a0d0; }

.post-card { border-radius: 16px; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0, 100, 255, 0.12);
    border-color: rgba(119, 187, 255, 0.35);
}
.post-card .card-title { color: #bbc7ff; }
.post-card .card-text  { color: #a0a0d0; }

.post-card-accent {
    height: 4px;
    background: linear-gradient(90deg, #5566ff, #77bbff);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    flex-shrink: 0;
}

.post-tag-pill {
    font-size: 0.72rem; font-weight: 600;
    padding: 0.2rem 0.65rem; border-radius: 999px;
    background: rgba(119, 187, 255, 0.1);
    color: #77bbff;
    border: 1px solid rgba(119, 187, 255, 0.25);
    letter-spacing: 0.04em; text-transform: uppercase;
}
.post-tag-code-included  { background: rgba(122, 210, 255, 0.1); color: #7ad2ff; border-color: rgba(122, 210, 255, 0.28); }
.post-tag-fundamentals   { background: rgba(95, 211, 156, 0.1);  color: #5fd39c; border-color: rgba(95, 211, 156, 0.28); }
.post-tag-technicals     { background: rgba(157, 143, 255, 0.1); color: #9d8fff; border-color: rgba(157, 143, 255, 0.28); }
.post-tag-quant-analysis { background: rgba(240, 160, 75, 0.1);  color: #f0a04b; border-color: rgba(240, 160, 75, 0.28); }
.post-tag-ai             { background: rgba(255, 121, 198, 0.1); color: #ff79c6; border-color: rgba(255, 121, 198, 0.28); }
.post-tag-insiders       { background: rgba(255, 209, 102, 0.1); color: #ffd166; border-color: rgba(255, 209, 102, 0.28); }
.post-tag-economy        { background: rgba(85, 102, 255, 0.1);  color: #7788ff; border-color: rgba(85, 102, 255, 0.28); }

/* --- Post page header (sits on dark background) --- */
.post-title { color: #bbc7ff; }
.post-desc  { color: #a0a0d0; }
.meta       { color: #8080b0; }

/* --- Post surface: light card wrapping notebook output --- */
.post-surface {
    background: #ffffff;
    border: 1px solid rgba(30, 60, 190, 0.15);
    border-radius: 16px;
    color: #101223;
}
.post-surface img { max-width: 100%; height: auto; border-radius: 8px; }

/* nbconvert text — light */
.jp-RenderedHTMLCommon, .rendered_html { color: #101223; }
.jp-RenderedHTMLCommon h1,.rendered_html h1,
.jp-RenderedHTMLCommon h2,.rendered_html h2,
.jp-RenderedHTMLCommon h3,.rendered_html h3,
.jp-RenderedHTMLCommon h4,.rendered_html h4 { color: #14206b; }
.jp-RenderedHTMLCommon a,.rendered_html a { color: #255dff; }
.jp-RenderedHTMLCommon a:hover,.rendered_html a:hover { color: #163fe6; }

/* nbconvert code — light */
.jp-RenderedHTMLCommon pre, .rendered_html pre,
.post-surface pre {
    background: #f3f5ff; color: #0f1a3a;
    border: 1px solid rgba(70, 90, 255, .15);
    border-radius: 8px; padding: 1rem;
}
.jp-RenderedHTMLCommon code, .rendered_html code,
.post-surface code {
    background: #f3f5ff; color: #0f1a3a;
    border-radius: 4px; padding: .2rem .4rem;
    border: 1px solid rgba(70, 90, 255, .15);
}

/* DataFrames — light */
.jp-RenderedHTMLCommon table,.rendered_html table {
    background: #fff; border: 1px solid rgba(0,0,0,.06);
    border-radius: 8px; overflow: hidden;
}
.jp-RenderedHTMLCommon thead th,.rendered_html thead th { background: #eef2ff; }
.jp-RenderedHTMLCommon tbody tr:nth-child(odd) td,.rendered_html tbody tr:nth-child(odd) td { background: #fafbff; }

/* MathJax */
.MathJax, mjx-container { color: #101223; }

/* Blockquotes */
.jp-RenderedHTMLCommon blockquote,.rendered_html blockquote {
    background: #f6f8ff; border-left: 4px solid #77bbff;
    padding: .75rem 1rem; color: #223; border-radius: 8px;
}

/* Collapsible code — light (inside white post-surface) */
details.collapsible-code {
    border: 1px solid rgba(26, 43, 122, .22);
    background: rgba(26, 43, 122, .05);
    border-radius: 12px; margin: .5rem 0 1rem;
}
details.collapsible-code > summary {
    list-style: none; cursor: pointer;
    color: #1a2b7a; font-weight: 600; user-select: none;
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .5rem .75rem;
}
details.collapsible-code > summary::before {
    content: "▶"; font-size: .8rem; transition: transform .15s ease;
}
details.collapsible-code[open] > summary::before { transform: rotate(90deg); }
details.collapsible-code > summary::-webkit-details-marker { display: none; }
details.collapsible-code > summary:hover { background: rgba(26, 43, 122, .08); }
details.collapsible-code > summary:focus-visible {
    outline: 2px solid #1a2b7a; outline-offset: 2px; border-radius: 10px;
}
details.collapsible-code > summary::after {
    content: "</> code";
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .72rem; font-weight: 600; color: #1a2b7a;
    background: #fff; border: 1px solid rgba(26, 43, 122, .25);
    border-radius: 6px; padding: .1rem .35rem; margin-left: .25rem;
}

/* Tech note — light */
details.tech-note {
    margin: .75rem 0 1rem;
    border: 1px solid rgba(26, 43, 122, .22);
    background: rgba(26, 43, 122, .06);
    border-left: 4px solid #1a2b7a;
    border-radius: 10px; padding: .35rem .5rem .5rem;
}
details.tech-note > summary {
    list-style: none; cursor: pointer; color: #1a2b7a; font-weight: 700;
    user-select: none; display: inline-flex; align-items: center; gap: .4rem;
    padding: .25rem .25rem .25rem .1rem;
}
details.tech-note > summary::-webkit-details-marker { display: none; }
details.tech-note > summary::before {
    content: "▶"; font-size: .8rem; transition: transform .15s ease;
}
details.tech-note[open] > summary::before { transform: rotate(90deg); }
details.tech-note > *:not(summary) { margin-top: .5rem; }
