:root{
  --bg:#f6f0e2; --bg2:#efe6d2; --card:#fffaf0; --ink:#2a2118; --ink2:#5a4b3a; --muted:#6f604b;
  --rubric:#8b1e2d; --rubric2:#a8323f; --on-rubric:#fff8ea; --gold:#b8892d; --gold-ink:#80601a; --gold2:#d9b45a; --line:#e0d3b8; --blue:#1f3a5f;
  --shadow:0 1px 2px rgba(60,40,10,.06),0 6px 22px rgba(60,40,10,.07);
  --serif:"EB Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --display:"Cormorant Garamond","EB Garamond",Georgia,serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:14px;
}
[data-theme=dark]{
  --bg:#14161c; --bg2:#1b1e26; --card:#1f232c; --ink:#ece4d4; --ink2:#c9bfae; --muted:#a49b8c;
  --rubric:#e37f89; --rubric2:#f08a94; --on-rubric:#14161c; --gold:#d9b45a; --gold-ink:#d9b45a; --gold2:#e9c46a; --line:#2f3440; --blue:#8fb3e0;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 26px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.55;
  background-image:radial-gradient(circle at 20% -10%,rgba(184,137,45,.10),transparent 40%),radial-gradient(circle at 110% 10%,rgba(139,30,45,.07),transparent 35%);background-attachment:fixed}
a{color:var(--rubric);text-decoration-thickness:.06em;text-underline-offset:.18em}
a:hover{color:var(--rubric2)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:99;background:var(--card);padding:6px 10px}
/* top bar */
.topbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:10px 20px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;flex-shrink:0}
.brand-mark{width:38px;height:38px;color:var(--rubric)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--display);font-weight:700;font-size:25px;letter-spacing:.01em}
.brand-sub{font-family:var(--sans);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);margin-top:3px}
.searchwrap{position:relative;flex:1;max-width:640px}
.searchwrap input{width:100%;font:500 15px var(--sans);padding:11px 14px 11px 40px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);outline:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.searchwrap input:focus{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 22%,transparent)}
.search-ico{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted)}
.suggest{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);max-height:70vh;overflow:auto;padding:6px;font-family:var(--sans);font-size:14px}
.suggest .sg-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-ink);padding:8px 10px 4px}
.suggest a{display:flex;gap:10px;align-items:baseline;padding:7px 10px;border-radius:9px;color:var(--ink);text-decoration:none}
.suggest a.active,.suggest a:hover{background:var(--bg2)}
.suggest a small{color:var(--muted);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
.suggest .sg-all{justify-content:center;color:var(--rubric);font-weight:600}
.top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.pill{font:600 13px var(--sans);padding:7px 12px;border-radius:999px;text-decoration:none;border:1px solid var(--line);color:var(--ink);background:var(--card);white-space:nowrap}
.pill-vatican{border-color:color-mix(in srgb,var(--gold) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--gold2) 28%,var(--card)),var(--card))}
.pill-isidore{border-color:color-mix(in srgb,var(--rubric) 45%,transparent)}
.pill:hover{border-color:var(--rubric);color:var(--rubric)}
.iconbtn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.iconbtn svg{width:18px;height:18px}
[data-theme=light] .i-sun,[data-theme=dark] .i-moon{display:none}
.menu-btn{display:none}
.mainnav{max-width:1280px;margin:0 auto;display:flex;gap:4px;padding:0 14px 8px;overflow-x:auto;scrollbar-width:none;font-family:var(--sans);font-size:14px}
.mainnav a{padding:6px 12px;border-radius:999px;color:var(--ink2);text-decoration:none;white-space:nowrap;font-weight:500}
.mainnav a:hover{background:var(--bg2);color:var(--ink)}
.mainnav a.on{background:var(--rubric);color:var(--on-rubric)}
main{max-width:1280px;margin:0 auto;padding:26px 20px 60px;min-height:70vh;outline:none}
.loading{padding:80px;text-align:center;color:var(--muted)}
/* typography */
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.12;margin:0 0 .4em;color:var(--ink)}
h1{font-size:clamp(34px,5vw,56px)} h2{font-size:clamp(26px,3.2vw,36px)} h3{font-size:22px}
.eyebrow{font:600 11.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink)}
.lede{font-size:20px;color:var(--ink2);max-width:760px}
.rule{height:14px;margin:26px 0;background:center/auto 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='14'%3E%3Cpath d='M0 7h100M140 7h100' stroke='%23b8892d' stroke-width='1'/%3E%3Cpath d='M120 1l6 6-6 6-6-6z' fill='%238b1e2d'/%3E%3Ccircle cx='106' cy='7' r='2' fill='%23b8892d'/%3E%3Ccircle cx='134' cy='7' r='2' fill='%23b8892d'/%3E%3C/svg%3E")}
.dropcap::first-letter{font-family:var(--display);float:left;font-size:4.1em;line-height:.82;padding:.06em .1em 0 0;color:var(--rubric);font-weight:700;text-shadow:1px 1px 0 var(--gold2)}
.page-head{margin:6px 0 22px}
.page-head p{margin:.2em 0 0}
/* hero */
.hero{position:relative;border-radius:22px;padding:54px 48px 46px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--card) 92%,var(--gold2)),var(--card));border:1px solid var(--line);box-shadow:var(--shadow)}
.hero:before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:14px;pointer-events:none}
.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:340px;height:340px;opacity:.10;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%238b1e2d' stroke-width='1.2'%3E%3Ccircle cx='50' cy='50' r='46'/%3E%3Ccircle cx='50' cy='50' r='38'/%3E%3Cpath d='M50 4v92M4 50h92M17 17l66 66M83 17L17 83'/%3E%3C/g%3E%3Cpath d='M45 20h10v25h25v10H55v25H45V55H20V45h25z' fill='%238b1e2d'/%3E%3C/svg%3E")}
.hero h1 span{color:var(--rubric)}
.hero .lede{margin:14px 0 26px}
.hero-search{display:flex;gap:10px;max-width:680px}
.hero-search input{flex:1;font:500 17px var(--sans);padding:15px 20px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);outline:none}
.hero-search input:focus{border-color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--sans);padding:12px 20px;border-radius:999px;border:1px solid var(--rubric);background:var(--rubric);color:var(--on-rubric);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--rubric2);color:var(--on-rubric)}
.btn.ghost{background:transparent;color:var(--rubric)}
.btn.gold{background:linear-gradient(180deg,var(--gold2),var(--gold));border-color:var(--gold);color:#2a1d07}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:26px 0 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.stat b{display:block;font-family:var(--display);font-size:34px;line-height:1;color:var(--rubric)}
.stat span{font:500 13px var(--sans);color:var(--muted)}
/* grid of sections */
.grid{display:grid;gap:16px}
.g-sections{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.sec-card{position:relative;display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.sec-card:hover{transform:translateY(-2px);border-color:var(--gold);color:var(--ink)}
.sec-card .glyph{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-family:var(--display);font-size:28px;font-weight:700;color:#fff8ea;background:linear-gradient(140deg,var(--rubric),#5c121c);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--gold2) 70%,transparent);margin-bottom:12px}
.sec-card h3{margin:0 0 4px}
.sec-card p{margin:0;color:var(--ink2);font-size:16px}
.sec-card .count{position:absolute;top:18px;right:18px;font:600 12px var(--sans);color:var(--gold-ink)}
/* chips & filters */
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:18px;box-shadow:var(--shadow);font-family:var(--sans)}
.toolbar input[type=search],.toolbar select{font:500 14px var(--sans);padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.toolbar input[type=search]{flex:1;min-width:200px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:500 13px var(--sans);padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink2);cursor:pointer;white-space:nowrap}
.chip:hover{border-color:var(--gold)}
.chip.on{background:var(--rubric);border-color:var(--rubric);color:var(--on-rubric)}
.chip.gold.on{background:var(--gold);border-color:var(--gold);color:#241805}
.filter-row{width:100%;display:flex;gap:10px;align-items:flex-start}
.filter-row>label{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:7px;min-width:54px}
.result-meta{font:500 13px var(--sans);color:var(--muted);margin:0 0 12px}
/* author cards */
.g-authors{grid-template-columns:repeat(auto-fill,minmax(285px,1fr))}
.acard{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .12s,border-color .12s;min-height:118px}
.acard:hover{transform:translateY(-2px);border-color:var(--gold);color:var(--ink)}
.avatar{flex-shrink:0;width:62px;height:62px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(140deg,var(--rubric),#4d0f18);color:var(--gold2);font-family:var(--display);font-weight:700;font-size:30px;box-shadow:0 0 0 2px var(--card),0 0 0 3.5px color-mix(in srgb,var(--gold) 70%,transparent)}
.avatar img{width:100%;height:100%;object-fit:cover}
.acard h3{font-size:20px;margin:0 0 2px}
.acard .dates{font:500 12.5px var(--sans);color:var(--gold-ink);margin-bottom:4px}
.acard p{margin:0;font-size:15.5px;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.badge{font:600 10.5px var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:var(--bg2);color:var(--ink2)}
.badge.doctor{background:color-mix(in srgb,var(--gold2) 40%,var(--card));color:#5a3d05}
[data-theme=dark] .badge.doctor{color:#f3dc9c;background:rgba(217,180,90,.18)}
.badge.saint{background:color-mix(in srgb,var(--rubric) 14%,var(--card));color:var(--rubric)}
.era-block{margin:30px 0 12px;display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding-bottom:6px}
.era-block h2{margin:0;font-size:28px}
.era-block span{font:500 13px var(--sans);color:var(--muted)}
/* author detail */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.detail-main{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px 38px;box-shadow:var(--shadow)}
.detail-head{display:flex;gap:22px;align-items:center;margin-bottom:12px}
.detail-head .avatar{width:110px;height:110px;font-size:52px}
.detail-head h1{font-size:clamp(30px,4vw,46px);margin:0}
.detail .dates{font:600 14px var(--sans);color:var(--gold-ink);letter-spacing:.04em}
.detail .summary{font-size:21px;color:var(--ink);margin:18px 0}
.detail .extract{color:var(--ink2)}
.side{display:flex;flex-direction:column;gap:16px;position:sticky;top:130px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow)}
.panel h3{font-size:19px;margin-bottom:10px}
.linklist{list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:14.5px}
.linklist li{border-top:1px solid var(--line)}
.linklist li:first-child{border-top:0}
.linklist a{display:flex;align-items:center;gap:10px;padding:9px 2px;text-decoration:none;color:var(--ink)}
.linklist a:hover{color:var(--rubric)}
.linklist .k{font:700 9.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--bg2);color:var(--muted);min-width:52px;text-align:center}
.linklist .k.read{background:color-mix(in srgb,var(--rubric) 15%,var(--card));color:var(--rubric)}
.linklist .k.site{background:color-mix(in srgb,var(--gold2) 30%,var(--card));color:#6b4a07}
[data-theme=dark] .linklist .k.site{color:var(--gold2)}
.works{columns:2 260px;column-gap:28px;padding-left:1.1em;margin:8px 0 0}
.works li{break-inside:avoid;margin:3px 0}
.backlink{font:500 14px var(--sans);display:inline-block;margin-bottom:14px;text-decoration:none}
.related{display:flex;flex-wrap:wrap;gap:6px}
.related a{font:500 13px var(--sans);padding:5px 10px;border-radius:999px;background:var(--bg2);text-decoration:none;color:var(--ink)}
/* resource lists */
.g-res{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.rcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .12s,border-color .12s}
.rcard:hover{transform:translateY(-2px);border-color:var(--gold);color:var(--ink)}
.rcard .rc-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.rcard img.fav{width:20px;height:20px;border-radius:4px;background:var(--bg2)}
.rcard h3{font-size:19.5px;margin:0;flex:1}
.rcard p{margin:0 0 8px;color:var(--ink2);font-size:15.5px}
.rcard .host{font:500 12px var(--sans);color:var(--muted);margin-top:auto}
.cat-title{display:flex;align-items:center;gap:12px;margin:30px 0 12px}
.cat-title h2{font-size:26px;margin:0}
.cat-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
/* timeline */
.timeline{position:relative;padding-left:118px}
.timeline:before{content:"";position:absolute;left:96px;top:0;bottom:0;width:2px;background:linear-gradient(var(--gold),var(--rubric),var(--gold))}
.century{position:relative;margin:0 0 22px}
.century .c-label{position:absolute;left:-118px;width:84px;text-align:right;font-family:var(--display);font-weight:700;font-size:26px;color:var(--rubric);line-height:1.1}
.century .c-label small{display:block;font:500 11px var(--sans);color:var(--muted);letter-spacing:.06em}
.century:before{content:"";position:absolute;left:-28px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--card);border:3px solid var(--gold)}
.c-people{display:flex;flex-wrap:wrap;gap:7px;padding-top:4px}
.c-people a{display:inline-flex;align-items:center;gap:7px;font:500 13.5px var(--sans);padding:5px 11px 5px 5px;border-radius:999px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.c-people a:hover{border-color:var(--gold)}
.c-people .mini{width:24px;height:24px;border-radius:50%;background:var(--rubric);color:var(--gold2);display:grid;place-items:center;font:700 12px var(--display);overflow:hidden}
.c-people .mini img{width:100%;height:100%;object-fit:cover}
.c-people a.doc{border-color:color-mix(in srgb,var(--gold) 70%,transparent);background:color-mix(in srgb,var(--gold2) 14%,var(--card))}
/* isidore */
.letters{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 14px}
.letters a{font:600 13px var(--sans);width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.letters a:hover{border-color:var(--rubric);color:var(--rubric)}
.iso-list{columns:3 260px;column-gap:24px;font-family:var(--sans);font-size:14px}
.iso-list a{display:block;padding:3px 0;color:var(--ink);text-decoration:none;break-inside:avoid}
.iso-list a:hover{color:var(--rubric)}
.iso-list h3{font-size:24px;color:var(--rubric);margin:14px 0 4px;break-after:avoid}
.callout{border-left:4px solid var(--gold);background:var(--card);border-radius:0 var(--r) var(--r) 0;padding:14px 18px;margin:0 0 18px;box-shadow:var(--shadow);font-size:16.5px}
/* search page */
.sr-group{margin-bottom:26px}
.sr-item{display:block;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:8px;text-decoration:none;color:var(--ink)}
.sr-item:hover{border-color:var(--gold);color:var(--ink)}
.sr-item b{font-family:var(--display);font-size:20px}
.sr-item span{display:block;font-size:15px;color:var(--ink2)}
.sr-item small{font:500 12px var(--sans);color:var(--muted)}
mark{background:color-mix(in srgb,var(--gold2) 45%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.feature-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}
.feature-strip a{flex:0 0 auto;width:150px;text-align:center;text-decoration:none;color:var(--ink);font:500 13.5px var(--sans)}
.feature-strip .avatar{width:96px;height:96px;margin:0 auto 8px;font-size:40px}
.footer{border-top:1px solid var(--line);background:var(--bg2);font-size:16px}
.footer-inner{max-width:1280px;margin:0 auto;padding:30px 20px;display:grid;grid-template-columns:2fr 1fr;gap:30px}
.footer-title{font-family:var(--display);font-weight:700;font-size:24px}
.footer-links{display:flex;flex-direction:column;gap:6px;font-family:var(--sans);font-size:14px}
.small{font-size:13px;color:var(--muted)}
.empty{padding:40px;text-align:center;color:var(--muted)}
@media (max-width:980px){
  .detail{grid-template-columns:1fr}.side{position:static}
  .pill{display:none}
}
@media (max-width:720px){
  body{font-size:17px}
  .topbar-inner{flex-wrap:wrap;gap:10px;padding:10px 14px}
  .brand-sub{display:none}.brand-name{font-size:21px}
  .searchwrap{order:3;flex-basis:100%;max-width:none}
  .top-actions{margin-left:auto}
  .menu-btn{display:grid}
  .mainnav{display:none;flex-wrap:wrap;padding:0 12px 12px}
  .mainnav.open{display:flex}
  main{padding:18px 14px 50px}
  .hero{padding:34px 22px 28px}.hero:after{width:200px;height:200px}
  .hero-search{flex-direction:column}
  .detail-main{padding:22px 20px}
  .detail-head .avatar{width:76px;height:76px;font-size:36px}
  .timeline{padding-left:70px}.timeline:before{left:54px}
  .century .c-label{left:-70px;width:44px;font-size:19px}
  .century:before{left:-23px}
  .two,.footer-inner{grid-template-columns:1fr}
  .g-authors,.g-res{grid-template-columns:1fr}
}
@media (max-width:720px){
  .filter-row{flex-direction:column;gap:4px}
  .filter-row .chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;scrollbar-width:none}
  .toolbar{gap:10px}
}
/* ---------- v2: Books catalog ---------- */
.blist{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.brow{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;box-shadow:var(--shadow);transition:border-color .15s}
.brow:hover{border-color:var(--gold)}
.b-main{min-width:0;flex:1}
.b-title{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.2;color:var(--ink);text-decoration:none}
.b-title:hover{color:var(--rubric)}
.b-meta{font-family:var(--sans);font-size:13.5px;color:var(--ink2);margin-top:4px;line-height:1.5}
.b-meta .dot{color:var(--gold-ink);margin:0 2px}.b-meta i{font-family:var(--serif);font-size:15px}
.b-au{color:var(--ink2);text-decoration:none;border-bottom:1px dotted var(--muted)}
.b-au.linked{color:var(--rubric);font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--rubric) 40%,transparent)}
.b-au:hover{color:var(--rubric)}.amp{color:var(--muted)}.muted{color:var(--muted)}
.b-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.b-tag{font:500 11.5px var(--sans);padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);color:var(--ink2);cursor:pointer}
.b-tag:hover{border-color:var(--gold);color:var(--ink)}
.b-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.b-fmts{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;max-width:230px}
.fmt{font:700 10px var(--sans);letter-spacing:.08em;padding:3px 7px;border-radius:5px;background:var(--bg2);color:var(--ink2);border:1px solid var(--line)}
.fmt-pdf,.fmt-pdf_ocr{background:color-mix(in srgb,var(--rubric) 12%,var(--card));color:var(--rubric);border-color:color-mix(in srgb,var(--rubric) 30%,transparent)}
.fmt-epub,.fmt-mobi,.fmt-azw3{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue);border-color:color-mix(in srgb,var(--blue) 30%,transparent)}
.fmt-djvu{background:color-mix(in srgb,var(--gold) 16%,var(--card));color:var(--gold-ink);border-color:color-mix(in srgb,var(--gold) 35%,transparent)}
.b-fmts .lang{font:500 11px var(--sans);color:var(--muted);width:100%;text-align:right}
.b-links{display:flex;gap:10px;font:600 12.5px var(--sans)}
.b-links a{text-decoration:none;white-space:nowrap}
.blist.compact .brow{padding:10px 14px;box-shadow:none}.blist.compact .b-title{font-size:18px}
.bk-more-wrap{text-align:center;margin:22px 0}
.cat-title .cat-more{order:3;font:600 13px var(--sans);text-decoration:none;white-space:nowrap}
@media (max-width:700px){.brow{flex-direction:column;gap:8px}.b-side{align-items:flex-start}.b-fmts{justify-content:flex-start}.b-fmts .lang{text-align:left}.b-title{font-size:19px}}
/* ---------- v3: editions guide, reading lists, substacks, buy links ---------- */
.ed-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,560px),1fr));gap:18px}
.ed-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s;scroll-margin-top:140px}
.ed-card.flash{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 25%,transparent),var(--shadow)}
.ed-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ed-head h3{font-size:24px;margin:2px 0 0;line-height:1.15}
.ed-au{font:500 13.5px var(--sans);color:var(--ink2);margin-top:3px}
.ed-au a{color:var(--ink2)}
.ed-why{margin:10px 0 12px;color:var(--ink2);font-style:italic}
.pd-badge{flex-shrink:0;font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:color-mix(in srgb,#2e7d4f 16%,var(--card));color:#2e7d4f}
[data-theme=dark] .pd-badge{color:#7fd4a3}
.picks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pick{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--bg)}
.pick.top{border-color:color-mix(in srgb,var(--gold) 60%,var(--line));background:color-mix(in srgb,var(--gold2) 10%,var(--card))}
.pick-lbl{font:700 10.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--rubric)}
.pick-tr{font-weight:600;font-size:17.5px;line-height:1.3;margin-top:2px}
.pick-meta{font:500 12.5px var(--sans);color:var(--muted);margin-top:2px}
.pick p{margin:6px 0 0;font-size:15.5px;color:var(--ink2)}
.ed-alt{font-size:15.5px;color:var(--ink2);margin:12px 0 6px}
.buy,.free{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.buy-l,.free-l{font:700 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.buy-b{font:600 12.5px var(--sans);text-decoration:none;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.buy-b:hover{border-color:var(--gold);color:var(--ink)}
.buy-b.bs{background:var(--rubric);border-color:var(--rubric);color:var(--on-rubric)}
.buy-b.bs:hover{background:var(--rubric2);color:var(--on-rubric)}
.free a{font:500 12.5px var(--sans);padding:4px 9px;border-radius:999px;background:color-mix(in srgb,#2e7d4f 12%,var(--card));color:#256b43;text-decoration:none}
[data-theme=dark] .free a{color:#8fdcb0}
.free a:hover{text-decoration:underline}
.disclosure{font:400 12.5px var(--sans);color:var(--muted);border-top:1px solid var(--line);margin-top:26px;padding-top:12px}
.rl-tabs{margin:0 0 18px}
.g-lists{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-bottom:10px}
.rl{margin-top:26px}
.rl .lede.small{font-size:16px;margin:-6px 0 12px}
.recs{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:rec}
.rec{counter-increment:rec;display:flex;gap:16px;justify-content:space-between;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px 14px 54px;position:relative;box-shadow:var(--shadow)}
.rec::before{content:counter(rec);position:absolute;left:16px;top:14px;font:700 22px var(--display);color:var(--gold-ink)}
.rec h3{margin:0;font-size:21px}.rec h3 a{color:var(--ink);text-decoration:none}.rec h3 a:hover{color:var(--rubric)}
.rec p{margin:6px 0 0;color:var(--ink2);font-size:16px}
.rec>.buy{flex-direction:column;align-items:stretch;flex-shrink:0;margin-top:0;min-width:150px}
.rec>.buy .buy-b{text-align:center}
.feat-mini{display:block;margin:0 0 14px;padding:10px 14px;border:1px dashed var(--gold);border-radius:10px;text-decoration:none;color:var(--ink);font:500 14px var(--sans)}
.feat-mini .k{font:700 9.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--rubric) 15%,var(--card));color:var(--rubric);margin-right:6px}
.featured{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold2) 16%,var(--card)),var(--card));border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));border-radius:18px;padding:24px 26px;box-shadow:var(--shadow);margin-bottom:26px}
.featured h2{font-size:34px;margin:4px 0 0}.featured h2 a{color:var(--ink);text-decoration:none}
.featured .host{font:500 12.5px var(--sans);color:var(--muted)}
.featured p{color:var(--ink2)}
.feat-post{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}
.feat-post b{font-size:20px;font-family:var(--display)}.feat-post span{color:var(--ink2);font-size:15.5px}.feat-post small{font:500 12px var(--sans);color:var(--muted)}
.feat-post:hover{border-color:var(--gold);color:var(--ink)}
.posts{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.posts li{display:flex;justify-content:space-between;gap:10px;font-size:15px;line-height:1.3}
.posts li a{color:var(--ink);text-decoration:none}.posts li a:hover{color:var(--rubric);text-decoration:underline}
.posts li span{font:500 11.5px var(--sans);color:var(--muted);white-space:nowrap}
.g-subs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.sscard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.sscard .ss-top{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}
.sscard .ss-top h3{margin:0;font-size:19.5px}.sscard .ss-top:hover h3{color:var(--rubric)}
.sscard img.fav{width:22px;height:22px;border-radius:4px;background:var(--bg2)}
.sscard p{margin:8px 0 4px;color:var(--ink2);font-size:15.5px}
.sscard .posts{border-top:1px solid var(--line);padding-top:8px;margin-bottom:8px}
.sscard .host{font:500 12px var(--sans);color:var(--muted);margin-top:auto}
.feat-banner{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:22px 0 0;padding:14px 18px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--gold2) 18%,var(--card)),var(--card));text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.feat-banner b{font:700 22px var(--display)}.feat-banner span:last-child{color:var(--ink2);font-size:16px}
.feat-banner:hover{border-color:var(--gold);color:var(--ink)}
.footer .disclosure{border:0;padding:0;margin:8px 0 0}
@media (max-width:760px){
  .featured{grid-template-columns:1fr;padding:18px}
  .rec{flex-direction:column;padding-left:46px}.rec::before{left:14px}
  .rec>.buy{flex-direction:row;min-width:0}
  .ed-head h3{font-size:21px}
}
@media (min-width:721px){.mainnav{gap:2px;font-size:13.5px}.mainnav a{padding:6px 10px}}

/* ---------- v4: centered hero ---------- */
.hero-c{text-align:center;padding:66px 48px 44px}
.hero-c .eyebrow{letter-spacing:.32em}
.hero-c .hero-title{font-family:var(--display);font-weight:600;font-size:clamp(60px,10vw,124px);line-height:.92;letter-spacing:.015em;margin:14px 0 0;color:var(--ink)}
.hero-trans{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(24px,3.3vw,38px);line-height:1.15;color:var(--rubric);margin:8px 0 0}
.hero-orn{display:flex;align-items:center;justify-content:center;gap:14px;max-width:300px;margin:20px auto 16px;color:var(--gold)}
.hero-orn:before,.hero-orn:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.hero-orn:after{background:linear-gradient(90deg,var(--gold),transparent)}
.hero-orn span{font-size:15px;line-height:1}
.hero-sub{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.3vw,26px);line-height:1.3;color:var(--ink2);margin:0 auto;max-width:640px}
.hero-c .lede{font-size:16px;line-height:1.6;color:var(--muted);max-width:620px;margin:10px auto 26px}
.hero-c .hero-search{margin:0 auto}
.hero-c .hero-cta{justify-content:center}
.hero-c .stat{text-align:center}
@media (max-width:720px){
  .hero-c{padding:44px 20px 26px}
  .hero-c .hero-title{font-size:clamp(54px,16vw,72px)}
  .hero-orn{margin:16px auto 12px;max-width:220px}
  .hero-c .lede{font-size:15px;margin-bottom:20px}
  .hero-c .hero-cta .btn{flex:1 1 100%;justify-content:center}
}

/* ---------- v4: daily panel ---------- */
.daily{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.daily-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.daily-head h2{margin:4px 0 2px;font-size:clamp(24px,2.6vw,30px)}
.season{margin:0;font:500 14px var(--sans);color:var(--muted);display:flex;align-items:center;gap:8px}
.sw{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid var(--line)}
.sw-violet{background:#6b3fa0}.sw-white{background:#fff;border-color:var(--gold)}.sw-green{background:#2f7d4a}.sw-red{background:#a3202a}
.daily-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.daily-grid a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);text-decoration:none;color:var(--ink);transition:border-color .15s}
.daily-grid a:hover{border-color:var(--gold)}
.daily-grid b{font:600 14.5px var(--sans)}
.daily-grid span{font:500 12.5px var(--sans);color:var(--muted)}

/* ---------- v4: prayers ---------- */
.pr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;align-items:start}
.prayer{background:var(--card);border:1px solid var(--line);border-radius:12px}
.prayer summary{cursor:pointer;list-style:none;padding:14px 18px;font:600 20px var(--display);color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:10px}
.prayer summary::-webkit-details-marker{display:none}
.prayer summary:after{content:"+";font:400 22px var(--sans);color:var(--gold-ink)}
.prayer[open] summary:after{content:"–"}
.prayer[open]{border-color:color-mix(in srgb,var(--gold) 60%,var(--line))}
.pr-body{padding:0 18px 16px;font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink2)}
.pr-body p{margin:0 0 .45em}
.pr-body .vr{color:var(--rubric);font-family:var(--sans);font-size:13px;margin-right:4px}
.pr-note{font:italic 14px var(--serif);color:var(--muted)!important;margin-top:8px!important}
.pr-tools{display:flex;gap:8px;margin-top:10px}
.pr-tools .chip{text-decoration:none}
.rosary{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.ro-how{margin:0 0 16px;padding-left:22px;font-family:var(--serif);font-size:17px;line-height:1.55;color:var(--ink2)}
.ro-sets{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.ro-set{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--bg)}
.ro-set.today{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.ro-set h3{font-size:20px;margin:0}
.ro-d{font:500 12.5px var(--sans);color:var(--muted);margin:2px 0 8px}
.ro-set ol{margin:0;padding-left:20px;font-family:var(--serif);font-size:16px;line-height:1.5}
@media (max-width:720px){.pr-list{grid-template-columns:1fr}.daily{padding:18px 16px}.daily-grid{grid-template-columns:1fr 1fr}.daily-head .btn{width:100%;justify-content:center}}

/* ---------- v4: read free, rare, projects ---------- */
.dr-meta{font:500 14px var(--sans);color:var(--ink2);margin:0 0 6px}
.rf{display:grid;gap:10px;margin-top:10px}
.rf-w{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--card)}
.rf-w h4{font:600 19px var(--display);margin:0 0 6px;color:var(--ink)}
.rf-w ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rf-w li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:500 14px var(--sans)}
.rf-w li a{color:var(--rubric);text-decoration:none;font-weight:600}
.rf-d{color:var(--muted);font-size:13px}
.rf-gap{font:italic 14px var(--serif);color:var(--muted);margin:0 0 6px}
.rf-fl{font-size:12px;color:#9a5b00}
.pdb{display:inline-block;font:600 11px var(--sans);letter-spacing:.02em;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--bg)}
.pdb-pd{color:#2f6b3f;border-color:color-mix(in srgb,#2f7d4a 45%,var(--line))}
.pdb-free{color:#7a5a12;border-color:color-mix(in srgb,var(--gold) 60%,var(--line))}
.pdb-cr{color:var(--rubric);border-color:color-mix(in srgb,var(--rubric) 45%,var(--line))}
.pdb-unc{color:#8a4b00;border-color:color-mix(in srgb,#c07a1a 50%,var(--line));background:color-mix(in srgb,#c07a1a 8%,var(--bg))}
[data-theme=dark] .pdb-pd{color:#8fd1a3}[data-theme=dark] .pdb-free{color:#e3c37a}[data-theme=dark] .pdb-unc{color:#f0b46a}[data-theme=dark] .rf-fl{color:#f0b46a}
.rare-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.rare,.proj{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.rare.nonc{border-style:dashed;opacity:.9}
.rare.hl{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 40%,transparent)}
.rare h3,.proj h3{font-size:20px;margin:0;line-height:1.2}
.proj h3 a{color:var(--ink);text-decoration:none}.proj h3 a:hover{color:var(--rubric)}
.rare-o{font:italic 15px var(--serif);color:var(--ink2);overflow-wrap:anywhere}
.rare-m{font:500 12.5px var(--sans);color:var(--muted);overflow-wrap:anywhere}
.rare p,.proj p{margin:0;font-size:15px;line-height:1.5;color:var(--ink2);overflow-wrap:anywhere}
.rare-b{display:flex;flex-wrap:wrap;gap:6px}
.rare-l{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:auto;padding-top:4px}
.rare-l a{font:600 13px var(--sans);color:var(--rubric);text-decoration:none}
.proj-m{font:500 13px var(--sans);color:var(--ink2);display:grid;gap:3px;overflow-wrap:anywhere}
@media (max-width:720px){.rare-grid{grid-template-columns:1fr}}
/* v4: desktop nav wraps into centered rows instead of scrolling */
@media (min-width:721px){.mainnav{flex-wrap:wrap;justify-content:center;overflow:visible;row-gap:2px}}
.chips .chip{max-width:100%;white-space:normal;text-align:left}

/* ---------- v5: Isidore Index flagship ---------- */
.mainnav a.nav-flag{color:var(--rubric);font-weight:700;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rubric) 45%,transparent)}
.mainnav a.nav-flag.on{color:#fff8ea;box-shadow:none}
.isx-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.isx-tabs a{font:600 13.5px var(--sans);padding:7px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink2);text-decoration:none;background:var(--card)}
.isx-tabs a.on{background:var(--rubric);border-color:var(--rubric);color:var(--on-rubric)}
.isx-sel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}
.isx-sel label{display:flex;flex-direction:column;gap:4px;font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.isx-sel select{width:100%;min-width:0;font:500 14px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.isx-tools #bk-q{width:100%}
.era-tag{font:600 11.5px var(--sans);color:var(--gold-ink);letter-spacing:.02em}
.isx-note{margin-top:18px}
.bookd h1{font-size:clamp(28px,4vw,44px);overflow-wrap:anywhere}
.b-meta.big{font-size:16px;margin-bottom:12px}
.bk-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:14px 0 20px;font:500 15px var(--sans)}
.bk-dl dt{color:var(--muted);font-weight:600}
.bk-dl dd{margin:0;color:var(--ink2);overflow-wrap:anywhere}
.bk-dl a{color:var(--rubric)}
.dl-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}
.mini-au{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-bottom:8px}
.mini-au span{font:500 12.5px var(--sans);color:var(--muted);margin-left:auto}
.mini-au .avatar{width:44px;height:44px;flex:none}
.flagship{margin-top:22px;display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:center;padding:26px 28px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--card) 88%,var(--gold2)),var(--card));box-shadow:var(--shadow)}
.flagship h2{margin:4px 0 6px;font-size:clamp(28px,3.4vw,40px)}
.flagship p{margin:0 0 14px;color:var(--ink2)}
.fs-search{max-width:none}
.fs-links{display:flex;flex-wrap:wrap;gap:8px;align-content:center}
.fs-links .chip{text-decoration:none}
.fs-l{width:100%;font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.od-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.od{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;min-width:0}
.od h3{margin:0 0 6px;font-size:21px}
.od p{margin:0 0 6px;font-size:15px;color:var(--ink2)}
.od summary{cursor:pointer;font:600 13px var(--sans);color:var(--rubric)}
.od-f{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font:500 12.5px var(--sans);margin:8px 0 0}
.od-f dt{font-family:ui-monospace,monospace;color:var(--ink)}
.od-f dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
@media (max-width:900px){.isx-sel{grid-template-columns:1fr 1fr}.flagship{grid-template-columns:1fr}}
@media (max-width:720px){.flagship{padding:20px 16px}.bk-dl{grid-template-columns:1fr;gap:2px}.bk-dl dd{margin-bottom:8px}.od-f{grid-template-columns:1fr}}
@media (max-width:720px){.isx-tools .filter-row .chips{flex-wrap:wrap;overflow:visible}.isx-tools #bk-fmt .chip{white-space:nowrap;padding:5px 10px}.isx-tools .filter-row .chips .chip{flex:none}}

/* ---------- v6: tabbed author profile ---------- */
.au-page{max-width:1080px;margin:0 auto}
.au-head{background:var(--card);border:1px solid var(--line);border-radius:18px 18px 0 0;padding:30px 36px 22px;box-shadow:var(--shadow)}
.au-head .summary{margin-top:6px}
.au-feast{font:500 14px var(--sans);color:var(--ink2);margin:4px 0 6px}
.au-feast .k{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-right:4px}
.au-key{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.au-key .chip{text-decoration:none;max-width:100%;white-space:normal;text-align:left}
.au-tabs{position:sticky;top:0;z-index:20;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-top:0;padding:8px 14px 0;box-shadow:0 6px 14px -12px rgba(0,0,0,.35)}
.au-tabs::-webkit-scrollbar{display:none}
.au-tabs a{flex:none;white-space:nowrap;font:600 14.5px var(--sans);color:var(--ink2);text-decoration:none;padding:10px 14px 11px;border-bottom:3px solid transparent;border-radius:8px 8px 0 0}
.au-tabs a:hover{color:var(--rubric);background:color-mix(in srgb,var(--rubric) 6%,transparent)}
.au-tabs a.on{color:var(--rubric);border-bottom-color:var(--rubric)}
.au-tabs a[hidden]{display:none}
.au-tabs .tc{display:inline-block;min-width:22px;margin-left:4px;padding:1px 7px;border-radius:999px;font:700 11.5px var(--sans);background:var(--bg2);color:var(--muted);text-align:center}
.au-tabs a.on .tc{background:var(--rubric);color:var(--on-rubric)}
.au-tabs a.empty .tc{background:transparent;border:1px dashed var(--line)}
.au-panel{background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;padding:22px 36px 34px;box-shadow:var(--shadow);min-height:240px}
.au-panel h3{margin:22px 0 10px}
.au-panel>h3:first-child,.au-panel>#au-free:first-child .rule:first-child+h3{margin-top:6px}
.au-panel #au-free>.rule:first-child{display:none}
.au-panel .linklist .ll-n{display:block;font:400 13px var(--sans);color:var(--muted);margin:2px 0 0 0}
.au-panel .linklist a{flex-wrap:wrap}
.au-fmt{margin:0 0 12px}
#au-blm{margin-top:12px}
.au-feat{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink);padding:16px 18px;margin:6px 0 10px;border-radius:14px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--card) 85%,var(--gold2)),var(--card))}
.au-feat b{font:600 20px var(--serif);color:var(--rubric)}
.au-feat span:last-child{color:var(--ink2);font-size:15px}
.au-cta{margin-top:24px;padding:20px 22px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--rubric) 45%,var(--line));background:color-mix(in srgb,var(--rubric) 4%,var(--card))}
.au-cta h3{margin:0 0 6px!important}
.au-cta p{margin:0 0 12px;color:var(--ink2)}
.au-cta.small-cta{padding:14px 18px}
.au-cta.small-cta p{font-size:15px}
.au-panel .ed-list{display:grid;gap:14px}
@media (max-width:720px){.au-head{padding:20px 18px 16px;border-radius:14px 14px 0 0}.au-panel{padding:16px 16px 26px;border-radius:0 0 14px 14px}.au-tabs{padding:6px 8px 0;margin:0}.au-tabs a{padding:9px 11px 10px;font-size:14px}}
.au-panel .linklist .ll-n{flex-basis:100%}
.au-tabs a.empty .tc{background:transparent;color:var(--muted)}
.au-tabs a.on.empty .tc{color:var(--rubric);border-color:var(--rubric)}

/* ---------- v7: Support the Library ---------- */
.pill.pill-support{display:inline-flex;align-items:center;gap:2px;color:var(--on-rubric);background:var(--rubric);border-color:var(--rubric)}
.pill.pill-support:hover{color:#fff8ea;filter:brightness(1.08)}
.pill-support span[aria-hidden]{color:#f7c8c8}[data-theme=dark] .pill-support span[aria-hidden]{color:var(--on-rubric)}
.mainnav a.nav-m{display:none}
.footer-links a.footer-support{font-weight:700;color:var(--rubric)}
.sec-card.sec-support{border-color:color-mix(in srgb,var(--rubric) 40%,var(--line))}
.sup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 28px}
.sup-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 26px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.sup-card h2{margin:0;font-size:26px}
.sup-card p{margin:0 0 8px;color:var(--ink2)}
.sup-ico{font-size:30px;line-height:1;color:var(--gold-ink)}
.sup-btn{margin-top:4px}
.sup-btn.sup-pp{background:#ffc439;border-color:#ffc439;color:#111}
.sup-btn.sup-pp:hover{filter:brightness(1.04);color:#111}
.sup-h{margin:8px 0 10px}
.sup-list{margin:0 0 18px;padding-left:20px;max-width:760px}
.sup-list li{margin:0 0 10px;color:var(--ink2)}
.sup-fine{max-width:760px}
.au-buy-more{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:980px){.pill.pill-support{display:inline-flex}}
@media (max-width:720px){.sup-grid{grid-template-columns:1fr}.sup-card{padding:20px}.mainnav.open a.nav-m{display:inline-block;font-weight:700;color:var(--rubric)}.pill.pill-support{display:none}}
/* Phase A item 2: intro on author pages with no hosted work (static and app) */
.au-intro{font-size:17px;line-height:1.55;color:var(--ink);margin:10px 0 14px;max-width:72ch}
.au-books li{margin:3px 0}

/* Phase B item 6 (CLS): the brand name has a fixed width in em, so the header wraps the same way before and after the web
   font loads (at 412 px the fallback serif is wider and used to push the actions to a second row, then snap back). While the
   app starts, the static prerender reserves a full screen, so the footer never sits in the first viewport and then jumps
   when the app's longer page replaces it. html.js is set by the inline theme script; without JS, nothing is reserved. */
.brand-name{display:block;width:8.75em;white-space:nowrap}
.searchwrap input{line-height:19px}
@media(max-width:760px){.searchwrap input{line-height:20px}}
html.js #main>.static-prerender{min-height:100vh}
html.app-unavailable #main>.static-prerender{min-height:0}
/* Affiliate preview (2026-11-09): "Where to buy print editions" sits below the free reading editions and stays modest:
   outline buttons, small text, the disclosure beside it. Newsletter: the footer sign-up button on every page, and the
   Substack embed (home and the Advent plan only), responsive and never wider than its column. */
.buy-print{margin:28px 0 8px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.buy-print h2{font-size:19px;margin:0 0 6px}
.buy-print>p.small:first-of-type{margin-top:0;color:var(--muted)}
.buy-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}
.buy-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;font:400 14px/1.45 var(--sans);color:var(--ink2);padding-bottom:8px;border-bottom:1px dashed var(--line)}
.buy-list li:last-child{border-bottom:0;padding-bottom:0}
.buy-print .buy-b.bs,.ed-picks .buy-b.bs{background:transparent;border-color:var(--line);color:var(--rubric)}
.buy-print .buy-b.bs:hover,.ed-picks .buy-b.bs:hover{background:transparent;border-color:var(--gold);color:var(--rubric)}
.ed-picks .buy-b{margin-left:4px}
.buy-tan{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0}
.buy-tan .small{color:var(--muted)}
.buy-print .disclosure{margin-top:12px}
.footer-newsletter{margin:14px 0 4px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.footer-newsletter .nl-line{margin:0;font:500 14px/1.45 var(--sans);flex:1 1 260px}
.footer-newsletter .nl-btn{font-size:14px;padding:9px 16px}
.newsletter-box{margin:30px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.newsletter-box h2{margin:4px 0 6px}
.newsletter-box .nl-line{margin:0 0 12px;color:var(--ink2)}
.newsletter-box .nl-embed{display:block;width:100%;max-width:480px;height:320px;border-radius:8px}
.newsletter-box .nl-fine{color:var(--muted);margin:10px 0 0}
@media (max-width:720px){.footer-newsletter .nl-btn{width:100%;justify-content:center}.buy-print{padding:14px}}
/* Our newsletter at the top of /substacks/ (2026-11-09): the featured-card design, one column, a gap before the featured column */
.featured.own-substack{grid-template-columns:1fr;margin-bottom:22px}

/* Footer: reading links, project information, and policies in balanced groups. */
.footer .footer-inner{grid-template-columns:minmax(240px, .9fr) minmax(0, 1.6fr);gap:48px;padding:40px 24px 28px}
.footer-description{max-width:30ch;margin:12px 0 20px;color:var(--muted);line-height:1.6}
.footer-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.footer-links{gap:10px;align-items:flex-start}
.footer-links h2{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;color:var(--muted)}
.footer-links a{line-height:1.45;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer .footer-newsletter{display:block;padding:0;border:0;margin:0;background:none}
.footer .footer-newsletter .nl-line{font:14px/1.5 var(--sans);margin:0 0 12px;max-width:34ch}
.footer .footer-newsletter .nl-btn{width:auto;display:inline-flex;font-size:13px}
.footer-lower{max-width:1232px;margin:0 auto;padding:20px 0 24px;border-top:1px solid var(--line);font:13px/1.6 var(--sans)}
.footer .footer-lower .disclosure{margin:0 0 14px;max-width:100ch;color:var(--muted);font:inherit}
.footer-credits summary{cursor:pointer;color:var(--muted);font:13px/1.5 var(--sans)}
.footer-credits>div{max-width:105ch;padding-top:8px}
.footer-credits .small,.footer-credits .build-note{font:12px/1.7 var(--sans);color:var(--muted);margin:10px 0 0;padding:0}
@media(max-width:1280px){.footer-lower{margin-inline:24px}}
@media(max-width:900px){.footer .footer-inner{grid-template-columns:1fr;gap:32px}.footer-description{max-width:none}.footer-intro{max-width:40rem}}
@media(max-width:520px){.footer .footer-inner{padding:28px 20px 24px}.footer-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.footer-groups nav:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.footer-groups nav:last-child h2{grid-column:1/-1}.footer-lower{margin-inline:20px}}
