/* Reader — premium reading chrome */
.reader-shell{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}

.reader-chrome{
  display:flex;align-items:center;gap:4px;padding:6px 8px;
  padding-top:max(6px,env(safe-area-inset-top));
  background:linear-gradient(180deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.72) 100%);
  color:#fff;position:absolute;top:0;left:0;right:0;z-index:20;
  transition:opacity .22s ease,transform .22s ease;min-height:48px
}
.reader-chrome.hidden-chrome{opacity:0;pointer-events:none;transform:translateY(-8px)}

.reader-chrome .back-btn{color:#fff}
.reader-chrome .chrome-title{
  flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:14px;font-weight:600;padding:0 6px;text-align:center
}
.reader-chrome .chrome-meta{font-size:12px;opacity:.85;white-space:nowrap;padding:0 4px;font-variant-numeric:tabular-nums}
.reader-chrome .chrome-btn{
  background:rgba(255,255,255,.12);border:none;color:#fff;border-radius:8px;
  padding:8px 10px;font-size:13px;font-weight:600;cursor:pointer;min-height:36px;
  transition:background .15s
}
.reader-chrome .chrome-btn:active{background:rgba(255,255,255,.22)}

.reader-bottom-bar{
  position:absolute;left:0;right:0;bottom:0;z-index:20;
  padding:10px 14px;padding-bottom:max(12px,env(safe-area-inset-bottom));
  background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 100%);
  transition:opacity .22s ease,transform .22s ease
}
.reader-bottom-bar.hidden-chrome{opacity:0;pointer-events:none;transform:translateY(8px)}

.reader-bottom-bar input[type=range]{
  width:100%;height:28px;accent-color:#0084FF;cursor:pointer
}

.reader-toolbar-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px}
.reader-toolbar-row button{
  background:rgba(255,255,255,.14);border:none;color:#fff;border-radius:10px;
  width:40px;height:36px;font-size:16px;font-weight:700;cursor:pointer
}
.reader-toolbar-row button:active{background:rgba(255,255,255,.28)}

.reader-progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(0,0,0,.12);z-index:5}
.reader-progress-fill{height:100%;background:var(--rb-active-blue);width:0%;transition:width .12s linear}

.reader-content{
  flex:1;overflow:auto;-webkit-overflow-scrolling:touch;
  padding:var(--rb-reading-margin);padding-top:calc(var(--rb-reading-margin) + 8px);
  padding-bottom:calc(var(--rb-reading-margin) + 56px);
  background:var(--rb-reading-bg);color:var(--rb-reading-text);
  font-size:var(--rb-font-size);line-height:var(--rb-line-height);
  word-break:break-word
}
.reader-content img{max-width:100%;height:auto}
.reader-content a{color:var(--rb-active-blue)}

/* PDF canvas area */
#pdf-canvas-wrap{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;
  padding:56px 8px 72px;-webkit-overflow-scrolling:touch;background:#2a2a2a}
#pdf-canvas{box-shadow:0 4px 24px rgba(0,0,0,.35);border-radius:2px;max-width:100%}

/* Highlight colors for selection (TXT) */
::selection{background:rgba(255,230,0,.45)}
.hl-mark{border-radius:2px;padding:0 1px}
.hl-yellow{background:rgba(255,235,59,.55)}
.hl-green{background:rgba(129,199,132,.55)}
.hl-blue{background:rgba(100,181,246,.5)}
.hl-pink{background:rgba(244,143,177,.55)}
.hl-orange{background:rgba(255,183,77,.55)}
.hl-purple{background:rgba(186,104,200,.5)}

/* TOC panel */
.toc-panel{position:absolute;inset:0;background:var(--rb-bg);z-index:30;display:flex;flex-direction:column;
  animation:rbFadeIn .18s ease}
.toc-panel.hidden{display:none}

/* Loading */
.reader-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;
  gap:14px;color:var(--rb-text-secondary);background:var(--rb-reading-bg)}
.reader-spinner{width:36px;height:36px;border:3px solid var(--rb-bg-tertiary);border-top-color:var(--rb-active-blue);
  border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
