/* Generated by scripts/extract-reader-css.py from assets/css/vera.css: only the blog reader (Scroll / Pages, page turning, columns, full screen, progress). Do not edit by hand.
   Colours come from these tokens, which a page sets: --forest (controls), --white (text on controls), --line, --muted, --paper, --wash, --reader-surface (page), --reader-cover, --reader-cover-light, --reader-cover-dark (the binding of the book), --reader-sheen-top, --reader-sheen-bottom, --reader-edge, --reader-edge-dark (page tone and edge). */
.blog-columns-picker .profile-links-hint, .blog-view-picker .profile-links-hint { flex-basis: 100%; margin: 2px 0 0; }
.blog-size-small { font-size: 13px; }
.blog-size-medium { font-size: 15px; }
.blog-size-large { font-size: 17px; }
.blog-size-compact { font-size: 14px; }
.blog-size-comfortable { font-size: 16px; }
.blog-size-xlarge { font-size: 19px; }
.blog-size-xxlarge { font-size: 21px; }
@media (min-width: 1100px) {
.blog-content.blog-columns-double {
    display: block;
    column-count: 2;
    column-gap: 88px;
    column-fill: balance;
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    padding: 44px 56px 36px;
    background:
      linear-gradient(90deg, transparent calc(50% - 46px), rgba(29, 48, 42, 0.07) calc(50% - 1px), rgba(29, 48, 42, 0.16) 50%, rgba(29, 48, 42, 0.07) calc(50% + 1px), transparent calc(50% + 46px)),
      var(--reader-surface, #fffdf8);
    border: 1px solid var(--line);
    border-radius: 3px;
    box-shadow: 0 18px 44px rgba(29, 48, 42, 0.1), 0 2px 0 rgba(29, 48, 42, 0.04);
    font-size: 16px;
  }
.blog-content.blog-columns-double > * { grid-column: auto; }
.blog-content.blog-columns-double .bt,
  .blog-content.blog-columns-double .bt-solo,
  .blog-content.blog-columns-double .bt-a,
  .blog-content.blog-columns-double .bt-b,
  .blog-content.blog-columns-double .bt-pair { max-width: none; padding: 0; border: 0; text-align: left; font-style: inherit; font-size: inherit; margin: 0 0 var(--blog-gap, 20px); }
.blog-content.blog-columns-double .blog-image,
  .blog-content.blog-columns-double .blog-image.bi-multi,
  .blog-content.blog-columns-double .blog-image.bi-spread { display: block; width: 100%; margin: 0 0 var(--blog-gap, 20px); break-inside: avoid; padding: 0; transform: none; background: none; border: 0; box-shadow: none; }
.blog-content.blog-columns-double .blog-image.bi-multi img,
  .blog-content.blog-columns-double .blog-image.bi-spread img,
  .blog-content.blog-columns-double .blog-image img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.blog-content.blog-columns-double .blog-image.bi-hero { column-span: all; margin-bottom: 28px; }
.blog-content.blog-columns-double .blog-image.bi-hero img { aspect-ratio: 16 / 7; object-fit: cover; }
.blog-content.blog-columns-double.blog-fit-cover .blog-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.blog-content.blog-columns-double .blog-image::before { content: none; }
.blog-content.blog-columns-double .blog-unit { break-inside: avoid-column; margin: 0 0 var(--blog-gap, 20px); }
.blog-content.blog-columns-double .blog-listen { column-span: all; margin-bottom: 20px; }
.blog-content.blog-columns-double p { text-align: justify; hyphens: auto; orphans: 3; widows: 3; }
.blog-content.blog-columns-double > p:first-of-type::first-letter { float: left; margin: 4px 8px 0 0; color: var(--forest); font-size: 52px; line-height: 0.85; }
.blog-layout-classic.blog-columns-double, .blog-layout-letter.blog-columns-double, .blog-layout-minimal.blog-columns-double { max-width: 1120px; }
.blog-layout-letter.blog-columns-double { font-style: italic; }
.blog-layout-magazine.blog-columns-double > p:first-of-type::first-line { font-weight: 700; }
}
.blog-blocks .blog-text-block {
  border-left-color: var(--forest);
}
.blog-text-block textarea {
  width: 100%;
  min-height: 76px;
  resize: vertical;
  border: 1px solid transparent;
  border-radius: 2px;
  padding: 8px 10px;
  color: var(--ink);
  background: transparent;
  font: 400 14.5px/1.7 "DM Sans", sans-serif;
}
.blog-text-block textarea:focus {
  border-color: var(--line);
  outline: none;
  background: var(--white);
}
@media (max-width: 600px) {
.blog-text-block textarea {
    font-size: 16px;
  }
}
@keyframes blog-saved-flash { 0% { transform: scale(0.98); box-shadow: 0 0 0 0 rgba(31, 107, 58, 0.45); } 40% { transform: scale(1.01); box-shadow: 0 0 0 10px rgba(31, 107, 58, 0); } 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(31, 107, 58, 0); } }
.blog-text-block textarea { min-height: 240px; max-height: 70vh; }
.blog-management-layout.is-focus .blog-text-block textarea { min-height: 62vh; }
.blog-viewer { margin: 0 0 24px; white-space: normal; }
/* The page-stack edge of an open book sits outside the viewer; on a phone it must not widen the page sideways. */
.blog-viewer.is-paged { overflow-x: clip; }
.blog-viewer[data-wide="1"] { position: relative; left: var(--wide-left, 0px); width: min(3200px, calc(100vw - 48px)); }
.blog-view-bar { display: flex; justify-content: flex-end; margin: 0 0 12px; }
.blog-view-tools { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; margin: 0 0 12px; }
.blog-view-tools .blog-view-bar { margin: 0; }
.blog-view-bar button[hidden] { display: none; }
.blog-view-bar[hidden], .blog-book-turn[hidden], .blog-book-count[hidden] { display: none; }
.blog-view-bar button { min-height: 34px; padding: 0 14px; border: 1px solid var(--line); background: transparent; color: var(--forest); font: 600 12px/1 "DM Sans", sans-serif; cursor: pointer; }
.blog-view-bar button + button { border-left: 0; }
.blog-view-bar button[aria-pressed="true"] { border-color: var(--forest); background: var(--forest); color: var(--white); }
.blog-view-bar button:focus-visible, .blog-book-turn:focus-visible, .blog-book-window:focus-visible { outline: 2px solid var(--forest); outline-offset: 3px; }
.blog-book-stage { position: relative; }
.blog-viewer.is-paged .blog-book-stage { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px; }
.blog-viewer.is-paged .blog-book-window { position: relative; box-sizing: content-box; overflow: clip; max-width: none; padding: var(--page-pad-y, 36px) var(--page-pad-x, 44px); border: 1px solid var(--reader-edge, #e3ddca); border-radius: 2px 3px 3px 2px; background: var(--reader-surface, #fffdf8); }
.blog-viewer.is-paged[data-spread="1"] .blog-book-window { background: linear-gradient(90deg, transparent calc(50% - var(--fold, 46px)), rgba(29, 48, 42, 0.07) calc(50% - 1px), rgba(29, 48, 42, 0.16) 50%, rgba(29, 48, 42, 0.07) calc(50% + 1px), transparent calc(50% + var(--fold, 46px))), var(--reader-surface, #fffdf8); }
.blog-book-body { position: relative; isolation: isolate; margin-inline: auto; }
.blog-viewer.is-paged .blog-book-body::before { content: ""; position: absolute; z-index: -2; top: -6px; bottom: -6px; left: calc(-6px - var(--edge-left, 3px)); right: calc(-6px - var(--edge-right, 3px)); border-radius: 4px; background: linear-gradient(180deg, var(--reader-cover-light, #2f5546), var(--reader-cover, #1c3a2e)); box-shadow: 0 24px 44px rgba(29, 48, 42, 0.22), 0 3px 0 rgba(29, 48, 42, 0.12); }
.blog-book-edge { display: none; position: absolute; z-index: -1; top: 3px; bottom: 3px; background: repeating-linear-gradient(90deg, var(--reader-surface, #fffdf8) 0 2px, var(--reader-edge-dark, #cfc7b0) 2px 3px); }
.blog-viewer.is-paged .blog-book-edge { display: block; }
.blog-book-edge-left { right: 100%; width: var(--edge-left, 3px); border-radius: 2px 0 0 2px; }
.blog-book-edge-right { left: 100%; width: var(--edge-right, 3px); border-radius: 0 2px 2px 0; box-shadow: inset 2px 0 3px rgba(29, 48, 42, 0.18); }
.blog-book-turn { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--reader-surface, #fffdf8); color: var(--forest); font: 400 28px/1 "DM Sans", sans-serif; cursor: pointer; }
.blog-book-turn:hover:not(:disabled) { border-color: var(--forest); background: var(--forest); color: var(--white); }
.blog-book-turn:disabled { opacity: 0.35; cursor: default; }
.blog-book-count { margin: 12px 0 0; color: var(--muted); font: 500 12px/1.4 "DM Sans", sans-serif; text-align: center; }
.blog-viewer.is-paged .blog-book-prev { order: 1; }
.blog-viewer.is-paged .blog-book-body { order: 0; flex: 0 1 auto; }
.blog-viewer.is-paged .blog-book-next { order: 2; }
@media (max-width: 1239px) {
.blog-viewer.is-paged .blog-book-stage { display: grid; grid-template-columns: 1fr 1fr; column-gap: 10px; }
.blog-viewer.is-paged .blog-book-body { grid-column: 1 / -1; justify-self: center; }
.blog-viewer.is-paged .blog-book-prev { justify-self: end; }
.blog-viewer.is-paged .blog-book-next { justify-self: start; }
}
@media (min-width: 1240px) {
.blog-viewer.is-paged .blog-book-stage { flex-wrap: nowrap; }
.blog-viewer.is-paged .blog-book-prev { order: -1; }
}
.blog-viewer.is-paged .blog-book-clip { overflow: clip; }
.blog-viewer.is-paged .blog-book-window { touch-action: pan-y pinch-zoom; overscroll-behavior-x: contain; }
.blog-viewer.is-paged .blog-book-stage { padding: 18px 0; }
.blog-viewer.is-paged .blog-content.is-turning { opacity: 0; transition: opacity 0.14s ease; }
.blog-viewer.is-paged .blog-content { display: block; position: relative; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: left; overflow: visible; transition: opacity 0.22s ease; }
.blog-viewer.is-paged .blog-content > * { grid-column: auto; }
.blog-viewer.is-paged .blog-content .bt, .blog-viewer.is-paged .blog-content > p, .blog-viewer.is-paged .blog-content .blog-unit { max-width: none; padding: 0; border: 0; margin: 0 0 var(--blog-gap, 20px); font-style: inherit; text-align: justify; hyphens: auto; }
.blog-viewer.is-paged .blog-content .blog-unit { break-inside: avoid-column; }
.blog-viewer.is-paged .blog-content .blog-image { display: block; width: 100%; margin: 0 0 var(--blog-gap, 20px); padding: 0; border: 0; background: none; box-shadow: none; transform: none; break-inside: avoid; column-span: none; }
.blog-viewer.is-paged .blog-content .blog-image::before { content: none; }
.blog-viewer.is-paged .blog-content .blog-image img { display: block; width: auto; max-width: 100%; max-height: var(--book-img-max, 520px); height: auto; margin-inline: auto; aspect-ratio: auto; object-fit: contain; background: none; }
.blog-viewer.is-paged .blog-content .blog-listen { break-inside: avoid; }
.blog-viewer.is-paged .blog-voice-enhanced, .blog-viewer.is-paged figure .blog-voice-enhanced { position: static !important; left: auto !important; top: auto !important; margin: 0 0 10px !important; }
.blog-viewer.is-paged .blog-voice-enhanced .vp-label { display: inline !important; }
.blog-viewer.is-paged .blog-book-window::after { content: ""; position: absolute; inset: 0; opacity: 0; pointer-events: none; background: linear-gradient(90deg, rgba(29, 48, 42, 0), rgba(29, 48, 42, 0.16) 50%, rgba(29, 48, 42, 0)); }
.blog-viewer.is-paged .blog-book-stage.is-flipping .blog-book-window::after { animation: blog-page-turn 0.45s ease; }
@keyframes blog-page-turn { 0% { opacity: 0; transform: translateX(-30%); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateX(30%); } }
@media (prefers-reduced-motion: reduce) {
.blog-viewer.is-paged .blog-content, .blog-viewer.is-paged .blog-content.is-turning { transition: none; }
.blog-viewer.is-paged .blog-book-stage.is-flipping .blog-book-window::after { animation: none; }
}
.blog-fullscreen { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; color: var(--forest); cursor: pointer; }
.blog-fullscreen[hidden] { display: none; }
.blog-fullscreen:hover { border-color: var(--forest); }
.blog-fullscreen:focus-visible { outline: 2px solid var(--forest); outline-offset: 3px; }
.blog-fullscreen .icon-exit, .blog-fullscreen[aria-pressed="true"] .icon-enter { display: none; }
.blog-fullscreen[aria-pressed="true"] .icon-exit { display: block; }
.blog-viewer.is-fullscreen, .blog-viewer.is-fullscreen[data-wide="1"] { position: fixed; inset: 0; z-index: 2000; width: auto; left: 0; margin: 0; padding: 14px 24px 8px; overflow: hidden; display: flex; flex-direction: column; justify-content: center; background-color: var(--paper); background-image: linear-gradient(135deg, var(--wash), transparent 48%), repeating-linear-gradient(0deg, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent 72px); }
.blog-viewer.is-fullscreen .blog-view-tools { margin: 0 0 4px; }
.blog-viewer.is-fullscreen .blog-book-stage { padding: 10px 0; }
.blog-view-tools { gap: 10px 12px; align-items: center; }
.blog-viewer.is-paged .blog-view-tools { justify-content: center; }
.blog-view-tools .blog-view-bar { display: inline-flex; gap: 2px; padding: 3px; border-radius: 11px; background: rgba(29, 48, 42, 0.07); }
.blog-view-bar[hidden] { display: none; }
.blog-view-tools .blog-view-bar button { min-height: 30px; padding: 0 13px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: 600 12px/1 "DM Sans", sans-serif; letter-spacing: 0.01em; transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease; }
.blog-view-tools .blog-view-bar button:hover { color: var(--forest); }
.blog-view-tools .blog-view-bar button[aria-pressed="true"] { background: var(--reader-surface, #fffdf8); color: var(--forest); box-shadow: 0 1px 2px rgba(29, 48, 42, 0.18), 0 0 0 0.5px rgba(29, 48, 42, 0.08); }
.blog-view-tools .blog-fullscreen { width: 36px; height: 36px; border: 0; border-radius: 11px; background: rgba(29, 48, 42, 0.07); transition: background 0.18s ease; }
.blog-view-tools .blog-fullscreen:hover { background: rgba(29, 48, 42, 0.13); }
.blog-book-turn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(255, 253, 248, 0.84); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--forest); font-size: 0; box-shadow: 0 1px 2px rgba(29, 48, 42, 0.14), 0 8px 22px rgba(29, 48, 42, 0.12); transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease; }
.blog-book-turn::before { content: ""; width: 10px; height: 10px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; border-radius: 1px; transform: translateX(-2px) rotate(45deg); }
.blog-book-prev::before { transform: translateX(2px) rotate(-135deg); }
.blog-book-turn:hover:not(:disabled) { background: var(--reader-surface, #fffdf8); color: var(--forest); transform: scale(1.07); box-shadow: 0 1px 2px rgba(29, 48, 42, 0.16), 0 12px 28px rgba(29, 48, 42, 0.18); }
.blog-book-turn:active:not(:disabled) { transform: scale(0.97); }
.blog-book-turn:disabled { opacity: 0.28; }
.blog-book-count { margin-top: 6px; letter-spacing: 0.05em; font-variant-numeric: tabular-nums; }
.blog-viewer.is-paged .blog-book-body::before { background: linear-gradient(180deg, var(--reader-cover-light, #355b4b) 0%, var(--reader-cover, #1f3d31) 55%, var(--reader-cover-dark, #17302a) 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 26px 50px rgba(29, 48, 42, 0.24), 0 3px 0 rgba(29, 48, 42, 0.14); }
.blog-viewer.is-paged .blog-book-window { border: 0; background-color: var(--reader-surface, #fffdf8); background-image: linear-gradient(180deg, var(--reader-sheen-top, rgba(255, 255, 255, 0.7)), var(--reader-sheen-bottom, rgba(246, 240, 226, 0.45))); }
.blog-viewer.is-paged[data-spread="1"] .blog-book-window { background-image: linear-gradient(90deg, transparent calc(50% - var(--fold, 46px)), rgba(29, 48, 42, 0.06) calc(50% - 1px), rgba(29, 48, 42, 0.17) 50%, rgba(29, 48, 42, 0.06) calc(50% + 1px), transparent calc(50% + var(--fold, 46px))), linear-gradient(180deg, var(--reader-sheen-top, rgba(255, 255, 255, 0.7)), var(--reader-sheen-bottom, rgba(246, 240, 226, 0.45))); }
.blog-viewer.is-paged .blog-content:not(.is-bilingual):not(.is-leaf) > p:first-of-type::first-letter, .blog-viewer.is-paged .blog-content:not(.is-bilingual):not(.is-leaf) > .bt:first-of-type::first-letter { float: left; margin: 0.06em 0.1em 0 0; color: var(--forest); font: 500 3.2em/0.82 var(--display-font); }
.blog-viewer.is-paged .blog-content p { text-wrap: pretty; }
.blog-settings { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; border-radius: 11px; background: rgba(29, 48, 42, 0.07); color: var(--forest); cursor: pointer; }
.blog-settings[hidden] { display: none; }
.blog-progress, .blog-ios-tip { display: none; }
.blog-viewer.is-fullscreen.is-immersive { display: block; height: 100dvh; padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); }
.blog-viewer.is-immersive .blog-book-stage { position: relative; display: flex; align-items: center; justify-content: center; height: 100%; padding: 0; }
.blog-viewer.is-immersive .blog-book-body::before, .blog-viewer.is-immersive .blog-book-edge { display: none; content: none; }
.blog-viewer.is-immersive .blog-book-window { border: 0; border-radius: 0; box-shadow: none; }
.blog-viewer.is-immersive .blog-view-tools { position: absolute; z-index: 6; top: calc(env(safe-area-inset-top, 0px) + 6px); left: calc(env(safe-area-inset-left, 0px) + 8px); right: calc(env(safe-area-inset-right, 0px) + 8px); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 8px; margin: 0; pointer-events: none; transition: opacity 0.25s ease; }
.blog-viewer.is-immersive .blog-view-tools > * { pointer-events: auto; }
.blog-viewer.is-immersive .blog-view-tools .blog-view-bar { display: none; }
.blog-viewer.is-immersive .blog-fullscreen { order: -2; }
.blog-viewer.is-immersive .blog-settings { order: 100; margin-left: auto; }
.blog-viewer.is-immersive .blog-fullscreen, .blog-viewer.is-immersive .blog-settings { width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 253, 248, 0.92); box-shadow: 0 1px 2px rgba(29, 48, 42, 0.16), 0 4px 14px rgba(29, 48, 42, 0.12); }
.blog-viewer.is-immersive.show-tools .blog-view-tools { padding: 8px; border-radius: 16px; background: rgba(255, 253, 248, 0.97); box-shadow: 0 1px 2px rgba(29, 48, 42, 0.16), 0 10px 30px rgba(29, 48, 42, 0.18); justify-content: center; }
.blog-viewer.is-immersive.show-tools .blog-view-tools .blog-view-bar:not([hidden]) { display: inline-flex; }
.blog-viewer.is-immersive.show-tools .blog-view-tools .blog-fullscreen, .blog-viewer.is-immersive.show-tools .blog-view-tools .blog-settings { box-shadow: none; background: rgba(29, 48, 42, 0.07); }
.blog-viewer.is-immersive .blog-book-turn { position: absolute; z-index: 5; top: 50%; width: 34px; height: 34px; transform: translateY(-50%); }
.blog-viewer.is-immersive .blog-book-turn:hover:not(:disabled), .blog-viewer.is-immersive .blog-book-turn:active:not(:disabled) { transform: translateY(-50%); }
.blog-viewer.is-immersive .blog-book-prev { left: calc(env(safe-area-inset-left, 0px) + 4px); }
.blog-viewer.is-immersive .blog-book-next { right: calc(env(safe-area-inset-right, 0px) + 4px); }
.blog-viewer.is-immersive.chrome-hidden .blog-view-tools, .blog-viewer.is-immersive.chrome-hidden .blog-book-turn { opacity: 0; pointer-events: none; }
.blog-viewer.is-immersive .blog-book-count { position: absolute; left: 0; right: 0; bottom: calc(env(safe-area-inset-bottom, 0px) + 8px); z-index: 4; margin: 0; pointer-events: none; font-size: 11px; }
.blog-viewer.is-immersive .blog-progress { display: block; position: absolute; z-index: 4; left: calc(env(safe-area-inset-left, 0px) + 10px); right: calc(env(safe-area-inset-right, 0px) + 10px); bottom: calc(env(safe-area-inset-bottom, 0px) + 2px); height: 2px; background: #d8e0d6; }
.blog-viewer.is-immersive .blog-progress i { display: block; width: 0; height: 2px; background: var(--forest); transition: width 0.3s ease; }
.blog-viewer.is-immersive.show-tools .blog-ios-tip:not([hidden]) { display: block; position: absolute; z-index: 7; top: calc(env(safe-area-inset-top, 0px) + 150px); left: calc(env(safe-area-inset-left, 0px) + 12px); right: calc(env(safe-area-inset-right, 0px) + 12px); margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--reader-surface, #fffdf8); color: var(--muted); font: 400 12px/1.5 "DM Sans", sans-serif; box-shadow: 0 1px 2px rgba(29, 48, 42, 0.16), 0 10px 30px rgba(29, 48, 42, 0.18); }
@media (min-width: 1100px) {
.blog-archive .blog-columns-double .blog-voice-enhanced,
  .blog-archive .blog-columns-double figure .blog-voice-enhanced { position: static; left: auto; top: auto; margin: 0 0 10px; }
.blog-archive .blog-columns-double .vp-label { display: inline; }
}
.blog-viewer.is-paged .blog-content.is-plates { overflow: visible; text-align: left; }
.blog-content.is-plates .bp-view { position: relative; flex: none; height: 100%; }
.blog-content.is-plates .bp-page { position: absolute; top: 0; height: 100%; }
.blog-viewer.is-paged .blog-content.is-plates .bp-cell { position: absolute; display: flex; flex-direction: column; box-sizing: border-box; width: auto; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; transform: none; overflow: hidden; break-inside: auto; }
.blog-viewer.is-paged .blog-content.is-plates .bp-cell img { flex: 1 1 auto; min-height: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; aspect-ratio: auto; object-fit: cover; background: #e8e3d4; }
.blog-content.is-plates .bp-cell figcaption { flex: none; height: var(--cap-h, 22px); padding: 0.5em 1px 0; overflow: hidden; color: var(--muted); font: italic 400 calc(var(--cap-font, 11px) * 1.12)/1.3 "Spectral", Georgia, serif; letter-spacing: 0.01em; text-overflow: ellipsis; white-space: nowrap; }
.blog-content.is-plates .bp-matted { overflow: visible; }
.blog-viewer.is-paged .blog-content.is-plates .bp-matted img { box-shadow: 0 1px 2px rgba(29, 48, 42, 0.12), 0 10px 26px rgba(29, 48, 42, 0.16); }
.blog-content.is-plates .bp-matted figcaption { text-align: center; font-style: italic; }
.blog-content.is-plates .bp-truck figcaption { display: none; }
.blog-viewer[data-journal][data-spread="1"] .blog-book-clip { position: relative; }
.blog-viewer[data-journal][data-spread="1"] .blog-book-clip::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(90deg, transparent calc(50% - 30px), rgba(0, 0, 0, 0.1) calc(50% - 1px), rgba(0, 0, 0, 0.24) 50%, rgba(0, 0, 0, 0.1) calc(50% + 1px), transparent calc(50% + 30px)); }
.blog-content.is-plates .bp-text { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; padding: 0 7%; font-size: 1.1em; line-height: 1.62; text-wrap: pretty; }
.blog-content.is-plates .bp-text > * { max-width: none; margin: 0 0 0.9em; padding: 0; border: 0; text-align: inherit; font-style: inherit; }
.blog-content.is-plates .bp-text.is-short { align-items: center; font-size: 1.28em; font-style: italic; text-align: center; }
.blog-content.is-plates .bp-text.is-short::before { content: ""; width: 34px; height: 1px; margin: 0 0 1.5em; background: currentColor; opacity: 0.4; }
.blog-content.is-plates .bp-listen { position: absolute; z-index: 4; top: 0; left: 0; margin: 0; padding: 4px 10px; border-radius: 999px; background: rgba(255, 253, 248, 0.94); }
.blog-content.is-plates .bp-cell .blog-voice-enhanced { position: absolute !important; z-index: 2; top: 8px !important; left: 8px !important; margin: 0 !important; }
.blog-viewer[data-journal="cinematic"].is-paged .blog-book-window { background-color: #0d0e0d; background-image: none; }
.blog-viewer[data-journal="cinematic"].is-paged[data-spread="1"] .blog-book-window { background-image: none; }
.blog-viewer[data-journal="cinematic"] .blog-content.is-plates { color: #ece7da; }
.blog-viewer[data-journal="cinematic"] .blog-content.is-plates .bp-cell figcaption { color: #a9a597; }
.blog-viewer[data-journal="cinematic"] .blog-content.is-plates .bp-cell img { background: #1b1c1a; }
.blog-content.is-plates .bp-folio { position: absolute; color: var(--muted); font: 500 10px/1 "DM Sans", sans-serif; letter-spacing: 0.14em; font-variant-numeric: tabular-nums; opacity: 0.8; }
.blog-viewer[data-journal="cinematic"] .blog-content.is-plates .bp-folio { color: #8d8a7e; }
.blog-viewer.is-paged .blog-content.is-plates .bp-text { text-align: left; }
.blog-viewer.is-paged .blog-content.is-plates .bp-text > * { text-align: inherit; hyphens: manual; font-style: inherit; }
.blog-viewer.is-paged .blog-content.is-plates .bp-text.is-short { text-align: center; }
.blog-viewer.is-paged .blog-content.is-plates .bp-cell.bp-reserve { padding-bottom: var(--cap-h, 22px); }
.blog-viewer.is-paged .blog-content.is-plates .bp-text :is(h1, h2, h3, h4, h5, h6) { margin: 0 0 0.9em; font: 600 0.7em/1.3 "DM Sans", sans-serif; letter-spacing: 0.24em; text-transform: uppercase; font-style: normal; color: var(--forest); }
.blog-viewer[data-journal="cinematic"] .blog-content.is-plates .bp-text :is(h1, h2, h3, h4, h5, h6) { color: #d9d3c2; }
.blog-view-tools { position: relative; }
.blog-text-menu { position: relative; display: inline-flex; }
.blog-text-button { min-width: 36px; min-height: 34px; padding: 0 10px; border: 1px solid var(--line); background: transparent; color: var(--forest); font: 600 14px/1 var(--display-font, Georgia, serif); cursor: pointer; }
.blog-text-button[aria-expanded="true"] { background: var(--forest); color: var(--white); border-color: var(--forest); }
/* Aa is a tool button like the full-screen one: the same size, tint and rounding, and the open state reads like a pressed segment. */
.blog-view-tools .blog-text-button { min-width: 36px; min-height: 36px; padding: 0 12px; border: 0; border-radius: 11px; background: rgba(29, 48, 42, 0.07); color: var(--forest); font: 600 13px/1 "DM Sans", sans-serif; letter-spacing: 0.01em; transition: background 0.18s ease, box-shadow 0.18s ease; }
.blog-view-tools .blog-text-button:hover { background: rgba(29, 48, 42, 0.13); }
.blog-view-tools .blog-text-button[aria-expanded="true"] { background: var(--reader-surface, #fffdf8); color: var(--forest); border: 0; box-shadow: 0 1px 2px rgba(29, 48, 42, 0.18), 0 0 0 0.5px rgba(29, 48, 42, 0.08); }
.blog-text-panel { position: absolute; z-index: 30; top: calc(100% + 8px); right: 0; width: min(300px, calc(100vw - 32px)); max-height: min(70vh, 520px); overflow: auto; padding: 14px 16px 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--reader-surface, var(--reader-surface, #fffdf8)); color: var(--forest); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18); text-align: left; }
.blog-text-panel[hidden] { display: none; }
.blog-viewer.is-immersive .blog-text-menu { position: static; }
.blog-viewer.is-immersive .blog-text-panel { left: 0; right: 0; width: auto; max-width: none; }
.blog-version-menu { position: relative; display: inline-flex; }
.blog-version-panel { position: absolute; z-index: 30; top: calc(100% + 8px); right: 0; width: min(380px, calc(100vw - 32px)); max-height: min(70vh, 520px); overflow: auto; display: flex; flex-direction: column; gap: 4px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: var(--reader-surface, var(--reader-surface, #fffdf8)); color: var(--forest); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18); text-align: left; }
.blog-version-panel[hidden] { display: none; }
.blog-view-bar .blog-version-panel button { position: relative; display: block; width: 100%; min-height: 0; padding: 10px 12px 10px 34px; border: 0; border-radius: 10px; background: transparent; color: inherit; text-align: left; font: 500 13px/1.35 "DM Sans", sans-serif; cursor: pointer; }
.blog-view-bar .blog-version-panel button + button { border-left: 0; }
.blog-version-panel button strong { display: block; font-size: 14px; font-weight: 700; }
.blog-version-panel button span { display: block; font-weight: 600; }
.blog-version-panel button small { display: block; margin-top: 3px; font-size: 11.5px; font-weight: 400; line-height: 1.4; opacity: 0.78; }
.blog-view-bar .blog-version-panel button:hover:not(:disabled), .blog-view-bar .blog-version-panel button:focus-visible { background: rgba(29, 48, 42, 0.07); outline: none; }
.blog-view-bar .blog-version-panel button[aria-checked="true"] { background: rgba(29, 48, 42, 0.1); color: inherit; }
.blog-version-panel button[aria-checked="true"]::before { content: "\2713"; position: absolute; left: 13px; top: 10px; font-size: 14px; font-weight: 700; }
.blog-viewer.is-immersive .blog-version-menu { position: static; }
.blog-viewer.is-immersive .blog-version-panel { left: 0; right: 0; width: auto; max-width: none; }
.blog-text-sizerow { display: flex; align-items: center; gap: 12px; }
.blog-text-a { font-family: var(--display-font, Georgia, serif); line-height: 1; color: var(--forest); }
.blog-text-a.is-small { font-size: 13px; }
.blog-text-a.is-large { font-size: 24px; }
.blog-text-size { flex: 1; min-width: 0; accent-color: var(--forest); }
.blog-text-size-name { display: block; margin: 2px 0 12px; text-align: center; color: var(--muted); font: 400 12px/1.3 "DM Sans", sans-serif; }
.blog-text-themes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 14px; }
.blog-text-themes button { display: grid; justify-items: center; gap: 4px; padding: 4px 0; border: 0; background: transparent; color: var(--muted); font: 400 11px/1.2 "DM Sans", sans-serif; cursor: pointer; }
.blog-theme-dot { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); }
.blog-text-themes button[aria-checked="true"] .blog-theme-dot { box-shadow: 0 0 0 2px var(--reader-surface, var(--reader-surface, #fffdf8)), 0 0 0 4px var(--forest); }
.blog-text-themes button[aria-checked="true"] { color: var(--forest); }
.blog-text-name { margin: 0 0 6px; color: var(--muted); font: 600 11px/1.3 "DM Sans", sans-serif; letter-spacing: 0.1em; text-transform: uppercase; }
.blog-text-fonts { display: grid; gap: 0; }
.blog-text-fonts button { display: flex; align-items: center; min-height: 44px; padding: 6px 28px 6px 0; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--forest); font-size: 17px; line-height: 1.2; text-align: left; cursor: pointer; position: relative; }
.blog-text-fonts button[aria-checked="true"]::after { content: "\2713"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font: 600 15px "DM Sans", sans-serif; }
.blog-viewer[data-read-theme="paper"] .blog-book-stage { --reader-surface: #ffffff; --reader-ink: #1a1a1a; --reader-sheen-top: transparent; --reader-sheen-bottom: transparent; }
.blog-viewer[data-read-theme="sepia"] .blog-book-stage { --reader-surface: #f1e7d0; --reader-ink: #3b2f20; --reader-sheen-top: transparent; --reader-sheen-bottom: transparent; }
.blog-viewer[data-read-theme="night"] .blog-book-stage { --reader-surface: #1c1b1f; --reader-ink: #d9d3c4; --reader-sheen-top: transparent; --reader-sheen-bottom: transparent; }
.blog-viewer[data-read-theme] .blog-content, .blog-viewer[data-read-theme] .blog-content p { color: var(--reader-ink); }
.blog-turn-layer { position: absolute; z-index: 6; pointer-events: none; transform-style: flat; }
.blog-turn-page { position: absolute; top: 0; overflow: hidden; background-color: var(--reader-surface, var(--reader-surface, #fffdf8)); }
.blog-turn-text { position: absolute; overflow: hidden; }
.blog-turn-text > .blog-content { position: absolute; top: 0; left: 0; margin: 0; }
.blog-turn-root { position: absolute; top: 0; width: 0; height: 100%; transform-style: preserve-3d; }
.blog-turn-strip { position: absolute; top: 0; height: 100%; transform-style: preserve-3d; }
.blog-turn-face { position: absolute; inset: 0; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; background-color: var(--reader-surface, var(--reader-surface, #fffdf8)); }
.blog-turn-face > .blog-turn-page { top: 0; }
.blog-turn-face.is-back { transform: rotateY(180deg); }
.blog-turn-shade { position: absolute; inset: 0; pointer-events: none; }
.blog-turn-cast { position: absolute; top: 0; height: 100%; opacity: 0; pointer-events: none; }
.blog-turn-cast.is-right { background: linear-gradient(90deg, rgba(var(--turn-shadow, 20, 14, 6), 0.5), rgba(var(--turn-shadow, 20, 14, 6), 0.12) 45%, rgba(var(--turn-shadow, 20, 14, 6), 0) 80%); }
.blog-turn-cast.is-left { background: linear-gradient(270deg, rgba(var(--turn-shadow, 20, 14, 6), 0.5), rgba(var(--turn-shadow, 20, 14, 6), 0.12) 45%, rgba(var(--turn-shadow, 20, 14, 6), 0) 80%); }
.blog-resume { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; max-width: 44em; margin: 0 auto 12px; padding: 4px 14px; border: 1px solid var(--line); border-left: 3px solid var(--forest); border-radius: 4px; background: var(--wash, rgba(255, 255, 255, 0.5)); color: var(--muted); font: 400 14px/1.5 "DM Sans", sans-serif; }
.blog-resume button { min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: var(--forest); font: 600 13px "DM Sans", sans-serif; cursor: pointer; }
.blog-resume .blog-resume-close { margin-left: auto; font-size: 20px; }
.blog-immerse { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; color: var(--forest); cursor: pointer; }
.blog-immerse[aria-pressed="true"] { background: var(--forest); color: var(--white); border-color: var(--forest); }
.blog-viewer.is-hushed .blog-view-tools { position: absolute; z-index: 12; top: var(--hush-top, 8px); right: var(--hush-right, 14px); left: auto; margin: 0; padding: 0; background: transparent; box-shadow: none; }
.blog-viewer.is-hushed .blog-view-tools > :not(.blog-immerse) { display: none; }
.blog-viewer.is-hushed .blog-immerse { opacity: 0; transition: opacity 0.2s ease; }
.blog-viewer.is-hushed.hush-near .blog-immerse, .blog-viewer.is-hushed .blog-immerse:hover, .blog-viewer.is-hushed .blog-immerse:focus-visible { opacity: 1; }
.blog-viewer.is-hushed .blog-book-turn, .blog-viewer.is-hushed .blog-book-count, .blog-viewer.is-hushed .blog-progress, .blog-viewer.is-hushed .blog-resume { display: none; }
.blog-immerse[hidden], .blog-fullscreen[hidden] { display: none; }
.blog-viewer:not(.is-fullscreen) .blog-immerse { display: none; }
.blog-totop { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; color: var(--forest); cursor: pointer; }
.blog-totop[hidden] { display: none; }
.blog-scroll-progress { display: none; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--line); }
.blog-scroll-progress i { display: block; width: 0; height: 2px; background: var(--forest); }
.blog-viewer:not(.is-paged).is-long .blog-view-tools { position: sticky; top: 0; z-index: 8; padding-bottom: 8px; background: var(--paper, #f5f2e9); }
.blog-viewer:not(.is-paged).is-long .blog-scroll-progress { display: block; }
.blog-viewer.is-paged .blog-totop, .blog-viewer.is-paged .blog-scroll-progress { display: none; }
.blog-text-block .blog-ruler { position: absolute; left: 0; top: 0; visibility: hidden; pointer-events: none; height: 0; min-height: 0; max-height: none; overflow: hidden; padding: 8px 10px; border: 1px solid transparent; font: 400 14.5px/1.7 "DM Sans", sans-serif; resize: none; box-sizing: border-box; }
.blog-text-block { position: relative; }
.blog-text-block textarea { overflow-anchor: none; }
