.private-reader-selection-tools{position:absolute;z-index:75;bottom:80px;right:16px;display:flex;gap:8px;padding:8px;border:1px solid var(--ink);border-radius:8px;background:var(--paper2);color:var(--ink)}
.private-reader-selection-tools[hidden],.private-reader-note-panel[hidden]{display:none}
.private-reader-selection-tools button,.private-reader-note-panel button{min-height:44px;padding:8px 12px;border:1px solid currentColor;border-radius:4px;background:var(--paper2);color:var(--ink);font:inherit;cursor:pointer}
.private-reader-note-panel{position:absolute;z-index:80;inset:8px 8px 8px auto;width:min(520px,calc(100% - 16px));overflow:auto;padding:16px;background:var(--paper2);color:var(--ink);border:2px solid var(--ink);overscroll-behavior:contain}
.private-reader-note-panel header{display:flex;justify-content:space-between;gap:12px;align-items:center}.private-reader-note-panel h2{margin:0;font-size:20px}.private-reader-note-panel label{display:block;margin:12px 0}.private-reader-note-panel textarea{width:100%;box-sizing:border-box;display:block;font:inherit;padding:8px;color:var(--ink);background:var(--raised);border:1px solid var(--ink-soft)}
.private-reader-note-panel blockquote,.private-reader-note-panel p{white-space:pre-wrap;overflow-wrap:anywhere}.private-reader-note-panel blockquote{margin:8px 0;padding-left:10px;border-left:2px solid var(--ink-soft)}.private-reader-note-panel a{display:block;margin:12px 0;color:var(--ink);text-decoration:underline}.private-reader-note-panel section{border-top:1px solid var(--ink-soft);padding:10px 0}
.private-reader-mark-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:46}.private-reader-mark-layer i{position:absolute;background:rgba(226,173,28,.23);border-bottom:2px solid #a36e0a;pointer-events:none}
html[data-eink] .private-reader-mark-layer i{background:transparent;border-bottom:3px solid #000}html[data-eink] .private-reader-note-panel,html[data-eink] .private-reader-selection-tools{--paper2:#fff;--raised:#fff;--ink:#000;--ink-soft:#333;border-radius:0;box-shadow:none}
/* A dotted decoration is not a vocabulary state. Keep unlisted words and
   inferred names readable, and leave explicit quiz "inspect" markers intact. */
.reader .ctext .w-proper,.reader .ctext .w-unlisted{border-bottom:0!important;text-decoration:none}
.private-reader-open-notes{min-height:44px;padding:8px 12px;background:var(--paper2);color:var(--ink);border:1px solid var(--ink-soft);border-radius:6px;font:inherit;cursor:pointer}
.private-reader-note-panel{box-sizing:border-box;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.private-reader-note-panel :focus-visible,.private-reader-selection-tools :focus-visible,.private-reader-open-notes:focus-visible{outline:2px solid currentColor;outline-offset:2px}
html[data-eink] .private-reader-open-notes{background:#fff;color:#000;border:1px solid #000;border-radius:0}
