/* Reader, directory and owner tools share the same type scale and paper palette. */
:root {
  color-scheme: light;
  --paper: #f5f2e9;
  --sheet: #fffdf7;
  --wash: #eae6da;
  --ink: #252e29;
  --green: #294e43;
  --green-hover: #1c3b32;
  --green-tint: #e6ece2;
  --brick: #96452f;
  --brick-tint: #f5e9df;
  --muted: #5f675d;
  --line: #d5d3c5;
  --line-strong: #a5ad9d;
  --serif: 'Songti SC','Noto Serif CJK SC','Source Han Serif SC','STSong','SimSun',Georgia,serif;
  --sans: 'PingFang SC','Microsoft YaHei UI','Microsoft YaHei',system-ui,sans-serif;
  --latin: 'Baskervville','Palatino Linotype','Book Antiqua',Georgia,serif;
  --page: 1176px;
}
*,*::before,*::after { box-sizing: border-box }
html { scroll-padding-top: 1rem }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.7 var(--sans); text-rendering: optimizeLegibility }
::selection { color: #153329; background: #dbe6c8 }
[hidden],.hidden { display: none !important }
:focus-visible { outline: 2px solid var(--brick); outline-offset: 3px }
a { color: var(--green); text-decoration-thickness: 1px; text-underline-offset: .23em; overflow-wrap: anywhere }
a:hover { color: var(--brick) }
img,svg { max-width: 100%; height: auto }
button,input,select,textarea { font: inherit; color: inherit }
button,a,input,select,textarea,summary { touch-action: manipulation }
button,.button { display:inline-flex; align-items:center; justify-content:center; gap:.45em; border:1px solid var(--line-strong); border-radius:4px; background:var(--sheet); color:var(--green); padding: .42em .88em; font: 600 .875rem/1.5 var(--sans); vertical-align: middle; text-decoration:none; cursor:pointer }
button:hover,.button:hover { background: var(--green-tint); border-color:var(--green); color:var(--green-hover) }
button:disabled { opacity:.48; cursor:default }
button[type=submit],.button.primary,.primary { border-color: var(--green); background: var(--green); color: var(--sheet) }
button[type=submit]:hover,.button.primary:hover,.primary:hover { background: var(--green-hover); color:white }
.quiet,.button.quiet { background:transparent; border-color:var(--line); color:var(--muted) }
input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select { background:var(--sheet); border:1px solid var(--line-strong); border-radius:4px; padding:.53em .7em; line-height:1.55; max-width:100%; min-width:0 }
input[type=checkbox],input[type=radio] { width:1rem; height:1rem; accent-color:var(--green); vertical-align:middle }
textarea { width:100%; min-height:6em; resize:vertical }
input::placeholder,textarea::placeholder { color:#6d7569 }
label { font-size:.9rem }
fieldset { margin:0; border:1px solid var(--line); border-radius:4px; padding:1rem; min-width:0 }
legend { color:var(--green); font-weight:600; padding:0 .4em }
summary { cursor:pointer }
h1,h2,h3,h4,p,blockquote,figure { margin:0 }
h1,h2,h3,h4 { font-family:var(--serif); line-height:1.4; overflow-wrap:anywhere }
h1 { color:var(--green); font-size:clamp(2rem,4.3vw,3.4rem); font-weight:650; letter-spacing:.02em }
h2 { font-size:clamp(1.4rem,2.4vw,1.95rem); color:var(--green); font-weight:650 }
h3 { font-size:1.2rem; font-weight:650 }
hr { border:none; border-top:1px solid var(--line); margin:1.5rem 0 }
ul,ol { padding-inline-start:1.45em }
table { border-collapse:collapse; font-size:.9rem; max-width:100% }
td,th { padding:.5em .65em; vertical-align:top; border-bottom:1px solid var(--line); text-align:start }
th { color:var(--green); font-weight:650 }
details>summary { color:var(--green) }
.shell { width:min(100% - 48px,var(--page)); margin-inline:auto; padding-bottom:3.5rem }
.topbar,.masthead { display:flex; align-items:center; justify-content:space-between; gap:1.4rem; flex-wrap:wrap; border-top:4px solid var(--green); border-bottom:1px solid var(--line-strong); padding-block:1.1rem }
body>.topbar,body>.masthead { padding-inline:max(24px,calc((100% - var(--page))/2)) }
.brand { display:inline-flex; align-items:center; gap:.73rem; font:650 clamp(1.18rem,2.4vw,1.6rem)/1.35 var(--serif); letter-spacing:.05em; text-decoration:none; color:var(--green) }
.brand img,.brand svg,.brand:not(:has(img,svg))::before { flex:0 0 auto; height:36px; width:36px }
.brand:not(:has(img,svg))::before { content:""; background:url('emblem.svg') center/contain no-repeat }
.brand small { display:block; font:500 .68rem/1.6 var(--sans); letter-spacing:.09em; color:var(--muted) }
.nav,.tabs,.pager,.actions,.toolbar,.row,.searchbar { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem }
.nav { column-gap:.3rem }
.nav a,.nav button,.tabs a,.tabs button { font:600 .9rem/1.55 var(--sans); padding:.46rem .7rem; border:0; border-radius:2px; color:var(--muted); background:transparent; text-decoration:none }
.nav a:hover,.nav button:hover,.tabs a:hover,.tabs button:hover { color:var(--green); background:var(--green-tint) }
.nav .active,.nav [aria-current=page] { color:var(--green-hover); background:var(--green-tint) }
.layout { display:grid; grid-template-columns:minmax(170px,228px) minmax(0,1fr); gap:clamp(1.3rem,3.5vw,3.1rem); align-items:start; margin-block:clamp(.85rem,2vw,1.45rem) }
.sidebar { min-width:0; border-right:1px solid var(--line); padding-right:clamp(1rem,2vw,1.6rem) }
.sidebar #side>*+* { margin-block-start:.72rem }
.sidebar h2,.sidebar h3 { font-size:1.02rem; color:var(--green) }
.sidebar p { color:var(--muted); font-size:.87rem }
.sidebar nav { display:grid; gap:.25rem }
.sidebar nav a { text-decoration:none; padding:.4rem .5rem; border-radius:3px; color:var(--green) }
.sidebar nav a:hover,.sidebar nav a.active { background:var(--green-tint) }
.content { min-width:0 }
.content>*+* { margin-top:.75rem }
.hero,.cover { padding:clamp(1.3rem,3vw,2.45rem); color:var(--ink); background:var(--sheet); border:1px solid var(--line); border-top:3px solid var(--green) }
.hero>*+*,.cover>*+* { margin-top:.65rem }
.eyebrow,.kicker { color:var(--brick); font:650 .77rem/1.5 var(--sans); letter-spacing:.11em }
.meta,.muted,.byline,.count,time { color:var(--muted); font-size:.86rem }
.meta,.byline { line-height:1.65 }
.count,time { font-variant-numeric:tabular-nums }
.reading-title { font-family:var(--serif); font-size:clamp(2.1rem,4.8vw,3.6rem); line-height:1.35; letter-spacing:.035em; color:var(--green) }
.section-title { font-size:clamp(1.25rem,2vw,1.63rem); color:var(--green); margin-bottom:.75rem }
.tabs { gap:.25rem; border-bottom:1px solid var(--line-strong); padding-top:.2rem }
.tabs a,.tabs button { border-radius:0; border-bottom:2px solid transparent; padding:.65rem .7rem }
.tabs .active,.tabs [aria-selected=true],.tabs [aria-current=page] { color:var(--green); border-bottom-color:var(--green) }
.stack,.form { display:grid; gap:1rem }
.grid,.work-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr)); gap:1rem; align-items:start }
.card,.panel,.book,.scene,.msg { min-width:0; overflow-wrap:anywhere; padding:clamp(1rem,2.1vw,1.65rem); border:1px solid var(--line); background:var(--sheet); border-radius:4px }
.card>*+*,.panel>*+*,.book>*+*,.scene>*+*,.msg>*+* { margin-top:.72rem }
.card .card,.panel .card,.msg .card { background:#f8f6ed }
.book { border-top:2px solid var(--green); display:block; color:var(--ink); text-decoration:none }
a.book:hover { border-color:var(--green) }
.work-list { list-style:none; margin:0; padding:0; border-block-start:1px solid var(--line-strong) }
.work-list li { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) auto; align-items:baseline; gap:.25rem 1rem; padding:.6rem .15rem; border-block-end:1px solid var(--line); overflow-wrap:anywhere }
.work-list.by-author li { grid-template-columns:minmax(0,1fr) auto }
.work-list .work-title { color:var(--green); font-family:var(--serif); font-weight:600; text-decoration:none }
.work-authors,.work-history { color:var(--muted); font-size:.86rem }
.work-authors a { color:inherit; text-decoration:none }
.work-list a:hover,.work-list a:focus-visible { color:var(--brick); text-decoration:underline }
.work-history { font-variant-numeric:tabular-nums; text-align:end }
@media(max-width:660px){
 .work-list li,.work-list.by-author li { grid-template-columns:minmax(0,1fr) }
 .work-history { text-align:start }
}
.scene { border-left:3px solid var(--brick) }
.msg { scroll-margin-block:1.2rem }
.msg:target { border-left:3px solid var(--brick); background:#fcf4e9 }
.msg header,.scene header,.card header { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1rem }
.prose,.article-body { max-width:48em; margin-inline:auto; font:400 16px/1.65 var(--sans); overflow-wrap:anywhere }
.intro .prose,.prose.note-prose { max-width:none; font-size:14px }
.prose p.indent { text-indent:2em }
.prose>*+*,.article-body>*+* { margin-top:.24em }
.prose p,.article-body p { white-space:pre-line }
.prose blockquote,.article-body blockquote,blockquote { border-inline-start:3px solid var(--line-strong); padding:.4em 1em; color:var(--green); background:#f2f3e9 }
.mark,mark { color:#362e20; background:#f5df9d; border-radius:2px }
.chip,.rating { display:inline-flex; gap:.35em; align-items:center; padding:.15em .55em; border-radius:3px; background:var(--green-tint); color:var(--green-hover); font-size:.8rem; line-height:1.55; vertical-align:middle }
.rating { background:var(--brick-tint); color:#843b28 }
.score-star {display:grid;place-items:center;user-select:none}
.score-star svg {width:32px;height:32px;pointer-events:none}
.score-star path {stroke-width:1.35;stroke-linejoin:round}
.star-base {fill:var(--sheet);stroke:#a69b84}
.star-ink {fill:#a96a22;stroke:#a96a22}
.score-star.unfilled .star-ink {display:none}
.score-star.half .star-ink {clip-path:inset(0 50% 0 0)}
.score-star.half .star-base {stroke:#a96a22}
#dlg:has(.score-form) {width:min(94vw,510px);padding:23px 30px 24px;border:1px solid #c3c6b6;border-top:3px solid var(--green)}
#dlg:has(.score-form)>#close {display:none}
.score-head,.score-label,.score-foot {display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.score-head small {color:var(--green);font:650 12px/1.5 var(--sans);letter-spacing:2px}
.score-head .score-close {border:0;color:var(--muted);background:transparent;padding:0;width:32px;height:32px;font:24px/1 var(--sans)}
#dlg:has(.score-form) h2 {font:600 28px/1.35 var(--serif);margin:4px 0 5px;color:var(--green)}
#dlg .score-work {font-size:14px;margin:0;color:var(--muted)}
.score-rows {margin:20px 0 12px;border-top:1px solid var(--line-strong)}
.score-row {padding:12px 0 10px;border-bottom:1px solid var(--line)}
.score-label h3 {font:600 16px/1.6 var(--sans);margin:0}
.score-label h3 small {font:14px/1 Georgia,serif;color:#85785e;margin-right:8px}
.score-label h3 span {font:14px var(--sans);color:var(--muted);white-space:nowrap}
.score-clear {flex:none;border:0;border-radius:0;padding:4px 0 4px 8px;background:transparent;color:var(--muted);font:12px/1.5 var(--sans);text-decoration:underline;text-underline-offset:3px}
.score-line {display:flex;align-items:center;gap:17px;margin-top:1px}
.score-slider,.score-mini {display:inline-flex}
.score-slider {cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.score-slider .score-star {width:45px;height:44px}
.score-value {font:14px var(--sans);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.score-value.chosen {font:600 21px Georgia,serif;color:#a96a22}
.score-value small {font:13px var(--sans);color:var(--muted);margin-left:4px}
#dlg .score-help,.score-foot span {font:13px/1.5 var(--sans);color:var(--muted)}
#dlg .score-help {margin:0}
.score-foot {margin-top:17px;flex-wrap:wrap}
.score-foot button {min-height:39px}
.score-form .formerror:empty {display:none}
.score-record {margin:.6rem 0;padding:.4rem 0;border-top:1px solid var(--line)}
.score-record ul {list-style:none;padding:0;margin:.25rem 0}
.score-record li {display:flex;align-items:center;gap:.5rem;font:13px/1.7 var(--sans);color:var(--muted);flex-wrap:wrap}
.score-mini svg {width:15px;height:15px}
@media(max-width:520px){#dlg:has(.score-form){padding:17px 18px 20px}.score-slider .score-star{width:42px}.score-line{gap:12px}}
@media(max-width:345px){.score-slider .score-star{width:36px}.score-line{gap:8px}}
.notice,.empty { color:var(--muted); background:#ebece1; border-left:3px solid var(--line-strong); border-radius:2px; padding:.8rem 1rem; font-size:.92rem }
.empty { padding:1.6rem; border:1px dashed var(--line-strong); text-align:center; background:transparent }
.notice p+p { margin-top:.45rem }
.field { display:grid; gap:.4rem; min-width:0 }
.field input,.field select { max-width:100% }
.pager { justify-content:space-between }
.actions,.toolbar { gap:.55rem }
.searchbar { gap:.45rem }
.searchbar input { flex:1 1 9rem }
.calendar { font-size:.9rem; font-variant-numeric:tabular-nums }
.calendar-grid,.calendar:has(>.daycell) { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; text-align:center }
.calendar-grid>*,.daycell { display:grid; place-items:center; min-width:0; min-height:1.8rem; text-align:center; line-height:1.25; padding:.11rem; color:var(--muted); font-size:.81rem }
.calendar-grid>a,.calendar-grid>button,.daycell:is(a,button) { color:var(--green); border:1px solid var(--line); background:var(--sheet); border-radius:3px; text-decoration:none }
.calendar-grid .active { background:var(--green); color:white; border-color:var(--green) }
.calendar-grid a:hover,.calendar-grid button:hover { border-color:var(--green); color:var(--green); background:var(--green-tint) }
.calendar-grid .daycell[aria-current=date] { color:var(--brick); font-weight:700; text-decoration:underline; text-underline-offset:.16em }
.calendar-grid .daycell.active[aria-current=date] { background:var(--green-tint); border-color:var(--green) }
#toast { position:fixed; z-index:10; right:max(1rem,env(safe-area-inset-right)); bottom:max(1rem,env(safe-area-inset-bottom)); max-width:min(32rem,calc(100vw - 2rem)); padding:.7rem 1rem; color:var(--sheet); background:var(--green-hover); border-radius:4px; box-shadow:0 3px 16px #1112; overflow-wrap:anywhere }
#toast:empty { display:none }
@media (max-width:820px) {
  .shell { width:min(100% - 32px,var(--page)) }
  .layout { grid-template-columns:minmax(150px,185px) minmax(0,1fr); gap:1rem }
  .sidebar { padding-right:.9rem }
  .topbar,.masthead { gap:.65rem 1rem }
}
@media (max-width:660px) {
  .shell { width:calc(100% - 24px) }
  body>.topbar,body>.masthead { padding-inline:12px }
  .topbar,.masthead { padding-block:.8rem; gap:.55rem }
  .nav,.tabs { column-gap:0; row-gap:.25rem }
  .nav a,.nav button,.tabs a,.tabs button { padding-inline:.52rem }
  .layout { display:flex; flex-direction:column; align-items:stretch; gap:1.2rem; margin-block:1rem }
  .sidebar { border-right:0; border-bottom:1px solid var(--line); padding:0 0 .85rem }
  .sidebar nav { display:flex; flex-wrap:wrap; gap:.2rem }
  .sidebar>*+* { margin-top:.7rem }
  .calendar-grid,.calendar:has(>.daycell) { width:min(100%,320px) }
  .calendar-grid>*,.daycell { min-height:2rem }
  .hero,.cover { padding:1.05rem }
  .content>*+* { margin-top:1rem }
  .form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea { font-size:1rem }
  .card,.panel,.scene,.msg { padding:1rem }
}
@media print {
  body { background:white; color:black }
  .nav,.sidebar,.tabs,.actions,.toolbar,#toast { display:none }
  .shell,.content,.layout { width:100%; display:block; margin:0; padding:0 }
  .hero,.cover,.card,.panel,.book,.scene,.msg { box-shadow:none; background:white; border-color:#ccc }
}
dialog { width:min(94vw,550px); max-height:85vh; padding:1.5rem; color:var(--ink); background:var(--sheet); border:1px solid var(--green); border-radius:5px; box-shadow:0 16px 70px #14251f35 }
dialog::backdrop { background:#26382f62 }
dialog h2,dialog p,dialog .form,dialog .actions { margin-bottom:.8rem }
.formerror { color:var(--brick) }
.recent a { text-decoration:none; font-size:.89rem }
.message-text,.feedback { font:400 14px/1.65 var(--sans); overflow-wrap:anywhere }
.message-text p,.feedback p { white-space:pre-wrap }
.message-text p ~ p,.feedback p + p { margin-top:.24em }
.round { border-top:1px solid var(--line); padding-top:.7rem }
.round summary { padding:.6rem .3rem; font-family:var(--serif) }
.round summary small { font: .78rem var(--sans); color:var(--muted) }
.round .msg,.work-turn,.response,.record { margin-block:.9rem }
.located { border-left:3px solid var(--brick) }
.intro { border-left:2px solid var(--line-strong); background:#f4f4ea; padding:1rem }
.intro h3 { font:600 .91rem var(--sans); color:var(--green); margin-bottom:.7rem }
.response { padding:.7rem; border-top:1px solid var(--line) }
.response.reply { margin-left:1.3rem }
.fmt-bold p { font-weight:bold }
.fmt-red p { color:#913b2a }
.fmt-green p { color:#254d40 }
.fmt-quote p { padding-left:1rem; border-left:3px solid var(--line-strong) }
.manual p { margin:.5rem 0 }
.manual h2 { margin:1.15rem 0 .6rem }
code { overflow-wrap:anywhere }
.work-turn .message-text { max-height:18rem; overflow-y:auto; }
footer { padding-block:1.2rem;border-top:1px solid var(--line) }
.msg.speech-user { background:#f6eee5; border-inline-start:3px solid #ab755a }
.msg.speech-assistant { background:#edf2ea; border-inline-start:3px solid #67866c }
.msg.speech-gemini { background:#eef0f8; border-inline-start:3px solid #79789c }
.message-text span.speech-user { background:#f6e7dc; color:#66452d }
.message-text span.speech-assistant { background:#e6efe5; color:#2e503e }
.message-text span.speech-gemini { background:#eae9f4; color:#494462 }
.discussion-count { color:var(--muted); font:normal .78rem/1.6 var(--sans); }
.new-flag { color:#873e28; background:#f7e1d3; border-radius:3px; padding:.08rem .35rem; margin-inline-start:.3rem; font:600 .75rem/1.5 var(--sans) }
.source-record { border-top:1px solid var(--line); padding-block:.65rem }
.source-record code {font-size:.8rem}
.source-record>*+* {margin-top:.3rem}
.round summary { overflow-wrap:anywhere }
.round .toolbar { margin-block:.35rem }
.message-more > summary { padding:.25em .55em; font:inherit; color:var(--green); cursor:pointer }
.message-more[open] > .actions { margin-top:.3em }
#round-tools button:disabled { opacity:.55; cursor:default }
.edit-preview {max-height:28vh;overflow:auto;font-size:.88rem}
@media(max-width:660px){.recent,.sidebar hr:last-of-type { display:none }.calendar-grid { margin-inline:auto }.sidebar { display:grid; gap:.45rem }.sidebar>*+* {margin:0} }

.dayline {display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.4rem .85rem; padding:.12rem 0 .55rem; border-bottom:1px solid var(--line-strong)}
.dayline h1 {display:flex; align-items:baseline; gap:.7rem; font:600 1.12rem/1.45 var(--sans); letter-spacing:.015em}
.dayline time {font:inherit;color:var(--green)}
.dayline small,.date-link {font:normal .82rem/1.45 var(--sans); color:var(--muted)}
.dayline nav {display:flex;gap:.85rem}
.date-link {text-decoration:none}
.reading-sheet {padding:clamp(.8rem,2vw,1.45rem)}
.reading-sheet header h2 {font-size:1.43rem;line-height:1.4}
.reading-sheet h3 {font-size:1.02rem}
.reading-sheet .intro {padding:.65rem .85rem}
.reading-sheet .intro h3 {margin-bottom:.3rem}
.reading-sheet .prose h4 {font-size:1.02em;margin:.7em 0 .2em}
.reading-sheet hr {margin:.65em 0}
.sidebar {position:sticky;top:.65rem;max-height:calc(100vh - 1.3rem);max-height:calc(100dvh - 1.3rem);overflow-y:auto;overscroll-behavior:contain}
#side-toggle {display:none}
#to-top {position:fixed;z-index:5;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:0;min-width:44px;min-height:44px;padding:.18rem .52rem;border-radius:6px;background:var(--sheet);color:var(--green);border:1px solid var(--line-strong);box-shadow:0 2px 8px #253c3024;font-size:.7rem}
#to-top span:first-child {font-size:1.05rem;line-height:1.15}
#to-top[hidden] {display:none}
@media(max-width:660px){
 .sidebar {display:block;align-self:stretch;z-index:3;top:0;max-height:70vh;max-height:70dvh;background:var(--paper);padding:.25rem 0;border-bottom:1px solid var(--line-strong)}
 #side-toggle {display:flex;justify-content:space-between;width:100%;background:var(--paper);border:0;padding:.45rem .3rem;text-align:start}
 #side-toggle[aria-expanded="false"]+#side {display:none}
 #side {padding:.3rem .35rem .65rem}
 .dayline {padding-top:0}
 html {scroll-padding-top:3rem}
 #toast {bottom:4.5rem}
}
@media print {#side-toggle,#to-top,.dayline nav {display:none}}

.reading-figure {margin:.85rem 0;break-inside:avoid;text-align:center}
.reading-figure img,.draft-figure img {display:block;width:auto;max-width:100%;height:auto;margin:0 auto}
.reading-figure figcaption {margin:.28rem auto 0;font:.85rem/1.5 var(--sans);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}
.edition-body {min-width:0;margin:.6rem 0;padding:.5rem .65rem .65rem}
.edition-body legend {font-weight:600}
.edition-body .meta {margin:0 0 .5rem}
.body-editor textarea {display:block;width:100%;min-height:5em}
.body-editor textarea:only-child {min-height:10em}
.draft-figure {margin:.55rem 0;padding:.55rem .65rem;border-inline-start:2px solid var(--line-strong);background:var(--paper)}
.draft-figure img {max-height:14rem;object-fit:contain}
.draft-figure label {margin:.35rem 0}

.region-index {display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .9rem;border-block:1px solid var(--line);padding:.45rem 0}
.region-index a {font: .88rem/1.8 var(--sans);text-decoration:none}
.region-index a[aria-current] {color:var(--brick);text-decoration:underline;text-underline-offset:.3em;font-weight:600}
.author-group {margin:1.25rem 0}
.author-group h2 {display:flex;align-items:baseline;gap:.7rem;padding-bottom:.22rem;border-bottom:1px solid var(--line-strong);color:var(--green);font:600 1.1rem/1.5 var(--serif)}
.author-group small,.author-count,.author-sample {font:.82rem/1.55 var(--sans);color:var(--muted)}
.author-group ul {margin:0;padding:0;list-style:none}
.author-group li {display:grid;grid-template-columns:minmax(8em,1fr) minmax(0,1.5fr) auto;gap:.15rem .75rem;align-items:baseline;padding:.44rem .1rem;border-bottom:1px solid var(--line)}
.author-name {font:600 1rem/1.5 var(--serif);text-decoration:none}
.author-name:hover {text-decoration:underline}
.author-bio {max-width:48rem;padding:.85rem 0;margin-bottom:1rem;border-block:1px solid var(--line)}
.author-bio h2 {font-size:1.05rem;margin:.55rem 0 .2rem}
.author-bio p {font-size:.94rem;line-height:1.65;white-space:pre-line}
.author-bio .meta {font-size:.82rem}
@media(max-width:660px){
 .author-group li {grid-template-columns:minmax(0,1fr) auto}
 .author-sample {grid-column:1;grid-row:2}
 .author-count {grid-column:2;grid-row:1}
}
