/* Still Loving Coco V4.0 — consolidated stylesheet */
:root{
  
  
  
  
  
  
  
  --soft:#dfe6dd;
  
  
  
  --rose:#a9878f;
  
  --radius:28px;
}
*{box-sizing:border-box}

body{
  margin:0;
  
  
  letter-spacing:.015em;
  
  background-attachment:fixed;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  
  background-image:
    radial-gradient(circle at 12% 22%,rgba(255,255,255,.68) 0 1px,transparent 1.8px),
    radial-gradient(circle at 76% 18%,rgba(255,255,255,.55) 0 1px,transparent 1.8px),
    radial-gradient(circle at 58% 74%,rgba(255,255,255,.42) 0 1px,transparent 1.8px);
  background-size:420px 420px,560px 560px,680px 680px;
}
.site-cover{
  
  display:flex;
  align-items:center;
  justify-content:center;
  
}
.cover-card{
  
  position:relative;
  
  border-radius:34px;
  background:linear-gradient(180deg,rgba(255,253,248,.74),rgba(246,246,240,.82));
  border:1px solid rgba(255,255,255,.62);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
  text-align:center;
  
}
.cover-card:before{
  
  display:block;
  color:rgba(79,102,92,.42);
  font-size:28px;
  margin-bottom:28px;
}
.cover-card:after{
  content:"";
  position:absolute;
  right:-110px;
  bottom:-140px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(169,135,143,.10), transparent 62%);
  pointer-events:none;
}

.cover-author{
  margin:0 0 44px;
  color:var(--muted);
  font-size:14px;
  letter-spacing:.34em;
}

.button{
  display:inline-block;
  padding:13px 24px;
  border-radius:999px;
  text-decoration:none;
  color:var(--accent);
  background:rgba(255,255,255,.68);
  border:1px solid var(--line);
  min-width:132px;
}
.button.primary{
  background:var(--accent);
  color:#fffdf8;
  border-color:var(--accent);
}
.cover-tattoo{
  position:absolute;
  right:42px;
  bottom:36px;
  
  
  filter:grayscale(25%);
  border-radius:18px;
}
.publisher-toc{
  width:min(1080px,92vw);
  margin:0 auto 46px;
  padding:36px;
  border-radius:30px;
  background:rgba(255,253,248,.78);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 24px 70px rgba(57,76,65,.12);
  backdrop-filter:blur(12px);
}
.publisher-toc h2{
  margin:0 0 10px;
  color:var(--accent);
  font-weight:400;
  letter-spacing:.16em;
}
.publisher-toc p{
  margin:0 0 24px;
  color:var(--muted);
  line-height:1.8;
}
.toc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
}
.toc-grid a{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:12px 14px;
  border-radius:16px;
  color:var(--ink);
  text-decoration:none;
  background:rgba(255,255,255,.46);
  border:1px solid rgba(80,100,90,.10);
  line-height:1.5;
}
.toc-grid a:hover{
  background:rgba(79,102,92,.08);
  color:var(--accent);
}
.toc-no{
  color:var(--accent-2);
  font-size:13px;
  letter-spacing:.08em;
  max-width:12em;
}
.layout{
  width:min(1180px,94vw);
  margin:0 auto 90px;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  
  align-items:start;
}
.side{
  position:sticky;
  top:24px;
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:22px;
  border-radius:24px;
  
  border:1px solid rgba(255,255,255,.52);
  
  backdrop-filter:blur(12px);
}
.side-title{
  color:var(--accent);
  font-size:12px;
  letter-spacing:.26em;
  margin:0 0 14px;
}
.side a{
  display:block;
  padding:8px 0;
  color:var(--muted);
  text-decoration:none;
  font-size:14px;
  line-height:1.45;
  border-bottom:1px solid rgba(80,100,90,.08);
}
.side a:hover{color:var(--accent)}
.book{
  min-width:0;
}
.book-section{
  position:relative;
  margin:0 0 40px;
  
  border-radius:var(--radius);
  background:linear-gradient(180deg,var(--paper),var(--paper-2));
  border:1px solid rgba(255,255,255,.68);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.88);
  overflow:hidden;
  scroll-margin-top:28px;
}
.book-section:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  
  
}
.book-section:after{
  content:"✦";
  position:absolute;
  right:30px;
  top:26px;
  
  font-size:22px;
}
.chapter-kicker,
.kicker{
  
  
  
  text-transform:uppercase;
  
}
.book-section h2{
  margin:0 0 1.7em;
  
  
  
  
  
  max-width:12em;
}
.book-section h2:after{
  content:"";
  display:block;
  
  height:1px;
  margin:24px 0 0;
  
}

.book-section p{
  margin:0 0 1.5em;
  
  
}

.book-section img{
  max-width:100%;
  height:auto;
}
.book-section > p,
.book-section > blockquote,
.book-section > .chapter-note,
.book-section > .source-note,
.book-section > .post-note,
.book-section > .recent-full-post{
  max-width:42em;
}

.chapter-note,
.source-note,
.post-note{
  color:var(--muted);
  
  
  padding:1rem 1.15rem;
  border-radius:0 16px 16px 0;
}
.source-note{
  border-top:1px solid rgba(154,170,160,.22);
  border-left:0;
  background:transparent;
  padding:.85rem 0 0;
  
}
.recent-full-post{
  margin:2rem 0;
  padding:1.35rem 0 0;
  border-top:1px solid rgba(154,170,160,.22);
}
footer{
  width:min(980px,92vw);
  margin:0 auto 60px;
  color:var(--muted);
  text-align:center;
  line-height:1.8;
}
@media (max-width: 980px){
  .cover-title{
    white-space:normal;
    letter-spacing:.07em;
  }
  .layout{
    display:block;
  }
  .side{
    display:none;
  }
  .toc-grid{
    grid-template-columns:1fr;
  }
  .book-section{
    padding:42px 28px 46px;
    border-radius:24px;
  }
  .publisher-toc{
    padding:26px 20px;
    border-radius:24px;
  }
}
@media (max-width: 560px){
  .site-cover{
    padding:48px 14px 32px;
    min-height:auto;
  }
  .cover-card{
    padding:56px 24px 42px;
    border-radius:26px;
  }
  .cover-title{
    font-size:34px;
    line-height:1.65;
  }
  .cover-author{
    margin-bottom:30px;
  }
  .button{
    width:100%;
  }
  .cover-tattoo{
    width:88px;
    right:18px;
    bottom:16px;
    opacity:.10;
  }
  .book-section p{
    font-size:1rem;
    line-height:2.08;
    margin-bottom:1.35em;
  }
  .chapter-kicker,
  .kicker{
    margin-bottom:22px;
  }
  .book-section h2{
    margin-bottom:1.55em;
    line-height:1.55;
  }
  .book-section h2:after{
    margin-top:20px;
  }
}
@media print{
  body{background:white}
  .side,.cover-actions{display:none}
  .layout{display:block;width:100%}
  .book-section{box-shadow:none;break-inside:avoid}
}


/* v26: chapter-level return to contents */
.back-to-contents{
  position:absolute;
  right:28px;
  top:28px;
  z-index:2;
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(80,100,90,.14);
  background:rgba(255,255,255,.56);
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  letter-spacing:.12em;
}
.back-to-contents:hover{
  color:var(--accent);
  background:rgba(80,100,90,.08);
}
.section-end-nav{
  
  padding-top:1.2rem;
  border-top:1px solid rgba(80,100,90,.12);
  text-align:right;
}
.section-end-nav a{
  display:inline-block;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(80,100,90,.14);
  background:rgba(255,255,255,.52);
  color:var(--accent);
  text-decoration:none;
  font-size:14px;
  letter-spacing:.08em;
  max-width:12em;
}
.section-end-nav a:hover{
  background:rgba(80,100,90,.08);
}
@media (max-width: 640px){
  .back-to-contents{
    position:static;
    margin:0 0 1.2rem;
  }
  .section-end-nav{
    text-align:center;
  }
  .section-end-nav a{
    width:100%;
    text-align:center;
  }
}


/* v28: part divider layout */
.part-divider{
  position:relative;
  margin:0 0 34px;
  
  
  border-radius:var(--radius);
  
  color:#fffdf8;
  
  overflow:hidden;
  scroll-margin-top:28px;
}
.part-divider:before{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-130px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
}
.part-divider:after{
  content:"✦";
  position:absolute;
  right:38px;
  top:34px;
  font-size:28px;
  color:rgba(255,255,255,.42);
}
.part-kicker{
  margin:0 0 18px;
  font-size:14px;
  letter-spacing:.42em;
  color:rgba(255,253,248,.76);
}
.part-divider h2{
  margin:0 0 22px;
  font-size:clamp(44px,6.5vw,82px);
  line-height:1.15;
  
  
}
.part-subtitle{
  
  margin:0;
  
  
  
}
.part-back{
  display:inline-block;
  margin-top:36px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  color:#fffdf8;
  text-decoration:none;
  font-size:13px;
  letter-spacing:.12em;
}
.part-back:hover{
  background:rgba(255,255,255,.16);
}
.part-toc-list{
  display:grid;
  gap:18px;
}
.toc-part{
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.38);
  border:1px solid rgba(80,100,90,.10);
}
.toc-part-title{
  display:flex;
  align-items:baseline;
  gap:12px;
  padding:8px 8px 12px;
  color:var(--accent);
  text-decoration:none;
}
.toc-part-title strong{
  font-weight:420;
  font-size:1.14rem;
  letter-spacing:.08em;
  max-width:12em;
}
.toc-part-label{
  color:var(--accent-2);
  font-size:12px;
  letter-spacing:.22em;
}
.toc-part-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
}
.toc-part-items a{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px 12px;
  border-radius:14px;
  color:var(--ink);
  text-decoration:none;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(80,100,90,.08);
  line-height:1.5;
}
.toc-part-items a:hover{
  background:rgba(79,102,92,.08);
  color:var(--accent);
}
.side-part{
  margin-bottom:18px;
}
.side .side-part-title{
  color:var(--accent);
  font-size:13px;
  letter-spacing:.12em;
  border-bottom:1px solid rgba(80,100,90,.18);
  padding-bottom:10px;
  margin-bottom:4px;
}
@media (max-width: 980px){
  .toc-part-items{
    grid-template-columns:1fr;
  }
}
@media (max-width: 560px){
  .part-divider{
    min-height:240px;
    padding:46px 28px 38px;
    border-radius:24px;
  }
  .part-divider h2{
    font-size:44px;
  }
  .part-kicker{
    letter-spacing:.28em;
  }
}


/* v36: Coco 0121 line art */
.art-plate{
  margin:0 0 34px;
  padding:54px 28px 46px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,253,248,.86), rgba(246,246,240,.92));
  border:1px solid rgba(255,255,255,.68);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.88);
  text-align:center;
}
.art-plate img{
  display:block;
  width:min(460px,86%);
  margin:0 auto;
  mix-blend-mode:multiply;
}
.art-plate p{
  margin:24px 0 0;
  color:var(--accent-2);
  font-size:13px;
  letter-spacing:.24em;
  font-family:Georgia, "Noto Serif TC", serif;
}
.cover-tattoo{
  width:150px;
  opacity:.18;
  mix-blend-mode:multiply;
}
@media (max-width: 560px){
  .art-plate{
    padding:38px 18px 34px;
  }
  .art-plate img{
    width:92%;
  }
  .cover-tattoo{
    width:104px;
  }
}


/* v38: added recent text-only posts */
.recent-posts-added{
  margin-top:2.2rem;
}
.added-text-only-post{
  padding-top:1.5rem;
  margin-top:1.5rem;
  border-top:1px solid rgba(154,170,160,.22);
}
.added-text-only-post .post-first-line{
  color:var(--accent);
  font-weight:420;
  letter-spacing:.08em;
  max-width:12em;
}


/* v39: dates for added recent posts */
.added-text-only-post .post-date{
  color:var(--accent-2);
  font-size:.92rem;
  letter-spacing:.12em;
  margin-bottom:.6rem;
}


/* v40: move tattoo art into first part header */
.part-divider.part-with-art{
  min-height:360px;
  padding-right:360px;
}
.part-divider.part-with-art h2{
  max-width:8.2em;
}
.part-divider.part-with-art .part-back{
  margin-top:22px;
}
.part-hero-art{
  position:absolute;
  right:34px;
  bottom:20px;
  width:min(280px,30vw);
  margin:0;
  padding:0;
  z-index:1;
}
.part-hero-art img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 12px 26px rgba(34,46,39,.18));
  mix-blend-mode:multiply;
}
@media (max-width: 900px){
  .part-divider.part-with-art{
    padding-right:58px;
    min-height:auto;
  }
  .part-divider.part-with-art h2{
    max-width:none;
  }
  .part-hero-art{
    position:relative;
    right:auto;
    bottom:auto;
    width:min(320px,82%);
    margin:24px auto 8px;
  }
}
@media (max-width: 560px){
  .part-divider.part-with-art{
    padding-right:24px;
  }
  .part-hero-art{
    width:min(300px,86%);
    margin:22px auto 4px;
  }
}


/* v41: final photo page */
.final-photo-page{
  margin:0 0 34px;
  min-height:78vh;
  padding:52px 34px;
  border-radius:var(--radius);
  
  border:1px solid rgba(255,255,255,.68);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.88);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.final-photo-page img{
  display:block;
  width:min(680px,100%);
  max-height:82vh;
  object-fit:contain;
  border-radius:22px;
  
}
@media (max-width: 560px){
  .final-photo-page{
    min-height:68vh;
    padding:28px 18px;
    border-radius:24px;
  }
  .final-photo-page img{
    width:100%;
    max-height:76vh;
    border-radius:18px;
  }
}
@media print{
  .final-photo-page{
    break-before:page;
    box-shadow:none;
  }
}


/* v48: full PTT article block */
.full-ptt-post{
  margin-top:2rem;
  padding-top:1.6rem;
  border-top:1px solid rgba(154,170,160,.22);
}
.full-ptt-post .ptt-quote{
  color:var(--accent);
  letter-spacing:.06em;
}
.full-ptt-post .ptt-subtitle{
  color:var(--accent);
  font-weight:420;
}


/* v51: breathing layout */




.book-section .post{
  margin-top:2.7rem;
  padding-top:1.6rem;
  border-top:1px solid rgba(154,170,160,.18);
}
.book-section .post:first-of-type{
  margin-top:1.4rem;
}
.recent-full-post,
.added-text-only-post{
  margin-top:2.8rem;
  padding-top:2rem;
}
.chapter-note,
blockquote{
  margin:2.3rem 0;
}

.part-divider{
  margin-bottom:42px;
}
@media (max-width: 560px){
  .book-section{
    padding:38px 26px 42px;
  }
  .book-section p{
    line-height:2.12;
    margin-bottom:1.34em;
  }
  .book-section h2{
    margin-bottom:1.35em;
  }
}


/* v53: keep recent section title inside the article line */
.recent-full-post .inside-section-title{
  margin:0 0 1.45rem;
  padding-top:.2rem;
  color:var(--accent);
  font-weight:420;
  letter-spacing:.08em;
  max-width:12em;
}

/* v55: minimal luxury refinement */
:root{
  --bg-1:#d7ded6;
  --bg-2:#eef1eb;
  --bg-3:#fbfaf6;
  --paper:#fffef9;
  --paper-2:#fbfaf5;
  --ink:#273229;
  --muted:#7a877d;
  --line:rgba(61,78,68,.13);
  --accent:#4f665c;
  --accent-2:#9aa99f;
  --shadow:0 22px 68px rgba(48,64,54,.10);
}

body:before{
  opacity:.12;
}

.cover-card,
.publisher-toc,
.book-section,
.final-photo-page{
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 24px 72px rgba(48,64,54,.095), inset 0 1px 0 rgba(255,255,255,.9);
  background:linear-gradient(180deg,rgba(255,254,249,.88),rgba(251,250,245,.94));
}

.cover-card:before,
.cover-card:after{
  opacity:.46;
}
.cover-title{
  color:#4b6157;
  
  
}
.button,
.back-to-contents,
.section-end-nav a,
.part-back{
  backdrop-filter:blur(10px);
  background:rgba(255,255,255,.42);
  border-color:rgba(79,102,92,.20);
}
.layout{
  gap:40px;
}
.side{
  background:rgba(255,254,249,.64);
  box-shadow:0 18px 54px rgba(48,64,54,.075);
}
.book-section{
  margin-bottom:44px;
  padding:68px 64px 72px;
}
.book-section:before{
  width:3px;
  background:linear-gradient(180deg,rgba(154,170,160,.35),rgba(79,102,92,.46));
}
.book-section:after{
  color:rgba(154,170,160,.17);
}
.chapter-kicker,
.kicker{
  margin-bottom:30px;
  color:rgba(122,135,125,.72);
  
  
}
.book-section h2{
  
  color:#4d645a;
  
  font-size:clamp(30px,3.2vw,46px);
  
  
}

.book-section h3{
  color:#526b60;
  
  font-size:clamp(24px,2.2vw,32px);
  
  margin:3.2em 0 1.65em;
}
.book-section p{
  
  
  
  font-size:1.035rem;
}
.book-section blockquote{
  
  
  
  
  border-left:2px solid rgba(79,102,92,.32);
  border-radius:0 22px 22px 0;
}
.chapter-note,
.source-note,
.post-note{
  max-width:42em;
  background:rgba(154,170,160,.06);
  border-left:2px solid rgba(79,102,92,.28);
}
.recent-full-post,
.added-text-only-post,
.book-section .post{
  margin-top:3.2rem;
  padding-top:2.1rem;
  
}
.part-divider{
  
  padding:66px 62px 56px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.54), transparent 28%),
    linear-gradient(135deg, rgba(91,113,103,.90), rgba(166,181,171,.58));
  box-shadow:0 24px 72px rgba(48,64,54,.12);
}

.part-subtitle{
  color:rgba(255,253,248,.88);
  line-height:2.05;
}
.part-hero-art img{
  opacity:.88;
}
.toc-part,
.toc-part-items a{
  background:rgba(255,255,255,.36);
}
.final-photo-page img{
  box-shadow:0 18px 64px rgba(38,48,40,.13);
}
@media (max-width: 980px){
  .book-section{
    padding:52px 36px 58px;
  }
}
@media (max-width: 560px){
  .cover-card{
    padding:62px 26px 48px;
  }
  .cover-title{
    letter-spacing:.10em;
  }
  .book-section{
    padding:46px 30px 52px;
    margin-bottom:38px;
  }
  .chapter-kicker,
  .kicker{
    margin-bottom:26px;
    letter-spacing:.36em;
  }
  .book-section h2{
    margin-bottom:1.72em;
    line-height:1.56;
    letter-spacing:.10em;
  }
  .book-section h3{
    margin-top:2.8em;
  }
  .book-section p{
    line-height:2.14;
    margin-bottom:1.45em;
  }
  .part-divider{
    padding:50px 30px 42px;
  }
}


/* v56: literary style refinement */
body{
  font-family:"Noto Serif TC","Source Han Serif TC","Songti TC","PMingLiU",Georgia,serif;
}
.cover-title{
  font-weight:300;
  
}
.cover-card:before{
  content:"";
  width:58px;
  height:1px;
  margin:0 auto 34px;
  background:linear-gradient(90deg,transparent,rgba(79,102,92,.42),transparent);
}
.cover-card:after{
  opacity:.34;
}
.book-section{
  padding-top:74px;
  padding-bottom:82px;
}
.chapter-kicker,
.kicker{
  font-family:Georgia,"Times New Roman",serif;
  font-size:11px;
  letter-spacing:.48em;
  opacity:.86;
}
.book-section h2{
  font-weight:300;
  letter-spacing:.16em;
  line-height:1.72;
  margin-bottom:2.15em;
}
.book-section h2:after{
  width:72px;
  margin-top:30px;
  background:linear-gradient(90deg,rgba(79,102,92,.38),rgba(154,170,160,.10),transparent);
}
.book-section h3{
  font-weight:340;
  letter-spacing:.14em;
  line-height:1.8;
  margin-top:3.5em;
  margin-bottom:1.8em;
}
.book-section p{
  max-width:39.5em;
  line-height:2.28;
  margin-bottom:1.7em;
  text-align:left;
}
.book-section p.verse{
  color:#465d53;
  letter-spacing:.08em;
  line-height:2.35;
  margin:1.75em 0;
}
.book-section blockquote{
  max-width:38em;
  padding:1.8rem 2rem;
  margin:3rem 0;
  background:linear-gradient(90deg,rgba(154,170,160,.075),rgba(255,255,255,.28));
}
.chapter-note{
  max-width:39.5em;
  line-height:2.15;
}
.source-note{
  color:rgba(84,98,90,.72);
  font-size:.95rem;
  line-height:2;
}
.recent-full-post,
.added-text-only-post,
.book-section .post{
  border-top:1px solid rgba(79,102,92,.10);
}
.recent-full-post:before,
.added-text-only-post:before,
.book-section .post:before{
  content:"";
  display:block;
  width:42px;
  height:1px;
  margin:0 0 2.1rem;
  background:rgba(79,102,92,.28);
}
.part-divider h2{
  font-weight:280;
  letter-spacing:.28em;
}
.part-subtitle{
  max-width:30em;
  font-size:1.05rem;
  letter-spacing:.04em;
}
.section-end-nav{
  margin-top:3.8rem;
}
.final-photo-page{
  background:linear-gradient(180deg,rgba(255,254,249,.95),rgba(249,248,242,.96));
}
@media (max-width: 560px){
  .book-section{
    padding-top:54px;
    padding-bottom:62px;
  }
  .book-section h2{
    letter-spacing:.12em;
    line-height:1.62;
    margin-bottom:1.95em;
  }
  .book-section h3{
    line-height:1.72;
    margin-top:3.1em;
  }
  .book-section p{
    line-height:2.18;
    margin-bottom:1.58em;
  }
  .book-section p.verse{
    line-height:2.24;
  }
  .part-divider h2{
    letter-spacing:.18em;
  }
}






:root{
  --v2-ink:#2f3a33;
  --v2-muted:#718078;
  --v2-accent:#596f64;
  --v2-line:rgba(74,96,84,.16);
  --v2-glass:rgba(255,255,252,.88);
}
body.v2-modal-open{overflow:hidden}
.v2-cover-identity{
  margin:0 0 1.2rem;
  color:var(--accent);
  font-size:.78rem;
  letter-spacing:.32em;
}
.v2-cover-subtitle{
  max-width:30rem;
  margin:1rem auto 1.15rem;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.9;
}
.cover-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.72rem;
}
.daily-quote-card{
  
  margin:2rem auto .25rem;
  padding:1.6rem 1.75rem 1.4rem;
  border:1px solid rgba(79,102,92,.14);
  border-radius:22px;
  background:rgba(255,255,255,.38);
  box-shadow:0 16px 48px rgba(54,72,62,.07);
}
.daily-quote-eyebrow{
  margin:0 0 .8rem;
  color:var(--muted);
  font-size:.76rem;
  letter-spacing:.18em;
}
#daily-quote-text{
  margin:0;
  color:var(--v2-ink);
  font-size:clamp(1.12rem,2.4vw,1.38rem);
  line-height:1.9;
  font-weight:400;
}
.daily-quote-change{
  appearance:none;
  margin-top:1rem;
  padding:0;
  border:0;
  background:none;
  color:var(--accent);
  font:inherit;
  font-size:.88rem;
  cursor:pointer;
}
.v2-floating-toolbar{
  position:fixed;
  z-index:1000;
  top:1rem;
  right:1rem;
  display:flex;
  gap:.35rem;
  padding:.35rem;
  border:1px solid rgba(74,96,84,.13);
  border-radius:999px;
  background:rgba(250,250,246,.82);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 36px rgba(45,61,52,.10);
}
.v2-floating-toolbar a,
.v2-floating-toolbar button{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:.62rem .86rem;
  background:transparent;
  color:var(--v2-ink);
  font:inherit;
  font-size:.83rem;
  cursor:pointer;
  text-decoration:none;
}
.v2-floating-toolbar a:hover,
.v2-floating-toolbar button:hover{
  background:rgba(79,102,92,.09);
}
.v2-article{
  position:relative;
  scroll-margin-top:5rem !important;
}
.article-meta{
  margin:-.55rem 0 2.5rem !important;
  color:var(--v2-muted) !important;
  font-size:.82rem !important;
  letter-spacing:.11em;
}
.article-end-tools{
  
  padding-top:1.6rem;
  border-top:1px solid var(--v2-line);
}
.article-share{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem 1rem;
  color:var(--v2-muted);
  font-size:.88rem;
}
.article-share-label{
  letter-spacing:.12em;
}
.article-share a,
.article-share button{
  appearance:none;
  border:0;
  padding:0;
  background:none;
  color:var(--v2-accent);
  font:inherit;
  cursor:pointer;
  text-decoration:none;
}
.article-share a:hover,
.article-share button:hover{
  text-decoration:underline;
}
.article-pager{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin:2rem 0 1.5rem;
}
.article-pager a{
  display:flex;
  min-height:6rem;
  flex-direction:column;
  justify-content:center;
  gap:.42rem;
  padding:1.05rem 1.15rem;
  border:1px solid var(--v2-line);
  border-radius:18px;
  color:var(--v2-ink);
  background:rgba(255,255,255,.32);
  text-decoration:none;
}
.article-pager a:hover{
  background:rgba(255,255,255,.62);
}
.article-pager span{
  color:var(--v2-muted);
  font-size:.76rem;
  letter-spacing:.12em;
}
.article-pager strong{
  font-weight:500;
  line-height:1.55;
}
.pager-next{
  text-align:right;
  align-items:flex-end;
}
.v2-comments{
  margin-top:1.2rem;
  border:1px solid var(--v2-line);
  border-radius:18px;
  background:rgba(255,255,255,.28);
  overflow:hidden;
}
.v2-comments summary{
  padding:1rem 1.15rem;
  color:var(--v2-accent);
  cursor:pointer;
  list-style:none;
  letter-spacing:.08em;
}
.v2-comments summary::-webkit-details-marker{display:none}
.v2-comments[open] summary{
  border-bottom:1px solid var(--v2-line);
}
.comment-intro{
  margin:1rem 1.15rem !important;
  color:var(--v2-muted) !important;
  font-size:.9rem !important;
  line-height:1.75 !important;
}
.anonymous-comment-form{
  display:grid;
  gap:1rem;
  padding:0 1.15rem 1.2rem;
}
.form-field{
  display:grid;
  gap:.45rem;
}
.form-field span{
  color:var(--v2-muted);
  font-size:.86rem;
}
.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid rgba(74,96,84,.20);
  border-radius:13px;
  padding:.82rem .9rem;
  color:var(--v2-ink);
  background:rgba(255,255,255,.72);
  font:inherit;
  line-height:1.65;
}
.form-field textarea{resize:vertical}
.form-field input:focus,
.form-field textarea:focus{
  outline:2px solid rgba(89,111,100,.18);
  border-color:rgba(89,111,100,.42);
}
.comment-submit{
  justify-self:start;
  appearance:none;
  border:1px solid rgba(79,102,92,.25);
  border-radius:999px;
  padding:.72rem 1.25rem;
  background:var(--accent);
  color:#fff;
  font:inherit;
  cursor:pointer;
}
.comment-submit:disabled{opacity:.55;cursor:wait}
.form-status{
  min-height:1.5em;
  margin:0 !important;
  color:var(--v2-muted) !important;
  font-size:.88rem !important;
}
.leave-a-light-section{
  text-align:center;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,255,255,.78),transparent 44%),
    rgba(237,240,234,.62);
}
.leave-a-light-intro{
  max-width:34rem;
  margin:0 auto 2rem !important;
}
.light-form{
  max-width:34rem;
  margin:0 auto;
  text-align:left;
}
.quote-save{
  float:right;
  margin:.25rem 0 .15rem .8rem;
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(89,111,100,.45);
  font-size:1rem;
  cursor:pointer;
  opacity:.38;
  transition:opacity .2s ease, transform .2s ease;
}
.v2-article p:hover > .quote-save,
.quote-save.is-saved{
  opacity:1;
}
.quote-save.is-saved{
  color:var(--rose);
  transform:scale(1.08);
}
.v2-modal{
  position:fixed;
  z-index:2000;
  inset:0;
  display:grid;
  place-items:center;
  padding:1rem;
}
.v2-modal[hidden]{display:none}
.v2-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  border:0;
  background:rgba(31,42,35,.42);
  backdrop-filter:blur(8px);
}
.v2-modal-dialog{
  position:relative;
  z-index:1;
  width:min(94vw,44rem);
  max-height:min(84vh,48rem);
  overflow:auto;
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.65);
  border-radius:24px;
  background:rgba(250,250,246,.96);
  box-shadow:0 30px 90px rgba(29,42,34,.23);
}
.v2-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.v2-modal-header h2{
  margin:0;
  font-size:1.45rem;
}
.v2-modal-close{
  appearance:none;
  border:0;
  background:none;
  color:var(--v2-muted);
  font:inherit;
  cursor:pointer;
}
#v2-search-input{
  width:100%;
  border:1px solid rgba(74,96,84,.20);
  border-radius:999px;
  padding:.85rem 1rem;
  background:#fff;
  color:var(--v2-ink);
  font:inherit;
}
.search-help,
.favorites-help{
  color:var(--v2-muted);
  font-size:.88rem;
}
.search-results,
.favorites-list{
  display:grid;
  gap:.7rem;
  margin-top:1rem;
}
.search-result,
.favorite-item{
  width:100%;
  padding:1rem;
  border:1px solid var(--v2-line);
  border-radius:16px;
  background:rgba(255,255,255,.60);
  color:var(--v2-ink);
  text-align:left;
}
.search-result{
  appearance:none;
  font:inherit;
  cursor:pointer;
}
.search-result strong,
.favorite-item strong{
  display:block;
  margin-bottom:.35rem;
  font-weight:500;
}
.search-result span,
.favorite-item p{
  display:block;
  margin:0;
  color:var(--v2-muted);
  font-size:.88rem;
  line-height:1.65;
}
.favorite-actions{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  margin-top:.65rem;
}
.favorite-actions button{
  appearance:none;
  border:0;
  padding:0;
  background:none;
  color:var(--v2-accent);
  font:inherit;
  font-size:.82rem;
  cursor:pointer;
}
.search-flash{
  animation:v2Flash 1.8s ease;
}
@keyframes v2Flash{
  0%,100%{box-shadow:none}
  35%{box-shadow:0 0 0 10px rgba(169,135,143,.11)}
}
.v2-empty{
  padding:2rem 1rem;
  color:var(--v2-muted);
  text-align:center;
}
@media (max-width:720px){
  body{
    padding-bottom:4.8rem;
  }
  .v2-floating-toolbar{
    top:auto;
    right:50%;
    bottom:calc(.7rem + env(safe-area-inset-bottom));
    transform:translateX(50%);
    width:max-content;
    max-width:calc(100vw - 1.4rem);
    justify-content:center;
  }
  .v2-floating-toolbar a,
  .v2-floating-toolbar button{
    min-width:4.1rem;
    padding:.68rem .8rem;
  }
  .cover-title{
    font-size:clamp(2rem,10.5vw,3.25rem) !important;
    line-height:1.28 !important;
  }
  .v2-cover-subtitle{
    font-size:1rem;
    line-height:1.9;
  }
  .cover-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .cover-actions .button{
    width:100%;
    min-width:0;
    padding:.82rem .7rem;
  }
  .daily-quote-card{
    margin-top:1.4rem;
    padding:1.35rem 1.2rem 1.15rem;
  }
  .book-section{
    padding-left:clamp(1.15rem,5vw,1.6rem) !important;
    padding-right:clamp(1.15rem,5vw,1.6rem) !important;
  }
  .book-section > h2{
    font-size:clamp(1.85rem,8.3vw,2.45rem) !important;
    line-height:1.36 !important;
  }
  .book-section > p,
  .recent-full-post > p,
  .post > p{
    font-size:clamp(1.06rem,4.65vw,1.16rem) !important;
    line-height:2.02 !important;
    margin-top:1.05em !important;
    margin-bottom:1.05em !important;
  }
  .article-meta{
    margin-top:-.35rem !important;
    margin-bottom:2rem !important;
    font-size:.78rem !important;
  }
  .article-end-tools{
    margin-top:2.8rem;
  }
  .article-pager{
    grid-template-columns:1fr;
  }
  .pager-next{
    text-align:left;
    align-items:flex-start;
  }
  .pager-empty{display:none}
  .article-share{
    gap:.65rem 1rem;
    line-height:1.7;
  }
  .quote-save{
    opacity:.68;
    font-size:1.05rem;
  }
  .v2-modal{
    align-items:end;
    padding:.5rem;
  }
  .v2-modal-dialog{
    width:100%;
    max-height:88vh;
    border-radius:24px 24px 14px 14px;
    padding:1rem;
  }
}



.daily-quote-state{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.daily-quote-slide{
  display:none;
  text-align:center;
}
.daily-quote-slide blockquote{
  margin:0;
  color:var(--v2-ink);
  font-size:clamp(1.12rem,2.4vw,1.38rem);
  line-height:1.9;
  font-weight:400;
}
.daily-quote-change-css{
  display:inline-block;
  margin-top:1rem;
  color:var(--accent);
  font-size:.88rem;
  cursor:pointer;
  user-select:none;
}

@media (max-width:720px){
  .daily-quote-slide blockquote{
    max-width:17rem;
    font-size:1.08rem !important;
    line-height:1.82 !important;
  }
  .daily-quote-change-css{
    margin-top:.75rem !important;
    padding:.35rem .75rem;
    border-radius:999px;
    background:rgba(79,102,92,.055);
    font-size:.82rem !important;
  }
  .cover-tattoo{
    width:72px !important;
    right:8px !important;
    bottom:6px !important;
    opacity:.075 !important;
  }
}



.daily-quote-slider .daily-quote-slide{
  display:none !important;
}
.daily-quote-slider .daily-quote-state:checked + .daily-quote-slide{
  display:flex !important;
}



#daily-quote{
  overflow:hidden;
}
#daily-quote .daily-quote-slider{
  position:relative;
  width:100%;
}
#daily-quote .daily-quote-slide{
  width:100%;
  
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1rem !important;
  padding:.2rem .4rem .35rem;
  text-align:center;
}
#daily-quote .daily-quote-slide blockquote{
  width:100%;
  max-width:29rem !important;
  margin:0 auto !important;
  padding:0 1rem;
  color:var(--v2-ink);
  font-size:clamp(1.06rem,4.5vw,1.28rem) !important;
  line-height:1.85 !important;
  text-align:center;
  overflow-wrap:anywhere;
}
#daily-quote .daily-quote-change-css{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:6.8rem;
  min-height:2.55rem;
  margin:0 !important;
  padding:.52rem 1.05rem !important;
  border:1px solid rgba(79,102,92,.16);
  border-radius:999px;
  background:rgba(255,255,255,.5) !important;
  color:var(--accent);
  font-size:.84rem !important;
  line-height:1;
  letter-spacing:.08em;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
}
#daily-quote .daily-quote-change-css::after{
  content:"↻";
  margin-left:.45rem;
  font-size:.86em;
}
@media (max-width:720px){
  #daily-quote{
    padding:1.25rem 1rem 1.1rem !important;
  }
  #daily-quote .daily-quote-eyebrow{
    margin-bottom:.65rem !important;
  }
  #daily-quote .daily-quote-slide{
    min-height:9.6rem;
    gap:.9rem !important;
    padding:.1rem 0 .25rem;
  }
  #daily-quote .daily-quote-slide blockquote{
    max-width:18rem !important;
    padding:0 .35rem;
    font-size:1.08rem !important;
    line-height:1.82 !important;
  }
  #daily-quote .daily-quote-change-css{
    min-width:7rem;
    min-height:2.5rem;
  }
}



#v2-favorites-modal:target{
  display:grid !important;
}
#v2-favorites-modal:target[hidden]{
  display:grid !important;
}
.favorites-toolbar-link{
  text-decoration:none;
}
.v2-modal-close{
  text-decoration:none;
}
.favorites-preview-note{
  line-height:1.9;
}



.quote-save{
  display:none !important;
}
.article-save-wrap{
  margin:-1.65rem 0 2.35rem;
}
.article-save-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:.48rem;
  border:0;
  padding:.35rem 0;
  background:transparent;
  color:var(--v2-muted);
  font:inherit;
  font-size:.84rem;
  letter-spacing:.06em;
  cursor:pointer;
}
.article-save-button:hover{
  color:var(--v2-accent);
}
.article-save-icon{
  font-size:1.08rem;
  line-height:1;
}
.article-save-button.is-saved{
  color:var(--rose);
}
.article-save-button.is-saved .article-save-icon{
  transform:scale(1.05);
}
@media (max-width:720px){
  .article-save-wrap{
    margin:-1.35rem 0 2rem;
  }
  .article-save-button{
    font-size:.82rem;
  }
}



.v2-article p,
#daily-quote .daily-quote-slide blockquote{
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
  text-wrap:pretty;
}
.no-orphan-tail{
  white-space:nowrap;
}
.v2-article p.balanced-short{
  max-width:100%;
  text-wrap:pretty;
}

@media (max-width:720px){
  .book-section{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .book-section > p,
  .recent-full-post > p,
  .post > p{
    font-size:clamp(1.01rem,4.25vw,1.11rem) !important;
    line-height:1.96 !important;
    letter-spacing:.006em;
  }
  .v2-article p.balanced-short{
    font-size:clamp(1rem,4.15vw,1.08rem) !important;
    line-height:1.94 !important;
  }
  #daily-quote .daily-quote-slide blockquote{
    max-width:20rem !important;
    padding:0 .1rem !important;
    font-size:1rem !important;
    line-height:1.78 !important;
    letter-spacing:.005em;
  }
}



#ch20 .correspondence-block{
  position:relative;
  max-width:44rem;
  margin:2.3rem auto;
  padding:2.15rem 2.2rem 2rem;
  border:1px solid rgba(79,102,92,.16);
  border-radius:22px;
  box-shadow:0 16px 42px rgba(47,64,53,.055);
}
#ch20 .letter-block{
  background:rgba(255,253,248,.84);
}
#ch20 .reply-block{
  background:rgba(237,241,235,.72);
}
#ch20 .correspondence-block p{
  margin:1.05em 0 !important;
  font-size:1rem !important;
  line-height:2 !important;
  letter-spacing:.008em;
  text-align:left;
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
}
#ch20 .correspondence-salutation{
  margin-top:0 !important;
  margin-bottom:1.7rem !important;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(79,102,92,.13);
  color:var(--v2-accent);
  font-weight:500;
  letter-spacing:.08em !important;
}
#ch20 .correspondence-signature{
  margin-top:1.8rem !important;
  margin-bottom:0 !important;
  padding-top:1rem;
  border-top:1px solid rgba(79,102,92,.13);
  text-align:right !important;
  color:var(--v2-accent);
  letter-spacing:.08em !important;
}
#ch20 .correspondence-divider{
  width:1px;
  height:3rem;
  margin:.15rem auto;
  background:linear-gradient(
    to bottom,
    transparent,
    rgba(79,102,92,.28),
    transparent
  );
}
@media (max-width:720px){
  #ch20 .correspondence-block{
    width:100%;
    margin:1.8rem auto;
    padding:1.45rem 1.05rem 1.35rem;
    border-radius:18px;
  }
  #ch20 .correspondence-block p{
    font-size:1rem !important;
    line-height:1.95 !important;
    margin:1em 0 !important;
  }
  #ch20 .correspondence-salutation{
    margin-bottom:1.35rem !important;
    padding-bottom:.85rem;
  }
  #ch20 .correspondence-signature{
    margin-top:1.45rem !important;
    padding-top:.85rem;
  }
  #ch20 .correspondence-divider{
    height:2.4rem;
  }
}



#toc-front-matter .toc-part-title,
#toc-site-interaction .toc-part-title{
  opacity:.86;
}
#toc-front-matter .toc-part-items a,
#toc-site-interaction .toc-part-items a{
  background:rgba(255,255,255,.28);
}
.side-part > span.side-part-title{
  display:block;
}
#leave-a-light.post-book-interaction{
  margin-top:4rem;
  border-top:1px solid rgba(79,102,92,.14);
}



.toc-auxiliary-links{
  padding-top:.15rem;
}
.side-auxiliary-links{
  padding-top:.15rem;
}



:root{
  --v3-font-scale:1;
  --v3-paper:#f6f4ee;
  --v3-paper-soft:#fbfaf6;
  --v3-ink:#303934;
  --v3-muted:#77817b;
  --v3-line:rgba(75,95,84,.16);
  --v3-panel:rgba(250,249,245,.96);
}
html{
  scroll-behavior:smooth;
}
body{
  background:var(--v3-paper);
  color:var(--v3-ink);
  transition:background-color .28s ease,color .28s ease;
}
.book-section > p:not(.article-meta):not(.chapter-note):not(.comment-intro):not(.form-status),
.post > p:not(.article-meta):not(.comment-intro):not(.form-status),
.correspondence-block > p{
  font-size:calc(1em * var(--v3-font-scale)) !important;
}
.publisher-toc{
  scroll-margin-top:5.5rem;
  margin-top:clamp(3rem,8vw,7rem);
  margin-bottom:clamp(4rem,10vw,9rem);
}
.part-divider{
  min-height:min(78vh,48rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding-top:clamp(5rem,12vh,9rem);
  padding-bottom:clamp(5rem,12vh,9rem);
}
.part-divider h2{
  margin-top:.45rem;
}
.part-divider .part-subtitle{
  max-width:31rem;
  margin-top:2rem;
  line-height:2.05;
}
.v3-reading-progress{
  position:fixed;
  inset:0 0 auto;
  
  z-index:9999;
  pointer-events:none;
  
}
.v3-reading-progress span{
  
  
  
  
  
  transition:width .12s linear;
}
.v3-resume-reading[hidden]{
  display:none !important;
}
.v3-reading-panel{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:end center;
  padding:1rem;
  background:rgba(24,31,27,.34);
  backdrop-filter:blur(8px);
}
.v3-reading-panel[hidden]{
  display:none;
}
.v3-reading-panel-inner{
  width:min(100%,32rem);
  padding:1.5rem;
  border:1px solid var(--v3-line);
  border-radius:24px;
  background:var(--v3-panel);
  box-shadow:0 24px 70px rgba(30,40,34,.18);
}
.v3-reading-panel h2{
  margin:0 0 1.25rem;
  font-size:1.22rem;
  font-weight:500;
  letter-spacing:.08em;
}
.v3-setting-group{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
  border-top:1px solid var(--v3-line);
}
.v3-setting-label{
  color:var(--v3-muted);
  font-size:.92rem;
}
.v3-font-controls{
  display:flex;
  gap:.45rem;
}
.v3-font-controls button,
#v3-theme-toggle,
.v3-panel-close{
  min-width:3rem;
  min-height:2.65rem;
  padding:.58rem .85rem;
  border:1px solid var(--v3-line);
  border-radius:999px;
  color:var(--v3-ink);
  background:rgba(255,255,255,.52);
  font:inherit;
}
.v3-panel-close{
  width:100%;
  margin-top:.7rem;
  color:white;
  background:var(--accent);
}
.v3-article-end-divider{
  width:min(12rem,42%);
  height:1px;
  margin:clamp(3rem,8vw,5rem) auto 2.2rem;
  background:linear-gradient(to right,transparent,var(--v3-line),transparent);
}
.article-end-tools{
  margin-top:0 !important;
}
.article-end-tools .article-pager{
  margin-bottom:1.5rem;
}
.article-end-tools .article-save-wrap{
  display:flex;
  justify-content:center;
  margin:0 0 1rem !important;
}
.article-end-tools .article-share{
  justify-content:center;
  margin-bottom:1.35rem;
}
.article-end-tools .v2-comments{
  margin-top:0;
}

.v3-drop-cap-article > .v3-opening-paragraph::first-letter{
  float:left;
  margin:.09em .13em 0 0;
  color:var(--accent);
  font-size:3.25em;
  line-height:.78;
  font-weight:400;
}
.publisher-toc a.is-read,
.side a.is-read{
  opacity:.58;
}
.publisher-toc a.is-read .toc-no::after{
  content:" ✓";
  color:var(--accent-2);
  font-size:.78rem;
}
body.v3-panel-open{
  overflow:hidden;
}

/* Night reading */
html[data-theme="night"]{
  color-scheme:dark;
  --v3-paper:#18201c;
  --v3-paper-soft:#1d2722;
  --v3-ink:#e7e8e2;
  --v3-muted:#aeb8b1;
  --v3-line:rgba(225,232,226,.14);
  --v3-panel:rgba(29,39,34,.97);
}
html[data-theme="night"] body,
html[data-theme="night"] .site-cover,
html[data-theme="night"] .publisher-toc,
html[data-theme="night"] .book-section,
html[data-theme="night"] .part-divider,
html[data-theme="night"] footer{
  background-color:var(--v3-paper) !important;
  color:var(--v3-ink) !important;
}
html[data-theme="night"] .toc-part-items a,
html[data-theme="night"] .correspondence-block,
html[data-theme="night"] .daily-quote-card,
html[data-theme="night"] .article-pager a,
html[data-theme="night"] details,
html[data-theme="night"] input,
html[data-theme="night"] textarea{
  background:rgba(255,255,255,.045) !important;
  color:var(--v3-ink) !important;
  border-color:var(--v3-line) !important;
}
html[data-theme="night"] .side{
  background:rgba(24,32,28,.92) !important;
}
html[data-theme="night"] .v2-floating-toolbar{
  background:rgba(24,32,28,.9) !important;
  border-color:var(--v3-line) !important;
}
html[data-theme="night"] .v2-floating-toolbar a,
html[data-theme="night"] .v2-floating-toolbar button,
html[data-theme="night"] a{
  color:var(--v3-ink);
}
html[data-theme="night"] img{
  filter:brightness(.86);
}

@media (min-width:721px){
  .v3-reading-panel{
    place-items:center;
  }
}
@media (max-width:720px){
  .part-divider{
    min-height:72vh;
  }
  .v2-floating-toolbar{
    gap:.15rem;
  }
  .v2-floating-toolbar a,
  .v2-floating-toolbar button{
    padding:.58rem .68rem !important;
    font-size:.82rem !important;
  }
  .v3-closing-line{
    width:min(92%,27rem);
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important}
}



.v3-reading-progress{
  height:6px !important;
  background:rgba(79,102,92,.12) !important;
  box-shadow:0 1px 7px rgba(40,56,47,.10);
}
.v3-reading-progress span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--accent-2),var(--accent)) !important;
  opacity:1 !important;
  transform-origin:left center;
}
@supports (animation-timeline: scroll()) {
  .v3-reading-progress span{
    width:100% !important;
    transform:scaleX(0);
    animation:v3-page-progress linear both;
    animation-timeline:scroll(root block);
  }
  @keyframes v3-page-progress{
    to{transform:scaleX(1)}
  }
}

.v3-reader-state-holder{
  position:fixed;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
}
.v3-reader-state{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.v3-reader-settings{
  position:relative;
  margin:0;
}
.v3-reader-settings > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}
.v3-reader-settings > summary::-webkit-details-marker{
  display:none;
}
.v3-reader-popover{
  position:absolute;
  right:0;
  bottom:calc(100% + .75rem);
  width:min(20rem,calc(100vw - 2rem));
  padding:1.05rem;
  border:1px solid var(--v3-line);
  border-radius:20px;
  background:var(--v3-panel);
  color:var(--v3-ink);
  box-shadow:0 20px 55px rgba(30,40,34,.18);
  backdrop-filter:blur(16px);
}
.v3-reader-popover-title{
  padding:.15rem .15rem .8rem;
  font-size:1rem;
  font-weight:600;
  letter-spacing:.08em;
}
.v3-reader-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.85rem .15rem;
  border-top:1px solid var(--v3-line);
  font-size:.9rem;
}
.v3-reader-choice-group{
  display:flex;
  gap:.32rem;
}
.v3-reader-choice{
  display:grid;
  place-items:center;
  min-width:2.55rem;
  min-height:2.45rem;
  padding:.35rem .52rem;
  border:1px solid var(--v3-line);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  cursor:pointer;
}
body:has(#v3-font-small:checked) label[for="v3-font-small"],
body:has(#v3-font-normal:checked) label[for="v3-font-normal"],
body:has(#v3-font-large:checked) label[for="v3-font-large"],
body:has(#v3-font-xlarge:checked) label[for="v3-font-xlarge"]{
  color:white;
  background:var(--accent);
  border-color:var(--accent);
}

body:has(#v3-font-small:checked){--v3-font-scale:.90}
body:has(#v3-font-normal:checked){--v3-font-scale:1}
body:has(#v3-font-large:checked){--v3-font-scale:1.13}
body:has(#v3-font-xlarge:checked){--v3-font-scale:1.27}

.v3-night-toggle{
  position:relative;
  width:4.8rem;
  min-height:2.45rem;
  border:1px solid var(--v3-line);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  cursor:pointer;
}
.v3-night-toggle::before{
  content:"";
  position:absolute;
  top:50%;
  left:.35rem;
  width:1.72rem;
  height:1.72rem;
  border-radius:50%;
  background:var(--accent);
  transform:translateY(-50%);
  transition:transform .2s ease;
}
.v3-night-toggle-text::after{
  content:"夜間";
  position:absolute;
  top:50%;
  right:.55rem;
  transform:translateY(-50%);
  font-size:.72rem;
  color:var(--v3-muted);
}
body:has(#v3-night-state:checked) .v3-night-toggle::before{
  transform:translate(2.35rem,-50%);
}
body:has(#v3-night-state:checked) .v3-night-toggle-text::after{
  content:"日間";
  left:.55rem;
  right:auto;
}

/* Pure CSS night mode fallback */
body:has(#v3-night-state:checked){
  --v3-paper:#18201c;
  --v3-paper-soft:#1d2722;
  --v3-ink:#e7e8e2;
  --v3-muted:#aeb8b1;
  --v3-line:rgba(225,232,226,.14);
  --v3-panel:rgba(29,39,34,.98);
  background:#18201c !important;
  color:#e7e8e2 !important;
  color-scheme:dark;
}
body:has(#v3-night-state:checked) .site-cover,
body:has(#v3-night-state:checked) .publisher-toc,
body:has(#v3-night-state:checked) .book-section,
body:has(#v3-night-state:checked) .part-divider,
body:has(#v3-night-state:checked) footer{
  background-color:#18201c !important;
  color:#e7e8e2 !important;
}
body:has(#v3-night-state:checked) .toc-part-items a,
body:has(#v3-night-state:checked) .correspondence-block,
body:has(#v3-night-state:checked) .daily-quote-card,
body:has(#v3-night-state:checked) .article-pager a,
body:has(#v3-night-state:checked) details,
body:has(#v3-night-state:checked) input,
body:has(#v3-night-state:checked) textarea{
  background:rgba(255,255,255,.045) !important;
  color:#e7e8e2 !important;
  border-color:rgba(225,232,226,.14) !important;
}
body:has(#v3-night-state:checked) .side,
body:has(#v3-night-state:checked) .v2-floating-toolbar{
  background:rgba(24,32,28,.94) !important;
  color:#e7e8e2 !important;
}
body:has(#v3-night-state:checked) a,
body:has(#v3-night-state:checked) button,
body:has(#v3-night-state:checked) summary{
  color:#e7e8e2;
}
body:has(#v3-night-state:checked) img{
  filter:brightness(.86);
}

@media (max-width:720px){
  .v3-reading-progress{
    height:5px !important;
  }
  .v3-reader-popover{
    position:fixed;
    left:1rem;
    right:1rem;
    bottom:5.4rem;
    width:auto;
  }
  .v3-reader-choice{
    min-width:2.35rem;
    padding:.32rem .43rem;
  }
}



html:has(#v3-night-state:checked),
body:has(#v3-night-state:checked){
  background:#18201c !important;
  background-image:none !important;
  color:#e7e8e2 !important;
}

body:has(#v3-night-state:checked)::before{
  opacity:.05 !important;
}

body:has(#v3-night-state:checked) main,
body:has(#v3-night-state:checked) .layout,
body:has(#v3-night-state:checked) .book,
body:has(#v3-night-state:checked) #book,
body:has(#v3-night-state:checked) .site-cover,
body:has(#v3-night-state:checked) .cover-card,
body:has(#v3-night-state:checked) .publisher-toc,
body:has(#v3-night-state:checked) .book-section,
body:has(#v3-night-state:checked) .part-divider,
body:has(#v3-night-state:checked) .final-photo-page,
body:has(#v3-night-state:checked) .post,
body:has(#v3-night-state:checked) .recent-full-post,
body:has(#v3-night-state:checked) .added-text-only-post,
body:has(#v3-night-state:checked) .leave-a-light-section,
body:has(#v3-night-state:checked) footer{
  background:#18201c !important;
  background-image:none !important;
  color:#e7e8e2 !important;
  border-color:rgba(225,232,226,.12) !important;
  box-shadow:none !important;
}

body:has(#v3-night-state:checked) .book-section::before{
  background:linear-gradient(
    180deg,
    rgba(154,170,160,.42),
    rgba(79,102,92,.68)
  ) !important;
}
body:has(#v3-night-state:checked) .book-section::after,
body:has(#v3-night-state:checked) .cover-card::before{
  color:rgba(225,232,226,.20) !important;
}
body:has(#v3-night-state:checked) .cover-card::after{
  background:radial-gradient(
    circle,
    rgba(169,135,143,.09),
    transparent 62%
  ) !important;
}

body:has(#v3-night-state:checked) .book-section p,
body:has(#v3-night-state:checked) .book-section h2,
body:has(#v3-night-state:checked) .book-section h3,
body:has(#v3-night-state:checked) .book-section blockquote,
body:has(#v3-night-state:checked) .chapter-note,
body:has(#v3-night-state:checked) .source-note,
body:has(#v3-night-state:checked) .post-note,
body:has(#v3-night-state:checked) .cover-title,
body:has(#v3-night-state:checked) .cover-author,
body:has(#v3-night-state:checked) .publisher-toc h2,
body:has(#v3-night-state:checked) .publisher-toc p,
body:has(#v3-night-state:checked) .toc-part-title,
body:has(#v3-night-state:checked) .toc-part-items a,
body:has(#v3-night-state:checked) .side-title,
body:has(#v3-night-state:checked) .side a,
body:has(#v3-night-state:checked) .correspondence-block p,
body:has(#v3-night-state:checked) .v3-closing-line{
  color:#e7e8e2 !important;
}

body:has(#v3-night-state:checked) .chapter-kicker,
body:has(#v3-night-state:checked) .kicker,
body:has(#v3-night-state:checked) .toc-no,
body:has(#v3-night-state:checked) .article-meta,
body:has(#v3-night-state:checked) .article-share-label,
body:has(#v3-night-state:checked) .comment-intro{
  color:#aeb8b1 !important;
}

body:has(#v3-night-state:checked) .chapter-note,
body:has(#v3-night-state:checked) .post-note,
body:has(#v3-night-state:checked) .book-section blockquote,
body:has(#v3-night-state:checked) .correspondence-block,
body:has(#v3-night-state:checked) .daily-quote-card,
body:has(#v3-night-state:checked) .toc-part-items a,
body:has(#v3-night-state:checked) .article-pager a,
body:has(#v3-night-state:checked) .article-save-button,
body:has(#v3-night-state:checked) .article-share a,
body:has(#v3-night-state:checked) .article-share button,
body:has(#v3-night-state:checked) details,
body:has(#v3-night-state:checked) input,
body:has(#v3-night-state:checked) textarea,
body:has(#v3-night-state:checked) .button,
body:has(#v3-night-state:checked) .back-to-contents{
  background:#202b25 !important;
  background-image:none !important;
  color:#e7e8e2 !important;
  border-color:rgba(225,232,226,.14) !important;
}

body:has(#v3-night-state:checked) .side{
  background:rgba(24,32,28,.98) !important;
  background-image:none !important;
  color:#e7e8e2 !important;
  border-color:rgba(225,232,226,.12) !important;
}

body:has(#v3-night-state:checked) .v2-floating-toolbar,
body:has(#v3-night-state:checked) .v3-reader-popover{
  background:#1d2722 !important;
  background-image:none !important;
  color:#e7e8e2 !important;
  border-color:rgba(225,232,226,.14) !important;
}

body:has(#v3-night-state:checked) .v2-floating-toolbar a,
body:has(#v3-night-state:checked) .v2-floating-toolbar button,
body:has(#v3-night-state:checked) .v2-floating-toolbar summary,
body:has(#v3-night-state:checked) .v3-reader-popover,
body:has(#v3-night-state:checked) .v3-reader-popover *{
  color:#e7e8e2 !important;
}

body:has(#v3-night-state:checked) .v3-night-toggle{
  background:#46564d !important;
}
body:has(#v3-night-state:checked) .v3-night-toggle::before{
  background:#dfe5df !important;
}
body:has(#v3-night-state:checked) .v3-night-toggle-text::after{
  color:#dfe5df !important;
}

/* The hosted version also uses html[data-theme="night"]. */
html[data-theme="night"],
html[data-theme="night"] body{
  background:#18201c !important;
  background-image:none !important;
}
html[data-theme="night"] main,
html[data-theme="night"] .layout,
html[data-theme="night"] .book,
html[data-theme="night"] #book,
html[data-theme="night"] .cover-card,
html[data-theme="night"] .publisher-toc,
html[data-theme="night"] .book-section,
html[data-theme="night"] .part-divider,
html[data-theme="night"] .final-photo-page,
html[data-theme="night"] .post,
html[data-theme="night"] .recent-full-post,
html[data-theme="night"] .added-text-only-post{
  background:#18201c !important;
  background-image:none !important;
  color:#e7e8e2 !important;
}



.v3-closing-line{
  max-width:none !important;
  margin:1em 0 !important;
  text-align:left !important;
  font-size:calc(1em * var(--v3-font-scale)) !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}




/* Intentionally recurring words, shown as an echo rather than accidental duplication */
.intentional-echo{
  margin-top:1.8rem !important;
  margin-bottom:1.8rem !important;
  padding:.85rem 1.15rem !important;
  border-left:2px solid rgba(79,102,92,.34);
  color:var(--accent) !important;
  font-family:"Kaiti TC","DFKai-SB","BiauKai","STKaiti",serif;
  letter-spacing:.035em;
}

/* The brief writings in Part Two are poetic fragments, not mini essays */
.poetic-fragment{
  min-height:clamp(28rem,68vh,42rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:clamp(4.5rem,11vh,8rem) !important;
  padding-bottom:clamp(4.5rem,11vh,8rem) !important;
}
.poetic-fragment > h2{
  width:min(100%,30rem);
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:clamp(2.2rem,6vw,3.5rem) !important;
  font-size:clamp(1.5rem,4.8vw,2.15rem) !important;
  font-weight:430;
  letter-spacing:.12em;
}
.poetic-fragment > p{
  width:min(100%,30rem);
  margin:.82em auto !important;
  font-size:calc(1.06em * var(--v3-font-scale)) !important;
  line-height:2.08 !important;
  letter-spacing:.025em;
  text-align:left !important;
}
.poetic-fragment .article-save-wrap{
  width:min(100%,30rem);
  margin-left:auto !important;
  margin-right:auto !important;
}
.poetic-fragment .article-end-tools{
  width:min(100%,34rem);
  margin-left:auto !important;
  margin-right:auto !important;
}

/* A silent page between the two longest and heaviest narrative chapters */
.narrative-breath-page{
  min-height:clamp(16rem,46vh,32rem);
  position:relative;
}
.narrative-breath-page::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:clamp(4rem,12vh,7rem);
  transform:translate(-50%,-50%);
  background:linear-gradient(
    to bottom,
    transparent,
    rgba(79,102,92,.24),
    transparent
  );
}

html[data-theme="night"] .intentional-echo,
body:has(#v3-night-state:checked) .intentional-echo{
  color:#d8e0da !important;
  border-left-color:rgba(216,224,218,.34);
}
html[data-theme="night"] .narrative-breath-page::after,
body:has(#v3-night-state:checked) .narrative-breath-page::after{
  background:linear-gradient(
    to bottom,
    transparent,
    rgba(216,224,218,.24),
    transparent
  );
}

@media (max-width:720px){
  .poetic-fragment{
    min-height:62vh;
  }
  .poetic-fragment > h2,
  .poetic-fragment > p{
    width:min(100%,27rem);
  }
  .narrative-breath-page{
    min-height:38vh;
  }
}



.epistolary-card{
  position:relative;
  width:min(100%,46rem);
  margin:2.35rem auto;
  padding:clamp(1.45rem,4vw,2.35rem);
  border:1px solid rgba(79,102,92,.16);
  border-radius:22px;
  background:rgba(255,253,248,.78);
  box-shadow:0 16px 44px rgba(47,64,53,.055);
}
.epistolary-card > p{
  margin:1.05em 0 !important;
  font-size:calc(.98em * var(--v3-font-scale)) !important;
  line-height:2.02 !important;
  letter-spacing:.008em;
  text-align:left !important;
}
.epistolary-card > p:first-child{margin-top:0 !important}
.epistolary-card > p:last-child{margin-bottom:0 !important}
.letter-caption{
  margin-bottom:1.55rem !important;
  padding-bottom:.85rem;
  border-bottom:1px solid rgba(79,102,92,.14);
  color:var(--accent) !important;
  font-size:calc(.86em * var(--v3-font-scale)) !important;
  letter-spacing:.11em !important;
}
.letter-exchange-divider{
  width:1px;
  height:2.7rem;
  margin:.1rem auto;
  background:linear-gradient(to bottom,transparent,rgba(79,102,92,.27),transparent);
}
.writer-letter{
  background:rgba(255,252,245,.88);
  border-left:3px solid rgba(169,135,143,.52);
}
.doctor-reply{
  background:rgba(236,241,238,.76) !important;
  border-left:3px solid rgba(79,102,92,.54);
}
.doctor-reply > p{
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",sans-serif;
  font-size:calc(.95em * var(--v3-font-scale)) !important;
  line-height:1.92 !important;
}
.ruowen-message{
  background:rgba(238,243,238,.72);
  border-left:3px solid rgba(104,130,116,.54);
}
.ruowen-message > p{
  font-family:"Kaiti TC","DFKai-SB","BiauKai","STKaiti",serif;
  letter-spacing:.025em;
}
.ruowen-letter{
  background:rgba(252,250,244,.88);
  border-top:2px solid rgba(104,130,116,.34);
}
.ruowen-letter > p:not(.letter-caption){
  font-size:calc(.97em * var(--v3-font-scale)) !important;
}
.lili-question{
  width:min(100%,40rem);
  margin-left:calc(50% - min(50%,23rem));
  background:rgba(255,252,246,.82);
  border-left:3px solid rgba(169,135,143,.50);
}
.lili-reply{
  width:min(100%,42rem);
  margin-right:calc(50% - min(50%,23rem));
  background:rgba(239,243,238,.78);
  border-left:3px solid rgba(79,102,92,.52);
}
.lili-reply > p:not(.letter-caption){
  font-family:"Kaiti TC","DFKai-SB","BiauKai","STKaiti",serif;
  font-size:calc(1em * var(--v3-font-scale)) !important;
  letter-spacing:.025em;
}
.brian-letter{
  width:min(100%,42rem);
  padding:clamp(1.6rem,4vw,2.5rem);
  background:rgba(250,248,242,.90);
  border-top:1px solid rgba(79,102,92,.26);
  border-bottom:1px solid rgba(79,102,92,.26);
  border-radius:4px;
  box-shadow:none;
}
.brian-letter > p{
  font-family:Georgia,"Times New Roman",serif;
  font-size:calc(1em * var(--v3-font-scale)) !important;
  line-height:1.92 !important;
  letter-spacing:.012em;
}
.brian-letter > p:first-child,
.brian-letter > p:nth-last-child(-n/**/+2){
  font-style:italic;
}
.letter-inline-excerpt{
  width:min(100%,42rem);
  margin:2rem auto;
  padding:1.25rem 1.45rem;
  border-left:3px solid rgba(79,102,92,.45);
  border-radius:0 16px 16px 0;
  background:rgba(239,243,238,.60);
}
.letter-inline-excerpt > p{
  margin:0 !important;
  font-family:"Kaiti TC","DFKai-SB","BiauKai","STKaiti",serif;
  font-size:calc(.99em * var(--v3-font-scale)) !important;
  line-height:2 !important;
  color:var(--accent) !important;
}
.epistolary-card .correspondence-salutation{
  margin-bottom:1.45rem !important;
  padding-bottom:.8rem;
  border-bottom:1px solid rgba(79,102,92,.13);
  color:var(--accent) !important;
  font-weight:500;
  letter-spacing:.07em !important;
}
.epistolary-card .correspondence-signature{
  margin-top:1.55rem !important;
  padding-top:.85rem;
  border-top:1px solid rgba(79,102,92,.13);
  text-align:right !important;
  color:var(--accent) !important;
  letter-spacing:.07em !important;
}
html[data-theme="night"] .epistolary-card,
body:has(#v3-night-state:checked) .epistolary-card{
  background:#202a25 !important;
  color:#e7e8e2 !important;
  border-color:rgba(225,232,226,.14) !important;
  box-shadow:none !important;
}
html[data-theme="night"] .epistolary-card > p,
body:has(#v3-night-state:checked) .epistolary-card > p{
  color:#e7e8e2 !important;
}
html[data-theme="night"] .letter-caption,
html[data-theme="night"] .correspondence-salutation,
html[data-theme="night"] .correspondence-signature,
body:has(#v3-night-state:checked) .letter-caption,
body:has(#v3-night-state:checked) .correspondence-salutation,
body:has(#v3-night-state:checked) .correspondence-signature{
  color:#c9d5ce !important;
  border-color:rgba(225,232,226,.14) !important;
}
html[data-theme="night"] .letter-inline-excerpt,
body:has(#v3-night-state:checked) .letter-inline-excerpt{
  background:#202a25 !important;
  border-left-color:rgba(201,213,206,.46) !important;
}
html[data-theme="night"] .letter-inline-excerpt > p,
body:has(#v3-night-state:checked) .letter-inline-excerpt > p{
  color:#d9e1dc !important;
}
html[data-theme="night"] .letter-exchange-divider,
body:has(#v3-night-state:checked) .letter-exchange-divider{
  background:linear-gradient(to bottom,transparent,rgba(225,232,226,.24),transparent);
}
@media (max-width:720px){
  .epistolary-card{
    width:100%;
    margin:1.8rem auto;
    padding:1.35rem 1.05rem;
    border-radius:17px;
  }
  .epistolary-card > p{
    font-size:calc(.98em * var(--v3-font-scale)) !important;
    line-height:1.96 !important;
  }
  .lili-question,
  .lili-reply{
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .brian-letter{border-radius:3px}
  .letter-inline-excerpt{
    width:100%;
    padding:1.05rem 1.1rem;
  }
}



#ch33 .chapter-core-quote{
  width:min(100%,34rem);
  margin:clamp(2.7rem,7vw,4.4rem) auto !important;
  padding:clamp(1.45rem,4vw,2.05rem) clamp(1.2rem,4vw,2rem) !important;
  border-top:1px solid rgba(79,102,92,.22);
  border-bottom:1px solid rgba(79,102,92,.22);
  color:var(--accent) !important;
  font-size:calc(1.22em * var(--v3-font-scale)) !important;
  line-height:1.95 !important;
  letter-spacing:.055em;
  text-align:center !important;
  font-family:"Kaiti TC","DFKai-SB","BiauKai","STKaiti",serif;
}
html[data-theme="night"] #ch33 .chapter-core-quote,
body:has(#v3-night-state:checked) #ch33 .chapter-core-quote{
  color:#dce4df !important;
  border-color:rgba(220,228,223,.22);
}
@media (max-width:720px){
  #ch33 .chapter-core-quote{
    width:min(94%,30rem);
    font-size:calc(1.14em * var(--v3-font-scale)) !important;
    letter-spacing:.035em;
  }
}



.subtle-emphasis-line{
  margin:1.65rem 0 1.85rem !important;
  padding:.15rem 0 .15rem 1rem !important;
  border-left:2px solid rgba(79,102,92,.32);
  color:var(--accent) !important;
  font-size:calc(1.05em * var(--v3-font-scale)) !important;
  line-height:1.95 !important;
  font-weight:500;
  letter-spacing:.018em;
  text-align:left !important;
}
html[data-theme="night"] .subtle-emphasis-line,
body:has(#v3-night-state:checked) .subtle-emphasis-line{
  color:#d8e0da !important;
  border-left-color:rgba(216,224,218,.34);
}



.translation-note{
  width:min(100%,38rem);
  margin:2.6rem auto 0 !important;
  padding:1rem 1.15rem !important;
  border-top:1px solid rgba(79,102,92,.14);
  color:var(--muted) !important;
  font-size:calc(.86em * var(--v3-font-scale)) !important;
  line-height:1.85 !important;
  letter-spacing:.018em;
  text-align:left !important;
}

.citation-block,
.citation-block-single{
  width:min(100%,43rem);
  margin:2rem auto !important;
  padding:1.25rem 1.35rem !important;
  border:0;
  border-left:3px solid rgba(79,102,92,.38);
  border-radius:0 16px 16px 0;
  background:rgba(238,242,238,.54);
  color:var(--ink);
}
.citation-block > p,
.citation-block-single{
  font-size:calc(.95em * var(--v3-font-scale)) !important;
  line-height:1.98 !important;
  letter-spacing:.012em;
  text-align:left !important;
}
.citation-block > p{
  margin:.85em 0 !important;
}
.citation-block > p:first-child{
  margin-top:0 !important;
}
.citation-block > p:last-child{
  margin-bottom:0 !important;
}
.citation-block-single{
  display:block;
}

.translated-pair > p:first-child{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
}
.translated-pair > p:not(:first-child):not(.citation-source){
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
}

.citation-source{
  margin-top:1rem !important;
  padding-top:.75rem;
  border-top:1px solid rgba(79,102,92,.13);
  color:var(--muted) !important;
  font-size:calc(.82em * var(--v3-font-scale)) !important;
  line-height:1.7 !important;
  letter-spacing:.035em;
  text-align:left !important;
}

.citation-context{
  margin:1.45rem 0 !important;
  padding:.75rem 1rem !important;
  border-left:2px solid rgba(79,102,92,.28);
  background:rgba(239,243,239,.34);
  color:var(--ink);
  font-size:calc(.98em * var(--v3-font-scale)) !important;
  line-height:1.98 !important;
}

.citation-material{
  position:relative;
}
.citation-material::before{
  content:"引用";
  position:absolute;
  top:.75rem;
  right:.9rem;
  color:rgba(79,102,92,.48);
  font-size:.68rem;
  letter-spacing:.16em;
}
.reproduced-citation{
  position:relative;
  border-left:3px solid rgba(79,102,92,.34);
  padding-left:clamp(1rem,3vw,1.45rem);
}
.reproduced-citation::before{
  content:"經同意轉錄";
  display:block;
  margin-bottom:1.1rem;
  color:var(--muted);
  font-size:.76rem;
  letter-spacing:.12em;
}

html[data-theme="night"] .translation-note,
body:has(#v3-night-state:checked) .translation-note{
  color:#aeb8b1 !important;
  border-color:rgba(225,232,226,.14);
}
html[data-theme="night"] .citation-block,
html[data-theme="night"] .citation-block-single,
html[data-theme="night"] .citation-context,
body:has(#v3-night-state:checked) .citation-block,
body:has(#v3-night-state:checked) .citation-block-single,
body:has(#v3-night-state:checked) .citation-context{
  background:#202a25 !important;
  color:#e7e8e2 !important;
  border-color:rgba(205,218,210,.34) !important;
}
html[data-theme="night"] .citation-block > p,
body:has(#v3-night-state:checked) .citation-block > p{
  color:#e7e8e2 !important;
}
html[data-theme="night"] .citation-source,
body:has(#v3-night-state:checked) .citation-source{
  color:#aeb8b1 !important;
  border-color:rgba(225,232,226,.14) !important;
}
html[data-theme="night"] .reproduced-citation,
body:has(#v3-night-state:checked) .reproduced-citation{
  border-left-color:rgba(205,218,210,.34);
}

@media (max-width:720px){
  .citation-block,
  .citation-block-single{
    width:100%;
    margin:1.6rem auto !important;
    padding:1.05rem 1rem !important;
    border-radius:0 13px 13px 0;
  }
  .citation-context{
    padding:.65rem .85rem !important;
  }
  .citation-material::before{
    top:.6rem;
    right:.7rem;
  }
}


.seth-reference-note{
  width:min(100%,42rem);
  margin:.45rem 0 1.55rem !important;
}



.site-cover{
  min-height:100svh;
  padding:clamp(2.25rem,6vh,4.75rem) 1.25rem;
}
.cover-card{
  width:min(61.25rem,calc(100vw - 2.5rem));
  max-width:100%;
  padding:clamp(3.5rem,6vw,5.5rem) clamp(1.5rem,5vw,4.5rem) clamp(3rem,5vw,4.75rem);
  overflow:hidden;
}
.cover-title{
  display:grid;
  justify-items:center;
  gap:.08em;
  width:100%;
  max-width:100%;
  margin:0 auto clamp(1.5rem,3vw,2.15rem);
  font-size:clamp(2.35rem,5.1vw,4.35rem);
  line-height:1.34;
  letter-spacing:clamp(.07em,.85vw,.16em);
  white-space:normal !important;
  text-wrap:balance;
}
.cover-title span{
  display:block;
  max-width:100%;
  white-space:nowrap;
}
.v2-cover-subtitle{
  margin-top:0;
}
.cover-actions{
  position:relative;
  z-index:2;
  max-width:42rem;
  margin-inline:auto;
}
.daily-quote-card{
  position:relative;
  z-index:2;
  width:min(100%,37rem);
  margin-top:clamp(1.4rem,3vw,2rem);
}
#daily-quote .daily-quote-slide{
  min-height:8.7rem;
}
.cover-tattoo{
  pointer-events:none;
}
@media (max-width:720px){
  .site-cover{
    min-height:auto;
    padding:1.25rem .75rem 2rem;
  }
  .cover-card{
    width:100%;
    padding:3.25rem 1.15rem 2.35rem;
    border-radius:1.5rem;
  }
  .cover-title{
    gap:.04em;
    margin-bottom:1.25rem;
    font-size:clamp(2rem,10.2vw,3rem) !important;
    line-height:1.3 !important;
    letter-spacing:.075em !important;
  }
  .cover-title span{
    white-space:nowrap;
  }
  .v2-cover-identity{
    margin-bottom:1rem;
    font-size:.7rem;
    letter-spacing:.24em;
  }
  .v2-cover-subtitle{
    max-width:19rem;
    margin-bottom:1.15rem;
    font-size:.96rem;
    line-height:1.75;
  }
  .cover-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.6rem;
  }
  .cover-actions .button{
    min-height:2.85rem;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:.68rem .55rem;
    font-size:.88rem;
  }
  .daily-quote-card{
    margin-top:1.25rem;
    padding:1.15rem .85rem 1rem !important;
    border-radius:1.15rem;
  }
  #daily-quote .daily-quote-slide{
    min-height:8.4rem;
  }
  #daily-quote .daily-quote-slide blockquote{
    max-width:20rem !important;
    padding:0 .15rem !important;
    font-size:1rem !important;
    line-height:1.75 !important;
  }
}
@media (max-width:360px){
  .cover-title{
    font-size:1.9rem !important;
    letter-spacing:.05em !important;
  }
  .cover-actions{
    grid-template-columns:1fr;
  }
}




#ch-direct-death .citation-block{ margin-top:2rem !important; }
#ch-direct-death .source-note{ margin-bottom:1rem !important; }



.book > .publisher-toc{ width:100%; max-width:100%; margin-left:0; margin-right:0; }
#daily-quote .daily-quote-slide blockquote{ text-wrap:balance; }
#ch-direct-death > p:not(.article-meta){ max-width:42em; }
#ch-direct-death > .citation-context{ margin:1.45rem 0 !important; }

/* V4.1 — deletion-only editorial preview; no prose rewritten */

/* V4.3 — recent writings remain inside one chapter card */
#ch37 > .recent-full-post{
  max-width:42em;
}
#ch37 > .recent-full-post + .recent-full-post{
  margin-top:3.2rem;
  padding-top:2.1rem;
  border-top:1px solid rgba(79,102,92,.12);
}



#ch-inquiry .ptt-transcript{margin:2rem 0 2.4rem;padding:1.55rem 1.6rem 1.35rem;border-left:3px solid rgba(91,78,67,.42);background:rgba(112,96,80,.055);border-radius:0 10px 10px 0;}
#ch-inquiry .ptt-transcript-label,#ch-inquiry .inquiry-author-label{margin:0 0 1rem;font-size:.78rem;letter-spacing:.18em;color:rgba(74,63,55,.68);font-weight:600;}
#ch-inquiry .ptt-transcript p{color:rgba(50,45,41,.86);}
#ch-inquiry .ptt-transcript .source-note{margin-top:1.45rem;padding-top:1rem;border-top:1px solid rgba(91,78,67,.18);font-size:.84rem;color:rgba(74,63,55,.62);}
#ch-inquiry .inquiry-author-ending{position:relative;margin:2.6rem 0 1.2rem;padding:1.7rem 0 0;border-top:1px solid rgba(91,78,67,.34);}
#ch-inquiry .inquiry-author-ending:before{content:"";position:absolute;top:-1px;left:0;width:4.5rem;border-top:2px solid rgba(91,78,67,.74);}
#ch-inquiry .inquiry-author-ending .inquiry-closing{margin:.2rem 0 0;font-size:1.08em;line-height:2;color:inherit;}
@media(max-width:640px){#ch-inquiry .ptt-transcript{margin:1.6rem 0 2rem;padding:1.25rem 1.05rem 1.1rem;}#ch-inquiry .inquiry-author-ending{margin-top:2.2rem;}}


:root{
  --seo-bg:#f6f2ea;
  --seo-paper:#fffdf8;
  --seo-text:#302d29;
  --seo-muted:#746d64;
  --seo-line:rgba(62,53,45,.16);
  --seo-accent:#6f665d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.seo-page{
  margin:0;background:var(--seo-bg);color:var(--seo-text);
  font-family:"Noto Serif TC","PingFang TC","Microsoft JhengHei",serif;
  line-height:1.95;
}
.seo-header{
  position:sticky;top:0;z-index:30;
  background:rgba(246,242,234,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--seo-line);
}
.seo-header-inner{
  max-width:1120px;margin:auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.seo-brand{font-size:15px;letter-spacing:.08em;text-decoration:none;color:inherit}
.seo-nav{display:flex;gap:18px;flex-wrap:wrap}
.seo-nav a{color:var(--seo-muted);text-decoration:none;font-size:14px}
.seo-nav a:hover{color:var(--seo-text)}
.seo-main{max-width:820px;margin:0 auto;padding:56px 24px 90px}
.seo-wide{max-width:1120px}
.seo-hero{padding:76px 0 58px;border-bottom:1px solid var(--seo-line)}
.seo-eyebrow{font-size:13px;letter-spacing:.16em;color:var(--seo-muted);margin-bottom:18px}
.seo-hero h1{font-size:clamp(34px,6vw,64px);font-weight:500;line-height:1.35;margin:0 0 22px}
.seo-hero p{max-width:720px;font-size:18px;color:var(--seo-muted)}
.seo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.seo-button{
  display:inline-block;padding:10px 18px;border:1px solid var(--seo-text);
  text-decoration:none;color:var(--seo-text);font-size:14px;
}
.seo-button.primary{background:var(--seo-text);color:var(--seo-paper)}
.seo-section{padding:52px 0;border-bottom:1px solid var(--seo-line)}
.seo-section h2{font-weight:500;font-size:26px;margin:0 0 24px}
.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.seo-card{
  display:block;padding:24px;background:rgba(255,253,248,.62);
  border:1px solid var(--seo-line);text-decoration:none;color:inherit;
}
.seo-card:hover{background:var(--seo-paper)}
.seo-card small{color:var(--seo-muted);letter-spacing:.08em}
.seo-card h3{font-size:20px;font-weight:500;margin:8px 0}
.seo-card p{font-size:14px;color:var(--seo-muted);margin:0;line-height:1.7}
.seo-article{background:var(--seo-paper);border:1px solid var(--seo-line);padding:48px 54px}
.seo-breadcrumb{font-size:13px;color:var(--seo-muted);margin-bottom:22px}
.seo-breadcrumb a{color:inherit}
.seo-article-header{border-bottom:1px solid var(--seo-line);padding-bottom:24px;margin-bottom:34px}
.seo-article-header h1{font-size:clamp(30px,5vw,46px);font-weight:500;margin:8px 0 10px;line-height:1.4}
.seo-description{color:var(--seo-muted);font-size:15px}
.seo-article .book-section,
.seo-article article.book-section,
.seo-article section.book-section{display:block!important;margin:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;border:0!important}
.seo-article .book-section>h2,
.seo-article .book-section>.chapter-kicker,
.seo-article .book-section>.article-meta,
.seo-article .book-section>.back-to-contents{display:none!important}
.seo-article .article-end-tools,
.seo-article .chapter-nav,
.seo-article .post-nav,
.seo-article .prev-next,
.seo-article [class*="share"],
.seo-article [class*="favorite"]{display:none!important}
.seo-article img{max-width:100%;height:auto}
.seo-article p{font-size:17px;line-height:2.05}
.seo-next{margin-top:38px;padding-top:24px;border-top:1px solid var(--seo-line);display:flex;justify-content:space-between;gap:18px}
.seo-next a{color:inherit;text-decoration:none;font-size:14px}
.seo-footer{border-top:1px solid var(--seo-line);padding:30px 24px;color:var(--seo-muted);font-size:13px;text-align:center}
.seo-note{padding:18px 20px;border-left:2px solid var(--seo-accent);background:rgba(255,253,248,.65)}
@media(max-width:700px){
  .seo-header-inner{align-items:flex-start;flex-direction:column;padding:12px 18px}
  .seo-nav{gap:12px}
  .seo-main{padding:34px 16px 64px}
  .seo-hero{padding-top:42px}
  .seo-grid{grid-template-columns:1fr}
  .seo-article{padding:30px 20px}
  .seo-article p{font-size:16px}
}
