@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap');

:root {
  --sfr-paper:#f7f4ec;
  --sfr-ink:#232323;
  --sfr-muted:#77736b;
  --sfr-rule:#d8d2c7;
  --sfr-accent:#a94f1f;
}

/* 플러그인 화면 안에서만 적용 */
.sfr-reader,
.sfr-library {
  box-sizing:border-box;
  font-family:'Roboto','Noto Sans KR',sans-serif;
  color:var(--sfr-ink);
}
.sfr-reader *, .sfr-library * { box-sizing:border-box; }

.sfr-reader {
  min-height:100vh;
  background:var(--sfr-paper);
  font-size:1.14em;
  font-weight:400;
  line-height:1.65;
  letter-spacing:-0.025em;
}

.sfr-book-shell,
.sfr-reader-content {
  width:min(42em, calc(100% - 44px));
  margin:0 auto;
}
.sfr-book-shell { padding:46px 0 90px; text-align:center; }
.sfr-book-cover { width:min(220px,58vw); height:auto; display:block; margin:0 auto 28px; box-shadow:0 10px 26px rgba(0,0,0,.12); }
.sfr-book-title,.sfr-chapter-title { margin:0; font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-0.03em; }
.sfr-book-title { font-size:2rem; line-height:1.35; }
.sfr-book-subtitle { margin:10px 0 0; color:var(--sfr-muted); }
.sfr-book-author { margin:8px 0 0; font-size:.9em; color:var(--sfr-muted); }
.sfr-book-intro { text-align:justify; margin-top:34px; }
.sfr-ornament { width:100%; height:30px; margin:28px auto 34px; background:url('https://silencefm.com/wp-content/uploads/2026/09/line.png') center/contain no-repeat; opacity:.75; }
.sfr-contents-heading { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:1.35em; margin:0 0 20px; }
.sfr-toc { list-style:none; padding:0; margin:0; text-align:left; border-top:1px solid var(--sfr-rule); }
.sfr-toc li { border-bottom:1px solid var(--sfr-rule); }
.sfr-toc a { display:block; padding:15px 2px; color:inherit; text-decoration:none; }

.sfr-reader-topbar {
  position:sticky; top:0; z-index:20;
  min-height:52px; padding:0 16px;
  display:grid; grid-template-columns:40px 1fr 40px; align-items:center;
  background:color-mix(in srgb, var(--sfr-paper) 94%, transparent);
  border-bottom:1px solid rgba(0,0,0,.06);
  backdrop-filter:blur(8px);
}
.sfr-reader-topbar a,.sfr-aa { color:inherit; text-decoration:none; border:0; background:none; font:inherit; cursor:pointer; }
.sfr-reader-bookname { text-align:center; font-size:.8em; color:var(--sfr-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sfr-aa { font-family:Georgia,'Times New Roman',serif; }
.sfr-reader-content { padding:34px 0 100px; }
.sfr-chapter-title { text-align:center; font-size:1.65rem; line-height:1.45; }
.sfr-prose { text-align:justify; }
.sfr-prose p { margin:0 0 1.55em; }
.sfr-prose h2,.sfr-prose h3 { margin:2.4em 0 1em; line-height:1.45; letter-spacing:-0.035em; }
.sfr-prose blockquote { margin:2em 0; padding:0 0 0 1em; border-left:2px solid var(--sfr-rule); color:#514d46; }
.sfr-prose img { max-width:100%; height:auto; }

.sfr-chapter-nav {
  position:fixed; left:0; right:0; bottom:0; z-index:25;
  height:54px; padding:0 16px;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px;
  background:var(--sfr-paper); border-top:1px solid rgba(0,0,0,.08);
  font-size:.78em;
}
.sfr-chapter-nav>div:last-child { text-align:right; }
.sfr-chapter-nav a { color:inherit; text-decoration:none; }
.sfr-progress-label { color:var(--sfr-muted); min-width:42px; text-align:center; }

.sfr-settings {
  position:fixed; left:50%; bottom:68px; transform:translateX(-50%); z-index:40;
  width:min(420px, calc(100% - 28px)); padding:16px;
  background:#fff; color:#222; border-radius:14px; box-shadow:0 14px 40px rgba(0,0,0,.2);
}
.sfr-settings-row { display:flex; gap:8px; align-items:center; margin:8px 0; }
.sfr-settings-row span { width:70px; font-size:.78em; color:#666; }
.sfr-settings button { border:1px solid #ddd; background:#f7f7f7; border-radius:8px; padding:7px 10px; cursor:pointer; }

.sfr-reader[data-theme="sepia"] { --sfr-paper:#efe6d4; --sfr-ink:#2f2a22; --sfr-muted:#6f6657; --sfr-rule:#d1c4ae; }
.sfr-reader[data-theme="dark"] { --sfr-paper:#171918; --sfr-ink:#e8e4dc; --sfr-muted:#aaa59b; --sfr-rule:#333735; }
.sfr-reader[data-font="small"] { font-size:1.02em; }
.sfr-reader[data-font="medium"] { font-size:1.14em; }
.sfr-reader[data-font="large"] { font-size:1.28em; }

.sfr-library { width:100%; }
.sfr-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sfr-book-card { color:inherit; text-decoration:none; min-width:0; }
.sfr-book-card img,.sfr-cover-placeholder { width:100%; aspect-ratio:2/3; object-fit:cover; display:block; border-radius:3px; box-shadow:0 5px 16px rgba(0,0,0,.13); background:#eee; }
.sfr-book-card-title { margin-top:8px; font-size:.82em; line-height:1.4; text-align:left; }

@media (min-width:769px) {
  .sfr-prose p { line-height:2.05; margin-bottom:2em; }
}
@media (max-width:560px) {
  .sfr-book-shell,.sfr-reader-content { width:calc(100% - 36px); }
  .sfr-library-grid { gap:12px; }
  .sfr-book-card-title { font-size:.74em; }
}
