/* Player blogs: /blog/<slug> (themed), /blogs, the dashboard and the editor.
   Scoped under .lb (a blog) and .lbd (directory, dashboard, editor chrome) so the site styles stay untouched. */

/* ---------- Themes ----------
   --lb-page-*  page background around the blog, and text that sits directly on it
   --lb-paper*  reading surfaces (posts, widgets)
   --lb-link    small accent text; --lb-accent is for headings and rules */
.lb, .lb-theme-giran {
  --lb-page: #11110f;
  --lb-page-art: radial-gradient(1100px 460px at 50% -160px, rgba(207, 183, 128, .10), transparent 70%);
  --lb-page-ink: #e7dcc1;
  --lb-page-muted: #a39b88;
  --lb-paper: #191915;
  --lb-paper-2: #201f1a;
  --lb-ink: #e9e0cc;
  --lb-muted: #a89f8a;
  --lb-accent: #d5bb85;
  --lb-link: #e2c88e;
  --lb-link-hover: #f6e1b0;
  --lb-line: rgba(207, 183, 128, .17);
  --lb-line-strong: rgba(207, 183, 128, .34);
  --lb-chip: rgba(207, 183, 128, .08);
  --lb-quote: rgba(207, 183, 128, .06);
  --lb-title: #f6ead0;
  --lb-header-plain: radial-gradient(900px 300px at 25% 0%, #3a3020, #141310 72%);
  --lb-button: #d5bb85;
  --lb-button-ink: #1a160e;
  --lb-field: #10100d;
  --lb-danger: #ef8a7c;
  --lb-focus: #e2c88e;
  --lb-head: Georgia, "Times New Roman", serif;
  --lb-body: Georgia, "Times New Roman", serif;
  --lb-meta: Arial, Helvetica, sans-serif;
  --lb-radius: 8px;
  --lb-shadow: 0 18px 44px rgba(0, 0, 0, .38);
  color-scheme: dark;
}

/* The other five themes start from these palettes; their layout and ornament live in
   "Theme identities" at the end of this file. */
.lb-theme-parchment {
  --lb-page: #ebe2cd;
  --lb-page-art: radial-gradient(1200px 640px at 50% -220px, rgba(255, 252, 242, .95), transparent 72%), radial-gradient(900px 700px at 100% 100%, rgba(143, 43, 27, .05), transparent 70%);
  --lb-page-ink: #2a1d14;
  --lb-page-muted: #5e4a36;
  --lb-paper: #fffaf0;
  --lb-paper-2: #f6eedd;
  --lb-ink: #2a1d14;
  --lb-muted: #6b5340;
  --lb-accent: #7d2216;
  --lb-link: #8f2b1b;
  --lb-link-hover: #b0381f;
  --lb-line: rgba(122, 84, 36, .22);
  --lb-line-strong: rgba(122, 84, 36, .44);
  --lb-chip: rgba(143, 43, 27, .06);
  --lb-quote: rgba(154, 106, 44, .08);
  --lb-title: #fbf1dc;
  --lb-header-plain: radial-gradient(700px 260px at 50% 0%, rgba(255, 255, 255, .9), transparent 70%), linear-gradient(180deg, #fffaf0, #f6edda);
  --lb-button: #7d2216;
  --lb-button-ink: #fdf3e1;
  --lb-field: #fffdf8;
  --lb-danger: #9f2a1c;
  --lb-focus: #7d2216;
  --lb-head: Baskerville, "Hoefler Text", "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", P052, Georgia, serif;
  --lb-body: "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", P052, Georgia, serif;
  --lb-meta: "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", P052, Georgia, serif;
  --lb-radius: 3px;
  --lb-shadow: 0 1px 3px rgba(74, 44, 16, .08);
  color-scheme: light;
}

.lb-theme-oren {
  --lb-page: #0a1424;
  --lb-page-art: radial-gradient(900px 420px at 78% -140px, rgba(150, 196, 246, .22), transparent 70%), radial-gradient(760px 380px at 8% -60px, rgba(110, 200, 214, .1), transparent 72%), linear-gradient(180deg, #11223a 0, #0b1628 520px, rgba(10, 20, 36, 0) 1100px);
  --lb-page-ink: #e6eef8;
  --lb-page-muted: #9fb4cc;
  --lb-paper: #f5f9fd;
  --lb-paper-2: #e9f1f9;
  --lb-ink: #15243a;
  --lb-muted: #4f6278;
  --lb-accent: #173a63;
  --lb-link: #1f5c99;
  --lb-link-hover: #123f6e;
  --lb-line: rgba(38, 84, 136, .16);
  --lb-line-strong: rgba(38, 84, 136, .34);
  --lb-chip: rgba(31, 92, 153, .07);
  --lb-quote: rgba(31, 92, 153, .06);
  --lb-title: #f3f8ff;
  --lb-header-plain:
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, .8) 0 1px, transparent 1.5px),
    radial-gradient(circle at 34% 12%, rgba(255, 255, 255, .55) 0 1px, transparent 1.5px),
    radial-gradient(circle at 52% 26%, rgba(255, 255, 255, .7) 0 1px, transparent 1.5px),
    radial-gradient(circle at 63% 9%, rgba(255, 255, 255, .5) 0 1px, transparent 1.5px),
    radial-gradient(circle at 76% 36%, rgba(255, 255, 255, .6) 0 1px, transparent 1.5px),
    radial-gradient(circle at 7% 44%, rgba(255, 255, 255, .45) 0 1px, transparent 1.5px),
    radial-gradient(700px 260px at 70% 100%, rgba(120, 170, 230, .35), transparent 70%),
    linear-gradient(180deg, #091528 0%, #12284a 55%, #23466f 100%);
  --lb-button: #1f5c99;
  --lb-button-ink: #ffffff;
  --lb-field: #ffffff;
  --lb-danger: #b0352a;
  --lb-focus: #1f5c99;
  --lb-head: Optima, Candara, "Segoe UI", "Noto Sans", "Gill Sans", sans-serif;
  --lb-body: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --lb-meta: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --lb-radius: 6px;
  --lb-shadow: 0 24px 60px rgba(2, 8, 20, .5);
  color-scheme: light;
}

.lb-theme-elven {
  --lb-page: #07130e;
  --lb-page-art: radial-gradient(900px 460px at 50% -180px, rgba(120, 206, 160, .16), transparent 70%), radial-gradient(600px 600px at 0% 30%, rgba(40, 110, 76, .14), transparent 70%), radial-gradient(600px 600px at 100% 60%, rgba(40, 110, 76, .1), transparent 70%);
  --lb-page-ink: #ece5d1;
  --lb-page-muted: #a7b9a8;
  --lb-paper: #0e2019;
  --lb-paper-2: #132a21;
  --lb-ink: #ece5d1;
  --lb-muted: #a9bba9;
  --lb-accent: #9edcbc;
  --lb-link: #9edcbc;
  --lb-link-hover: #d4f3e3;
  --lb-line: rgba(126, 206, 166, .16);
  --lb-line-strong: rgba(126, 206, 166, .34);
  --lb-chip: rgba(126, 206, 166, .08);
  --lb-quote: rgba(126, 206, 166, .07);
  --lb-title: #f6f0dc;
  --lb-header-plain: radial-gradient(420px 260px at 84% 20%, rgba(186, 232, 196, .18), transparent 70%), radial-gradient(700px 320px at 0% 120%, rgba(22, 84, 56, .75), transparent 70%), linear-gradient(165deg, #173f2f 0%, #0c2419 55%, #06130d 100%);
  --lb-button: #7cc9a3;
  --lb-button-ink: #062016;
  --lb-field: #0a1913;
  --lb-danger: #f2a08f;
  --lb-focus: #b8ead0;
  --lb-head: Garamond, "Hoefler Text", "EB Garamond", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --lb-body: "Iowan Old Style", "Sitka Text", Cambria, Georgia, serif;
  --lb-meta: "Gill Sans", "Gill Sans MT", Calibri, "Segoe UI", sans-serif;
  --lb-radius: 14px;
  --lb-shadow: 0 22px 54px rgba(0, 0, 0, .45);
  color-scheme: dark;
}

.lb-theme-blood {
  --lb-page: #0a0808;
  --lb-page-art: radial-gradient(1000px 440px at 50% -200px, rgba(176, 22, 32, .3), transparent 70%), linear-gradient(180deg, #140d0d 0, rgba(10, 8, 8, 0) 720px);
  --lb-page-ink: #efe6e2;
  --lb-page-muted: #b3a3a0;
  --lb-paper: #141011;
  --lb-paper-2: #1b1516;
  --lb-ink: #ece3df;
  --lb-muted: #b3a3a0;
  --lb-accent: #e04a3f;
  --lb-link: #f27d70;
  --lb-link-hover: #ffb3a9;
  --lb-line: rgba(232, 214, 210, .11);
  --lb-line-strong: rgba(232, 214, 210, .24);
  --lb-chip: rgba(200, 40, 46, .12);
  --lb-quote: rgba(200, 40, 46, .08);
  --lb-title: #fbf3f0;
  --lb-header-plain: radial-gradient(640px 260px at 12% 115%, rgba(176, 22, 32, .5), transparent 70%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 7px), linear-gradient(165deg, #231617 0%, #120c0d 60%, #0a0707 100%);
  --lb-button: #b3202a;
  --lb-button-ink: #fff5f2;
  --lb-field: #0d0a0a;
  --lb-danger: #ff9f92;
  --lb-focus: #ff8a7c;
  --lb-head: "Bodoni 72", "Bodoni MT", Didot, "Big Caslon", Constantia, "Times New Roman", serif;
  --lb-body: Constantia, "Hoefler Text", Cambria, Georgia, serif;
  --lb-meta: "Franklin Gothic Medium", "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --lb-radius: 2px;
  --lb-shadow: 0 24px 56px rgba(0, 0, 0, .6);
  color-scheme: dark;
}

.lb-theme-minima {
  --lb-page: #fcfbf8;
  --lb-page-art: none;
  --lb-page-ink: #141414;
  --lb-page-muted: #5f5f5f;
  --lb-paper: #ffffff;
  --lb-paper-2: #f4f3ef;
  --lb-ink: #1c1c1c;
  --lb-muted: #5f5f5f;
  --lb-accent: #c23b22;
  --lb-link: #141414;
  --lb-link-hover: #c23b22;
  --lb-line: #e3e1db;
  --lb-line-strong: #c9c6be;
  --lb-chip: #f4f3ef;
  --lb-quote: transparent;
  --lb-title: #ffffff;
  --lb-header-plain: transparent;
  --lb-button: #141414;
  --lb-button-ink: #ffffff;
  --lb-field: #ffffff;
  --lb-danger: #b3261e;
  --lb-focus: #c23b22;
  --lb-head: "Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif;
  --lb-body: Charter, "Bitstream Charter", Cambria, Georgia, serif;
  --lb-meta: "Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif;
  --lb-radius: 2px;
  --lb-shadow: none;
  color-scheme: light;
}

/* ---------- Blog frame ---------- */
.lb {
  background: var(--lb-page-art), var(--lb-page);
  color: var(--lb-ink);
  font-family: var(--lb-body);
  padding-bottom: 64px;
  min-height: 70vh;
}
.lb a { color: var(--lb-link); text-decoration: none; }
.lb a:hover { color: var(--lb-link-hover); text-decoration: underline; text-underline-offset: 3px; }
.lb :focus-visible { outline: 2px solid var(--lb-focus); outline-offset: 2px; border-radius: 2px; }
.lb-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.lb-icon { display: inline-block; flex: none; vertical-align: -.15em; }
.lb-notice, .lb-header, .lb-layout, .lb-footer { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }

/* Blog bar: the site's own charcoal and gold, whatever the blog theme. */
.lb-bar {
  background: #151513;
  border-bottom: 1px solid rgba(181, 155, 97, .24);
  font: 13px/1.4 Arial, Helvetica, sans-serif;
  color: #c9c3b2;
  color-scheme: dark;
}
.lb-bar__inner {
  width: min(1120px, calc(100% - 32px));
  margin-inline: auto;
  min-height: 52px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 18px;
  padding: 7px 0;
}
.lb .lb-bar a { color: #e6d3a6; }
.lb .lb-bar a:hover { color: #f6e6bf; }
.lb-bar__brand { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; letter-spacing: .04em; }
.lb-bar__brand .lb-icon { color: #cfb780; }
.lb-bar__right { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lb .lb-bar__btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid rgba(181, 155, 97, .3);
  border-radius: 4px;
  background: rgba(181, 155, 97, .07);
  color: #e6d3a6;
  font: 600 12.5px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .02em;
  text-decoration: none;
  cursor: pointer;
  list-style: none;
  transition: border-color .16s ease, background .16s ease;
}
.lb .lb-bar__btn:hover { border-color: rgba(207, 183, 128, .6); background: rgba(181, 155, 97, .14); text-decoration: none; }
/* Element + class so the dark ink beats the generic ".lb .lb-bar a" link colour. */
.lb .lb-bar a.lb-bar__btn--primary { border-color: #d8c28c; background: linear-gradient(135deg, #d8c28c, #a88951); color: #1a160e; }
.lb .lb-bar a.lb-bar__btn--primary:hover,
.lb .lb-bar a.lb-bar__btn--primary:focus-visible { border-color: #e3cf9c; background: linear-gradient(135deg, #e3cf9c, #b7985f); color: #1a160e; }
.lb-staff { position: relative; }
.lb-staff > summary::-webkit-details-marker { display: none; }
.lb-staff[open] > summary { border-color: rgba(207, 183, 128, .6); }
.lb-staff__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 20;
  width: min(320px, calc(100vw - 32px));
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(181, 155, 97, .3);
  border-radius: 6px;
  background: #1b1b19;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .45);
}
.lb-staff__panel label { font-weight: 700; color: #e7dcc1; }
.lb-staff__panel p { margin: 0; color: #b8baad; }
.lb .lb-staff__panel input[type="text"] { padding: 9px 11px; font: 14px/1.4 Arial, Helvetica, sans-serif; color: #e7dcc1; background: #10100e; border: 1px solid rgba(181, 155, 97, .3); }
.lb .lb-staff__panel .lb-btn { width: 100%; }
.lb .lb-staff__panel .lb-btn--danger { background: #a3352a; border-color: #a3352a; color: #fff3f0; }

.lb-notice {
  margin-top: 18px;
  padding: 12px 16px;
  border: 1px solid var(--lb-line);
  border-left: 3px solid var(--lb-accent);
  border-radius: 6px;
  background: var(--lb-paper);
  color: var(--lb-ink);
  font: 14px/1.55 var(--lb-meta);
}
.lb-notice--error { border-left-color: var(--lb-danger); }

/* Header: the blog's banner, kept short so the first post is near the top. */
.lb-header {
  position: relative;
  margin-top: 24px;
  min-height: clamp(180px, 22vw, 270px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  background: var(--lb-header-plain);
  border: 1px solid var(--lb-line);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
}
.lb-header__art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 32%; }
.lb-header--art::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(9, 8, 6, .84) 0%, rgba(9, 8, 6, .5) 48%, rgba(9, 8, 6, .1) 100%),
    linear-gradient(0deg, rgba(9, 8, 6, .55), transparent 60%);
}
.lb-header__inner { max-width: 760px; padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 44px); }
.lb .lb-title {
  margin: 0;
  font: 400 clamp(30px, 4.4vw, 50px)/1.08 var(--lb-head);
  color: var(--lb-title);
  text-wrap: balance;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .4);
}
.lb .lb-title a { color: inherit; text-decoration: none; }
.lb-tagline { margin: 12px 0 0; max-width: 600px; font: italic 17px/1.5 var(--lb-head); color: var(--lb-title); opacity: .9; }
.lb-header__by { margin: 16px 0 0; font: 600 12px/1.4 var(--lb-meta); letter-spacing: .12em; text-transform: uppercase; color: var(--lb-title); opacity: .8; }
.lb-header__by span { margin: 0 .5em; }
.lb-header__by:has(.lb-header__avatar) { opacity: 1; }
.lb-header__avatar { display: inline-block; width: 34px; height: 34px; margin: -3px 10px 0 0; vertical-align: middle; border-radius: 50%; object-fit: cover; object-position: center 20%; border: 2px solid rgba(255, 255, 255, .55); box-shadow: 0 2px 10px rgba(0, 0, 0, .35); background: var(--lb-paper-2); }

.lb-layout {
  margin-top: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 32px;
  align-items: start;
}
.lb-main, .lb-sidebar { min-width: 0; }
.lb-main {
  background: var(--lb-paper);
  border: 1px solid var(--lb-line);
  border-radius: var(--lb-radius);
  padding: clamp(24px, 4vw, 44px) clamp(18px, 4.6vw, 54px) clamp(28px, 4vw, 48px);
  box-shadow: var(--lb-shadow);
}

/* ---------- Posts ---------- */
.lb .lb-date {
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  font: 700 11.5px/1.4 var(--lb-meta);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lb-muted);
}
.lb .lb-date::after { content: ""; flex: 1; border-top: 1px solid var(--lb-line); }
.lb-post + .lb-date { margin-top: 60px; }
.lb .lb-date--pinned span { display: inline-flex; align-items: center; gap: 7px; }
.lb-date--pinned .lb-icon { flex: none; transform: rotate(35deg); color: var(--lb-accent); }
.lb-post + .lb-post { margin-top: 48px; padding-top: 44px; border-top: 1px solid var(--lb-line); }
.lb-post { margin: 0; }
.lb-post__head { margin-bottom: 22px; }
.lb .lb-post__title {
  margin: 0;
  font: 400 clamp(26px, 3vw, 36px)/1.18 var(--lb-head);
  color: var(--lb-accent);
  text-wrap: balance;
}
.lb .lb-post__title a { color: inherit; }
.lb .lb-post__title a:hover { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.lb-post__byline {
  margin: 10px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 0;
  font: 13.5px/1.5 var(--lb-meta);
  color: var(--lb-muted);
}
.lb .lb-post__byline a { color: inherit; }
.lb .lb-post__byline a:hover { color: var(--lb-link-hover); }
.lb-dot { margin: 0 .55em; opacity: .7; }
.lb-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.lb-badge {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 3px 10px;
  font: 700 11px/1.4 var(--lb-meta);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--lb-link);
  background: var(--lb-chip);
  border: 1px solid var(--lb-line-strong);
  border-radius: 999px;
}

.lb-prose { font-size: 18px; line-height: 1.78; overflow-wrap: anywhere; }
.lb-prose > :first-child { margin-top: 0; }
.lb-prose > :last-child { margin-bottom: 0; }
.lb-prose p { margin: 0 0 1.1em; }
.lb-prose h2 { margin: 1.7em 0 .55em; font: 400 1.45em/1.25 var(--lb-head); color: var(--lb-accent); }
.lb-prose h3 { margin: 1.5em 0 .45em; font: 700 1.15em/1.3 var(--lb-head); color: var(--lb-ink); }
.lb-prose ul, .lb-prose ol { margin: 0 0 1.1em; padding-left: 1.5em; }
.lb-prose ul { list-style: disc; }
.lb-prose ol { list-style: decimal; }
.lb-prose li { margin: .3em 0; padding-left: .2em; }
.lb-prose li::marker { color: var(--lb-accent); }
.lb-prose blockquote {
  margin: 1.5em 0;
  padding: .85em 1.25em;
  border-left: 3px solid var(--lb-accent);
  border-radius: 0 6px 6px 0;
  background: var(--lb-quote);
  font-style: italic;
  color: var(--lb-ink);
}
.lb-prose blockquote > :last-child { margin-bottom: 0; }
.lb-prose hr { margin: 2.4em auto; width: 140px; height: 1px; border: 0; background: linear-gradient(90deg, transparent, var(--lb-line-strong), transparent); }
.lb-prose strong, .lb-prose b { font-weight: 700; }
.lb-prose em, .lb-prose i { font-style: italic; }
.lb-prose u { text-decoration: underline; }
.lb-prose s { text-decoration: line-through; }
.lb-prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lb-prose img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.6em auto;
  border: 1px solid var(--lb-line);
  border-radius: 6px;
  background: var(--lb-paper-2);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .2);
}

.lb-post__body.is-clipped {
  max-height: 720px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(#000 70%, transparent);
  mask-image: linear-gradient(#000 70%, transparent);
}
.lb .lb-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin-top: 10px;
  padding: 8px 16px;
  border: 1px solid var(--lb-line-strong);
  border-radius: 4px;
  font: 700 13.5px/1.2 var(--lb-meta);
  color: var(--lb-link);
  transition: background .16s ease, border-color .16s ease;
}
.lb .lb-more:hover { background: var(--lb-chip); border-color: var(--lb-link); text-decoration: none; }

.lb-post__meta {
  margin-top: 26px;
  padding-top: 16px;
  border-top: 1px solid var(--lb-line);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 18px;
  font: 13px/1.5 var(--lb-meta);
  color: var(--lb-muted);
}
.lb-post__info { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; min-width: 0; }
.lb .lb-post__comments { display: inline-flex; align-items: center; gap: 6px; color: var(--lb-link); font-weight: 600; }
.lb-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lb .lb-chips a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 11px;
  border: 1px solid var(--lb-line);
  border-radius: 999px;
  background: var(--lb-chip);
  font: 12.5px/1.3 var(--lb-meta);
  color: var(--lb-link);
  transition: border-color .16s ease;
}
.lb .lb-chips a:hover { border-color: var(--lb-link); text-decoration: none; }
.lb .lb-chips a[aria-current="page"] { border-color: var(--lb-link); color: var(--lb-ink); font-weight: 700; }
.lb-chips span { margin-left: 5px; color: var(--lb-muted); font-size: 11.5px; }
.lb-post__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-left: auto; }
.lb-post__tools > form { display: inline; margin: 0; }
.lb-post__tools:has(.lb-report[open]) { flex-basis: 100%; }
.lb-linkbtn { padding: 4px 0; font: inherit; color: var(--lb-link); background: none; border: 0; cursor: pointer; }
.lb-linkbtn:hover { color: var(--lb-link-hover); text-decoration: underline; text-underline-offset: 3px; }
.lb-linkbtn--danger { color: var(--lb-danger); }
.lb-linkbtn--danger:hover { color: var(--lb-danger); }

.lb-report > summary { padding: 4px 0; cursor: pointer; color: var(--lb-muted); list-style: none; }
.lb-report > summary::-webkit-details-marker { display: none; }
.lb-report > summary:hover { color: var(--lb-link-hover); text-decoration: underline; text-underline-offset: 3px; }
.lb-report[open] { flex-basis: 100%; }
.lb-report__form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.lb .lb-report__form input[type="text"] { flex: 1 1 220px; width: auto; }

.lb-filter {
  margin: 0 0 30px;
  padding: 11px 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 16px;
  font: 14px/1.5 var(--lb-meta);
  background: var(--lb-paper-2);
  border: 1px solid var(--lb-line);
  border-radius: 6px;
}
.lb .lb-filter a { font-weight: 600; }

.lb-pager {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--lb-line);
  font: 14px/1.4 var(--lb-meta);
}
.lb .lb-pager__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--lb-line);
  border-radius: 6px;
  color: var(--lb-link);
  transition: border-color .16s ease, background .16s ease;
}
.lb .lb-pager__link:hover { border-color: var(--lb-line-strong); background: var(--lb-chip); text-decoration: none; }
.lb-pager__link--older { text-align: right; grid-column: 3; }
.lb-pager__dir { font-weight: 700; }
.lb-pager__title { font: 15px/1.35 var(--lb-head); color: var(--lb-ink); overflow-wrap: anywhere; }
.lb-pager__home { grid-column: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 0 6px; text-align: center; color: var(--lb-muted); }
.lb-pager__home a { font-weight: 700; }
.lb-pager__home small { font-size: 12px; }

.lb-empty { text-align: center; padding: 48px 10px; font: 15.5px/1.6 var(--lb-meta); color: var(--lb-muted); }
.lb-empty strong { display: block; margin-bottom: 8px; font: 400 26px/1.3 var(--lb-head); color: var(--lb-ink); }
.lb-empty p { margin: 18px 0 0; }
.lb-page-head { margin-bottom: 26px; }
.lb-gb-intro { margin: 8px 0 0; color: var(--lb-muted); font: 15px/1.55 var(--lb-meta); }

/* ---------- Comments and forms ---------- */
.lb-comments { margin-top: 52px; padding-top: 30px; border-top: 1px solid var(--lb-line); scroll-margin-top: 90px; }
.lb .lb-comments h2 { margin: 0 0 8px; font: 400 24px/1.3 var(--lb-head); color: var(--lb-ink); }
.lb-comment-list { list-style: none; margin: 0; padding: 0; }
.lb-comment {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--lb-line);
  scroll-margin-top: 90px;
}
.lb-comment:target { margin-inline: -12px; padding-inline: 12px; border-radius: 6px; background: var(--lb-chip); }
.lb-comment__main { min-width: 0; }
.lb-comment__who { margin: 0 0 4px; font: 700 14px/1.4 var(--lb-meta); color: var(--lb-ink); }
.lb-comment__who span { font-weight: 400; color: var(--lb-muted); }
.lb-comment__body { font-size: 16px; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.lb-comment__when { margin: 8px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 14px; font: 12.5px/1.4 var(--lb-meta); color: var(--lb-muted); }
.lb-comment__when > form { display: inline; margin: 0; }
.lb .lb-comment__when a { color: var(--lb-muted); }
.lb .lb-comment__when a:hover { color: var(--lb-link-hover); }

.lb-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 20%;
  border: 1px solid var(--lb-line-strong);
  background: var(--lb-paper-2);
  display: grid;
  place-items: center;
  font: 400 18px/1 var(--lb-head);
  color: var(--lb-accent);
}
.lb-avatar--sm { width: 36px; height: 36px; font-size: 14px; }
/* Initial fallback: keep the letter centred in the circle wherever a widget restyles spans. */
.lb span.lb-avatar { display: grid; place-items: center; flex: none; overflow: hidden; line-height: 1; text-align: center; }

.lb-form {
  margin-top: 26px;
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--lb-line);
  border-radius: 8px;
  background: var(--lb-paper-2);
  scroll-margin-top: 90px;
}
.lb-form label { font: 700 14px/1.4 var(--lb-meta); color: var(--lb-ink); }
.lb textarea, .lb input[type="text"], .lb input[type="search"] {
  width: 100%;
  padding: 11px 13px;
  font: 15px/1.55 var(--lb-meta);
  color: var(--lb-ink);
  background: var(--lb-field);
  border: 1px solid var(--lb-line-strong);
  border-radius: 4px;
}
.lb textarea { min-height: 120px; resize: vertical; }
.lb textarea::placeholder, .lb input::placeholder { color: var(--lb-muted); opacity: .85; }
.lb-form__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font: 12.5px/1.4 var(--lb-meta); color: var(--lb-muted); }

.lb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 9px 18px;
  font: 700 13px/1.2 var(--lb-meta);
  letter-spacing: .02em;
  color: var(--lb-button-ink);
  background: var(--lb-button);
  border: 1px solid var(--lb-button);
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  transition: filter .16s ease, background .16s ease, border-color .16s ease;
}
.lb .lb-btn { color: var(--lb-button-ink); }
.lb .lb-btn:hover { filter: brightness(1.08); text-decoration: none; color: var(--lb-button-ink); }
.lb .lb-btn--ghost { background: transparent; color: var(--lb-link); border-color: var(--lb-line-strong); }
.lb .lb-btn--ghost:hover { filter: none; color: var(--lb-link-hover); background: var(--lb-chip); }
.lb-btn--block { width: 100%; }

.lb-signin {
  margin: 22px 0 0;
  padding: 16px;
  font: 14px/1.55 var(--lb-meta);
  text-align: center;
  color: var(--lb-ink);
  background: var(--lb-paper-2);
  border: 1px solid var(--lb-line);
  border-radius: 6px;
}
.lb .lb-signin a { font-weight: 700; }

/* ---------- Sidebar widgets ---------- */
.lb-sidebar { display: grid; gap: 18px; align-content: start; }
.lb-widget {
  background: var(--lb-paper);
  border: 1px solid var(--lb-line);
  border-radius: var(--lb-radius);
  padding: 18px 20px 20px;
  font: 14px/1.6 var(--lb-meta);
  color: var(--lb-ink);
}
.lb-widget > p { margin: 0; }
.lb-widget > :not(h2) + p, .lb-widget > :not(h2) + form { margin-top: 12px; }
.lb .lb-widget__title {
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  font: 700 11.5px/1.3 var(--lb-meta);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lb-muted);
}
.lb .lb-widget__title::after { content: ""; flex: 1; border-top: 1px solid var(--lb-line); }
.lb-widget ul { list-style: none; margin: 0; padding: 0; }
.lb-widget__more { font-weight: 600; }

.lb-about__head { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: center; }
.lb-about__portrait {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
  object-position: center 18%;
  border: 1px solid var(--lb-line-strong);
  background: var(--lb-paper-2);
}
.lb-about__portrait--blank { display: grid; place-items: center; font: 400 26px/1 var(--lb-head); color: var(--lb-accent); }
.lb-about__head--photo { grid-template-columns: 96px minmax(0, 1fr); }
.lb-about__portrait--photo { width: 96px; height: 96px; object-position: center; }
.lb-about__name { margin: 0; font: 400 19px/1.3 var(--lb-head); color: var(--lb-ink); overflow-wrap: anywhere; }
.lb-about__char { margin: 2px 0 0; font-size: 12.5px; color: var(--lb-muted); }
.lb-about__text { margin: 14px 0 0; white-space: pre-line; overflow-wrap: anywhere; }

.lb-follow-count { margin: 0 0 12px; color: var(--lb-muted); }
.lb-follow-count strong { font: 400 22px/1 var(--lb-head); color: var(--lb-ink); margin-right: 4px; }
.lb-followers { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
/* Child combinator: only the link/title wrappers, never the avatar span inside them. */
.lb-followers > a, .lb-followers > span { display: block; border-radius: 50%; line-height: 0; }

.lb-chars li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px 0; }
.lb-chars li + li { border-top: 1px solid var(--lb-line); }
.lb-chars img, .lb-chars .lb-char__blank { width: 44px; height: 44px; object-fit: cover; object-position: center 18%; border-radius: 8px; border: 1px solid var(--lb-line); background: var(--lb-paper-2); }
.lb-char__name { font-weight: 700; overflow-wrap: anywhere; }
.lb-char__info { font-size: 12.5px; color: var(--lb-muted); }

.lb-archive details { margin: 0; }
.lb-archive summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  cursor: pointer;
  list-style: none;
  color: var(--lb-ink);
}
.lb-archive summary::-webkit-details-marker { display: none; }
.lb-archive summary::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  margin: 0 4px 0 2px;
  border-right: 1.5px solid var(--lb-muted);
  border-bottom: 1.5px solid var(--lb-muted);
  transform: rotate(-45deg);
  transition: transform .16s ease;
}
.lb-archive details[open] > summary::before { transform: rotate(45deg); }
.lb-archive summary span { color: var(--lb-muted); font-size: 12.5px; }
.lb-archive details details { margin-left: 16px; }
.lb-archive ul { margin: 2px 0 8px 22px; padding-left: 12px; border-left: 1px solid var(--lb-line); }
.lb-archive li { padding: 4px 0; font-size: 13.5px; line-height: 1.45; }
.lb .lb-archive a[aria-current="page"] { color: var(--lb-ink); font-weight: 700; }

.lb-labels { display: flex; flex-wrap: wrap; gap: 6px; }

.lb-guestbook li { padding: 10px 0; border-bottom: 1px solid var(--lb-line); }
.lb-guestbook li:first-child { padding-top: 0; }
.lb-guestbook__who { font-weight: 700; }
.lb-guestbook__when { margin-left: 6px; color: var(--lb-muted); font-size: 12px; }
.lb-guestbook__text { margin: 3px 0 0; white-space: pre-line; overflow-wrap: anywhere; }
.lb-gbform { display: grid; gap: 8px; }
.lb .lb-gbform textarea { min-height: 78px; font-size: 14px; }
.lb-guestbook .lb-signin { margin-top: 14px; padding: 12px; }

.lb-bloglist li { padding: 8px 0; }
.lb-bloglist li + li { border-top: 1px solid var(--lb-line); }
.lb-bloglist a { font-weight: 600; }
.lb-bloglist small { display: block; color: var(--lb-muted); font-size: 12.5px; }

.lb-counter { display: flex; justify-content: center; gap: 3px; margin: 2px 0 8px; }
.lb-counter span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 34px;
  font: 700 19px/1 "Courier New", Courier, monospace;
  color: #ffd27a;
  background: linear-gradient(#262016 0 50%, #1a160f 50%);
  border: 1px solid #000;
  border-radius: 4px;
  box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 2px 4px rgba(0, 0, 0, .3);
  text-shadow: 0 0 6px rgba(255, 190, 80, .5);
}
.lb-counter-note { margin: 0; text-align: center; color: var(--lb-muted); font-size: 12.5px; }

.lb-footer {
  margin-top: 36px;
  padding-top: 18px;
  border-top: 1px solid var(--lb-line);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  font: 13px/1.6 var(--lb-meta);
  color: var(--lb-page-muted);
}
.lb .lb-footer__feed { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; }

@media (max-width: 960px) {
  .lb-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lb-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 640px) {
  .lb-notice, .lb-header, .lb-layout, .lb-footer, .lb-bar__inner { width: calc(100% - 24px); }
  .lb-bar__inner { gap: 4px 14px; }
  .lb-bar__right { margin-left: 0; width: 100%; }
  .lb .lb-bar__btn { min-height: 40px; }
  .lb-staff[open] { flex-basis: 100%; }
  .lb-staff__panel { position: static; width: auto; margin-top: 8px; box-shadow: none; }
  .lb-header { margin-top: 14px; min-height: 168px; }
  .lb-tagline { font-size: 15.5px; }
  .lb-layout { margin-top: 16px; }
  .lb-main { padding: 22px 18px 26px; }
  .lb-prose { font-size: 17px; line-height: 1.72; }
  .lb-post + .lb-date { margin-top: 46px; }
  .lb-post + .lb-post { margin-top: 36px; padding-top: 32px; }
  .lb-post__tools { margin-left: 0; }
  .lb-sidebar { grid-template-columns: minmax(0, 1fr); }
  .lb-pager { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lb-pager__home { grid-column: 1 / -1; grid-row: 2; padding-top: 4px; }
  .lb-pager__link--older { grid-column: 2; }
  .lb-pager__title { font-size: 14px; }
  .lb-comment { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
  .lb-comment .lb-avatar { width: 36px; height: 36px; font-size: 15px; }
  .lb-footer { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .lb *, .lbd *, .lb *::before, .lbd *::before { transition: none !important; animation: none !important; }
}

/* ---------- Site chrome: directory, dashboard and editor side panel ---------- */
.lbd {
  --d-gold: #cfb780;
  --d-gold-2: #e6d3a6;
  --d-ink: #ece4d2;
  --d-muted: #a39b88;
  --d-line: rgba(181, 155, 97, .22);
  --d-panel: #191916;
  --d-panel-2: #1f1f1b;
  --d-field: #10100e;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 20px 72px;
  color: var(--d-ink);
  font-family: Arial, Helvetica, sans-serif;
}
.lbd a { color: var(--d-gold-2); }
.lbd a:hover { color: #fff1cf; }
.lbd h1, .lbd h2, .lbd h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: #f6ead0; }
.lbd-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lbd-icon { display: inline-block; flex: none; }

.lbd-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px 40px;
  padding: clamp(28px, 4.5vw, 52px);
  border: 1px solid var(--d-line);
  border-radius: 8px;
  background:
    radial-gradient(640px 300px at 10% 0%, rgba(207, 183, 128, .14), transparent 70%),
    linear-gradient(145deg, #1d1c18, #121210 72%);
}
.lbd-eyebrow { margin: 0 0 12px; font: 600 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--d-gold); }
.lbd-hero h1 { margin: 0; font-size: clamp(36px, 5vw, 56px); line-height: 1.05; }
.lbd-hero p.lbd-lede { margin: 16px 0 0; max-width: 600px; font-size: 16px; line-height: 1.7; color: #c9c1ad; }
.lbd-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.lbd-hero .lbd-actions { margin: 0; justify-content: flex-end; }

.lbd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 18px;
  font: 600 13px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .03em;
  color: #1a160e !important;
  background: linear-gradient(135deg, #d8c28c, #a88951);
  border: 1px solid #d8c28c;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none !important;
  transition: background .16s ease, border-color .16s ease;
}
.lbd-btn:hover { background: linear-gradient(135deg, #e3cf9c, #b7985f); }
.lbd-btn--ghost { color: var(--d-gold-2) !important; background: rgba(181, 155, 97, .07); border-color: rgba(181, 155, 97, .32); }
.lbd-btn--ghost:hover { background: rgba(181, 155, 97, .14); border-color: rgba(207, 183, 128, .6); }
.lbd-btn--danger { color: #ffd5cf !important; background: transparent; border-color: rgba(214, 90, 74, .5); }
.lbd-btn--danger:hover { background: rgba(214, 90, 74, .12); }
.lbd-btn--sm { min-height: 34px; padding: 6px 11px; font-size: 12px; }

.lbd-section { margin-top: 48px; }
.lbd-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px 24px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--d-line);
}
.lbd-section__head h2 { margin: 0; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; }
.lbd-section__head p { margin: 6px 0 0; color: var(--d-muted); font-size: 14px; }

/* Fresh posts: the newest one leads, the rest follow in a grid. */
.lbd-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lbd-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(181, 155, 97, .22);
  border-radius: 6px;
  background: linear-gradient(150deg, #201f1c, #161614);
  color: var(--d-ink);
  text-decoration: none !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.lbd-card:hover { transform: translateY(-3px); border-color: rgba(213, 182, 129, .5); box-shadow: 0 14px 30px rgba(0, 0, 0, .4); }
.lbd-card__media { position: relative; display: block; flex: none; aspect-ratio: 16 / 9; overflow: hidden; background: #0d0d0b; border-bottom: 1px solid rgba(181, 155, 97, .16); }
.lbd-card__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.lbd-card:hover .lbd-card__img { transform: scale(1.03); }
.lbd-card__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 15px 17px 17px; }
.lbd-card__blog { font: 700 11px/1.4 Arial, Helvetica, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--d-gold); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lbd-card__title { font: 400 19px/1.3 Georgia, serif; color: #f3ead6; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lbd-card__excerpt { font-size: 13.5px; line-height: 1.6; color: #bdb5a2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lbd-card__meta { margin-top: auto; padding-top: 6px; font-size: 12px; color: var(--d-muted); }
/* Posts without a picture: no thumbnail block; the post's own excerpt leads, under a thin
   rule in the blog's theme accent. */
.lbd-card--text { box-shadow: inset 0 3px 0 var(--c-accent, #d0b785); }
.lbd-card--text:hover { box-shadow: inset 0 3px 0 var(--c-accent, #d0b785), 0 14px 30px rgba(0, 0, 0, .4); }
.lbd-card--text .lbd-card__body { gap: 8px; padding: 22px 20px 18px; }
.lbd-card--text .lbd-card__title { font-size: 21px; -webkit-line-clamp: 3; }
.lbd-card--text .lbd-card__excerpt { font: italic 15.5px/1.6 Georgia, serif; color: #d3cab5; -webkit-line-clamp: 6; }
@media (min-width: 961px) {
  .lbd-card--lead { grid-column: span 2; grid-row: span 2; }
  .lbd-card--lead .lbd-card__media { aspect-ratio: auto; flex: 1 1 auto; min-height: 260px; }
  .lbd-card--lead .lbd-card__body { flex: none; gap: 8px; padding: 20px 24px 22px; }
  .lbd-card--lead .lbd-card__title { font-size: 28px; -webkit-line-clamp: 3; }
  .lbd-card--lead .lbd-card__excerpt { font-size: 15px; -webkit-line-clamp: 3; }
  .lbd-card--lead:nth-last-child(2) { grid-row: auto; }
  .lbd-card--lead:only-child { grid-column: 1 / -1; grid-row: auto; flex-direction: row; }
  .lbd-card--lead:only-child .lbd-card__media { flex: 0 0 58%; min-height: 320px; border-bottom: 0; border-right: 1px solid rgba(181, 155, 97, .16); }
  .lbd-card--lead:only-child .lbd-card__body { flex: 1; justify-content: center; }
}

/* All blogs */
.lbd-search { display: flex; gap: 8px; width: min(100%, 400px); }
.lbd-search__field { position: relative; flex: 1; display: block; min-width: 0; }
.lbd-search__field .lbd-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--d-muted); pointer-events: none; }
.lbd .lbd-search input[type="search"] { min-height: 42px; padding-left: 38px; }
.lbd-search__clear { align-self: center; font-size: 13px; white-space: nowrap; }
.lbd input[type="text"], .lbd input[type="search"], .lbd textarea, .lbd select {
  width: 100%;
  padding: 10px 12px;
  font: 15px/1.4 Arial, Helvetica, sans-serif;
  color: var(--d-ink);
  background: var(--d-field);
  border: 1px solid var(--d-line);
  border-radius: 4px;
}
.lbd input:focus, .lbd textarea:focus { outline: 2px solid rgba(208, 183, 133, .55); outline-offset: 1px; }

.lbd-blogs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.lbd-blogs > li { min-width: 0; }
.lbd-blog {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  height: 100%;
  padding: 14px 18px 14px 14px;
  border: 1px solid rgba(181, 155, 97, .2);
  border-radius: 6px;
  background: linear-gradient(150deg, #1e1d1a, #161614);
  color: var(--d-ink);
  text-decoration: none !important;
  transition: border-color .18s ease, background .18s ease;
}
.lbd-blog:hover { border-color: rgba(213, 182, 129, .5); background: linear-gradient(150deg, #24231f, #181816); }
.lbd-blog__mark {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding-bottom: 4px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: var(--c-bg, #15130f);
  box-shadow: inset 0 -4px 0 var(--c-accent, #d0b785);
  color: var(--c-ink, #efe6d2);
  font: 400 24px/1 Georgia, serif;
}
.lbd-blog__body { display: grid; gap: 2px; min-width: 0; }
.lbd-blog__title { font: 400 19px/1.3 Georgia, serif; color: #f3ead6; overflow-wrap: anywhere; }
.lbd-blog__tagline { font-size: 13.5px; line-height: 1.5; color: #bdb5a2; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lbd-blog__meta { font-size: 12px; color: var(--d-muted); }
.lbd-blog__go { color: var(--d-gold); font-size: 18px; transition: transform .18s ease; }
.lbd-blog:hover .lbd-blog__go { transform: translateX(3px); }

.lbd-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 26px; font-size: 14px; color: var(--d-muted); }
.lbd-pager a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border: 1px solid rgba(181, 155, 97, .3); border-radius: 4px; background: rgba(181, 155, 97, .06); text-decoration: none; }
.lbd-pager a:hover { border-color: rgba(207, 183, 128, .6); background: rgba(181, 155, 97, .13); }
.lbd-empty { padding: 36px 24px; text-align: center; border: 1px dashed rgba(181, 155, 97, .3); border-radius: 8px; color: var(--d-muted); background: rgba(255, 244, 214, .02); }
.lbd-flash { margin: 0 0 18px; padding: 12px 16px; border: 1px solid var(--d-line); border-left: 3px solid var(--d-gold); border-radius: 6px; background: var(--d-panel); font-size: 14px; }
.lbd-flash--error { border-left-color: #d65a4a; }

.lbd-gate {
  max-width: 620px;
  margin: 36px auto;
  padding: clamp(30px, 5vw, 52px) clamp(20px, 5vw, 48px);
  text-align: center;
  border: 1px solid var(--d-line);
  border-radius: 8px;
  background: radial-gradient(420px 220px at 50% 0%, rgba(207, 183, 128, .13), transparent 72%), linear-gradient(160deg, #1d1c18, #131311);
}
.lbd-gate__mark { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 18px; border: 1px solid rgba(226, 197, 134, .5); border-radius: 50%; color: #f0d9a8; background: linear-gradient(140deg, rgba(160, 128, 66, .3), rgba(25, 27, 32, .75)); }
.lbd-gate h1 { margin: 0 0 10px; font-size: clamp(28px, 4vw, 38px); }
.lbd-gate p:not(.lbd-eyebrow) { margin: 0 auto; max-width: 460px; color: #cfc5b0; line-height: 1.65; }
.lbd-gate .lbd-actions { justify-content: center; margin-top: 26px; }

@media (max-width: 960px) {
  .lbd-hero { grid-template-columns: minmax(0, 1fr); }
  .lbd-hero .lbd-actions { justify-content: flex-start; }
  .lbd-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .lbd { padding: 18px 12px 52px; }
  .lbd-hero { padding: 26px 20px; }
  .lbd-hero .lbd-actions > * { flex: 1 1 auto; }
  .lbd-posts, .lbd-blogs { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .lbd-search { width: 100%; }
  .lbd-blog { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 12px 14px 12px 12px; }
  .lbd-blog__mark { width: 44px; height: 44px; font-size: 20px; }
  .lbd-blog__go { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lbd-card:hover, .lbd-card:hover .lbd-card__img, .lbd-blog:hover .lbd-blog__go { transform: none; }
}

/* Dashboard */
.lbd-dash-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.lbd-dash-head h1 { margin: 0; font-size: 36px; }
.lbd-dash-head p { margin: 4px 0 0; color: var(--d-muted); }
.lbd-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 18px; border-bottom: 1px solid var(--d-line); }
.lbd-tabs a { padding: 9px 14px; font-size: 14px; color: var(--d-muted); border: 1px solid transparent; border-bottom: 0; text-decoration: none; }
.lbd-tabs a[aria-current="page"] { color: #f6ead0; background: var(--d-panel); border-color: var(--d-line); margin-bottom: -1px; }
.lbd-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.lbd-stat { padding: 14px 16px; border: 1px solid var(--d-line); background: var(--d-panel); }
.lbd-stat strong { display: block; font: 400 26px/1.1 Georgia, serif; color: #f6ead0; }
.lbd-stat span { font-size: 12px; color: var(--d-muted); letter-spacing: .06em; text-transform: uppercase; }

.lbd-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lbd-table th { text-align: left; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--d-muted); padding: 8px 10px; border-bottom: 1px solid var(--d-line); }
.lbd-table td { padding: 11px 10px; border-bottom: 1px solid rgba(208, 183, 133, .09); vertical-align: middle; }
.lbd-table td.num { text-align: right; font-variant-numeric: tabular-nums; color: #cfc5b0; }
.lbd-table .actions { text-align: right; white-space: nowrap; }
.lbd-table .actions form { display: inline; }
.lbd-pill { display: inline-block; padding: 2px 8px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-radius: 999px; border: 1px solid var(--d-line); color: var(--d-muted); }
.lbd-pill--live { color: #b7e3a1; border-color: rgba(140, 200, 110, .4); }
.lbd-pill--hidden { color: #ffb4a8; border-color: rgba(214, 90, 74, .45); }
.lbd-linkbtn { font: inherit; color: var(--d-gold-2); background: none; border: 0; padding: 0; cursor: pointer; }
.lbd-linkbtn--danger { color: #ff9f92; }

.lbd-panel { padding: 22px 24px; border: 1px solid var(--d-line); background: var(--d-panel); }
.lbd-form { display: grid; gap: 20px; }
.lbd-field { display: grid; gap: 6px; align-content: start; }
.lbd-field > label, .lbd-field > .lbd-label { font-size: 13px; font-weight: 700; color: #e9dfc8; }
.lbd-field small { color: var(--d-muted); font-size: 12.5px; }
.lbd-address { display: flex; align-items: stretch; }
.lbd-address span { display: grid; place-items: center; padding: 0 10px; font-size: 14px; color: var(--d-muted); background: var(--d-panel-2); border: 1px solid var(--d-line); border-right: 0; border-radius: 3px 0 0 3px; white-space: nowrap; }
.lbd-address input { border-radius: 0 3px 3px 0 !important; }
.lbd-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.lbd-themes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lbd-theme { position: relative; display: block; cursor: pointer; }
.lbd-theme input, .lbd-header-pick input, .lbd-charpick input { position: absolute; opacity: 0; pointer-events: none; }
.lbd-theme__card { display: block; border: 1px solid var(--d-line); background: var(--d-panel-2); transition: border-color .15s ease, box-shadow .15s ease; }
.lbd-theme__preview { display: block; height: 74px; padding: 10px; }
.lbd-theme__preview i { display: block; height: 10px; width: 60%; margin-bottom: 7px; border-radius: 2px; }
.lbd-theme__preview b { display: block; height: 6px; margin-bottom: 5px; border-radius: 2px; opacity: .55; }
.lbd-theme__name { display: block; padding: 8px 10px 2px; font: 400 15px/1.3 Georgia, serif; color: #f6ead0; }
.lbd-theme__note { display: block; padding: 0 10px 9px; font-size: 12px; color: var(--d-muted); }
.lbd-theme input:checked + .lbd-theme__card, .lbd-header-pick input:checked + span, .lbd-charpick input:checked + span { border-color: var(--d-gold); box-shadow: 0 0 0 2px rgba(208, 183, 133, .35); }
.lbd-theme input:focus-visible + .lbd-theme__card, .lbd-header-pick input:focus-visible + span, .lbd-charpick input:focus-visible + span { outline: 2px solid var(--d-gold); outline-offset: 2px; }

.lbd-headers { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.lbd-header-pick { position: relative; cursor: pointer; }
.lbd-header-pick span { display: block; border: 1px solid var(--d-line); background: var(--d-panel-2); }
.lbd-header-pick img, .lbd-header-pick em { display: block; width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.lbd-header-pick em { display: grid; place-items: center; font-size: 12px; font-style: normal; color: var(--d-muted); }
.lbd-header-pick b { display: block; padding: 5px 8px; font-size: 12px; font-weight: 400; color: #e9dfc8; }

.lbd-charpicks { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.lbd-charpick { position: relative; cursor: pointer; }
.lbd-charpick > span { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: center; padding: 8px; border: 1px solid var(--d-line); background: var(--d-panel-2); }
.lbd-charpick img, .lbd-charpick i { width: 44px; height: 44px; border-radius: 4px; object-fit: cover; object-position: center 18%; background: #0c0b08; }
.lbd-charpick strong { display: block; font-size: 14px; color: #f6ead0; }
.lbd-charpick small { font-size: 12px; color: var(--d-muted); }
.lbd-toggles { display: flex; flex-wrap: wrap; gap: 18px; }
.lbd-toggles label { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.lbd-toggles input { width: 18px; height: 18px; accent-color: #d0b785; }

.lbd-reading { display: grid; gap: 12px; }
.lbd-reading a { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: center; padding: 10px; border: 1px solid var(--d-line); background: var(--d-panel); color: var(--d-ink); text-decoration: none; }
.lbd-reading img, .lbd-reading i { width: 120px; aspect-ratio: 16 / 9; object-fit: cover; background: #0c0b08; display: block; }

.lbd-comments { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lbd-comments li { padding: 12px 14px; border: 1px solid var(--d-line); background: var(--d-panel); }
.lbd-comments p { margin: 4px 0 0; white-space: pre-line; color: #d8cfbb; font-size: 14px; }
.lbd-comments .meta { font-size: 12.5px; color: var(--d-muted); display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.lbd-comments form { display: inline; }

/* Editor */
.lbw { max-width: 1180px; margin: 0 auto; padding: 22px 18px 70px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 22px; align-items: start; }
.lbw-surface { border: 1px solid var(--lb-line); background: var(--lb-paper); box-shadow: var(--lb-shadow); }
.lb .lbw-surface input.lbw-title {
  display: block;
  width: 100%;
  padding: 24px 30px 12px;
  font: 400 clamp(24px, 3vw, 32px)/1.2 var(--lb-head);
  color: var(--lb-accent);
  background: transparent;
  border: 0;
  border-bottom: 1px dashed var(--lb-line);
}
.lbw-title::placeholder { color: var(--lb-muted); opacity: .7; }
.lbw-title:focus { outline: none; }
.lbw-toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 6px 10px;
  background: var(--lb-paper-2);
  border-bottom: 1px solid var(--lb-line);
}
.lbw-toolbar button {
  min-width: 34px;
  height: 32px;
  padding: 0 8px;
  font: 700 13px/1 var(--lb-meta);
  color: var(--lb-ink);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer;
}
.lbw-toolbar button:hover { border-color: var(--lb-line); background: var(--lb-paper); }
.lbw-toolbar button[aria-pressed="true"] { border-color: var(--lb-accent); color: var(--lb-accent); }
.lbw-toolbar .sep { width: 1px; margin: 4px 6px; background: var(--lb-line); }
.lbw-toolbar svg { width: 16px; height: 16px; vertical-align: middle; }
.lbw-body { min-height: 460px; padding: 22px 30px 40px; outline: none; }
.lbw-body:empty::before { content: attr(data-placeholder); color: var(--lb-muted); opacity: .7; pointer-events: none; }
.lbw-body img.is-uploading { opacity: .45; filter: grayscale(1); }
.lbw-drop { outline: 2px dashed var(--lb-accent); outline-offset: -8px; }
.lbw-side {
  --d-gold: #d0b785;
  --d-gold-2: #e6cf9d;
  --d-ink: #ece4d2;
  --d-muted: #a69c87;
  --d-line: rgba(208, 183, 133, .18);
  --d-panel: #17150f;
  --d-panel-2: #1d1a13;
  display: grid;
  gap: 14px;
  position: sticky;
  top: 12px;
  color: var(--d-ink);
  font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
}
.lbw-side h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: #f6ead0; }
.lbw-side h2 label { cursor: pointer; }
.lbw-side .lbd-panel { box-shadow: var(--lb-shadow); }
.lbw-side .lbd-panel { padding: 16px 18px; }
.lbw-side h2 { margin: 0 0 10px; font-size: 18px; }
.lbw-side p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--d-muted); }
.lbw-status { font-size: 12.5px; color: var(--d-muted); min-height: 1.2em; }
.lbw-buttons { display: grid; gap: 8px; }
.lbw-tips li { margin: 0 0 6px; font-size: 13px; color: #cfc5b0; }
.lbw-tips { margin: 0; padding-left: 18px; list-style: disc; }

@media (max-width: 960px) {
  .lbw { grid-template-columns: minmax(0, 1fr); }
  .lbw-side { position: static; }
  .lbd-themes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lbd-headers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .lbd-two { grid-template-columns: minmax(0, 1fr); }
  .lbd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lbd-headers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lbd-table .hide-sm { display: none; }
  .lbw { padding: 14px 0 48px; }
  .lbw-surface { border-left: 0; border-right: 0; }
  .lbw-title { padding: 18px 16px 10px; }
  .lbw-body { padding: 16px 16px 30px; }
  .lbw-side { padding: 0 16px; }
  .lbd-reading a { grid-template-columns: 90px minmax(0, 1fr); }
  .lbd-reading img, .lbd-reading i { width: 90px; }
}

/* ---------- Site theme overrides ----------
   reborn-site.css restyles every heading, field, form button and link hover on inner pages,
   several with !important, and page-polish.css sets one gold focus ring by ID. Blogs bring
   their own look: headings read their style from --lbh-* set per element; fields, buttons,
   link hovers and focus rings follow the blog theme so light themes stay readable. */
body.reborn-site-theme:not(.reborn-home-theme) .lb :is(h1, h2, h3, h4, h5) {
  color: var(--lbh-color, var(--lb-ink)) !important;
  font-family: var(--lbh-font, var(--lb-head)) !important;
  font-weight: var(--lbh-weight, 400) !important;
  letter-spacing: var(--lbh-spacing, normal) !important;
  text-shadow: var(--lbh-shadow, none) !important;
}
.lb .lb-title { --lbh-color: var(--lb-title); --lbh-shadow: 0 2px 16px rgba(0, 0, 0, .4); }
.lb .lb-date { --lbh-color: var(--lb-muted); --lbh-font: var(--lb-meta); --lbh-weight: 700; --lbh-spacing: .16em; }
.lb .lb-post__title { --lbh-color: var(--lb-accent); }
.lb-prose h2 { --lbh-color: var(--lb-accent); }
.lb-prose h3 { --lbh-color: var(--lb-ink); --lbh-weight: 700; }
.lb .lb-comments h2 { --lbh-color: var(--lb-ink); }
.lb .lb-widget__title { --lbh-color: var(--lb-muted); --lbh-font: var(--lb-meta); --lbh-weight: 700; --lbh-spacing: .16em; }
.lbw-side h2 { --lbh-color: #f6ead0; --lbh-font: Georgia, "Times New Roman", serif; }

body.reborn-site-theme:not(.reborn-home-theme) .lb :is(input, select, textarea) {
  color: var(--lb-ink) !important;
  background: var(--lb-field) !important;
  border-color: var(--lb-line-strong) !important;
  border-radius: 4px !important;
}
body.reborn-site-theme:not(.reborn-home-theme) .lb :is(input, select, textarea):focus { border-color: var(--lb-accent) !important; }
body.reborn-site-theme:not(.reborn-home-theme) .lb input.lbw-title {
  color: var(--lb-accent) !important;
  background: transparent !important;
  border-color: var(--lb-line) !important;
  border-radius: 0 !important;
}
body.reborn-site-theme:not(.reborn-home-theme) .lb .lb-staff__panel input[type="text"] { color: #e7dcc1 !important; background: #10100e !important; border-color: rgba(181, 155, 97, .3) !important; }

body.reborn-site-theme:not(.reborn-home-theme) .lb a:hover { color: var(--lb-link-hover); }
body.reborn-site-theme:not(.reborn-home-theme) .lb :is(.lb-title, .lb-post__title) a:hover { color: inherit; }
body.reborn-site-theme:not(.reborn-home-theme) .lb .lb-bar a:hover { color: #f6e6bf; }
body.reborn-site-theme:not(.reborn-home-theme) .lb .lb-bar a.lb-bar__btn--primary:hover { color: #1a160e; }
body.reborn-site-theme:not(.reborn-home-theme) .lb a.lb-btn:hover { color: var(--lb-button-ink); }
body.reborn-site-theme:not(.reborn-home-theme) .lb a.lb-btn--ghost:hover { color: var(--lb-link-hover); }

.reborn-site-theme #site-page-content .lb :focus-visible { outline-color: var(--lb-focus); }
.reborn-site-theme #site-page-content .lb .lb-header--art :focus-visible { outline-color: var(--lb-title); }
.reborn-site-theme #site-page-content .lb .lb-bar :focus-visible { outline-color: #e2c88e; }

body.reborn-site-theme:not(.reborn-home-theme) .lb .lb-btn { border-color: var(--lb-button) !important; }
body.reborn-site-theme:not(.reborn-home-theme) .lb .lb-btn--ghost { border-color: var(--lb-line-strong) !important; }
body.reborn-site-theme:not(.reborn-home-theme) .lb .lb-staff__panel .lb-btn--danger { border-color: #a3352a !important; }
body.reborn-site-theme:not(.reborn-home-theme) .lbw-toolbar button { border-color: transparent !important; }
body.reborn-site-theme:not(.reborn-home-theme) .lbw-toolbar button:hover { border-color: var(--lb-line) !important; }
body.reborn-site-theme:not(.reborn-home-theme) .lbw-toolbar button[aria-pressed="true"] { border-color: var(--lb-accent) !important; }
body.reborn-site-theme:not(.reborn-home-theme) .lbd-btn--danger { border-color: rgba(214, 90, 74, .5) !important; }

/* ---------- Theme identities ----------
   Giran Night is the base look above and is not restyled here. The other five reshape it with
   composition, type and CSS-only ornament. Ornaments are empty pseudo-elements that sit behind
   text or in padding and never take pointer input. Header, layout, main, widget and
   .lb-post__body rules only reach the reading page; .lb-prose rules also style the editor's
   writing surface. Headings set --lbh-* so the site theme's heading overrides agree. */
:is(.lb-theme-parchment, .lb-theme-oren, .lb-theme-elven, .lb-theme-blood, .lb-theme-minima) :is(.lb-title, .lb-post__title) { overflow-wrap: anywhere; }

/* Talking Island Parchment: one ivory folio. The header is its title page (or a framed plate
   around a banner); posts and margin notes share a single sheet ruled in bronze. */
.lb-theme-parchment .lb-header {
  border-color: rgba(122, 84, 36, .34);
  border-bottom: 3px double rgba(122, 84, 36, .5);
  border-radius: 3px 3px 0 0;
}
.lb-theme-parchment .lb-header::before {
  content: "";
  position: absolute;
  inset: 7px 7px 0;
  border: 1px solid rgba(154, 106, 44, .4);
  border-bottom: 0;
  pointer-events: none;
}
.lb-theme-parchment .lb-header--art::before { border-color: rgba(236, 206, 146, .5); }
.lb-theme-parchment .lb-header--art::after {
  background:
    linear-gradient(90deg, rgba(31, 15, 8, .84) 0%, rgba(31, 15, 8, .5) 48%, rgba(31, 15, 8, .1) 100%),
    linear-gradient(0deg, rgba(31, 15, 8, .55), transparent 60%);
}
.lb-theme-parchment .lb-header__inner::before {
  content: "";
  display: block;
  width: 132px;
  height: 9px;
  margin: 0 0 16px;
  background:
    radial-gradient(circle, #e8c98e 0 2.5px, transparent 3px) 50% 50% / 9px 9px no-repeat,
    linear-gradient(90deg, transparent, rgba(236, 206, 146, .75)) 0 50% / calc(50% - 10px) 1px no-repeat,
    linear-gradient(90deg, rgba(236, 206, 146, .75), transparent) 100% 50% / calc(50% - 10px) 1px no-repeat;
}
.lb-theme-parchment .lb-header:not(.lb-header--art) { align-items: center; justify-content: center; text-align: center; }
.lb-theme-parchment .lb-header:not(.lb-header--art) .lb-header__inner { padding: clamp(32px, 5vw, 54px) clamp(24px, 5vw, 56px); }
.lb-theme-parchment .lb-header:not(.lb-header--art) .lb-header__inner::before,
.lb-theme-parchment .lb-post + .lb-post::before {
  content: "";
  display: block;
  width: 132px;
  height: 9px;
  margin: 0 auto 20px;
  background:
    radial-gradient(circle, #8f2b1b 0 2.5px, transparent 3px) 50% 50% / 9px 9px no-repeat,
    linear-gradient(90deg, transparent, rgba(154, 106, 44, .8)) 0 50% / calc(50% - 10px) 1px no-repeat,
    linear-gradient(90deg, rgba(154, 106, 44, .8), transparent) 100% 50% / calc(50% - 10px) 1px no-repeat;
}
.lb-theme-parchment .lb-header:not(.lb-header--art) .lb-title { --lbh-color: #6e1d12; --lbh-shadow: none; color: #6e1d12; text-shadow: none; }
.lb-theme-parchment .lb-header:not(.lb-header--art) .lb-tagline { margin-inline: auto; color: #5a4532; opacity: 1; }
.lb-theme-parchment .lb-header:not(.lb-header--art) .lb-header__by { color: #7a5424; opacity: 1; }
.lb-theme-parchment .lb-title { --lbh-spacing: .01em; letter-spacing: .01em; }
.lb-theme-parchment .lb-header__by { font: 400 15px/1.4 var(--lb-meta); letter-spacing: .12em; font-variant-caps: all-small-caps; }

.lb-theme-parchment .lb-layout {
  position: relative;
  box-sizing: border-box;
  margin-top: 0;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 32px 44px;
  padding: clamp(30px, 4.4vw, 54px) clamp(22px, 4.6vw, 58px) clamp(34px, 4.4vw, 56px);
  background: var(--lb-paper);
  border: 1px solid rgba(122, 84, 36, .34);
  border-top: 0;
  border-radius: 0 0 3px 3px;
  box-shadow: 0 1px 3px rgba(74, 44, 16, .08), 0 34px 60px -34px rgba(74, 44, 16, .42);
}
.lb-theme-parchment .lb-layout::before {
  content: "";
  position: absolute;
  inset: 0 7px 7px;
  border: 1px solid rgba(154, 106, 44, .4);
  border-top: 0;
  pointer-events: none;
}
.lb-theme-parchment .lb-main { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.lb-theme-parchment .lb-sidebar { gap: 26px; padding-left: 30px; border-left: 1px solid var(--lb-line); }
.lb-theme-parchment .lb-widget { padding: 0; background: none; border: 0; border-radius: 0; }
.lb-theme-parchment .lb-widget + .lb-widget { padding-top: 24px; border-top: 1px solid var(--lb-line); }

.lb-theme-parchment .lb-date,
.lb-theme-parchment .lb-widget__title {
  --lbh-weight: 400;
  --lbh-spacing: .1em;
  justify-content: center;
  gap: 14px;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: .1em;
  font-variant-caps: all-small-caps;
}
.lb-theme-parchment .lb-date { --lbh-color: #7a5424; color: #7a5424; }
.lb-theme-parchment .lb-widget__title { --lbh-color: var(--lb-accent); --lbh-font: var(--lb-head); font-family: var(--lb-head); color: var(--lb-accent); }
.lb-theme-parchment :is(.lb-date, .lb-widget__title)::before,
.lb-theme-parchment :is(.lb-date, .lb-widget__title)::after {
  content: "";
  flex: 1;
  max-width: 120px;
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, transparent, var(--lb-line-strong));
}
.lb-theme-parchment :is(.lb-date, .lb-widget__title)::after { background: linear-gradient(90deg, var(--lb-line-strong), transparent); }

.lb-theme-parchment :is(.lb-post__head, .lb-page-head) { text-align: center; }
.lb-theme-parchment .lb-post__head::after { content: ""; display: block; width: 44px; height: 1px; margin: 18px auto 0; background: #9a6a2c; }
.lb-theme-parchment .lb-post__title { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.16; }
.lb-theme-parchment :is(.lb-post__byline, .lb-badges) { justify-content: center; }
.lb-theme-parchment :is(.lb-post__byline, .lb-gb-intro) { font-size: 15px; font-style: italic; }
.lb-theme-parchment .lb-post + .lb-post { padding-top: 0; border-top: 0; }
.lb-theme-parchment .lb-post + .lb-post::before { margin-bottom: 40px; }
/* Illuminated opening: a drop cap on each post's first paragraph. */
.lb-theme-parchment .lb-post__body > p:first-child { display: flow-root; }
.lb-theme-parchment .lb-post__body > p:first-child::first-letter {
  float: left;
  margin: .06em .1em 0 0;
  font: 400 3.3em/.8 var(--lb-head);
  color: var(--lb-accent);
}
.lb-theme-parchment .lb-prose h2 { font-size: 1.5em; }
.lb-theme-parchment .lb-prose h3 {
  --lbh-color: #7a5424;
  --lbh-weight: 400;
  --lbh-spacing: .08em;
  font: 400 1.3em/1.3 var(--lb-head);
  letter-spacing: .08em;
  font-variant-caps: all-small-caps;
  color: #7a5424;
}
.lb-theme-parchment .lb-prose blockquote {
  padding: .9em 1.4em;
  border-left: 4px double rgba(154, 106, 44, .75);
  border-radius: 0;
  background: linear-gradient(90deg, rgba(154, 106, 44, .09), rgba(154, 106, 44, 0) 85%);
  color: #3a2a1d;
}
.lb-theme-parchment .lb-prose hr {
  width: 160px;
  height: 9px;
  background:
    radial-gradient(circle, #8f2b1b 0 2.5px, transparent 3px) 50% 50% / 9px 9px no-repeat,
    linear-gradient(90deg, transparent, rgba(154, 106, 44, .8)) 0 50% / calc(50% - 10px) 1px no-repeat,
    linear-gradient(90deg, rgba(154, 106, 44, .8), transparent) 100% 50% / calc(50% - 10px) 1px no-repeat;
}
.lb-theme-parchment .lb-prose a { text-decoration-color: rgba(143, 43, 27, .45); }
.lb-theme-parchment .lb-prose img {
  box-sizing: border-box;
  padding: 6px;
  background: #fffdf8;
  border-color: rgba(122, 84, 36, .3);
  border-radius: 2px;
  box-shadow: 0 14px 28px -14px rgba(74, 44, 16, .45);
}

.lb-theme-parchment :is(.lb-main, .lb-sidebar) :is(.lb-btn, .lb-more) { border-radius: 2px; font-size: 15px; letter-spacing: .08em; font-variant-caps: all-small-caps; }
.lb-theme-parchment :is(.lb-chips a, .lb-badge, .lb-filter, .lb-pager__link, .lb-form, .lb-signin) { border-radius: 2px; }
.lb-theme-parchment .lb-chips a { background: transparent; border-color: rgba(122, 84, 36, .3); font-size: 13.5px; font-style: italic; }
.lb-theme-parchment .lb-about__portrait { box-sizing: border-box; padding: 3px; border-radius: 2px; background: #fffdf8; }
.lb-theme-parchment .lb-counter span {
  font-family: var(--lb-head);
  color: #fbefd4;
  background: linear-gradient(#86271a 0 50%, #6f1e13 50%);
  border-color: #4a120b;
  border-radius: 2px;
  text-shadow: none;
  box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 1px 2px rgba(74, 44, 16, .3);
}
.lb-theme-parchment .lb-footer { justify-content: center; text-align: center; border-top: 0; font-size: 14px; font-style: italic; }

/* Oren Frost: a moonlit northern sky. Midnight backdrop, a moon and glacier ridges under the
   plain header, and icy reading panels edged in silver blue. */
.lb-theme-oren .lb-header { --lb-focus: #cfe3f7; border-color: rgba(176, 210, 244, .26); }
.lb-theme-oren .lb-header--art::after {
  background:
    linear-gradient(90deg, rgba(6, 14, 28, .86) 0%, rgba(6, 14, 28, .52) 48%, rgba(6, 14, 28, .12) 100%),
    linear-gradient(0deg, rgba(6, 14, 28, .6), transparent 60%);
}
.lb-theme-oren .lb-header:not(.lb-header--art)::before,
.lb-theme-oren .lb-header:not(.lb-header--art)::after,
.lb-theme-oren .lb-header:not(.lb-header--art) .lb-header__inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.lb-theme-oren .lb-header:not(.lb-header--art)::before {
  inset: 0;
  background: radial-gradient(circle at calc(100% - 72px) 54px, #eef5ff 0 15px, rgba(214, 232, 255, .32) 16px, rgba(160, 200, 250, .1) 44px, transparent 120px);
}
/* Far ridge (snow-lit tips stay dark enough for white text), then the near ridge. */
.lb-theme-oren .lb-header:not(.lb-header--art) .lb-header__inner::before {
  right: 0;
  bottom: 0;
  left: 0;
  height: 64%;
  background: linear-gradient(180deg, #4f79a6 0, #27486f 20%, #15304d 70%);
  clip-path: polygon(0 100%, 0 58%, 7% 40%, 13% 52%, 21% 24%, 29% 46%, 36% 34%, 45% 60%, 53% 30%, 60% 44%, 68% 8%, 76% 38%, 83% 26%, 91% 48%, 100% 32%, 100% 100%);
}
.lb-theme-oren .lb-header:not(.lb-header--art)::after {
  right: 0;
  bottom: 0;
  left: 0;
  height: 42%;
  background: linear-gradient(180deg, #3d6690 0, #142a45 16%, #0b1729 62%);
  clip-path: polygon(0 100%, 0 52%, 8% 72%, 17% 40%, 25% 62%, 34% 48%, 43% 76%, 53% 42%, 62% 64%, 71% 28%, 80% 56%, 89% 40%, 100% 66%, 100% 100%);
}
.lb-theme-oren .lb-title { --lbh-spacing: .015em; --lbh-shadow: 0 2px 18px rgba(2, 10, 24, .55); letter-spacing: .015em; text-shadow: 0 2px 18px rgba(2, 10, 24, .55); }
.lb-theme-oren .lb-tagline { font-family: var(--lb-head); font-style: normal; color: #d8e6f5; opacity: 1; }
.lb-theme-oren .lb-header__by { letter-spacing: .2em; color: #b9d3ef; opacity: 1; }

.lb-theme-oren :is(.lb-main, .lb-widget) {
  background:
    linear-gradient(90deg, #8db5de, #e3eef9 50%, #8db5de) 0 0 / 100% 3px no-repeat,
    linear-gradient(180deg, #f9fbfe, #f1f6fb 420px);
  border-color: rgba(196, 222, 248, .5);
}
.lb-theme-oren .lb-main { box-shadow: 0 30px 70px -20px rgba(0, 6, 18, .7), 0 0 0 1px rgba(4, 12, 26, .5); }
.lb-theme-oren .lb-widget { box-shadow: 0 18px 40px -16px rgba(0, 6, 18, .6); }
.lb-theme-oren :is(.lb-date, .lb-widget__title) { --lbh-color: #2d5680; --lbh-spacing: .2em; letter-spacing: .2em; color: #2d5680; }
.lb-theme-oren .lb-date span { padding: 5px 13px; border: 1px solid rgba(38, 84, 136, .22); border-radius: 999px; background: linear-gradient(180deg, #ffffff, #e9f1fa); }
.lb-theme-oren .lb-date::after { border-top-color: rgba(38, 84, 136, .18); }
.lb-theme-oren .lb-post__title { --lbh-spacing: -.005em; font-size: clamp(28px, 3.3vw, 38px); line-height: 1.16; letter-spacing: -.005em; }
.lb-theme-oren .lb-prose h2 { padding-bottom: .35em; border-bottom: 1px solid var(--lb-line); }
.lb-theme-oren .lb-prose h3 { --lbh-color: #1f4d7f; --lbh-weight: 600; font-weight: 600; color: #1f4d7f; }
.lb-theme-oren .lb-prose li::marker { color: #4f86bd; }
.lb-theme-oren .lb-prose blockquote {
  border-left-color: #7fa9d4;
  border-radius: 0 10px 10px 0;
  background: linear-gradient(90deg, rgba(127, 169, 212, .16), rgba(127, 169, 212, .03));
  font-style: normal;
  color: #20395a;
}
.lb-theme-oren .lb-prose hr { width: 200px; background: linear-gradient(90deg, transparent, #8db5de, transparent); }
.lb-theme-oren .lb-prose img { border-color: rgba(38, 84, 136, .18); border-radius: 8px; box-shadow: 0 18px 36px -16px rgba(16, 42, 74, .5); }
.lb-theme-oren :is(.lb-chips a, .lb-badge) { border-radius: 4px; }
.lb-theme-oren :is(.lb-main, .lb-sidebar) :is(.lb-btn, .lb-more) { border-radius: 4px; }
.lb-theme-oren :is(.lb-main, .lb-sidebar) .lb-btn:not(.lb-btn--ghost) { background-image: linear-gradient(180deg, #2a6aab, #1b5390); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2); }
.lb-theme-oren .lb-counter span { color: #d9ecff; background: linear-gradient(#1a3354 0 50%, #11243f 50%); border-color: #0a1628; text-shadow: 0 0 6px rgba(140, 196, 255, .55); }
/* The footer sits on the midnight page, not on a panel. */
.lb-theme-oren .lb-footer { --lb-link: #bcd6f2; --lb-link-hover: #ffffff; --lb-focus: #cfe3f7; border-top-color: rgba(176, 210, 244, .18); }

/* Elven Forest: emerald halls under arches. Arched panels with a fine inner rule, leaf marks
   cut from rounded corners, jade italics and warm ivory text. */
.lb-theme-elven .lb-header { border-color: rgba(126, 206, 166, .22); }
.lb-theme-elven .lb-header--art::after {
  background:
    linear-gradient(90deg, rgba(4, 18, 12, .86) 0%, rgba(4, 18, 12, .5) 48%, rgba(4, 18, 12, .1) 100%),
    linear-gradient(0deg, rgba(4, 18, 12, .58), transparent 60%);
}
.lb-theme-elven .lb-header:not(.lb-header--art)::before,
.lb-theme-elven .lb-header:not(.lb-header--art)::after {
  content: "";
  position: absolute;
  bottom: 0;
  z-index: -1;
  border: 1px solid rgba(158, 220, 188, .3);
  border-bottom: 0;
  border-radius: 999px 999px 0 0;
  pointer-events: none;
}
.lb-theme-elven .lb-header:not(.lb-header--art)::before { right: 7%; width: 200px; height: 82%; background: radial-gradient(ellipse at 50% 30%, rgba(186, 232, 196, .12), transparent 70%); }
.lb-theme-elven .lb-header:not(.lb-header--art)::after { right: calc(7% + 12px); width: 176px; height: calc(82% - 12px); border-color: rgba(158, 220, 188, .18); }
.lb-theme-elven .lb-title { font-style: italic; letter-spacing: .005em; }
.lb-theme-elven .lb-tagline { color: #e6ecdc; }
.lb-theme-elven .lb-header__by { letter-spacing: .22em; color: #b8e2c9; opacity: 1; }

.lb-theme-elven :is(.lb-main, .lb-widget) { position: relative; isolation: isolate; border-color: rgba(126, 206, 166, .2); }
.lb-theme-elven .lb-main {
  padding-top: clamp(38px, 4.6vw, 54px);
  background: radial-gradient(70% 300px at 50% 0%, rgba(126, 206, 166, .08), transparent 75%), var(--lb-paper);
  border-radius: 50% 50% 14px 14px / 34px 34px 14px 14px;
}
.lb-theme-elven .lb-widget {
  padding-top: 26px;
  background: radial-gradient(80% 140px at 50% 0%, rgba(126, 206, 166, .07), transparent 75%), var(--lb-paper);
  border-radius: 50% 50% 12px 12px / 20px 20px 12px 12px;
}
.lb-theme-elven :is(.lb-main, .lb-widget)::before {
  content: "";
  position: absolute;
  inset: 6px;
  z-index: -1;
  border: 1px solid rgba(126, 206, 166, .12);
  border-radius: 50% 50% 9px 9px / 29px 29px 9px 9px;
  pointer-events: none;
}
.lb-theme-elven .lb-widget::before { border-radius: 50% 50% 7px 7px / 15px 15px 7px 7px; }
.lb-theme-elven :is(.lb-date, .lb-widget__title) { --lbh-color: #a4cdb6; --lbh-weight: 600; --lbh-spacing: .2em; gap: 12px; font-weight: 600; letter-spacing: .2em; color: #a4cdb6; }
.lb-theme-elven :is(.lb-date, .lb-widget__title)::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 0 100%; background: linear-gradient(135deg, #b5e6cb, #4f9e7a); }
.lb-theme-elven :is(.lb-date, .lb-widget__title)::after { height: 1px; border: 0; background: linear-gradient(90deg, rgba(126, 206, 166, .4), transparent); }
.lb-theme-elven .lb-post__title { --lbh-color: #a6dfc2; font-size: clamp(29px, 3.5vw, 42px); font-style: italic; line-height: 1.12; color: #a6dfc2; }
.lb-theme-elven .lb-post__body > p:first-child::first-line { font-variant-caps: small-caps; letter-spacing: .035em; color: #f6f0dc; }
.lb-theme-elven .lb-prose h2 { font-size: 1.55em; font-style: italic; }
.lb-theme-elven .lb-prose li::marker { color: #7cc9a3; }
.lb-theme-elven .lb-prose blockquote {
  padding: 1em 1.4em;
  border-left: 2px solid #6fbf98;
  border-radius: 0 26px 0 26px;
  background: linear-gradient(115deg, rgba(126, 206, 166, .11), rgba(126, 206, 166, .02));
}
.lb-theme-elven .lb-prose hr {
  width: 150px;
  height: 9px;
  background:
    radial-gradient(7px 3.5px at 50% 50%, #8fd1b0 80%, transparent 100%),
    linear-gradient(90deg, transparent, rgba(126, 206, 166, .5)) 0 50% / calc(50% - 14px) 1px no-repeat,
    linear-gradient(90deg, rgba(126, 206, 166, .5), transparent) 100% 50% / calc(50% - 14px) 1px no-repeat;
}
.lb-theme-elven .lb-prose img { border-color: rgba(126, 206, 166, .22); border-radius: 14px; box-shadow: 0 18px 38px rgba(0, 0, 0, .42); }
.lb-theme-elven :is(.lb-main, .lb-sidebar) :is(.lb-btn, .lb-more, .lb-chips a, .lb-badge) { border-radius: 14px 3px; }
.lb-theme-elven .lb-about__portrait { border-radius: 50% 50% 10px 10px / 36% 36% 10px 10px; }
.lb-theme-elven .lb-counter span { color: #b8f0d2; background: linear-gradient(#173a2b 0 50%, #10291f 50%); border-color: #04100a; border-radius: 6px; text-shadow: 0 0 6px rgba(120, 220, 170, .5); }
.lb-theme-elven .lb-footer { border-top-color: rgba(126, 206, 166, .2); }

/* Blood Pledge: an obsidian siege chronicle. Steel-edged, riveted panels, crimson pennants
   for dates and the plain header's war banner, bold bone-white titles. */
.lb-theme-blood .lb-header { border-color: #2e2526; border-bottom: 2px solid #a51b24; }
.lb-theme-blood .lb-header--art::after {
  background:
    linear-gradient(90deg, rgba(12, 6, 6, .86) 0%, rgba(12, 6, 6, .52) 48%, rgba(12, 6, 6, .12) 100%),
    linear-gradient(0deg, rgba(12, 6, 6, .6), transparent 60%);
}
.lb-theme-blood .lb-header:not(.lb-header--art)::before,
.lb-theme-blood .lb-header:not(.lb-header--art)::after {
  --lbx-banner-right: clamp(22px, 7%, 84px);
  --lbx-banner-width: clamp(44px, 5vw, 62px);
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.lb-theme-blood .lb-header:not(.lb-header--art)::before {
  top: 12px;
  right: var(--lbx-banner-right);
  width: var(--lbx-banner-width);
  height: 64%;
  background:
    radial-gradient(circle at 50% 34%, transparent 0 8px, rgba(255, 216, 206, .5) 8.5px 10px, transparent 10.5px),
    linear-gradient(90deg, rgba(0, 0, 0, .28), transparent 30% 70%, rgba(0, 0, 0, .28)),
    linear-gradient(180deg, #a81c25, #66101a);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 84%, 0 100%);
}
.lb-theme-blood .lb-header:not(.lb-header--art)::after {
  top: 9px;
  right: calc(var(--lbx-banner-right) - 8px);
  width: calc(var(--lbx-banner-width) + 16px);
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, #b0a3a1, #4d4444);
}
.lb-theme-blood .lb-title {
  --lbh-weight: 700;
  --lbh-spacing: .045em;
  --lbh-shadow: 0 2px 18px rgba(0, 0, 0, .6);
  font-weight: 700;
  font-size: clamp(28px, 4.1vw, 46px);
  line-height: 1.1;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .6);
}
body.reborn-site-theme:not(.reborn-home-theme) .lb-theme-blood .lb-title { text-transform: uppercase !important; }
.lb-theme-blood .lb-tagline { font-family: var(--lb-body); color: #e9dcd8; }
.lb-theme-blood .lb-header__by { letter-spacing: .2em; color: #e8b9b2; opacity: 1; }

.lb-theme-blood :is(.lb-main, .lb-widget) {
  border-color: #3a3031 #241d1e #191415 #2b2324;
  background:
    radial-gradient(circle at 11px 11px, #6a5d5d 0 1.5px, #2c2425 2px 3px, transparent 3.5px),
    radial-gradient(circle at calc(100% - 11px) 11px, #6a5d5d 0 1.5px, #2c2425 2px 3px, transparent 3.5px),
    radial-gradient(circle at 11px calc(100% - 11px), #6a5d5d 0 1.5px, #2c2425 2px 3px, transparent 3.5px),
    radial-gradient(circle at calc(100% - 11px) calc(100% - 11px), #6a5d5d 0 1.5px, #2c2425 2px 3px, transparent 3.5px),
    linear-gradient(180deg, #181314, #120e0f 520px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 0 0 1px rgba(0, 0, 0, .55), var(--lb-shadow);
}
.lb-theme-blood .lb-main { border-top: 2px solid #a51b24; }
.lb-theme-blood .lb-date { --lbh-color: #fff3f0; --lbh-spacing: .18em; gap: 12px; letter-spacing: .18em; color: #fff3f0; }
.lb-theme-blood .lb-date span { padding: 5px 22px 5px 12px; background: linear-gradient(180deg, #b3202a, #8a1820); clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 0 100%); }
.lb-theme-blood :is(.lb-date, .lb-widget__title)::after { border-top-color: rgba(232, 214, 210, .13); }
.lb-theme-blood .lb-widget__title { --lbh-color: #efe6e2; --lbh-spacing: .2em; letter-spacing: .2em; color: #efe6e2; }
.lb-theme-blood .lb-widget__title::before { content: ""; flex: none; width: 14px; height: 3px; background: #b3202a; }
.lb-theme-blood .lb-post__title { --lbh-color: #f8efec; --lbh-weight: 700; font-weight: 700; font-size: clamp(28px, 3.3vw, 40px); line-height: 1.12; color: #f8efec; }
.lb-theme-blood :is(.lb-post__head, .lb-page-head)::after { content: ""; display: block; width: 56px; height: 3px; margin-top: 18px; background: linear-gradient(90deg, #c42a2f, #7d1218); }
.lb-theme-blood .lb-comments h2 { --lbh-weight: 700; font-weight: 700; }
.lb-theme-blood .lb-prose h2 { --lbh-color: #f8efec; --lbh-weight: 700; padding-left: .6em; border-left: 3px solid #b3202a; font-weight: 700; color: #f8efec; }
.lb-theme-blood .lb-prose h3 { --lbh-color: #ecb8b0; color: #ecb8b0; }
.lb-theme-blood .lb-prose blockquote { border-left-color: #b3202a; border-radius: 0; background: linear-gradient(90deg, rgba(179, 32, 42, .13), rgba(179, 32, 42, .02)); }
.lb-theme-blood .lb-prose hr { width: 160px; height: 2px; background: linear-gradient(90deg, transparent, rgba(232, 214, 210, .22) 28%, #b3202a 40% 60%, rgba(232, 214, 210, .22) 72%, transparent); }
.lb-theme-blood .lb-prose img { border-color: #3a3031; border-radius: 2px; box-shadow: 0 0 0 4px #0c0909, 0 0 0 5px #2e2526, 0 20px 40px rgba(0, 0, 0, .55); }
.lb-theme-blood :is(.lb-chips a, .lb-badge, .lb-about__portrait) { border-radius: 2px; }
.lb-theme-blood :is(.lb-main, .lb-sidebar) :is(.lb-btn, .lb-more) { border-radius: 2px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.lb-theme-blood :is(.lb-main, .lb-sidebar) .lb-btn:not(.lb-btn--ghost) { background-image: linear-gradient(180deg, #c42a2f, #8c1820); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16); }
.lb-theme-blood .lb-counter span { color: #ff7a6b; background: linear-gradient(#221819 0 50%, #170f10 50%); border-radius: 2px; text-shadow: 0 0 7px rgba(255, 70, 50, .55); }
.lb-theme-blood .lb-footer { border-top-color: rgba(179, 32, 42, .4); }

/* Aden Minima: a light editorial publication. A ruled masthead, bold ink headlines, open
   columns split by a hairline, and a single vermilion accent. */
.lb-theme-minima .lb-header { border: 0; border-radius: 2px; box-shadow: none; }
.lb-theme-minima .lb-title { --lbh-weight: 800; --lbh-spacing: -.03em; font-weight: 800; line-height: 1.02; letter-spacing: -.03em; }
.lb-theme-minima .lb-header:not(.lb-header--art) {
  min-height: 0;
  margin-top: clamp(26px, 4vw, 48px);
  justify-content: center;
  text-align: center;
  border-top: 4px solid #141414;
  border-bottom: 1px solid #141414;
  border-radius: 0;
  box-shadow: inset 0 -4px 0 var(--lb-page), inset 0 -5px 0 #141414;
}
.lb-theme-minima .lb-header:not(.lb-header--art) .lb-header__inner { max-width: 960px; padding: clamp(30px, 5vw, 56px) 8px clamp(28px, 4vw, 44px); }
.lb-theme-minima .lb-header:not(.lb-header--art) .lb-title { --lbh-color: #141414; --lbh-shadow: none; font-size: clamp(40px, 6.6vw, 80px); color: #141414; text-shadow: none; }
.lb-theme-minima .lb-header:not(.lb-header--art) .lb-tagline { max-width: 640px; margin: 16px auto 0; font: italic 19px/1.5 var(--lb-body); color: #454545; opacity: 1; }
.lb-theme-minima .lb-header:not(.lb-header--art) .lb-header__by { margin-top: 22px; font-weight: 700; letter-spacing: .22em; color: #141414; opacity: 1; }
.lb-theme-minima .lb-header:not(.lb-header--art) .lb-header__by span { color: var(--lb-accent); }

.lb-theme-minima .lb-layout { margin-top: clamp(28px, 4vw, 52px); gap: 48px; }
.lb-theme-minima .lb-main { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.lb-theme-minima .lb-sidebar { gap: 32px; }
.lb-theme-minima .lb-widget { padding: 14px 0 0; background: none; border: 0; border-top: 2px solid #141414; border-radius: 0; }
.lb-theme-minima .lb-widget__title { --lbh-color: #141414; --lbh-spacing: .2em; letter-spacing: .2em; color: #141414; }
.lb-theme-minima .lb-widget__title::after { display: none; }
.lb-theme-minima .lb-widget p a { text-decoration: underline; text-decoration-color: var(--lb-accent); text-underline-offset: 3px; }
.lb-theme-minima .lb-date { --lbh-color: var(--lb-accent); font-size: 12px; color: var(--lb-accent); }
.lb-theme-minima .lb-post__head { margin-bottom: 28px; }
.lb-theme-minima .lb-post__title { --lbh-color: #141414; --lbh-weight: 800; --lbh-spacing: -.028em; font-weight: 800; font-size: clamp(30px, 4vw, 46px); line-height: 1.06; letter-spacing: -.028em; color: #141414; }
.lb-theme-minima .lb-post__byline { font-size: 14px; }
.lb-theme-minima .lb-comments h2 { --lbh-weight: 800; --lbh-spacing: -.02em; font-weight: 800; letter-spacing: -.02em; }
.lb-theme-minima .lb-prose h2 { --lbh-color: #141414; --lbh-weight: 800; --lbh-spacing: -.02em; font-weight: 800; font-size: 1.4em; line-height: 1.2; letter-spacing: -.02em; color: #141414; }
.lb-theme-minima .lb-prose h3 { --lbh-color: #141414; --lbh-font: var(--lb-meta); --lbh-spacing: .16em; font: 700 .8em/1.4 var(--lb-meta); letter-spacing: .16em; text-transform: uppercase; color: #141414; }
.lb-theme-minima .lb-prose a { text-decoration-color: var(--lb-accent); text-decoration-thickness: 1.5px; }
.lb-theme-minima .lb-prose blockquote { margin: 2em 0; padding: .1em 0 .1em 1.1em; border-left-color: var(--lb-accent); border-radius: 0; background: none; font-size: 1.18em; line-height: 1.55; color: #141414; }
.lb-theme-minima .lb-prose hr { width: 56px; height: 3px; margin: 2.8em auto; background: #141414; }
.lb-theme-minima .lb-prose img { margin: 2.2em auto; border: 0; border-radius: 0; background: none; box-shadow: none; }
.lb-theme-minima :is(.lb-chips a, .lb-badge, .lb-pager__link, .lb-form, .lb-signin, .lb-about__portrait) { border-radius: 2px; }
.lb-theme-minima .lb-chips a { background: transparent; border-color: var(--lb-line-strong); }
.lb-theme-minima :is(.lb-main, .lb-sidebar) .lb-btn { border-radius: 2px; letter-spacing: .06em; }
.lb-theme-minima .lb-more { min-height: 40px; padding: 6px 0; border: 0; border-bottom: 2px solid var(--lb-accent); border-radius: 0; }
.lb-theme-minima .lb-more:hover { color: var(--lb-accent); background: none; border-color: var(--lb-accent); }
.lb-theme-minima .lb-filter { padding-inline: 0; background: none; border: 0; border-block: 1px solid #141414; border-radius: 0; }
.lb-theme-minima .lb-pager { border-top: 2px solid #141414; }
.lb-theme-minima .lb-counter span { font-family: var(--lb-meta); color: #141414; background: #ffffff; border-color: #141414; border-radius: 2px; box-shadow: none; text-shadow: none; }
.lb-theme-minima .lb-footer { border-top: 2px solid #141414; }

/* Editor title field: match each theme's post titles. Five classes beat blog-author.css. */
.lb-theme-blood input.lbw-title { --lb-accent: #f8efec; }
.lb-theme-minima input.lbw-title { --lb-accent: #141414; }
.lb.lb-theme-elven.lb--author .lbw-surface input.lbw-title { font-style: italic; }
.lb.lb-theme-blood.lb--author .lbw-surface input.lbw-title { font-weight: 700; }
.lb.lb-theme-minima.lb--author .lbw-surface input.lbw-title { font-weight: 800; letter-spacing: -.025em; }

@media (min-width: 961px) {
  .lb-theme-minima .lb-sidebar { padding-left: 32px; border-left: 1px solid var(--lb-line); }
}
@media (max-width: 960px) {
  .lb-theme-parchment .lb-layout { grid-template-columns: minmax(0, 1fr); }
  .lb-theme-parchment .lb-sidebar { padding: 4px 0 0; border-left: 0; }
  .lb-theme-parchment .lb-widget,
  .lb-theme-parchment .lb-widget + .lb-widget { padding-top: 20px; border-top: 1px solid var(--lb-line-strong); }
  /* No moon disc where a long title could reach the corner; keep only its glow. */
  .lb-theme-oren .lb-header:not(.lb-header--art)::before { background: radial-gradient(circle at calc(100% - 36px) 30px, rgba(214, 232, 255, .2), transparent 90px); }
}
@media (max-width: 640px) {
  .lb-theme-parchment .lb-layout { padding: 26px 20px 30px; }
  .lb-theme-parchment .lb-header:not(.lb-header--art) .lb-header__inner { padding: 30px 22px; }
  .lb-theme-parchment .lb-footer { align-items: center; }
  .lb-theme-elven .lb-header:not(.lb-header--art)::before { width: 128px; height: 76%; }
  .lb-theme-elven .lb-header:not(.lb-header--art)::after { width: 104px; height: calc(76% - 12px); }
  .lb-theme-minima :is(.lb-notice, .lb-header, .lb-layout, .lb-footer) { width: calc(100% - 40px); }
  .lb-theme-minima .lb-header:not(.lb-header--art) .lb-tagline { font-size: 17px; }
}
