.reading-library,.text-reader {
  --read-bg:#092319;
  --read-panel:#102d22;
  --read-text:#f0ede8;
  --read-muted:#acbfb2;
  --read-accent:#8eb69b;
  --read-line:#294638;
  color:var(--read-text);
  background:var(--read-bg);
  font-family:'DM Sans',sans-serif;
  min-height:75vh;
  padding:36px clamp(18px,4vw,64px);
  box-sizing:border-box
}

.light-mode .reading-library,.text-reader[data-theme=light] {
  --read-bg:#f6f8f3;
  --read-panel:#fff;
  --read-text:#16382a;
  --read-muted:#537361;
  --read-accent:#286943;
  --read-line:#d7e2d8
}

.text-reader[data-theme=sepia] {
  --read-bg:#f3ead7;
  --read-panel:#faf2e1;
  --read-text:#453822;
  --read-muted:#776443;
  --read-accent:#657a46;
  --read-line:#dacdb4
}

.reading-library a,.text-reader a {
  color:var(--read-accent)
}

.reading-hero {
  position:relative;
  border-bottom:1px solid var(--read-line);
  padding:30px 0 48px;
  overflow:hidden
}

.reading-eyebrow {
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--read-accent)
}

.reading-hero h1,.reading-title h1 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(40px,6vw,72px);
  font-weight:400;
  line-height:1.1;
  margin:20px 0
}

.reading-hero h1 em {
  color:var(--read-accent)
}

.reading-hero p {
  color:var(--read-muted);
  line-height:1.8
}

.reading-emblem {
  position:absolute;
  right:5%;
  top:15px;
  font-size:170px;
  color:var(--read-accent);
  opacity:.13
}

.reading-library-search {
  margin:30px 0
}

.reading-library label,.reading-tools label {
  font-size:12px;
  color:var(--read-muted)
}

.reading-row {
  display:flex;
  gap:12px;
  margin-top:10px;
  flex-wrap:wrap
}

.reading-row input {
  flex:1;
  min-width:180px
}

.reading-library input,.reading-library select,.text-reader input,.text-reader select,.text-reader textarea {
  background:var(--read-panel);
  border:1px solid var(--read-line);
  border-radius:10px;
  color:var(--read-text);
  padding:11px;
  font:inherit;
  max-width:100%;
  box-sizing:border-box
}

.reading-library button,.text-reader button {
  color:var(--read-text);
  background:var(--read-panel);
  border:1px solid var(--read-line);
  border-radius:10px;
  padding:10px 15px;
  font:inherit;
  cursor:pointer
}

.reading-library button:hover,.text-reader button:hover {
  border-color:var(--read-accent)
}

.text-reader button:disabled {
  opacity:.4;
  cursor:default
}

.text-reader :focus-visible,.reading-library :focus-visible {
  outline:2px solid var(--read-accent);
  outline-offset:4px
}

.reading-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:20px
}

.reading-book {
  display:flex;
  flex-direction:column;
  padding:28px;
  border:1px solid var(--read-line);
  border-radius:18px;
  background:var(--read-panel);
  text-decoration:none!important;
  color:var(--read-text)!important;
  transition:transform .2s,border-color .2s
}

.reading-book:hover {
  transform:translateY(-3px);
  border-color:var(--read-accent)
}

.reading-book-symbol {
  font-size:48px;
  color:var(--read-accent);
  margin-bottom:24px
}

.reading-book h2 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:32px;
  color:var(--read-text)
}

.reading-book p {
  color:var(--read-muted)
}

.reading-description {
  font-size:13px;
  line-height:1.7
}

.reading-open {
  margin-top:auto;
  padding-top:22px;
  font-size:13px;
  color:var(--read-accent)
}

.reading-empty {
  grid-column:1/-1;
  padding:70px 20px;
  text-align:center;
  border:1px dashed var(--read-line);
  border-radius:18px
}

.reading-empty>span {
  font-size:60px;
  color:var(--read-accent)
}

.reading-footnote {
  font-size:12px;
  color:var(--read-muted);
  margin:32px 0 0;
  text-align:center
}

.reading-reader-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px
}

.reading-title {
  text-align:center;
  max-width:800px;
  margin:42px auto
}

.reading-title p {
  color:var(--read-muted)
}

.reading-tools {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:end;
  max-width:1100px;
  margin:auto;
  padding:20px;
  border:1px solid var(--read-line);
  border-radius:16px;
  background:var(--read-panel)
}

.reading-tools label:not(.reading-check) {
  display:flex;
  flex-direction:column;
  gap:6px
}

.reading-tools select {
  max-width:240px
}

.reading-tools input[type=number] {
  width:100px
}

.reading-check {
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 0
}

.reading-check input {
  accent-color:var(--read-accent)
}

.reading-position {
  max-width:860px;
  margin:24px auto;
  display:flex;
  gap:15px;
  align-items:center;
  flex-wrap:wrap
}

.reading-position p {
  font-size:13px;
  color:var(--read-muted);
  margin:0
}

.reading-verses {
  max-width:860px;
  margin:auto;
  min-height:150px
}

.reading-verse {
  padding:28px 0;
  border-bottom:1px solid var(--read-line);
  scroll-margin-top:110px
}

.reading-verse.saved {
  border-left:3px solid var(--read-accent);
  padding-left:18px
}

.reading-verse.current {
  background:var(--read-panel);
  border-radius:12px;
  padding:28px 18px
}

.reading-verse-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:18px
}

.reading-verse-reference {
  font-size:12px;
  color:var(--read-accent)
}

.reading-verse-actions {
  display:flex;
  gap:6px;
  flex-wrap:wrap
}

.reading-verse-actions button {
  font-size:12px;
  padding:7px 10px
}

.reading-original {
  font-size:var(--reading-font,24px);
  line-height:2;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin:0;
  color:var(--read-text)
}

.reading-original[dir=rtl] {
  font-family:'Noto Naskh Arabic','Amiri',serif;
  line-height:2.3;
  font-size:calc(var(--reading-font,24px) * 1.3)
}

.reading-translation,.reading-transliteration {
  font-size:calc(var(--reading-font,24px) * .75);
  line-height:1.9;
  white-space:pre-wrap;
  margin:14px 0 0;
  color:var(--read-muted)
}

.reading-transliteration {
  font-style:italic
}

.reading-note {
  display:block;
  margin-top:18px
}

.reading-note textarea {
  display:block;
  width:100%;
  min-height:90px;
  margin-top:10px
}

.reading-chapter-nav {
  max-width:860px;
  margin:30px auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:13px
}

.text-reader:fullscreen {
  overflow:auto;
  padding-top:30px
}

#reader-status.error {
  color:#d9a66f
}

@media(max-width:600px) {
  .reading-library,.text-reader {
  padding:22px 16px
}

.reading-title {
  margin:30px auto
}

.reading-tools {
  padding:14px;
  gap:12px
}

.reading-tools label:not(.reading-check) {
  flex:1;
  min-width:120px
}

.reading-tools input[type=search],.reading-tools select {
  width:100%
}

.reading-reader-header .reading-eyebrow {
  display:none
}

.reading-row>* {
  width:100%
}

.reading-verse-heading {
  align-items:flex-start
}

.reading-chapter-nav {
  flex-wrap:wrap
}

.reading-title h1 {
  font-size:42px
}


}


@media(prefers-reduced-motion:reduce) {
  .reading-book {
  transition:none
}


}



.reading-library,.text-reader {
  padding-bottom:110px
}

/* Catalogue compact : profils d'auteurs puis ouvrages. */
.reading-catalogue {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 20px 110px;
  background: transparent;
}
.reading-catalogue-heading { display: flex; align-items: baseline; gap: 14px; margin-bottom: 20px; }
.reading-catalogue-heading h1, .reading-catalogue-heading h2 { font-size: 20px; font-weight: 500; margin: 0; color: var(--read-text); }
.reading-catalogue-heading > span { color: var(--read-muted); font-size: 12px; }
.reading-catalogue-controls { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; flex-wrap: wrap; }
.reading-catalogue-controls input[type=search] { flex: 1; min-width: 180px; font-size: 12px; }
.reading-catalogue-controls select, .reading-catalogue-controls button { font-size: 12px; border-radius: 20px; }
.reading-view-switch { display: flex; gap: 4px; margin-left: auto; }
.reading-view-switch button { font-size: 18px; padding: 5px 10px; }
.reading-view-switch button[aria-pressed=true] { background: #8eb69b24; border-color: var(--read-accent); }
.reading-catalogue-tabs { display: flex; gap: 12px; justify-content: space-between; margin: 0 0 20px; flex-wrap: wrap; }
.reading-catalogue-tabs a { padding: 9px 18px; border: 1px solid var(--read-line); border-radius: 12px; font-size: 12px; text-decoration: none; color: var(--read-muted); }
.reading-catalogue-tabs a[aria-current=page] { color: var(--read-text); background: #8eb69b20; border-color: var(--read-accent); }
.reading-author-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 16px; }
.reading-author-card { display: flex; align-items: center; flex-direction: column; padding: 20px 12px; min-height: 184px; border-radius: 20px; background: #8eb69b0a; border: 1px solid transparent; text-decoration: none !important; transition: background .2s, transform .2s; }
.reading-author-card:hover { background: #8eb69b15; border-color: var(--read-line); transform: translateY(-3px); }
.reading-author-avatar { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(140deg, #8eb69b, #264c3b); color: #e8efe6; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; overflow: hidden; }
.reading-author-avatar[data-tone=gold] { background: linear-gradient(140deg, #cfbf93, #6f6140); }
.reading-author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.reading-author-name { font-size: 13px; font-weight: 500; color: var(--read-text); text-align: center; margin-top: 14px; line-height: 1.4; }
.reading-author-count { color: var(--read-muted); font-size: 11px; margin-top: 6px; }
.reading-demo-badge { display: inline-block; font-size: 9px; letter-spacing: .3px; color: #cbb88e; background: #c9a84c12; border: 1px solid #c9a84c30; border-radius: 20px; padding: 3px 7px; margin-top: 10px; width: fit-content; }
.light-mode .reading-demo-badge { color: #6d582c; }
.reading-author-grid--list { grid-template-columns: 1fr; }
.reading-author-grid--list .reading-author-card { flex-direction: row; gap: 20px; min-height: 80px; padding: 14px 20px; }
.reading-author-grid--list .reading-author-avatar { width: 52px; height: 52px; font-size: 22px; }
.reading-author-grid--list .reading-author-name { margin: 0; text-align: left; flex: 1; }
.reading-author-grid--list .reading-author-count, .reading-author-grid--list .reading-demo-badge { margin: 0; }
.reading-catalogue-empty { grid-column: 1 / -1; color: var(--read-muted); padding: 30px 0; font-size: 14px; }
.reading-back-link { font-size: 12px; display: inline-block; margin-bottom: 24px; }
.reading-author-profile { display: flex; align-items: center; gap: 24px; padding: 10px 0 30px; margin-bottom: 28px; border-bottom: 1px solid var(--read-line); }
.reading-author-profile .reading-author-avatar { width: 104px; height: 104px; font-size: 38px; }
.reading-author-profile h1 { color: var(--read-text); margin: 8px 0; font-size: 30px; font-family: 'Cormorant Garamond', Georgia, serif; }
.reading-author-profile p { color: var(--read-muted); font-size: 13px; line-height: 1.8; margin: 0; max-width: 680px; }
.reading-works-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 16px; }
.reading-work-card { display: flex; gap: 20px; padding: 24px; border-radius: 18px; border: 1px solid var(--read-line); text-decoration: none !important; background: #8eb69b08; }
.reading-work-card:hover { border-color: var(--read-accent); }
.reading-work-cover { width: 88px; min-height: 130px; flex-shrink: 0; background: linear-gradient(140deg, #244c38, #0e291c); border: 1px solid #8eb69b50; border-left: 5px solid #8eb69b40; border-radius: 4px 9px 9px 4px; color: #d6d9c5; padding: 12px 8px; display: flex; align-items: center; flex-direction: column; justify-content: space-between; box-sizing: border-box; text-align: center; }
.reading-work-cover > span { font-size: 6px; letter-spacing: 1px; }
.reading-work-cover strong { font: 15px/1.3 'Cormorant Garamond', Georgia, serif; }
.reading-work-cover i { font-size: 24px; font-style: normal; }
.reading-work-info { display: flex; flex-direction: column; min-width: 0; }
.reading-work-info .reading-eyebrow { font-size: 9px; letter-spacing: 1px; }
.reading-work-info h3 { color: var(--read-text); font-size: 17px; margin: 10px 0; }
.reading-work-description { color: var(--read-muted); font-size: 12px; line-height: 1.7; }
.reading-work-open { margin-top: auto; padding-top: 18px; color: var(--read-accent); font-size: 12px; }
@media (max-width: 600px) {
  .reading-catalogue { padding: 20px 16px 110px; }
  .reading-catalogue-controls input[type=search] { flex-basis: 100%; }
  .reading-author-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .reading-author-grid--list { grid-template-columns: 1fr; }
  .reading-author-grid--list .reading-author-card { gap: 10px; padding: 12px; flex-wrap: wrap; }
  .reading-author-grid--list .reading-demo-badge { display: none; }
  .reading-author-profile { gap: 16px; align-items: flex-start; }
  .reading-author-profile .reading-author-avatar { width: 76px; height: 76px; font-size: 28px; }
  .reading-author-profile h1 { font-size: 26px; }
  .reading-works-grid { grid-template-columns: 1fr; }
  .reading-work-card { padding: 18px; gap: 16px; }
  .reading-catalogue-tabs { gap: 8px; justify-content: flex-start; }
  .reading-catalogue-tabs a { padding: 8px 12px; font-size: 11px; }
}
