
/* ============================================================
   NOTE:
   This file is the active stylesheet referenced in default.hbs.

   The theme currently does NOT use a rebuild workflow.
   Changes should be made here directly.

   Do not assume other CSS files are authoritative.
   ============================================================ */


:root{
    --bg:#0b0d10;
    --panel:#11151b;
    --panel2:#0f1318;
    --text:#e7edf5;
    --muted:#a5b2c3;
    --line:rgba(231,237,245,.12);
    --accent:#7cf7c5;
    --accent2:#7aa7ff;
    --danger:#ff6b8a;
    --shadow: 0 10px 30px rgba(0,0,0,.35);
    --radius: 18px;
    --wrap: 1120px;
    --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";

    --voice-tavian: #2196F3;       /* example */
    --voice-woe: #C62828;
    --voice-hope: #43A047;
    --voice-instructor: #6a1b9a;
    --voice-hiddenchannel: #9AA0A6;
    --voice-nex: #fb8c00;
    --voice-operator: #212121;
    --voice-followers: #cfd8dc;
    --voice-sync: #fdd835;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family:var(--sans);
    background: radial-gradient(1200px 800px at 20% -10%, rgba(122,167,255,.18), transparent 60%),
    radial-gradient(1000px 700px at 90% 0%, rgba(124,247,197,.12), transparent 55%),
    var(--bg);
    color:var(--text);
}

a{color:inherit;text-decoration:none}
a:hover{opacity:.95}
code{font-family:var(--mono); font-size:.95em}

.wrap{max-width:var(--wrap); margin:0 auto; padding:0 18px}

.skip-link{
    position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{left:16px; top:12px; width:auto; height:auto; padding:10px 12px; background:var(--panel); border:1px solid var(--line); border-radius:12px; z-index:999}


:root {
    --header-height: 64px;
}


@media (max-width: 768px) {
    :root {
        --header-height: 75px;
    }
}


.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    /*height: var(--header-height);*/
    z-index: 100;

    background: #0b0d10; /* solid base */
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--line);

    pointer-events: auto;
    transform: translateZ(0);
    will-change: transform;

}


.site-main {
    padding-top: calc(var(--header-height) - 30px);
}


.header-inner{
    display:flex; align-items:center; justify-content:space-between;
    min-height:64px; gap:16px;
}
.brand{display:flex; align-items:center; gap:10px}
.brand-mark{
    width:34px; height:34px; display:grid; place-items:center;
    border-radius:12px;
    background:linear-gradient(135deg, rgba(124,247,197,.22), rgba(122,167,255,.18));
    border:1px solid var(--line);
    font-family:var(--mono); letter-spacing:.08em;
}
.brand-name{font-weight:650; letter-spacing:.02em}

.site-nav{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.nav-link{
    pointer-events: auto;
    padding:8px 10px;
    border-radius:12px;
    color:var(--muted);
}
.nav-link:hover{background:rgba(255,255,255,.04); color:var(--text)}
.nav-cta{
    color:var(--text);
    border:1px solid rgba(124,247,197,.28);
    background:rgba(124,247,197,.06);
}
.nav-cta:hover{background:rgba(124,247,197,.10)}

.nav-link.is-active {
    color: var(--voice-sync);
}

.nav-link.nav-cta.is-active {
    color: var(--voice-sync);
}

.site-nav .nav-link.is-active::after {
    content: '';
    display: block;
    width: 14px;
    height: 2px;
    margin-top: 4px;
    background: currentColor;
    opacity: 0.5;
    border-radius: 2px;
}

.daf-toggle{
    display:inline-flex; align-items:center; gap:10px;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.03);
    color:var(--text);
    cursor:pointer;
}
.daf-toggle__label{font-family:var(--mono); font-size:12px; letter-spacing:.12em}
.daf-toggle__pill{
    width:34px; height:18px; border-radius:999px;
    background:rgba(165,178,195,.18);
    position:relative;
}
.daf-toggle__pill::after{
    content:"";
    position:absolute; top:2px; left:2px;
    width:14px; height:14px; border-radius:50%;
    background:rgba(231,237,245,.85);
    transition:transform .18s ease, background .18s ease;
}
.daf-toggle[aria-pressed="true"]{
    border-color:rgba(122,167,255,.35);
    background:rgba(122,167,255,.10);
}
.daf-toggle[aria-pressed="true"] .daf-toggle__pill{
    background:rgba(122,167,255,.22);
}
.daf-toggle[aria-pressed="true"] .daf-toggle__pill::after{
    transform:translateX(16px);
    background:rgba(124,247,197,.95);
}

/* DAF mode: slightly “cleaner / brighter” */
html.is-daf body{
    background: radial-gradient(1000px 700px at 80% -10%, rgba(122,167,255,.16), transparent 62%),
    radial-gradient(900px 600px at 10% 0%, rgba(124,247,197,.10), transparent 55%),
    #07090c;
}
html.is-daf .brand-mark{border-color:rgba(124,247,197,.35)}
html.is-daf .nav-cta{border-color:rgba(122,167,255,.38); background:rgba(122,167,255,.08)}

/* Sections */
.section{padding:34px 0}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px}
.section-head h1, .section-head h2{margin:0}
.muted{color:var(--muted)}
.muted-link{color:var(--muted)}
.muted-link:hover{color:var(--text)}

.hero{padding:40px 0 8px}
.hero-title{margin:0; font-size:44px; letter-spacing:-.02em}
.hero-subtitle{margin:10px 0 0; color:var(--muted); max-width:70ch}

/* Cards */
.card-grid{
    display:grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap:14px;
}
@media (max-width: 980px){
    .card-grid{grid-template-columns: repeat(2, minmax(0,1fr))}
}
@media (max-width: 520px){
    .card-grid{grid-template-columns: 1fr}
}

.char-card{
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:16px;
    box-shadow:var(--shadow);
    transition: transform .14s ease, border-color .14s ease;
}
.char-card:hover{transform: translateY(-2px); border-color:rgba(124,247,197,.28)}

/* Voice-specific borders */
.char-card[data-voice="tavian"] {
    border-color: var(--voice-tavian);
}

.char-card[data-voice="woe"] {
    border-color: var(--voice-woe);
}

.char-card[data-voice="hope"] {
    border-color: var(--voice-hope);
}

.char-card[data-voice="instructor"] {
    border-color: var(--voice-instructor);
}

/* HiddenChannel: non-chromatic signal */
.char-card[data-voice="hiddenchannel"] {
    border-color: var(--voice-hiddenchannel);
    border-style: dashed;
}
.char-card[data-voice="nex"] {
    border-color: var(--voice-nex);
}
.char-card[data-voice="operator"] {
    border-color: var(--voice-operator);
}
.char-card[data-voice="followers"] {
    border-color: var(--voice-followers);
}
.char-card[data-voice="sync"] {
    border-color: var(--voice-sync);
}

.char-initial{
    width:38px; height:38px; border-radius:14px;
    display:grid; place-items:center;
    font-family:var(--mono);
    background:rgba(122,167,255,.12);
    border:1px solid var(--line);
}
.char-name{margin-top:10px; font-weight:680}
.char-role{margin-top:4px; color:var(--muted); font-size:13px}
.char-link{margin-top:12px; color:var(--accent); font-size:13px}
.newschar-link{margin-top:12px; color:var(--accent); font-size:15px}

/* Week card */
.week-card{
    border:1px solid var(--line);
    border-radius: calc(var(--radius) + 4px);
    padding:18px;
    background:linear-gradient(180deg, rgba(124,247,197,.06), rgba(255,255,255,.02));
    box-shadow:var(--shadow);
}
.week-meta{display:flex; align-items:center; gap:10px}
.pill{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:.10em;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid rgba(124,247,197,.26);
    color:var(--accent);
    background:rgba(124,247,197,.06);
}
.week-title{margin:12px 0 8px; font-size:22px}
.week-excerpt{margin:0; color:var(--muted); max-width:80ch}
.week-actions{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap}

.btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding:10px 12px;
    border-radius:14px;
    border:1px solid rgba(231,237,245,.14);
    background:rgba(255,255,255,.04);
}
.btn:hover{border-color:rgba(231,237,245,.24)}
.btn-ghost{
    background:transparent;
    color:var(--muted);
}

/* Sub lists */
.subsection{margin-top:16px}
.subsection-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:8px 0 10px}
.list{display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.list-row{
    display:flex; justify-content:space-between; gap:14px;
    padding:12px 14px;
    background:rgba(255,255,255,.02);
    border-top:1px solid var(--line);
}
.list-row:first-child{border-top:none}
.list-row:hover{background:rgba(255,255,255,.04)}
.list-title{font-weight:600}
.list-meta{display:flex; gap:8px; color:var(--muted); font-size:13px; white-space:nowrap}
.dot{opacity:.65}

/* Archive */
.archive-grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:14px;
}
@media (max-width: 980px){
    .archive-grid{grid-template-columns: repeat(2, minmax(0,1fr))}
}
@media (max-width: 520px){
    .archive-grid{grid-template-columns: 1fr}
}
.archive-card{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:16px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
    box-shadow:var(--shadow);
}
.archive-title{margin:0 0 8px; font-size:18px}
.archive-meta{display:flex; gap:8px; align-items:center; color:var(--muted); font-size:13px; margin-bottom:10px}
.archive-excerpt{margin:0 0 12px; color:var(--muted)}
.archive-more{color:var(--accent2); font-size:13px}

/* Footer sponsor graphics */
.site-footer{padding:26px 0 34px; border-top:1px solid var(--line); margin-top:40px; background:rgba(0,0,0,.22)}
.footer-inner{display:flex; flex-direction:column; gap:18px}
.footer-title{margin:0 0 10px; font-size:14px; font-family:var(--mono); letter-spacing:.12em; color:var(--muted); text-transform:uppercase}

.sponsor-grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:12px;
}
@media (max-width: 980px){
    .sponsor-grid{grid-template-columns: 1fr}
}
.sponsor-card{
    position:relative;
    border:1px solid rgba(231,237,245,.14);
    border-radius:var(--radius);
    padding:14px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
    overflow:hidden;
}
.sponsor-badge{
    position:absolute; top:10px; right:10px;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.12em;
    padding:6px 8px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    color:rgba(231,237,245,.85);
    background:rgba(0,0,0,.18);
}
.sponsor-art{
    height:74px;
    border-radius:14px;
    border:1px solid rgba(231,237,245,.10);
    margin-bottom:10px;
    background-size:cover;
    background-position:center;
}
.sponsor-art--veil{
    background-image:
            linear-gradient(135deg, rgba(255,107,138,.35), rgba(122,167,255,.20)),
            repeating-linear-gradient(90deg, rgba(0,0,0,.18) 0 8px, rgba(255,255,255,.02) 8px 16px);
}
.sponsor-art--archive{
    background-image:
            linear-gradient(135deg, rgba(124,247,197,.22), rgba(255,255,255,.02)),
            repeating-linear-gradient(0deg, rgba(0,0,0,.20) 0 10px, rgba(255,255,255,.03) 10px 20px);
}
.sponsor-art--signal{
    background-image:
            radial-gradient(circle at 20% 30%, rgba(122,167,255,.35), transparent 55%),
            radial-gradient(circle at 70% 50%, rgba(124,247,197,.22), transparent 60%),
            linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.12));
}
.sponsor-name{font-weight:680}
.sponsor-tag{margin-top:6px; color:var(--muted); font-size:13px}

.footer-meta{
    display:flex; gap:10px; flex-wrap:wrap; align-items:center;
    color:var(--muted);
    font-size:13px;
}
.footer-meta a{color:var(--muted)}
.footer-meta a:hover{color:var(--text)}
.empty{
    border:1px dashed rgba(231,237,245,.20);
    border-radius:var(--radius);
    padding:18px;
    background:rgba(255,255,255,.02);
}
.characters-streams{
      display:grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap:14px;
  }
@media (max-width: 980px){
    .characters-streams{grid-template-columns: 1fr}
}
.stream{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:16px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
    box-shadow:var(--shadow);
}
.stream-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.stream-title{margin:0}

.author-head{
    display:flex;
    gap:16px;
    align-items:flex-start;
    padding:16px;
    border:1px solid var(--line);
    border-radius: calc(var(--radius) + 4px);
    background:linear-gradient(180deg, rgba(122,167,255,.08), rgba(255,255,255,.02));
    box-shadow:var(--shadow);
}



.author-mark {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 600;
    font-size: 0; /* hide full name */
}

.author-mark::first-letter {
    color: white;
    font-size: 1rem;
}




.author-meta{min-width:0}
.author-title{margin:0}
.author-bio{margin:8px 0 0; max-width:80ch}
.author-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}

@media (max-width: 640px){
    .author-head{flex-direction:column}
    .author-mark{width:44px;height:44px;border-radius:16px}
}
.subscribe-grid{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap:16px;
}
@media (max-width: 900px){
    .subscribe-grid{grid-template-columns:1fr}
}

.subscribe-panel{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
    box-shadow:var(--shadow);
}

.subscribe-panel.subtle{
    background:linear-gradient(180deg, rgba(124,247,197,.05), rgba(255,255,255,.02));
}

.subscribe-panel.subtle .btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.8);
}


.subscribe-list{
    margin:10px 0 0;
    padding-left:18px;
    color:var(--muted);
}

.fine{
    font-size:13px;
}


.site-logo img { height: 64px; width: auto; display: block; }


.voice-badge {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    font-weight: 600;
    margin-right: 8px;
    font-size: 0; /* hide full name */
}

.voice-badge::first-letter {
    font-size: 0.9rem;
}
/* =========================================
   POST PAGE — REMOVE HERO OFFSET
   Align with header/footer rhythm
   ========================================= */

.post-template .site-main {
    padding-top: var(--header-height)
}

.post-template .post,
.post-template article,
.post-template .content {
    margin-top: 0;
    padding-top: 0;
}

/* If your title block has extra spacing */
.post-template .post-header,
.post-template header {
    margin-top: 0;
    padding-top: 0;
}

/* Ensure consistent wrap alignment */
.post-template .post,
.post-template article {
    max-width: var(--wrap);
    margin-left: auto;
    margin-right: auto;
    padding-left: 18px;
    padding-right: 18px;
}

.post-links {
    margin: 6px 0 10px;
    font-size: 0.9rem;
    color: var(--muted);

    position: relative;
    z-index: 1;
    margin-top: 12px;

}

.post-links a {
    color: var(--accent2);
    font-weight: 600;

    position: relative;
    z-index: 2;
    pointer-events: auto;

}

.post-links .dot {
    margin: 0 6px;
    opacity: 0.6;
}

/* Weeks page layout */

.week-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    align-items: start;
}

.weeks-nav {
    border-right: 1px solid var(--line);
    padding-right: 12px;
}

.weeks-nav-title {
    margin: 0 0 10px;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
}

.weeks-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.weeks-nav-item {
    margin: 4px 0;
}

.weeks-nav-item a {
    font-weight: 600;
    opacity: 0.75;
}

@media (max-width: 900px) {
    .week-layout {
        grid-template-columns: 1fr;
    }

    .weeks-nav {
        border-right: none;
        border-bottom: 1px solid var(--line);
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
}

/* === WEEK SIDEBAR LAYOUT === */

section.week-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    align-items: start;
}

section.week-layout > aside.weeks-nav {
    border-right: 1px solid var(--line);
    padding-right: 12px;
}

section.week-layout > section.weeks-content {
    min-width: 0;
}

/* Mobile fallback */
@media (max-width: 900px) {
    section.week-layout {
        grid-template-columns: 1fr;
    }

    section.week-layout > aside.weeks-nav {
        border-right: none;
        border-bottom: 1px solid var(--line);
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
}
/* === FORCE WEEK SIDEBAR GRID (override section styles) === */

body .site-main section.week-layout {
    display: grid !important;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    align-items: start;
}

body .site-main section.week-layout > aside.weeks-nav {
    display: block;
    border-right: 1px solid var(--line);
    padding-right: 12px;
}

body .site-main section.week-layout > section.weeks-content {
    display: block;
    min-width: 0;
}

/* Mobile */
@media (max-width: 900px) {
    body .site-main section.week-layout {
        grid-template-columns: 1fr;
    }

    body .site-main section.week-layout > aside.weeks-nav {
        border-right: none;
        border-bottom: 1px solid var(--line);
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
}

.week-layout{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:24px;
    align-items:start;
}
.weeks-nav{
    border-right:1px solid var(--line);
    padding-right:12px;
}
.weeks-nav-title{
    margin:0 0 10px;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
}
.weeks-nav-list{list-style:none;padding:0;margin:0;}
.weeks-nav-item{margin:4px 0;}
.weeks-nav-item a{font-weight:600;opacity:.75;}
@media (max-width:900px){
    .week-layout{grid-template-columns:1fr;}
    .weeks-nav{
        border-right:none;
        border-bottom:1px solid var(--line);
        padding-bottom:12px;
        margin-bottom:12px;
    }
}

.week-grid{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:24px;
}

.week-sidebar{
    border-right:1px solid var(--color-border);
    padding-right:16px;
}

@media (max-width:900px){
    .week-grid{grid-template-columns:1fr;}
    .week-sidebar{
        border-right:none;
        border-bottom:1px solid var(--color-border);
        margin-bottom:16px;
        padding-bottom:16px;
    }
}


html.is-daf .daf-toggle__label { opacity: 1; }
html:not(.is-daf) .daf-toggle__label { opacity: .7; }


/* Option B: show veil cards by default */
.is-daf-post { display: none; }
.is-veil-post { display: block; }

/* When toggle is ON */
html.is-daf .is-daf-post { display: block; }
html.is-daf .is-veil-post { display: none; }


/* Fix list items in DAF mode */
html.is-daf li.is-veil-post { display: none; }
html.is-daf li.is-daf-post { display: list-item; }


/* =========================================
   WEEKS PAGE — VEIL / DAF TOGGLE (CORRECT)
   ========================================= */

/* Base list styling (bullets) */
.week-block ul {
    list-style: disc;
    padding-left: 1.2em;



}

/* DEFAULT STATE (DAF OFF) */
.week-block li.is-veil-post {
    display: list-item;
}

.week-block li.is-daf-post {
    display: none;
}

/* DAF ON */
html.is-daf .week-block li.is-veil-post {
    display: none;
}

html.is-daf .week-block li.is-daf-post {
    display: list-item;
}

/* =========================
   DAF TOGGLE — DISPATCHES
   ========================= */

/* Default: DAF OFF */
.is-daf-post {
    display: none;
}

/* DAF ON */
html.is-daf .is-daf-post,
body.is-daf .is-daf-post,
.is-daf .is-daf-post {
    display: block;
}

/* Optional strict mode */
html.is-daf .is-veil-post,
body.is-daf .is-veil-post,
.is-daf .is-veil-post {
    display: none;
}


.footer-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.footer-logo img {
    height: 20px;           /* key: small */
    width: auto;
    opacity: 0.6;           /* subdued, not dominant */
}

@media (max-width: 640px) {
    .footer-meta {
        flex-direction: column;
        gap: 0.75rem;
    }

    .footer-logo img {
        height: 18px;
    }
}

.approved-card {
    background: linear-gradient(
            180deg,
            rgba(255,255,255,0.04),
            rgba(255,255,255,0.01)
    );
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 1.5rem;
}

.approved-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5rem;
    align-items: center;
}

.approved-logo {
    height: 64px; /* key control */
    display: flex;
    align-items: center;
    justify-content: center;
}

.approved-logo img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    opacity: 0.9;
}

.archive-backlink {
    margin: 1.25rem 0 0.75rem;
    font-size: 0.85rem;
    letter-spacing: 0.12em;
}

.archive-backlink a {
    color: rgba(255,255,255,0.65);
    text-decoration: none;
}

.archive-backlink a:hover {
    color: rgba(255,255,255,0.9);
    text-decoration: underline;
}


.week-block {
    padding: 1.75rem 0 2.25rem;
    margin-bottom: 1.75rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    opacity: 0.8;
}

.week-block:last-child {
    border-bottom: none;
}


.week-block.is-empty {

}

.week-header h2 {
    margin-bottom: 0.4rem;
}

.week-empty {
    color: rgba(255,255,255,0.6);
    font-size: 0.8rem;
}






.about-content {
    padding-bottom: 2.5rem;
}

.about-divider {
    border: none;
    border-top: 1px solid rgba(255,255,255,0.35);
    margin: 3rem 0;
}


/* About link (pre-footer) */


.footer-about {
    display: block;
    margin-top: 0.5rem;
    text-align: center;
    font-size: 0.8rem;
    opacity: 0.55;
}

.footer-about a {
    text-decoration: none;
}

.footer-about a:hover {
    opacity: 0.85
}


/* Normalize legal pages to About page layout */

.page-privacy .article,
.page-terms .article,
.page-legal .article {
    max-width: none;
}

.page-privacy .article-header,
.page-terms .article-header,
.page-legal .article-header {
    padding-left: 0;
    padding-right: 0;
}



/* Fix post pages with fixed header */
.post-template .gh-canvas {
    margin-top: 0;
}

.post-template .article-header {
    padding-top: 1rem;
}



.podcast-cover {
    max-width: 420px;
    margin: 2rem 0 !important;   /* kills auto-centering */
    text-align: left !important; /* kills centered figures */
}

.podcast-cover img {
    display: block;
    width: 100%;
    height: auto;
}
.section-meta {
    margin-top: 0.25rem;
    margin-bottom: 0.5rem;
}

.start-link {
    font-size: 0.85rem;
    text-decoration: none;
}

.start-link:hover {
    text-decoration: underline;
}

.week-sort {
    font-size: 0.85rem;
}

.week-sort .sort-label {
    margin-right: 0.25rem;
}

.week-sort .sort-link {

    text-decoration: none;
}

.week-sort .sort-link:hover {
    text-decoration: underline;
}

.week-sort .is-active {
    color: var(#fdd835);

    text-decoration: none;
}

.week-sort .sort-sep {
    margin: 0 0.35rem;
}


.archive-tile.is-secondary {
    opacity: 0.85;
}

.archive-tile.is-secondary h3 {
    font-size: 0.95em;
}

.archive-tile.is-secondary p {

}



.nav-link.is-active {
    color: var(--voice-sync);
    cursor: default;
}

.nav-link.is-active::after {
    content: '';
    display: block;
    width: 14px;
    height: 2px;
    margin-top: 4px;
    background: currentColor;
    opacity: 0.5;
    border-radius: 2px;
}




/* Base card */
.reaction-card {
    border: 1px solid #ffffff;
    border-radius: 6px;
    padding: 1.25rem;
}

.reaction-card[data-voice="woe"] {
    border-color: #C62828;
}

.reaction-card[data-voice="hope"] {
    border-color: #43A047;
}


.archive-access-notice {
    border: 1px solid rgba(255,255,255,0.25);
    padding: 1.5rem;
    margin: 2rem 0;
    font-size: 0.95rem;
}

.recovered-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    align-items: start;
}

.recovered-rail {
    position: sticky;
    top: 6rem;
    border-left: 1px solid rgba(255,255,255,0.15);
    padding-left: 1.5rem;
}

.system-log {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.system-log-item {
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    color: inherit;
    opacity: 0.85;
}

.system-log-item:hover {
    opacity: 1;
}

.system-log-id {
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 10px;
    letter-spacing: 0.04em;
    opacity: 0.75;
    white-space: nowrap;
}


/* Base system log (unchanged) */
.system-log {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.system-log-item {
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    color: inherit;
    opacity: 0.85;
}

.system-log-item:hover {
    opacity: 1;
}

.system-log-id {
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 10px;
    letter-spacing: 0.04em;
    opacity: 0.75;
    white-space: nowrap;
}

/* ✅ Sponsor accommodation — simple and local */
.system-log-item[href*="sponsor-value"] {
    color: #D67350;   /* lighter rust for small text */
    opacity: 1;       /* compensate for small size */
}

/* Sponsor entries: adjust main label color for small text */
.system-log-item[href*="sponsor-value"] .system-log-title {
    color: #D67350;   /* lighter rust for legibility */
}



.member-account-link {
    margin-top: 2.5rem;
    font-size: 0.9rem;
    color: #9aa0a6;
}

.member-account-link a {
    margin-left: 0.25rem;
    color: #7ad3b0; /* or your archive accent */
    text-decoration: none;
}

.member-account-link a:hover {
    text-decoration: underline;
}



/* Any routed Subscribe page */
body[class*="subscribe"] #nav-access {
    color: var(--voice-sync);
    cursor: default;
}

body[class*="subscribe"] #nav-access::after {
    content: '';
    display: block;
    width: 14px;
    height: 2px;
    margin-top: 4px;
    background: currentColor;
    opacity: 0.5;
    border-radius: 2px;
}

.bulletin-badge {
    display: inline-block;
    margin-bottom: 0.6rem;

    padding: 0.25rem 0.6rem;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: #555;
    background-color: #f6f6f6;

    border: 1px solid #ccc;
    border-radius: 2px;

    line-height: 1;
}



.leak-badge {
    display: inline-block;
    margin-bottom: 0.6rem;

    padding: 0.3rem 0.55rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: #5c4300;              /* dark warning text */
    background-color: #fff3c4;   /* warning yellow */

    border: 2px solid #d4a106;   /* solid caution border */
    border-radius: 2px;

    line-height: 1;
}
.leak-badge--small {
    font-size: 0.6rem;
    padding: 0.15rem 0.45rem;
    margin-bottom: 0.4rem;

    letter-spacing: 0.12em;
    border-width: 1.5px;
}

.archive-card .leak-badge {
    display: inline-block;
    margin-bottom: 0.4rem;
}

.sponsor-logo {
    max-width: 120px;
    max-height: 48px;
    object-fit: contain;
    /*opacity: 0.9;*/
    /*filter: grayscale(100%);*/
}


.hidden-badge {
    display: inline-block;
    padding: 0.2em 0.5em;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    color: #aaa;
    border: 1px solid #444;
    text-transform: uppercase;
}

.hidden-badge--small {
    font-size: 0.6rem;
    padding: 0.12em 0.4em;
}


.archive-excerpt--restricted {
    font-style: italic;
    color: var(--muted);
    opacity: 0.85;
}

.archive-excerpt:empty::before {
    content: "Detail varies by access level.";
    font-style: italic;
    color: var(--muted);
    opacity: 0.85;
}


.archive-excerpt--daf {
    display: none;
}

/* When DAF mode is ON */
html.is-daf .archive-excerpt--veil {
    display: none;
}

html.is-daf .archive-excerpt--daf {
    display: block;
    font-style: italic;
    color: var(--muted);
    opacity: 0.9;
}


.sponsors-disclaimer {
    font-size: 0.85rem;
    line-height: 1.4;
    color: #6e6e6e;
    max-width: 42rem;
    margin: 2rem 0;
}

.nav-logout {
    opacity: 0.7;
    font-size: 0.9em;
}

.nav-logout:hover {
    opacity: 1;
}


button.btn.btn-free {
    background: rgba(120, 200, 160, 0.22) !important;
    border: 1px solid rgba(120, 200, 160, 0.55) !important;
    color: #c9f7df !important;
    font-weight: 500;
    letter-spacing: 0.2px;
}

button.btn.btn-free:hover {
    background: rgba(120, 200, 160, 0.32) !important;
    border-color: rgba(120, 200, 160, 0.75) !important;
}


.btn-daf {
    background: linear-gradient(135deg, #d4af37, #f4d76b);
    border: none;
    color: #111;
    font-weight: 600;
}
.btn-daf:hover {
    filter: brightness(1.05);
}

.btn-daf {
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.25);
}

/* Archive Definition Card */
.archive-definition-card {
    background: linear-gradient(180deg, rgba(18, 24, 28, 0.9) 0%, rgba(10, 14, 17, 0.95) 100%);
    border: 1px solid rgba(120, 180, 160, 0.15);
    border-radius: 14px;
    padding: 28px 30px;
    color: #d6e2df;
    position: relative;
    overflow: hidden;
}

/* Subtle inner glow (very light, not like DAF highlight) */
.archive-definition-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    background: radial-gradient(600px circle at top left, rgba(80, 140, 120, 0.08), transparent 60%);
    pointer-events: none;
}

/* Title */
.archive-definition-title {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #b8d7cf;
    margin-bottom: 12px;
}

/* Body text */
.archive-definition-body {
    font-size: 14px;
    line-height: 1.65;
    color: #a9c0bb;
    max-width: 520px;
}

/* Optional divider line */
.archive-definition-divider {
    width: 36px;
    height: 1px;
    background: rgba(120, 180, 160, 0.25);
    margin: 14px 0 16px 0;
}

/* Slight emphasis lines (for key concept sentences) */
.archive-definition-emphasis {
    color: #d6e2df;
    font-weight: 500;
}

/* Hover interaction (very subtle) */
.archive-definition-card:hover {
    border-color: rgba(120, 180, 160, 0.25);
    transform: translateY(-1px);
    transition: all 160ms ease;
}

.archive-definition-card {
    backdrop-filter: blur(6px);
}





.is-daf .btn-daf {
    background: transparent;
    border: 1px solid #f5c843;
    color: #fff;
    box-shadow: 0 0 8px rgba(245, 200, 67, 0.2);
}

.is-daf .btn-daf:hover {
    background: rgba(245, 200, 67, 0.12);
    border-color: #f5c843;
    transform: translateY(-1px);
}

.btn-daf:hover {
    color: #fff;
    border: 1px solid #f5c843;
}

.externalchannels-list { margin: 0; padding-left: 18px; }
.externalchannels-item { margin: 10px 0; }
.externalchannels-link { color: var(--accent); text-decoration: none; }
.externalchannels-link:hover { text-decoration: underline; }


.archive-backlink .char-link {
    color: var(--accent) !important;
}



.daf-watermark {
    margin-top: 2rem;
    font-size: 0.8rem;
    opacity: 0.5;
}

.daf-user-marker {
    margin-top: 0.5rem;
    font-size: 0.7rem;
    opacity: 0.4;
}


/* ========================= */
/* DEFAULT (DESKTOP) */
/* ========================= */

.menu-toggle {
    display: none;
}

.nav-links {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: nowrap;
}

/* ========================= */
/* MOBILE ONLY */
/* ========================= */

@media (max-width: 768px) {

    .menu-toggle {
        display: block;
        font-size: 1.5rem;
        background: none;
        border: none;
        cursor: pointer;
    }

    .nav-links {
        display: none;
        flex-direction: column;
        gap: 0.75rem;
        padding-top: 1rem;
    }

    .nav-links.active {
        display: flex;
    }
}
.gh-announcement-bar {
    position: relative;
    top: 100px;
    z-index: 10000;
}

.podcast-cover-group {
    width: fit-content;
}

.podcast-cover {
    margin: 0;
}

.podcast-companion-covers {
    width: min(100%, 760px);
}

.podcast-cover img {
    width: 100%;
    height: auto;
    display: block;
}

.podcast-companion-covers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
}

.podcast-mini-cover {
    display: block;
    line-height: 0;
}

.podcast-mini-cover img {
    width: 80px;
    height: auto;
    display: block;
    border-radius: 6px;
}






