/* ============================================================================
   Veilurgy — BlanketCat blog theme
   This is site/veilurgy.css verbatim (the canonical design system), followed by
   a short blog-only appendix (pagination, footer ledger, opt-in dock, comments).
   Fonts are loaded from base.html, so the @import is omitted here.
   ========================================================================== */

:root{
  --ink:#0a0c11; --ink-2:#0e1118; --ink-3:#141822; --ink-4:#1a1f2b;
  --candle:#ece2cd; --candle-dim:#ab9f87; --candle-far:#6f6957;
  --gold:#c69a5a; --gold-deep:#8b6a37; --oxblood:#7d4438;
  --moon:#9eb0c6; --violet:#5b4a7a; --violet-far:#2a2340;
  --line:rgba(139,106,55,.32);
  --measure:34rem;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; min-height:100vh;
  background:
    radial-gradient(120% 80% at 12% -8%, rgba(91,74,122,.16), transparent 44%),
    radial-gradient(120% 90% at 90% 4%,  rgba(125,68,56,.10), transparent 46%),
    radial-gradient(140% 130% at 50% 120%, rgba(198,154,90,.06), transparent 55%),
    linear-gradient(176deg, var(--ink-2), var(--ink) 60%, #07080b);
  background-attachment:fixed;
  color:var(--candle);
  font-family:"EB Garamond", Georgia, serif;
  font-size:clamp(1.06rem, .95rem + .5vw, 1.26rem);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{ background:rgba(198,154,90,.26); color:#fff7e9; }

/* faint film grain over everything */
body::after{
  content:""; position:fixed; inset:0; z-index:80; pointer-events:none; opacity:.04;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}

a{ color:var(--gold); text-decoration:none; }
a:hover{ color:#e7c489; }

/* ── layout ─────────────────────────────────────────────── */
.wrap{ width:100%; max-width:64rem; margin:0 auto; padding:0 clamp(1.2rem,5vw,2.4rem); }
.narrow{ max-width:calc(var(--measure) + 4.8rem); }

/* ── site header ────────────────────────────────────────── */
.site-head{
  position:sticky; top:0; z-index:40;
  background:linear-gradient(180deg, rgba(10,12,17,.95), rgba(10,12,17,.72));
  backdrop-filter:blur(5px);
  border-bottom:1px solid var(--line);
}
.site-head .wrap{ display:flex; align-items:center; gap:1.6rem; padding-top:.85rem; padding-bottom:.85rem; }
.brand{ display:flex; align-items:center; gap:.6rem; color:var(--candle); }
.brand svg{ width:1.55rem; height:1.55rem; color:var(--gold); }
.brand-mark{ width:1.72rem; height:1.72rem; display:block; }
.brand b{ font-family:"IM Fell English", serif; font-weight:400; font-size:1.28rem; letter-spacing:.05em; }
.brand b .v{ color:var(--gold); }
.site-nav{ margin-left:auto; display:flex; flex-wrap:wrap; gap:.4rem 1.3rem; }
.site-nav a{
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.16em;
  font-size:.82rem; color:var(--candle);
  padding:.45rem 0; border-bottom:1px solid transparent;
}
.site-nav a:hover{ color:var(--gold); }
.site-nav a.here{ color:var(--gold); border-bottom-color:var(--gold-deep); }

/* ── footer ─────────────────────────────────────────────── */
.site-foot{ margin-top:6rem; border-top:1px solid var(--line); }
.site-foot .wrap{ padding-top:3rem; padding-bottom:3.4rem; text-align:center; }
.site-foot svg{ width:1.9rem; height:1.9rem; color:var(--gold-deep); }
.site-foot .foot-mark{ width:2.15rem; height:2.15rem; display:inline-block; opacity:.85; }
.site-foot .name{ font-family:"IM Fell English", serif; font-style:italic; color:var(--candle-dim); margin:.7rem 0 .2rem; }
.site-foot .meta{
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.26em;
  font-size:.6rem; color:var(--candle-far);
}
.site-foot .meta a{ color:var(--candle-far); }
.site-foot .meta a:hover{ color:var(--gold); }

/* ── shared type pieces ─────────────────────────────────── */
.kicker{
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.3em;
  font-size:.68rem; color:var(--candle-dim);
}
.kicker a{ color:inherit; }
.kicker a:hover{ color:var(--gold); }
.rule{ width:1px; height:3.2rem; margin:2rem auto; background:linear-gradient(var(--gold-deep), transparent); }
.ornament{ display:block; margin:3.2rem auto; width:180px; height:22px; color:var(--gold-deep); opacity:.9; }

h1,h2,h3{ font-family:"IM Fell English", serif; font-weight:400; }
em,i{ color:#f1e7d3; }
blockquote{ margin:2rem 0; }

/* ── home: hero ─────────────────────────────────────────── */
main{ position:relative; z-index:1; }
.hero{ text-align:center; padding:11vh 0 2vh; }
.hero .mark{ width:4.6rem; height:4.6rem; color:var(--gold); margin:0 auto 1.6rem; filter:drop-shadow(0 0 22px rgba(198,154,90,.28)); }
.hero img.mark{ display:block; }
.hero h1{
  font-size:clamp(3rem,9vw,5.6rem); line-height:.95; letter-spacing:.05em; margin:0;
  text-shadow:0 0 40px rgba(198,154,90,.14);
}
.hero h1 .v{ color:var(--gold); }
.epigraph{
  font-family:"IM Fell English", serif; font-style:italic;
  font-size:clamp(1.25rem,3.2vw,1.7rem); line-height:1.5; color:var(--candle);
  max-width:30rem; margin:2rem auto 0;
}
.hero .sub{
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.34em;
  font-size:.66rem; color:var(--candle-far); margin-top:1.8rem;
}

/* ── home: the opening words ────────────────────────────── */
.opening{ max-width:var(--measure); margin:0 auto; padding:2vh 0; }
.opening p{ margin:0 0 1.5rem; }
.opening .drop::first-letter{
  font-family:"IM Fell English", serif; float:left; font-size:4.8rem; line-height:.66;
  padding:.4rem .12em 0 0; color:var(--gold);
  text-shadow:0 0 1px rgba(198,154,90,.6), 0 2px 14px rgba(198,154,90,.22);
}
.sign{ font-family:"IM Fell English", serif; font-style:italic; color:var(--candle); font-size:1.3rem; margin-top:2.2rem; }
.sign small{ display:block; font-style:normal; font-family:"IM Fell English SC",serif; letter-spacing:.26em;
  text-transform:uppercase; font-size:.6rem; color:var(--candle-far); margin-top:.6rem; }

/* ── begin here path ────────────────────────────────────── */
.begin{ max-width:calc(var(--measure) + 4rem); margin:0 auto; }
.begin h2{ text-align:center; font-style:italic; font-size:1.9rem; margin:0 0 .4rem; }
.begin .lead{ text-align:center; color:var(--candle-dim); max-width:30rem; margin:0 auto 2.6rem; font-style:italic; }
.steps{ list-style:none; counter-reset:step; margin:0; padding:0; }
.steps li{ counter-increment:step; position:relative; border-top:1px solid var(--line); }
.steps li:last-child{ border-bottom:1px solid var(--line); }
.steps a{ display:flex; align-items:baseline; gap:1.2rem; padding:1.15rem .4rem; color:var(--candle); }
.steps a:hover{ color:var(--gold); }
.steps a::before{
  content:counter(step, upper-roman); flex:none; width:2.4rem; text-align:right;
  font-family:"IM Fell English SC", serif; letter-spacing:.05em; font-size:.8rem; color:var(--gold-deep);
}
.steps .t{ font-family:"IM Fell English", serif; font-size:1.3rem; }
.steps .d{ margin-left:auto; color:var(--candle-far); font-size:.92rem; font-style:italic; text-align:right; }

/* ── index lists (grimoire / journal) ───────────────────── */
.page-head{ text-align:center; padding:8vh 0 1vh; }
.page-head h1{ font-size:clamp(2.4rem,6vw,3.6rem); font-style:italic; margin:.6rem 0 0; }
.page-head p{ color:var(--candle-dim); max-width:32rem; margin:1rem auto 0; font-style:italic; }
.entries{ list-style:none; margin:3rem auto 0; padding:0; max-width:46rem; }
.entries li{
  position:relative; margin:0 0 1.35rem; border-radius:4px; overflow:hidden;
  background:
    radial-gradient(130% 200% at 0% 0%, rgba(198,154,90,.05), transparent 46%),
    linear-gradient(180deg, rgba(19,23,33,.6), rgba(11,14,20,.5));
  border:1px solid rgba(139,106,55,.22);
  transition:border-color .25s, box-shadow .25s, transform .25s;
}
.entries li::before{
  content:""; position:absolute; top:-1px; left:12%; right:60%; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:0; transition:opacity .3s, right .5s ease;
}
.entries li:hover{
  border-color:var(--gold-deep); transform:translateY(-2px);
  box-shadow:0 16px 44px rgba(0,0,0,.45), 0 0 26px rgba(198,154,90,.05);
}
.entries li:hover::before{ opacity:.7; right:12%; }
.entries a{ display:flex; align-items:center; gap:1.5rem; padding:1.35rem 1.5rem; color:var(--candle); }
.entry-thumb{
  flex:none; width:9.5rem; height:6.4rem; border-radius:3px; overflow:hidden;
  border:1px solid rgba(139,106,55,.32);
  box-shadow:0 8px 22px rgba(0,0,0,.4);
}
.entry-thumb img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s ease; }
.entries a:hover .entry-thumb img{ transform:scale(1.06); }
.entry-text{ min-width:0; flex:1; }
.entries .when{
  display:block; font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.22em; font-size:.6rem; color:var(--gold-deep); margin-bottom:.35rem;
}
.entries .ttl{
  display:block; font-family:"IM Fell English", serif; font-size:1.5rem; line-height:1.25;
  letter-spacing:.03em; color:var(--candle); transition:color .2s;
}
.entries a:hover .ttl{ color:var(--gold); }
.entries .ex{
  display:block; color:var(--candle-dim); font-size:.95rem; line-height:1.6; margin-top:.4rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.entry-arrow{
  flex:none; align-self:center; font-family:"IM Fell English", serif; font-size:1.7rem;
  color:var(--gold-deep); opacity:.55; transition:transform .25s, opacity .25s, color .25s;
}
.entries a:hover .entry-arrow{ transform:translateX(.3rem); opacity:1; color:var(--gold); }
.empty-note{ text-align:center; color:var(--candle-far); font-style:italic; margin:3rem auto; max-width:28rem; }
.back-line{ text-align:center; font-style:italic; margin:2.6rem 0 0; }

/* ── reading (single post) ──────────────────────────────── */
.reading{ max-width:var(--measure); margin:0 auto; padding:7vh 0 0; }
.reading .kicker{ display:block; text-align:center; }
.reading h1{ font-size:clamp(2rem,5vw,3rem); line-height:1.18; text-align:center; margin:1.1rem 0 1rem; }
.reading .byline{ text-align:center; font-style:italic; color:var(--candle-far); font-size:.95rem; margin-bottom:3rem; }
.reading p{ margin:0 0 1.55rem; }
.reading .drop::first-letter,
.reading .body > p:first-child::first-letter{
  font-family:"IM Fell English", serif; float:left; font-size:4.8rem; line-height:.66;
  padding:.4rem .12em 0 0; color:var(--gold);
  text-shadow:0 0 1px rgba(198,154,90,.6), 0 2px 14px rgba(198,154,90,.22);
}
.reading blockquote.parable,
.reading .body blockquote{
  border-left:1px solid var(--gold-deep); padding:.2rem 0 .2rem 1.5rem; margin:2.4rem 0;
  font-family:"IM Fell English", serif; font-style:italic; color:var(--candle-dim);
  font-size:1.12rem; line-height:1.6;
}
.reading .pull{
  text-align:center; max-width:28rem; margin:3.4rem auto;
  font-family:"IM Fell English", serif; font-style:italic; font-size:clamp(1.5rem,3.6vw,2rem);
  line-height:1.3; color:#f3e9d4;
}
.reading .end{ text-align:center; color:var(--gold-deep); margin:3rem 0 1rem; font-size:1.2rem; }
.post-nav{ display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; font-style:italic; color:var(--candle-dim); }

/* ── contact ledger (reused by the footer subscribe) ────── */
.ledger-line{ display:flex; align-items:baseline; gap:.6rem; max-width:24rem; margin-top:1rem; }
.ledger-line input{ flex:1; background:none; border:0; border-bottom:1px solid var(--gold-deep);
  color:var(--candle); font-family:"EB Garamond",serif; font-size:1.05rem; padding:.4rem 0; }
.ledger-line input::placeholder{ color:var(--candle-far); font-style:italic; }
.ledger-line input:focus{ outline:none; border-bottom-color:var(--gold); }
.ledger-line button{ background:none; border:0; color:var(--gold); font-family:"IM Fell English",serif;
  font-size:1.5rem; cursor:pointer; line-height:1; }

@media (max-width:620px){
  .site-head .wrap{ flex-direction:column; align-items:flex-start; gap:.7rem; }
  .site-nav{ margin-left:0; }
  .steps a{ flex-wrap:wrap; gap:.5rem 1.2rem; }
  .steps .d{ margin-left:3.6rem; text-align:left; }
}
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

/* ============================================================================
   Blog-only appendix (everything below is additive to the site system)
   ========================================================================== */

/* ── meta bar (read time + share, above the article) ────── */
.meta-bar{
  display:flex; align-items:center; gap:1rem;
  max-width:30rem; margin:0 auto 2.8rem;
  border-top:1px solid rgba(139,106,55,.24);
  border-bottom:1px solid rgba(139,106,55,.24);
  padding:.55rem .2rem;
}
.meta-read{
  display:flex; align-items:center; gap:.45rem; white-space:nowrap;
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.22em;
  font-size:.6rem; color:var(--gold-deep);
}
.meta-read svg{ width:.95rem; height:.95rem; color:var(--gold-deep); opacity:.9; }
.meta-line{ flex:1; height:1px;
  background:linear-gradient(90deg, rgba(139,106,55,.35), rgba(139,106,55,.06)); }
.share{ display:flex; gap:.2rem; }

/* ── author plate (below the article) ───────────────────── */
.author-plate{
  display:flex; align-items:center; gap:1.4rem;
  margin:3rem 0 0;
  background:
    radial-gradient(120% 180% at 0% 0%, rgba(198,154,90,.06), transparent 50%),
    linear-gradient(180deg, rgba(20,24,34,.6), rgba(12,15,21,.5));
  border:1px solid rgba(139,106,55,.26); border-radius:4px;
  padding:1.4rem 1.6rem; position:relative; overflow:hidden;
}
.author-plate::before{
  content:""; position:absolute; top:-1px; left:12%; right:40%; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent); opacity:.45;
}
.author-face{
  flex:none; width:4.75rem; height:4.75rem; border-radius:50%; object-fit:cover; display:block;
  border:1px solid rgba(139,106,55,.55);
  box-shadow:0 0 0 3px rgba(10,12,17,.9), 0 0 0 4px rgba(139,106,55,.3), 0 8px 22px rgba(0,0,0,.5);
}
.author-words{ min-width:0; }
.author-label{
  display:block; font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.26em; font-size:.56rem; color:var(--gold-deep); margin-bottom:.15rem;
}
.author-name{
  display:block; font-family:"IM Fell English", serif; font-size:1.35rem;
  letter-spacing:.04em; color:var(--candle); line-height:1.25;
}
.author-bio{ margin:.35rem 0 0; color:var(--candle-dim); font-style:italic;
  font-size:.92rem; line-height:1.55; }
.author-more{
  display:inline-block; margin-top:.45rem;
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.2em;
  font-size:.58rem; color:var(--gold-deep);
}
.author-more:hover{ color:var(--gold); }
.share a, .share button{
  display:flex; align-items:center; justify-content:center;
  width:1.9rem; height:1.9rem; border-radius:50%;
  color:var(--candle-far); background:none; border:1px solid transparent; cursor:pointer;
  transition:color .2s, border-color .2s, transform .2s;
}
.share a:hover, .share button:hover{ color:var(--gold); border-color:rgba(139,106,55,.4); transform:translateY(-1px); }
.share svg{ width:1rem; height:1rem; display:block; }
.share button.copied{ color:#9fd39f; border-color:rgba(120,180,120,.4); }

/* ── featured image ─────────────────────────────────────── */
.featured-wrap{ margin:0 0 2.4rem; }
.reading .featured{
  width:100%; height:auto; display:block; border-radius:3px;
  border:1px solid rgba(139,106,55,.28);
  box-shadow:0 18px 50px rgba(0,0,0,.45), 0 0 30px rgba(198,154,90,.05);
}
.reading .body img{ max-width:100%; height:auto; border-radius:2px; }
.reading .body a{ text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--gold-deep); }

/* ── continue (next entry) card ─────────────────────────── */
.continue{ max-width:calc(var(--measure) + 4.8rem); margin:3.2rem auto 0; padding:0 clamp(1.2rem,5vw,2.4rem); }
.reading .continue{ max-width:none; margin:3rem 0 0; padding:0; }
.reading .travelers-head{ text-align:center; border-top:1px solid var(--line); margin-top:3.4rem; padding-top:2.4rem; }
.reading #blanketcat-comments{ margin-top:.5rem; }
.continue a{
  position:relative; display:flex; align-items:center; gap:1.3rem;
  background:
    radial-gradient(140% 200% at 0% 0%, rgba(198,154,90,.07), transparent 45%),
    linear-gradient(180deg, #141926 0%, #0d1017 100%);
  border:1px solid rgba(139,106,55,.3); border-radius:4px;
  padding:1.25rem 1.5rem; color:var(--candle); overflow:hidden;
  transition:border-color .25s, box-shadow .25s;
}
.continue a::before{
  content:""; position:absolute; top:-1px; left:10%; right:55%; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:.5; transition:right .5s ease, opacity .3s;
}
.continue a:hover{ border-color:var(--gold-deep); box-shadow:0 14px 40px rgba(0,0,0,.4), 0 0 24px rgba(198,154,90,.06); }
.continue a:hover::before{ right:10%; opacity:.9; }
.continue-thumb{
  flex:none; width:5.2rem; height:5.2rem; border-radius:3px; overflow:hidden;
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 62%, #1c2230, var(--ink-2) 75%);
}
.continue-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.continue-thumb img.continue-mark{ width:2.4rem; height:2.4rem; object-fit:contain; }
.continue-body{ min-width:0; }
.continue-label{
  display:block; font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.26em; font-size:.58rem; color:var(--gold-deep); margin-bottom:.25rem;
}
.continue-title{
  display:block; font-family:"IM Fell English", serif; font-size:1.4rem; letter-spacing:.03em;
  line-height:1.3; transition:color .2s;
}
.continue a:hover .continue-title{ color:var(--gold); }
.continue-ex{
  display:block; color:var(--candle-dim); font-size:.9rem; line-height:1.55; margin-top:.3rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.continue-arrow{
  flex:none; margin-left:auto; font-family:"IM Fell English", serif; font-size:2rem;
  color:var(--gold-deep); transition:transform .25s, color .25s;
}
.continue a:hover .continue-arrow{ transform:translateX(.35rem); color:var(--gold); }

/* ── travelers (comments) ───────────────────────────────── */
.travelers{ max-width:calc(var(--measure) + 4.8rem); margin:4rem auto 0; padding:0 clamp(1.2rem,5vw,2.4rem); }
.travelers-head{ text-align:center; border-top:1px solid var(--line); padding-top:2.4rem; }
.travelers-head p{ color:var(--candle-far); font-style:italic; font-size:.95rem; margin:.5rem auto 1.6rem; max-width:26rem; }
/* The widget injects its own stylesheet but drives everything off --bcc-*
   custom properties, so we theme it at the container and pin down the few
   hardcoded light-mode leftovers with !important. */
#blanketcat-comments[hidden]{ display:none !important; }
/* the serve-time injector drops the widget just after </article>; hide it on
   plain pages whether it lands inside or as a sibling */
.reading-plain #blanketcat-comments,
.reading-plain + #blanketcat-comments,
.reading-plain ~ #blanketcat-comments,
.reading-plain ~ .content-wrap{ display:none !important; }
/* The widget injects its own <style> at runtime that re-declares the --bcc-*
   variables on this same element, after this sheet loads. !important on the
   custom properties is what makes ours win. */
#blanketcat-comments{
  /* the panel: a framed card so the discussion reads as one quiet room */
  max-width:calc(var(--measure) + 4.8rem);
  margin:.5rem auto 0 !important;
  padding:1.8rem clamp(1.2rem,4vw,2.2rem) 2rem !important;
  position:relative;
  background:
    radial-gradient(120% 160% at 50% 0%, rgba(198,154,90,.05), transparent 50%),
    linear-gradient(180deg, rgba(18,22,31,.75), rgba(11,13,19,.7)) !important;
  border:1px solid rgba(139,106,55,.28) !important;
  border-radius:5px;
  box-shadow:0 18px 50px rgba(0,0,0,.4);

  --bcc-bg: transparent !important;
  --bcc-surface: rgba(23,28,39,.85) !important;
  --bcc-text: #ece2cd !important;
  --bcc-muted: #ab9f87 !important;
  --bcc-border: rgba(139,106,55,.32) !important;
  --bcc-accent: #c69a5a !important;
  --bcc-accent-hover: #e7c489 !important;
  --bcc-accent-light: rgba(198,154,90,.14) !important;
  --bcc-danger: #c98a7d !important;
  --bcc-font: "EB Garamond", Georgia, serif !important;
  --bcc-serif: "IM Fell English", serif !important;
  --bcc-radius: 4px !important;
  --bcc-radius-sm: 3px !important;
  --bcc-shadow: 0 8px 24px rgba(0,0,0,.35) !important;
  --bcc-shadow-md: 0 16px 44px rgba(0,0,0,.5) !important;
}
/* seam of light along the panel's top edge */
#blanketcat-comments::before{
  content:""; position:absolute; top:-1px; left:10%; right:10%; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-deep) 35%, var(--gold) 50%, var(--gold-deep) 65%, transparent);
  opacity:.5;
}
#blanketcat-comments .bcc-header h3{
  color:var(--candle) !important; font-weight:400 !important;
  font-family:"IM Fell English", serif !important; letter-spacing:.04em !important;
}
#blanketcat-comments .bcc-header{ border-bottom:1px solid rgba(139,106,55,.3) !important; }
#blanketcat-comments .bcc-cta p,
#blanketcat-comments .bcc-compose-hint{ color:var(--candle-dim) !important; }
#blanketcat-comments .bcc-cta,
#blanketcat-comments .bcc-compose,
#blanketcat-comments .bcc-auth-form{
  background:var(--bcc-surface) !important;
  border:1px solid var(--bcc-border) !important;
  color:var(--bcc-text) !important;
  box-shadow:0 10px 34px rgba(0,0,0,.35) !important;
}
#blanketcat-comments .bcc-header{
  font-family:"IM Fell English", serif !important; font-weight:400 !important;
  color:var(--candle) !important; letter-spacing:.04em;
}
#blanketcat-comments .bcc-header-count{ color:var(--gold-deep) !important; }
#blanketcat-comments .bcc-btn{
  background:linear-gradient(180deg, #d8ab68, var(--gold)) !important;
  color:#161006 !important; border:none !important;
  font-family:"IM Fell English SC", serif !important; text-transform:uppercase !important;
  letter-spacing:.16em !important; border-radius:3px !important;
}
#blanketcat-comments .bcc-btn:hover{ filter:brightness(1.08); }
#blanketcat-comments .bcc-btn-ghost{
  background:none !important; color:var(--candle-dim) !important;
  border:1px solid var(--bcc-border) !important;
}
#blanketcat-comments .bcc-btn-ghost:hover{ color:var(--gold) !important; border-color:var(--gold-deep) !important; }
#blanketcat-comments .bcc-comment{
  background:rgba(16,20,29,.5) !important;
  border:1px solid rgba(139,106,55,.2) !important;
  border-radius:4px !important;
}
#blanketcat-comments .bcc-author,
#blanketcat-comments .bcc-user-name{ color:var(--gold) !important; font-family:"IM Fell English", serif !important; }
#blanketcat-comments .bcc-date, #blanketcat-comments .bcc-edited{ color:var(--candle-far) !important; }
#blanketcat-comments .bcc-body{ color:var(--candle) !important; font-family:"EB Garamond", Georgia, serif !important; }
#blanketcat-comments .bcc-empty{ color:var(--candle-far) !important; font-style:italic; }
#blanketcat-comments .bcc-avatar{ border:1px solid rgba(139,106,55,.45) !important; }
#blanketcat-comments textarea,
#blanketcat-comments input[type="text"],
#blanketcat-comments input[type="email"],
#blanketcat-comments input[type="password"]{
  background:var(--ink-3) !important; border:1px solid var(--line) !important;
  border-radius:3px !important; color:var(--candle) !important;
  font-family:"EB Garamond", Georgia, serif !important; font-size:1rem !important;
}
#blanketcat-comments textarea:focus,
#blanketcat-comments input:focus{ outline:none !important; border-color:var(--gold-deep) !important; }
#blanketcat-comments textarea::placeholder,
#blanketcat-comments input::placeholder{ color:var(--candle-far) !important; font-style:italic; }
#blanketcat-comments hr{ border-color:rgba(139,106,55,.2) !important; }
#blanketcat-comments .bcc-vote{ color:var(--candle-far) !important; }
#blanketcat-comments .bcc-vote.active{ color:var(--gold) !important; }
#blanketcat-comments .bcc-score{ color:var(--candle-dim) !important; }
#blanketcat-comments a{ color:var(--gold); }

/* ── candle that follows the reader (homepage) ──────────── */
.candle{ position:fixed; top:0; left:0; z-index:0; pointer-events:none;
  width:42rem; height:42rem; margin:-21rem 0 0 -21rem;
  background:radial-gradient(circle at center, rgba(214,170,104,.12), rgba(214,170,104,.04) 34%, transparent 62%);
  mix-blend-mode:screen; will-change:transform; }

/* ── pagination + slim post-nav ─────────────────────────── */
.post-nav.solo{ max-width:var(--measure); margin:2.6rem auto 0; padding:0 clamp(1.2rem,5vw,2.4rem); }
.pagination{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  max-width:calc(var(--measure) + 6rem); margin:2.4rem auto 0; padding:0 .4rem;
  font-style:italic; color:var(--candle-dim);
}
.page-count{ font-family:"IM Fell English SC", serif; font-style:normal; text-transform:uppercase;
  letter-spacing:.2em; font-size:.62rem; color:var(--candle-far); }

/* ── footer, polished ───────────────────────────────────── */
.site-foot{ margin-top:7rem; border-top:1px solid rgba(139,106,55,.26); position:relative;
  background:linear-gradient(180deg, rgba(14,17,24,.0), rgba(9,11,15,.85) 30%, #07080b); }
.foot-seam{
  position:absolute; top:-1px; left:12%; right:12%; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-deep) 30%, var(--gold) 50%, var(--gold-deep) 70%, transparent);
  opacity:.55;
}
.site-foot .wrap{ padding-top:4rem; padding-bottom:3rem; text-align:left; }
.foot-grid{
  display:grid; grid-template-columns:1.4fr .8fr .8fr 1.3fr; gap:2.6rem 3rem;
  align-items:start;
}
.foot-brand{ text-align:left; }
.foot-mark{ width:2.4rem; height:2.4rem; display:block; opacity:.9;
  filter:drop-shadow(0 0 14px rgba(198,154,90,.25)); margin:0 0 .7rem; }
.foot-word-mark{ font-family:"IM Fell English", serif; font-size:1.4rem; letter-spacing:.05em;
  color:var(--candle); margin:0 0 .8rem; }
.foot-word-mark .v{ color:var(--gold); }
.foot-epigraph{ font-family:"IM Fell English", serif; font-style:italic; color:var(--candle-dim);
  font-size:.98rem; line-height:1.6; margin:0 0 1rem; }
.foot-sign{ font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.24em;
  font-size:.58rem; color:var(--candle-far); margin:0; }
.foot-head{
  display:block; font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.26em; font-size:.6rem; color:var(--gold-deep); margin-bottom:.9rem;
}
.foot-col{ display:flex; flex-direction:column; gap:.45rem; }
.foot-col a{ color:var(--candle-dim); font-size:.95rem; width:fit-content;
  border-bottom:1px solid transparent; transition:color .2s, border-color .2s; }
.foot-col a:hover{ color:var(--gold); border-bottom-color:rgba(139,106,55,.4); }
.foot-word p{ color:var(--candle-dim); font-size:.92rem; line-height:1.6; margin:0 0 .4rem; }
.foot-word .ledger-line{ margin-top:.8rem; max-width:none; }
.foot-word small{ display:block; color:var(--candle-far); font-size:.7rem; margin-top:.5rem;
  font-family:"IM Fell English SC",serif; text-transform:uppercase; letter-spacing:.18em; }
.subscribe-status{ min-height:1.3em; color:var(--gold); font-style:italic; font-size:.88em; margin:.5rem 0 0; }
.subscribe-status.error{ color:#c98a7d; }
.foot-rule{ text-align:center; margin:3.4rem 0 1rem; }
.foot-rule svg{ width:180px; height:22px; color:var(--gold-deep); opacity:.8; }
.site-foot .meta{ text-align:center;
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.26em;
  font-size:.6rem; color:var(--candle-far); margin:0; }

/* honeypot: visually hidden, never off-screen-positioned */
.hp{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ── the ledger dock (full-width, "light under the door") ─ */
.veil-dock{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  pointer-events:none;
}
.veil-dock[hidden]{ display:none; }
.modal-card{
  pointer-events:auto; position:relative; width:100%;
  background:
    radial-gradient(90% 160% at 50% 0%, rgba(198,154,90,.09), transparent 50%),
    radial-gradient(40% 120% at 12% 0%, rgba(91,74,122,.14), transparent 60%),
    linear-gradient(180deg, rgba(21,26,37,.97) 0%, rgba(9,11,15,.99) 100%);
  border-top:1px solid rgba(139,106,55,.4);
  box-shadow:0 -24px 80px rgba(0,0,0,.7), 0 -6px 40px rgba(198,154,90,.06);
  backdrop-filter:blur(8px);
  transform:translateY(105%); opacity:.4;
  transition:transform .85s cubic-bezier(.2,.85,.25,1), opacity .5s ease;
}
.veil-dock.is-open .modal-card{ transform:none; opacity:1; }

/* the seam of light along the threshold, full width */
.modal-card::before{
  content:""; position:absolute; top:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent 2%, var(--gold-deep) 25%, #ffdf9e 50%, var(--gold-deep) 75%, transparent 98%);
  filter:drop-shadow(0 0 8px rgba(198,154,90,.6));
  animation:veilBreath 5.5s ease-in-out infinite;
}
@keyframes veilBreath{ 0%,100%{ opacity:.5; } 50%{ opacity:1; } }

.dock-wrap{
  position:relative; max-width:64rem; margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"words" "act" "foot";
  gap:1.1rem; align-items:center; justify-items:center; text-align:center;
  padding:2.3rem clamp(1.2rem,5vw,2.4rem) .8rem;
}
.dock-gate{
  position:absolute; top:0; left:50%; transform:translate(-50%,-58%);
  width:3.4rem; height:3.4rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 64%, #1e2432, #0c0f15 74%);
  border:1px solid rgba(139,106,55,.45);
  box-shadow:0 8px 26px rgba(0,0,0,.6), 0 0 22px rgba(198,154,90,.12);
}
.dock-gate svg{ width:1.8rem; height:1.8rem; display:block; }
.dock-glow{ animation:veilBreath 5.5s ease-in-out infinite; }
.dock-words{ grid-area:words; min-width:0; max-width:42rem; }
.dock-act{ grid-area:act; min-width:0; width:100%; max-width:31rem; }
.dock-foot{ grid-area:foot; display:flex; justify-content:center; padding-top:.1rem; }

.modal-close{
  position:absolute; top:.7rem; right:clamp(1.2rem,5vw,2.4rem); background:none; border:none; cursor:pointer;
  color:var(--candle-far); font-size:1.5rem; line-height:1; padding:.2rem;
  transition:color .2s, transform .2s;
}
.modal-close:hover{ color:var(--gold); transform:rotate(90deg); }
.modal-eyebrow{
  display:block; font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.3em; font-size:.6rem; color:var(--gold-deep); margin-bottom:.5rem;
}
.modal-heading{
  font-family:"IM Fell English", serif; font-weight:400; font-style:italic; letter-spacing:.02em;
  font-size:clamp(1.4rem, 1.1rem + 1.4vw, 1.9rem); line-height:1.25; margin:0 0 .55rem;
  color:var(--candle); text-shadow:0 0 30px rgba(198,154,90,.12);
}
.modal-text{ color:var(--candle-dim); font-size:.95rem; line-height:1.65; margin:0 auto; max-width:36rem; }
.modal-subtext{ color:var(--candle-far); font-size:.82rem; margin:.4rem 0 0; }
.modal-form{ display:flex; gap:.7rem; align-items:stretch; }
.modal-input{
  flex:1; min-width:0; background:rgba(20,24,34,.7);
  border:1px solid rgba(139,106,55,.35); border-radius:3px;
  color:var(--candle); font-family:"EB Garamond", Georgia, serif; font-size:1.02rem;
  padding:.75rem 1rem; transition:border-color .2s, box-shadow .2s;
}
.modal-input::placeholder{ color:var(--candle-far); font-style:italic; }
.modal-input:focus{ outline:none; border-color:var(--gold);
  box-shadow:0 0 0 1px rgba(198,154,90,.25), 0 0 18px rgba(198,154,90,.08); }
.modal-btn{
  flex:none; background:linear-gradient(180deg, #d8ab68, var(--gold));
  color:#161006; border:none; border-radius:3px; cursor:pointer;
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.18em;
  font-size:.74rem; padding:.75rem 1.6rem;
  box-shadow:0 4px 18px rgba(198,154,90,.22);
  transition:filter .2s, transform .2s, box-shadow .2s;
}
.modal-btn:hover{ filter:brightness(1.08); transform:translateY(-1px);
  box-shadow:0 7px 24px rgba(198,154,90,.3); }
.modal-btn:disabled{ opacity:.6; cursor:default; transform:none; }
.modal-status{ min-height:1.35em; color:var(--gold); font-style:italic; font-size:.9em; margin:.5rem 0 0; }
.modal-status.error{ color:#c98a7d; }
.modal-note{
  display:block; color:var(--candle-far); font-size:.68rem; margin-top:.35rem;
  font-family:"IM Fell English SC",serif; text-transform:uppercase; letter-spacing:.18em;
}
.modal-dismiss{
  background:none; border:none; cursor:pointer; padding:.2rem .6rem;
  color:var(--candle-far); font-family:inherit; font-style:italic; font-size:.85em;
  transition:color .2s;
}
.modal-dismiss:hover{ color:var(--candle-dim); }

/* ── small screens ──────────────────────────────────────── */
@media (max-width:900px){
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .foot-brand{ grid-column:1 / -1; }
  .foot-word{ grid-column:1 / -1; }
}
@media (max-width:620px){
  .meta-bar{ flex-wrap:wrap; justify-content:center; gap:.6rem; }
  .meta-line{ display:none; }
  .author-plate{ flex-direction:column; text-align:center; gap:1rem; }
  .author-plate::before{ right:12%; }
  .entries a{ flex-direction:column; align-items:stretch; gap:.9rem; }
  .entry-thumb{ width:100%; height:11rem; }
  .entry-arrow{ display:none; }
  .continue a{ flex-wrap:wrap; }
  .continue-thumb{ width:100%; height:9rem; }
  .continue-arrow{ display:none; }
  .foot-grid{ grid-template-columns:1fr; gap:2rem; }
  .dock-wrap{ padding-top:2.5rem; }
  .modal-form{ flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){
  .modal-card{ transition:opacity .3s ease; transform:none; }
  .modal-card::before, .dock-glow{ animation:none; }
  .modal-close:hover{ transform:none; }
  .continue a:hover .continue-arrow{ transform:none; }
}


/* ============================================================================
   Leave the Waiting World (homepage hook + seven nights)
   ========================================================================== */

.brandline{ font-family:"IM Fell English", serif; font-size:clamp(1.6rem,4vw,2.2rem);
  letter-spacing:.06em; margin:.2rem 0 0; color:var(--candle); }
.brandline .v{ color:var(--gold); }
.hero-headline{
  font-size:clamp(2.4rem, 7vw, 4.4rem); line-height:1.05; letter-spacing:.04em;
  margin:2.6rem 0 0; font-style:italic;
  text-shadow:0 0 40px rgba(198,154,90,.14);
}
.hero-support{ max-width:34rem; margin:1.4rem auto 0; color:var(--candle-dim);
  font-size:1.05rem; line-height:1.7; }
.hero-cta{ display:flex; align-items:center; justify-content:center; gap:1.6rem;
  flex-wrap:wrap; margin-top:2rem; }
.btn-gold{
  display:inline-block; background:linear-gradient(180deg, #d8ab68, var(--gold));
  color:#161006; border-radius:3px; cursor:pointer;
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.18em;
  font-size:.78rem; padding:.85rem 1.8rem;
  box-shadow:0 4px 18px rgba(198,154,90,.22);
  transition:filter .2s, transform .2s, box-shadow .2s;
}
.btn-gold:hover{ filter:brightness(1.08); transform:translateY(-1px); color:#161006;
  box-shadow:0 7px 24px rgba(198,154,90,.3); }
.cta-quiet{ font-style:italic; color:var(--candle-dim); }
.cta-quiet:hover{ color:var(--gold); }
.microcopy{
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.24em;
  font-size:.58rem; color:var(--candle-far); margin-top:1.1rem; text-align:center;
}
.epigraph-solo{ text-align:center; margin:0 auto; }
.quiet-head{ text-align:center; font-style:italic; font-size:1.8rem; margin:0 0 1.2rem; }
.kicker-center{ display:block; text-align:center; margin-bottom:1.6rem; }
.read-link{ font-style:italic; }

/* the mechanism: four movements */
.mechanism{ max-width:56rem; margin:4rem auto; }
.mechanism ol{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
}
.mechanism li{
  padding:1.4rem 1.5rem 1.6rem; position:relative;
  border-left:1px solid rgba(139,106,55,.25);
}
.mechanism li:first-child{ border-left:none; }
.mechanism .m-num{
  display:block; font-family:"IM Fell English SC", serif; letter-spacing:.1em;
  font-size:.8rem; color:var(--gold-deep); margin-bottom:.5rem;
}
.mechanism .m-name{
  display:block; font-family:"IM Fell English", serif; font-size:1.35rem;
  letter-spacing:.04em; color:var(--candle); margin-bottom:.4rem;
}
.mechanism .m-desc{ display:block; color:var(--candle-dim); font-size:.9rem; line-height:1.55; }

/* is / is not */
.isnot{ max-width:46rem; margin:4.5rem auto; display:grid;
  grid-template-columns:1fr 1fr; gap:2.5rem 4rem; }
.isnot .foot-head{ margin-bottom:1rem; }
.isnot ul{ list-style:none; margin:0; padding:0; }
.isnot li{ padding:.4rem 0; color:var(--candle-dim); font-size:.98rem;
  border-top:1px solid rgba(139,106,55,.14); }
.isnot li:first-of-type{ border-top:none; }
.seven-cta{ text-align:center; margin-top:2rem; }

/* seven-night progress */
.night-progress{
  display:flex; justify-content:center; gap:.7rem; margin:0 0 2.4rem;
}
.night-mark{
  width:.85rem; height:.85rem; border-radius:50%;
  border:1px solid var(--gold-deep); background:transparent;
  transition:background .3s, box-shadow .3s;
}
.night-mark:hover{ box-shadow:0 0 8px rgba(198,154,90,.4); }
.night-mark.done{ background:var(--gold); border-color:var(--gold);
  box-shadow:0 0 10px rgba(198,154,90,.35); }
.night-done{ text-align:center; margin:2.6rem 0 0; }
.night-complete-btn{
  background:none; border:1px solid var(--gold-deep); border-radius:3px; cursor:pointer;
  color:var(--gold); font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.18em; font-size:.7rem; padding:.7rem 1.5rem;
  transition:background .25s, color .25s;
}
.night-complete-btn:hover{ background:rgba(198,154,90,.12); }
.night-complete-btn.is-done{ background:linear-gradient(180deg, #d8ab68, var(--gold));
  color:#161006; border-color:transparent; }
.night-next{ display:block; margin-top:1rem; font-style:italic; color:var(--candle-dim); }
.night-next:hover{ color:var(--gold); }

/* begin-here nights list with completion state */
.nights-list ol{ list-style:none; counter-reset:night; margin:2rem 0; padding:0; }
.nights-list li{
  counter-increment:night; border-top:1px solid var(--line); padding:.85rem .3rem;
  position:relative;
}
.nights-list li:last-child{ border-bottom:1px solid var(--line); }
.nights-list li::before{
  content:counter(night, upper-roman); margin-right:1rem;
  font-family:"IM Fell English SC", serif; font-size:.8rem; color:var(--gold-deep);
}
.nights-list li.night-done-item::after{
  content:"✦"; position:absolute; right:.4rem; top:50%; transform:translateY(-50%);
  color:var(--gold);
}
.nights-clear{ text-align:right; }
.nights-clear a{ font-style:italic; font-size:.85rem; color:var(--candle-far); }
.nights-clear a:hover{ color:var(--gold); }

/* quiet pages (nights, begin-here): no comments */
.reading-quiet ~ .content-wrap,
.reading-quiet #blanketcat-comments{ display:none !important; }

@media (max-width:760px){
  .mechanism ol{ grid-template-columns:1fr 1fr; }
  .mechanism li:nth-child(3){ border-left:none; }
  .mechanism li{ border-top:1px solid rgba(139,106,55,.18); }
  .mechanism li:nth-child(-n+2){ border-top:none; }
}
@media (max-width:520px){
  .mechanism ol{ grid-template-columns:1fr; }
  .mechanism li{ border-left:none; }
  .mechanism li:nth-child(2){ border-top:1px solid rgba(139,106,55,.18); }
  .isnot{ grid-template-columns:1fr; gap:2rem; }
}

/* ============================================================================
   Tools: the Dwelling Map and the Crossing Journal (browser-local, no egress)
   ========================================================================== */

/* dwelling map */
.dmap-form{ margin:2.5rem 0; }
.dmap-q{ border:none; border-top:1px solid rgba(139,106,55,.18); margin:0; padding:1.3rem 0 1.1rem; }
.dmap-q legend{ padding:0 0 .7rem; color:var(--candle); font-size:1.02rem; line-height:1.6; }
.dmap-q.dmap-missing legend{ color:var(--gold); }
.dmap-scale{ display:flex; flex-wrap:wrap; gap:.5rem; }
.dmap-opt{
  display:flex; align-items:center; gap:.45rem; cursor:pointer;
  border:1px solid rgba(139,106,55,.3); border-radius:2rem;
  padding:.35rem .95rem; font-size:.85rem; color:var(--candle-dim);
  transition:border-color .2s, color .2s, background .2s;
}
.dmap-opt:hover{ border-color:var(--gold-deep); color:var(--candle); }
.dmap-opt input{ position:absolute; opacity:0; pointer-events:none; }
.dmap-opt:has(input:checked){
  background:rgba(198,154,90,.14); border-color:var(--gold); color:var(--gold);
}
.dmap-opt:has(input:focus-visible){ outline:1px solid var(--gold); outline-offset:2px; }
.dmap-actions{ text-align:center; margin-top:2.2rem; }
.dmap-result{ margin-top:3rem; border-top:1px solid var(--line); padding-top:2.2rem; text-align:center; }
.dmap-head{ font-family:"IM Fell English", serif; font-style:italic;
  font-size:clamp(1.3rem,3vw,1.7rem); line-height:1.4; margin:.8rem 0 .2rem; }
.dmap-anchor{
  text-align:left; margin:2rem 0; padding:1.5rem 1.7rem;
  background:linear-gradient(180deg, rgba(19,23,33,.6), rgba(11,14,20,.5));
  border:1px solid rgba(139,106,55,.24); border-radius:4px;
}
.dmap-anchor h3{ margin:0 0 .6rem; color:var(--gold); letter-spacing:.04em; }
.dmap-anchor p{ margin:0 0 .9rem; font-size:.98rem; line-height:1.65; }
.dmap-links{ font-size:.9rem; }
.dmap-cta{ margin-top:2.4rem; }
.dmap-cta .microcopy a{ color:var(--candle-far); }
.dmap-cta .microcopy a:hover{ color:var(--gold); }

/* crossing journal */
.cj-form{ margin:2.5rem 0; }
.cj-date{
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.22em;
  font-size:.62rem; color:var(--gold-deep); margin:0 0 1rem;
}
.cj-section{ margin:0 0 2rem; }
.cj-section h3{ border-bottom:1px solid rgba(139,106,55,.25); padding-bottom:.5rem;
  letter-spacing:.04em; }
.cj-field{ display:block; margin:1.1rem 0; }
.cj-label{
  display:block; font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.2em; font-size:.6rem; color:var(--gold-deep); margin-bottom:.4rem;
}
.cj-field input, .cj-field textarea{
  width:100%; background:var(--ink-3); border:1px solid var(--line); border-radius:3px;
  color:var(--candle); font-family:"EB Garamond", Georgia, serif; font-size:1rem;
  padding:.6rem .85rem; line-height:1.6;
}
.cj-field textarea{ min-height:5.5rem; resize:vertical; }
.cj-field input:focus, .cj-field textarea:focus{ outline:none; border-color:var(--gold-deep); }
.cj-actions{ display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; }
.cj-btn{
  background:none; border:1px solid rgba(139,106,55,.35); border-radius:3px; cursor:pointer;
  color:var(--candle-dim); font-family:"IM Fell English SC", serif; text-transform:uppercase;
  letter-spacing:.16em; font-size:.64rem; padding:.6rem 1.1rem;
  transition:color .2s, border-color .2s;
}
.cj-btn:hover{ color:var(--gold); border-color:var(--gold-deep); }
.cj-status{ min-height:1.4em; font-style:italic; color:var(--gold); font-size:.9rem; margin:.7rem 0 0; }
.cj-list{ margin-top:3rem; border-top:1px solid var(--line); padding-top:1.6rem; }
.cj-entry{
  border:1px solid rgba(139,106,55,.22); border-radius:4px; margin:0 0 .9rem;
  background:rgba(16,20,29,.5); padding:.2rem 1.1rem;
}
.cj-entry summary{
  cursor:pointer; padding:.7rem 0; font-family:"IM Fell English", serif;
  color:var(--candle); letter-spacing:.03em;
}
.cj-entry p{ font-size:.95rem; margin:0 0 .9rem; }
.cj-entry .cj-label{ margin-bottom:.15rem; }
.cj-entry-actions{ padding:.4rem 0 .9rem; display:flex; gap:.6rem; }
.cj-clear-all{ margin-top:.6rem; }

@media print {
  .site-head, .site-foot, .veil-dock, .meta-bar, .post-nav, .cj-actions,
  .cj-entry-actions, .cj-clear-all, .candle, .night-progress { display:none !important; }
  body{ background:#fff; color:#000; }
  .cj-field input, .cj-field textarea{ background:#fff; color:#000; border-color:#999; }
}

.read-link-center{ text-align:center; margin-top:1.6rem; }

/* crossing report form */
.rc-perm{
  display:flex; align-items:flex-start; gap:.7rem; margin:.8rem 0; cursor:pointer;
  color:var(--candle-dim); font-size:.95rem; line-height:1.55;
}
.rc-perm input{ margin-top:.35rem; accent-color:#c69a5a; flex:none; }
.rc-out{ margin-top:3rem; border-top:1px solid var(--line); padding-top:1.8rem; }
.rc-out h3{ letter-spacing:.04em; }
.rc-text{
  width:100%; min-height:16rem; background:var(--ink-3); border:1px solid var(--line);
  border-radius:3px; color:var(--candle); font-family:ui-monospace, monospace;
  font-size:.85rem; line-height:1.6; padding:1rem; margin:.8rem 0 1rem;
}
.rc-out .cj-btn{ text-decoration:none; display:inline-block; }

/* ── listen: article audio ──────────────────────────────── */
.listen{
  margin:0 auto 2.6rem; max-width:34rem;
  background:
    radial-gradient(130% 200% at 0% 0%, rgba(198,154,90,.06), transparent 46%),
    linear-gradient(180deg, rgba(19,23,33,.6), rgba(11,14,20,.5));
  border:1px solid rgba(139,106,55,.26); border-radius:4px;
  padding:1rem 1.3rem 1.1rem;
}
.listen-head{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
.listen-label{
  display:flex; align-items:center; gap:.5rem;
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.2em;
  font-size:.62rem; color:var(--gold-deep);
}
.listen-label svg{ width:1rem; height:1rem; }
.listen-dur{
  font-family:"IM Fell English SC", serif; text-transform:uppercase; letter-spacing:.18em;
  font-size:.58rem; color:var(--candle-far);
}
.listen-el{ width:100%; margin-top:.7rem; color-scheme:dark; }
.listen-ui{ display:flex; align-items:center; gap:.8rem; margin-top:.7rem; }
.listen-ui ~ .listen-el, .listen-ui + * .listen-el{ display:none; }
.listen:has(.listen-ui) .listen-el{ display:none; }
.listen-play{
  flex:none; width:2.6rem; height:2.6rem; border-radius:50%; cursor:pointer;
  background:linear-gradient(180deg, #d8ab68, var(--gold)); border:none; color:#161006;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(198,154,90,.25);
  transition:filter .2s, transform .2s;
}
.listen-play:hover{ filter:brightness(1.08); transform:scale(1.04); }
.listen-play svg{ width:1.3rem; height:1.3rem; }
.listen .ic-pause{ display:none; }
.listen.is-playing .ic-pause{ display:block; }
.listen.is-playing .ic-play{ display:none; }
.listen-time{
  font-family:"IM Fell English SC", serif; font-size:.66rem; letter-spacing:.08em;
  color:var(--candle-dim); min-width:2.6rem; text-align:center;
}
.listen-seek{
  flex:1; appearance:none; height:2px; border-radius:1px; cursor:pointer;
  background:rgba(139,106,55,.35); accent-color:#c69a5a;
}
.listen-seek::-webkit-slider-thumb{
  appearance:none; width:.85rem; height:.85rem; border-radius:50%;
  background:var(--gold); border:none; box-shadow:0 0 8px rgba(198,154,90,.4);
}
.listen-seek::-moz-range-thumb{
  width:.85rem; height:.85rem; border-radius:50%;
  background:var(--gold); border:none; box-shadow:0 0 8px rgba(198,154,90,.4);
}
.listen-seek:focus-visible{ outline:1px solid var(--gold); outline-offset:4px; }
.listen-dl{
  display:inline-block; margin-top:.6rem; font-style:italic; font-size:.82rem;
  color:var(--candle-far);
}
.listen-dl:hover{ color:var(--gold); }
@media print { .listen{ display:none !important; } }

/* series read-marks on the index */
.entries li.series-read .ttl::after{ content:" \2726"; color:var(--gold); font-size:.85em; }
