/* RCM reader — Sepia / Night, phone → desktop */
:root{--rs:1.14rem}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body.rr{font-family:"DM Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--fg);transition:background .35s,color .35s;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow-x:hidden}
.t-sepia{--bg:#EAD9BC;--fg:#43331F;--muted:#7a6445;--bar:rgba(234,217,188,.94);--line:rgba(67,51,31,.16);--accent:#8a6a2f;--paper:#F1E3C8}
.t-night{--bg:#16130F;--fg:#CDBFA0;--muted:#8c8270;--bar:rgba(22,19,15,.94);--line:rgba(244,236,219,.14);--accent:#E7D4A6;--paper:#1d1914}

.rr-bar{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;gap:.75rem;min-height:56px;padding:env(safe-area-inset-top) max(.75rem,env(safe-area-inset-right)) 0 max(.75rem,env(safe-area-inset-left));
  background:var(--bar);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.rr-back{display:inline-flex;align-items:center;gap:.3rem;color:var(--fg);text-decoration:none;font-size:.9rem;font-weight:500;padding:.5rem .4rem;min-height:44px}
.rr-back svg,.rr-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rr-title{flex:1;min-width:0;line-height:1.15}
.rr-title strong{display:block;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rr-title small{display:block;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rr-tools{display:flex;align-items:center;gap:.5rem}
.rr-themes,.rr-size{display:flex;gap:.25rem}
.rr-btn{font:inherit;font-size:.78rem;cursor:pointer;color:var(--fg);background:transparent;border:1px solid var(--line);border-radius:999px;min-height:36px;min-width:36px;padding:0 .8rem;display:inline-grid;place-items:center;transition:.2s}
.rr-btn:hover{border-color:var(--accent)}
.rr-btn.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.rr-size .rr-btn{padding:0;width:38px}
.rr-prog{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--line)}
.rr-prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .15s}

.rr-main{padding:calc(76px + env(safe-area-inset-top)) 1.1rem calc(70px + env(safe-area-inset-bottom));min-height:100%}
.rr-text{max-width:38rem;margin:0 auto;font-family:Fraunces,Georgia,serif;font-size:var(--rs);line-height:1.8;font-weight:400}
.rr-ch{padding:0 0 2.6rem}
.rr-ch h2{font-weight:400;font-size:1.7em;line-height:1.15;letter-spacing:-.01em;margin:1.4rem 0 1.4rem}
.rr-body p{margin:0 0 1.1em;text-align:left;hyphens:auto;-webkit-hyphens:auto}
.rr-ch:first-of-type .rr-body>p:first-of-type::first-letter{font-size:3em;float:left;line-height:.8;padding:.06em .1em 0 0;font-weight:500;color:var(--accent)}
.rr-body blockquote{margin:1.2em 0;padding-left:1em;border-left:2px solid var(--accent);font-style:italic}
.rr-end{text-align:center;color:var(--muted);letter-spacing:.2em;font-size:.8rem;margin-top:2rem}

.rr-pdf{max-width:960px;margin:0 auto}
.rr-pg{position:relative;margin:0 auto 14px;background:#fff;box-shadow:0 8px 30px -14px rgba(0,0,0,.45);border-radius:2px;overflow:hidden;width:100%}
.rr-pg canvas{display:block;width:100%;height:auto;pointer-events:none}
.t-night .rr-pg canvas{filter:invert(.9) hue-rotate(180deg) brightness(.92)}
.t-sepia .rr-pg canvas{filter:sepia(.35) saturate(.9) brightness(.97)}
.rr-status{text-align:center;color:var(--muted);padding:2rem}

.rr-foot{position:fixed;inset:auto 0 0 0;z-index:15;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.55rem max(1rem,env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
  font-size:.7rem;color:var(--muted);background:linear-gradient(0deg,var(--bg) 60%,transparent);pointer-events:none}
.rr-mark{opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rr-pos{white-space:nowrap}

.rr-toc{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.45)}
.rr-toc[hidden]{display:none}
.rr-toc-in{position:absolute;right:0;top:0;bottom:0;width:min(88vw,360px);background:var(--paper);color:var(--fg);padding:5rem 1.4rem 2rem;overflow:auto;box-shadow:-20px 0 50px -20px rgba(0,0,0,.5)}
.rr-toc h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:1.3rem;margin:0 0 1rem}
.rr-toc ol{margin:0;padding:0;list-style:none;counter-reset:c}
.rr-toc li{border-bottom:1px solid var(--line)}
.rr-toc a{display:block;padding:.85rem .2rem;color:inherit;text-decoration:none;font-size:.95rem}

@media(max-width:620px){
  .rr-back span{display:none}
  .rr-bar{gap:.4rem}
  .rr-tools{gap:.3rem;flex-shrink:0}
  .rr-themes .rr-btn{padding:0 .6rem}
  .rr-title small{display:none}
  .rr-title strong{font-size:.95rem}
  .rr-main{padding-left:1rem;padding-right:1rem}
  :root{--rs:1.06rem}
}
@media(max-width:380px){
  .rr-title{display:none}
  .rr-tools{margin-left:auto}
  .rr-btn{min-width:34px;min-height:34px;font-size:.74rem}
  .rr-themes .rr-btn{padding:0 .5rem}
  .rr-size .rr-btn{width:34px}
}
@media(min-width:1000px){:root{--rs:1.2rem}.rr-main{padding-top:96px}}
@media print{body.rr{display:none!important}}
