/* Reading Nook. Every selector is scoped under .reading-nook so the shared site styles are not disturbed.
   No inline styles are used anywhere (strict CSP): accents, spine sizes and colours are predefined classes. */
.reading-nook{--rn-bg:#f8f8f5;--rn-ink:#2f2a22;--rn-muted:#6b6457;--rn-sage:#727553;--rn-cream:#fbf5e9;--rn-panel:#fffdf8;--rn-panel2:#f6efe0;--rn-line:#e4dac7;--rn-radius:16px;--rn-shadow:0 1px 2px rgba(60,45,20,.06),0 6px 18px rgba(60,45,20,.07);--rn-head:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;--rn-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--rn-tap:44px;--rn-accent:#a9683a;--rn-accent-dark:#86502a;--rn-accent-soft:#f3e4d3;color:var(--rn-ink);font-family:var(--rn-body);font-size:15px;line-height:1.4;max-width:1380px;margin:0 auto;padding:18px 20px 40px;box-sizing:border-box;text-align:left}
.reading-nook *,.reading-nook *::before,.reading-nook *::after{box-sizing:border-box}
.reading-nook h1,.reading-nook h2,.reading-nook h3,.reading-nook h4,.reading-nook p,.reading-nook dl,.reading-nook dd,.reading-nook ul,.reading-nook ol{margin:0;letter-spacing:normal}
.reading-nook p{color:inherit;line-height:1.4}
.reading-nook small{display:block;font-size:12px;color:var(--rn-muted);line-height:1.4}
.reading-nook button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}
.reading-nook button:disabled{cursor:default;opacity:.55}
.reading-nook :focus-visible{outline:3px solid #1d5fd1;outline-offset:2px}
.reading-nook .rn-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.reading-nook .rn-muted{color:var(--rn-muted)}
.reading-nook .rn-small{font-size:12.5px}
.reading-nook img{display:block;max-width:100%}

.reading-nook.rn-accent-copper,.reading-nook .rn-accent-copper{--rn-accent:#a9683a;--rn-accent-dark:color-mix(in srgb,#a9683a 75%,#000);--rn-accent-soft:color-mix(in srgb,#a9683a 15%,#fff)}
.reading-nook.rn-accent-sage,.reading-nook .rn-accent-sage{--rn-accent:#52794a;--rn-accent-dark:color-mix(in srgb,#52794a 75%,#000);--rn-accent-soft:color-mix(in srgb,#52794a 15%,#fff)}
.reading-nook.rn-accent-blue,.reading-nook .rn-accent-blue{--rn-accent:#496a96;--rn-accent-dark:color-mix(in srgb,#496a96 75%,#000);--rn-accent-soft:color-mix(in srgb,#496a96 15%,#fff)}
.reading-nook.rn-accent-lilac,.reading-nook .rn-accent-lilac{--rn-accent:#86699e;--rn-accent-dark:color-mix(in srgb,#86699e 75%,#000);--rn-accent-soft:color-mix(in srgb,#86699e 15%,#fff)}
.reading-nook.rn-accent-rose,.reading-nook .rn-accent-rose{--rn-accent:#ad6378;--rn-accent-dark:color-mix(in srgb,#ad6378 75%,#000);--rn-accent-soft:color-mix(in srgb,#ad6378 15%,#fff)}
.reading-nook.rn-accent-amber,.reading-nook .rn-accent-amber{--rn-accent:#9d762d;--rn-accent-dark:color-mix(in srgb,#9d762d 75%,#000);--rn-accent-soft:color-mix(in srgb,#9d762d 15%,#fff)}

/* panels, buttons, pills */
.reading-nook .rn-panel{background:var(--rn-panel);border:1px solid var(--rn-line);border-radius:var(--rn-radius);box-shadow:var(--rn-shadow);padding:16px;min-width:0}
.reading-nook .rn-panel h2{font-family:var(--rn-head);font-size:20px;line-height:1.2}
.reading-nook .rn-ph{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.reading-nook .rn-subheading{font-family:var(--rn-head);font-size:15px;margin:12px 0 6px}
.reading-nook .rn-pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;letter-spacing:.3px;background:var(--rn-accent-soft);color:var(--rn-accent-dark);border:1px solid color-mix(in srgb,var(--rn-accent) 25%,transparent)}
.reading-nook .rn-btn{min-height:40px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--rn-accent);background:transparent;color:var(--rn-accent-dark);font-weight:700;display:inline-flex;align-items:center;gap:7px;justify-content:center;width:auto;margin:0}
.reading-nook .rn-btn.primary{background:var(--rn-accent);color:#fff}
.reading-nook .rn-btn.primary:hover{background:var(--rn-accent-dark)}
.reading-nook .rn-btn.secondary:hover,.reading-nook .rn-btn.ghost:hover{background:var(--rn-accent-soft)}
.reading-nook .rn-btn.ghost{border-color:transparent}
.reading-nook .rn-btn.rn-small{min-height:36px;padding:4px 12px;font-size:13px}
.reading-nook .rn-banner{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff7dd;border:1px solid #ecd9a0;color:#5b4a14;border-radius:12px;padding:8px 14px;margin-bottom:12px;font-size:14px}
.reading-nook .rn-banner.rn-error{background:#fff1f0;border-color:#d9a5a5;color:#8b2929}
.reading-nook .rn-state{max-width:640px;margin:40px auto;text-align:center}
.reading-nook .rn-empty{border:2px dashed var(--rn-line);border-radius:14px;padding:26px;text-align:center;color:var(--rn-muted);background:#fff}
.reading-nook .rn-empty p{margin-top:10px}
.reading-nook .rn-catalog-bar{margin-bottom:14px}
/* header */
.reading-nook .rn-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.reading-nook .rn-titlebox{display:flex;align-items:center;gap:12px}
.reading-nook .rn-sprig{width:46px;height:46px;color:var(--rn-sage);flex:none}
.reading-nook h1.rn-title{font-family:var(--rn-head);font-size:36px;line-height:1.05;letter-spacing:-.3px;font-weight:700;margin:0;color:var(--rn-ink)}
.reading-nook .rn-sub{color:var(--rn-muted);font-size:14px;margin-top:3px}
.reading-nook .rn-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.reading-nook .rn-avatars{display:flex;gap:12px;margin:14px 0 4px;flex-wrap:wrap}
.reading-nook .rn-avatar{padding:6px 8px;border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:84px;min-height:var(--rn-tap)}
.reading-nook .rn-face{width:56px;height:56px;border-radius:50%;border:3px solid transparent;background:var(--rn-accent-soft);color:var(--rn-accent-dark);font-family:var(--rn-head);font-weight:700;font-size:26px;box-shadow:0 2px 6px rgba(0,0,0,.12);display:grid;place-items:center}
.reading-nook .rn-nm{font-weight:800;font-size:15px}
.reading-nook .rn-avatar[aria-pressed="true"] .rn-face{border-color:var(--rn-accent);box-shadow:0 0 0 3px #fff,0 0 0 6px var(--rn-accent)}
.reading-nook .rn-avatar[aria-pressed="true"] .rn-nm{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px;text-decoration-color:var(--rn-accent)}
.reading-nook .rn-accents{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.reading-nook .rn-accent-label{font-size:12px;color:var(--rn-muted);margin-right:5px}
.reading-nook .rn-swatch{width:44px;height:44px;display:grid;place-items:center;border:2px solid transparent;border-radius:50%;padding:7px}
.reading-nook .rn-swatch span{width:24px;height:24px;border-radius:50%;background:var(--rn-accent);box-shadow:inset 0 0 0 1px #0002}
.reading-nook .rn-swatch[aria-pressed="true"]{border-color:var(--rn-accent);background:#fff}
.reading-nook .rn-swatch[aria-pressed="true"] span{outline:2px solid #fff;outline-offset:-4px}
.reading-nook .rn-stats-wrap{margin-top:12px}
/* segmented controls and chips */
.reading-nook .rn-seg{display:inline-flex;border:1.5px solid var(--rn-line);border-radius:999px;background:#fff;padding:3px;gap:2px;flex-wrap:wrap;max-width:100%}
.reading-nook .rn-seg button{border-radius:999px;padding:7px 13px;font-weight:700;font-size:13px;min-height:36px}
.reading-nook .rn-seg button[aria-pressed="true"]{background:var(--rn-accent);color:#fff}
.reading-nook .rn-seg button:hover:not([aria-pressed="true"]){background:var(--rn-accent-soft)}
.reading-nook .rn-chips{display:flex;gap:6px;flex-wrap:wrap}
.reading-nook .rn-chipbtn{border:1.5px solid var(--rn-line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;min-height:36px}
.reading-nook .rn-chipbtn[aria-pressed="true"]{background:var(--rn-ink);color:#fff;border-color:var(--rn-ink)}
/* stats */
.reading-nook .rn-kpis{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rn-line);border-radius:14px;background:var(--rn-cream);overflow:hidden}
.reading-nook .rn-kpi{padding:14px 16px;display:flex;gap:12px;align-items:center;border-right:1px solid var(--rn-line);min-width:0}
.reading-nook .rn-kpi:last-child{border-right:0}
.reading-nook .rn-ki{width:46px;height:46px;border-radius:12px;background:var(--rn-accent-soft);color:var(--rn-accent-dark);display:grid;place-items:center;flex:none}
.reading-nook .rn-ki svg{width:28px;height:28px}
.reading-nook .rn-kpi-body{min-width:0}
.reading-nook .rn-num{font-family:var(--rn-head);font-size:38px;line-height:1;font-weight:700;letter-spacing:-.5px;overflow-wrap:anywhere}
.reading-nook .rn-num.rn-txt{font-size:clamp(20px,2.2vw,30px);white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.reading-nook .rn-lab{font-weight:800;font-size:15px;margin-top:3px}
.reading-nook .rn-ksub{font-size:12px;color:var(--rn-muted);margin-top:2px;line-height:1.25}
.reading-nook .rn-basis{margin-top:10px;font-size:12.5px;color:var(--rn-muted)}
.reading-nook .rn-basis summary{cursor:pointer;font-weight:700;color:var(--rn-accent-dark);padding:4px 0;min-height:30px}
.reading-nook .rn-basis ul{margin:4px 0 0;padding-left:18px}
.reading-nook .rn-chart-grid{display:grid;grid-template-columns:1.35fr 1fr 1.1fr;gap:14px;margin-top:14px}
.reading-nook .rn-subpanel{background:#fff;border:1px solid var(--rn-line);border-radius:14px;padding:14px;min-width:0}
.reading-nook .rn-subpanel h3{font-family:var(--rn-head);font-size:17px;margin-bottom:8px}
.reading-nook .rn-metric-seg{margin-bottom:8px}
.reading-nook svg.rn-bars{width:100%;height:auto;display:block}
.reading-nook .rn-axis{stroke:var(--rn-line);stroke-width:1}
.reading-nook .rn-bar{fill:color-mix(in srgb,var(--rn-accent) 45%,#e3dccd)}
.reading-nook .rn-bar.now{fill:var(--rn-accent-dark)}
.reading-nook .rn-bar.none{opacity:.75}
.reading-nook .rn-bar.future{opacity:.4}
.reading-nook text.rn-bval{font-size:11px;font-weight:700;fill:var(--rn-ink);font-family:var(--rn-body)}
.reading-nook text.rn-bmon{font-size:12px;font-weight:800;fill:var(--rn-muted);font-family:var(--rn-body)}
.reading-nook text.rn-bmon.cur{fill:var(--rn-ink)}
.reading-nook .rn-chart-note{font-size:11.5px;color:var(--rn-muted);margin-top:8px}
.reading-nook .rn-donut-wrap{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.reading-nook .rn-donut{width:132px;height:132px;flex:none}
.reading-nook .rn-ctr{font-family:var(--rn-head);font-size:9px;font-weight:700;fill:var(--rn-ink)}
.reading-nook .rn-ctr2{font-size:3.6px;fill:var(--rn-muted);font-family:var(--rn-body)}
.reading-nook .rn-legend{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;flex:1;min-width:130px}
.reading-nook .rn-legend li{display:flex;align-items:center;gap:8px}
.reading-nook .rn-dot{width:12px;height:12px;border-radius:50%;flex:none}
.reading-nook .rn-cnt{margin-left:auto;font-weight:700;white-space:nowrap}
.reading-nook .rn-trackrow{margin:8px 0}
.reading-nook .rn-tl{display:flex;justify-content:space-between;font-size:13px;font-weight:700;gap:8px}
.reading-nook progress{appearance:none;-webkit-appearance:none;border:0;display:block;width:100%;height:12px;border-radius:999px;background:#ece5d6;overflow:hidden;margin-top:4px}
.reading-nook progress::-webkit-progress-bar{background:#ece5d6;border-radius:999px}
.reading-nook progress::-webkit-progress-value{background:var(--rn-accent);border-radius:999px}
.reading-nook progress::-moz-progress-bar{background:var(--rn-accent);border-radius:999px}
.reading-nook progress.pace::-webkit-progress-value{background:#b8b19f}
.reading-nook progress.pace::-moz-progress-bar{background:#b8b19f}
.reading-nook progress.rn-prog{height:9px;margin:2px 0}
.reading-nook .rn-prog.rn-ind{height:9px;border-radius:99px;background:#ece5d6;overflow:hidden}
.reading-nook .rn-prog.rn-ind i{display:block;height:100%;width:100%;background:repeating-linear-gradient(135deg,var(--rn-accent) 0 6px,color-mix(in srgb,var(--rn-accent) 45%,#fff) 6px 12px)}
.reading-nook .rn-garden{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}
.reading-nook .rn-plot{width:26px;height:26px;border-radius:7px;background:#efe8d8;display:grid;place-items:center;color:#cfc6b2}
.reading-nook .rn-plot.on{background:var(--rn-accent-soft);color:var(--rn-accent-dark)}
.reading-nook .rn-plot svg{width:18px;height:18px}
.reading-nook .rn-verdict{font-weight:800;font-size:14px;margin:6px 0}
.reading-nook .rn-goal{border-bottom:1px dashed var(--rn-line);padding-bottom:8px;margin-bottom:8px}
.reading-nook .rn-goal-actions{margin-top:8px}
/* layout */
.reading-nook .rn-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:18px;align-items:start}
.reading-nook .rn-grid>*{min-width:0}
.reading-nook .rn-aside{display:flex;flex-direction:column;gap:16px}
/* library */
.reading-nook .rn-tabs{display:flex;flex-wrap:wrap;gap:2px 4px;border-bottom:2px solid var(--rn-line);margin-bottom:12px}
.reading-nook .rn-tab{padding:11px 14px;min-height:var(--rn-tap);font-weight:800;font-size:14px;white-space:nowrap;border-bottom:4px solid transparent;margin-bottom:-2px;color:var(--rn-muted);border-radius:10px 10px 0 0;display:flex;align-items:center;gap:7px}
.reading-nook .rn-tab.parent-only{font-style:italic}
.reading-nook .rn-ct{background:var(--rn-accent-soft);color:var(--rn-accent-dark);border-radius:999px;font-size:11.5px;padding:0 8px;min-width:22px;text-align:center}
.reading-nook .rn-tab[aria-selected="true"]{color:var(--rn-ink);border-bottom-color:var(--rn-accent);background:color-mix(in srgb,var(--rn-accent) 8%,transparent)}
.reading-nook .rn-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.reading-nook .rn-searchbox{display:flex;gap:6px;flex:1;min-width:220px;max-width:460px;margin:0}
.reading-nook .rn-searchbox input{flex:1;min-width:0;width:auto;border:1.5px solid var(--rn-line);border-radius:999px;min-height:42px;background:#fff;padding:0 16px;margin:0;font-size:15px}
.reading-nook .rn-toolrow{margin-bottom:10px}
.reading-nook .rn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:16px}
.reading-nook .rn-book{display:flex;flex-direction:column;gap:6px;min-width:0}
.reading-nook .rn-cover-btn{display:block;width:100%;border-radius:8px}
.reading-nook .rn-cover{position:relative;aspect-ratio:2/3;border-radius:6px 10px 10px 6px;overflow:hidden;background:#e9e3d4;box-shadow:0 2px 3px rgba(0,0,0,.2),0 8px 16px rgba(60,45,20,.18);border-left:4px solid rgba(0,0,0,.22)}
.reading-nook .rn-cover img,.reading-nook .rn-cover-img{width:100%;height:100%;object-fit:cover;border-radius:0}
.reading-nook .rn-nocover,.reading-nook .book-no-cover{width:100%;height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;color:#5f594d;background:repeating-linear-gradient(45deg,#ece7da 0 8px,#e4dece 8px 16px);border:2px dashed #b4ab96;font-weight:700;font-size:13px;border-radius:0}
.reading-nook .rn-cover-btn:hover .rn-cover{transform:translateY(-3px)}
.reading-nook .rn-fmt{position:absolute;left:6px;top:6px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px 3px 6px;font-size:11px;font-weight:900;letter-spacing:.6px;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.35);z-index:2}
.reading-nook .rn-fmt svg{width:14px;height:14px}
.reading-nook .rn-fmt-print{background:#4a4332}
.reading-nook .rn-fmt-audio{background:#2d6a6a}
.reading-nook .rn-fmt-ebook{background:#496a96}
.reading-nook .rn-fmt-unknown{background:#fff;color:#4a4332;border:1.5px dashed #7a705a;padding-left:9px}
.reading-nook .rn-chip{position:absolute;right:6px;top:6px;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;background:#fff;color:var(--rn-ink);box-shadow:0 1px 4px rgba(0,0,0,.3);z-index:2}
.reading-nook .rn-chip.finished{background:#e1f0d2;color:#23501a}
.reading-nook .rn-chip.reading{background:#ffe9b8;color:#5f4300}
.reading-nook .rn-ti{font-weight:800;font-size:14px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.reading-nook .rn-au{font-size:12.5px;color:var(--rn-muted)}
.reading-nook .rn-sr{font-size:12px;color:var(--rn-accent-dark);font-weight:700}
.reading-nook .rn-ptxt{font-size:12.5px}
.reading-nook .rn-stars{color:#b1822a;font-size:14px;letter-spacing:1px}
.reading-nook .rn-notepeek{font-size:12px;background:#fff6d9;border-radius:8px;padding:4px 8px;color:#5a4a15;overflow-wrap:anywhere;white-space:pre-wrap}
.reading-nook .rn-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.reading-nook .rn-intro{margin-bottom:8px}
/* family audio */
.reading-nook .rn-fam{display:flex;flex-direction:column;gap:10px}
.reading-nook .rn-famitem{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--rn-line);border-radius:14px;padding:8px 12px 8px 8px;text-align:left;min-height:var(--rn-tap)}
.reading-nook .rn-th{width:48px;aspect-ratio:2/3;border-radius:4px;overflow:hidden;flex:none;box-shadow:0 2px 6px rgba(0,0,0,.2);display:block}
.reading-nook .rn-th .rn-nocover,.reading-nook .rn-th .book-no-cover{font-size:7px;padding:2px;border-width:1px}
.reading-nook .rn-famitem b{font-size:14px;line-height:1.2;display:block}
.reading-nook .rn-audiotag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:900;letter-spacing:.5px;background:#2d6a6a;color:#fff;border-radius:999px;padding:1px 8px 1px 5px}
.reading-nook .rn-famtag{position:absolute;right:6px;bottom:6px;background:#2d6a6a;color:#fff;border-radius:8px;padding:2px 7px;font-size:10.5px;font-weight:800;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.reading-nook .rn-fam-check small{display:block}
.reading-nook .rn-audiotag svg{width:12px;height:12px}
/* series */
.reading-nook .rn-series-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:16px}
.reading-nook .rn-series{background:#fff;border:1px solid var(--rn-line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.reading-nook .rn-series header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.reading-nook .rn-series h3{font-family:var(--rn-head);font-size:19px}
.reading-nook .rn-big-wrap{text-align:right}
.reading-nook .rn-big{font-family:var(--rn-head);font-size:24px;font-weight:700;line-height:1;white-space:nowrap}
.reading-nook .rn-fam-prog{display:flex;gap:6px;flex-wrap:wrap}
.reading-nook .rn-fam-prog span{font-size:12px;font-weight:700;background:var(--rn-panel2);border-radius:999px;padding:2px 10px}
.reading-nook .rn-fam-prog span.me{background:var(--rn-accent);color:#fff}
.reading-nook .rn-entries{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;list-style:none;scrollbar-width:thin}
.reading-nook .rn-entry{flex:none;width:74px}
.reading-nook .rn-entry button{width:100%;text-align:center;display:flex;flex-direction:column;gap:3px;align-items:center}
.reading-nook .rn-entry .rn-cover{width:100%;border-left-width:3px}
.reading-nook .rn-no{font-size:11.5px;font-weight:800}
.reading-nook .rn-es{font-size:10.5px;color:var(--rn-muted);line-height:1.1}
.reading-nook .rn-mark{position:absolute;right:4px;bottom:4px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#2f7a2b;color:#fff;z-index:2;font-size:13px;font-weight:900}
.reading-nook .rn-mark.reading{background:#c88a0a}
.reading-nook .rn-entry.done .rn-cover{outline:3px solid #2f7a2b;outline-offset:-3px}
.reading-nook .rn-entry.next .rn-cover{outline:3px dashed var(--rn-accent);outline-offset:-3px}
.reading-nook .rn-nextrow{background:var(--rn-panel2);border-radius:12px;padding:8px 10px;font-size:14px}
.reading-nook .rn-watch{display:flex;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--rn-line);padding-top:10px}
.reading-nook .rn-switch{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;min-height:var(--rn-tap);text-align:left}
.reading-nook .rn-tr{width:50px;height:28px;border-radius:99px;background:#c9c1ae;position:relative;flex:none}
.reading-nook .rn-tr::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.reading-nook .rn-switch[aria-checked="true"] .rn-tr{background:var(--rn-accent)}
.reading-nook .rn-switch[aria-checked="true"] .rn-tr::after{left:25px}
.reading-nook .rn-src{font-size:12px;color:var(--rn-muted);overflow-wrap:anywhere}
.reading-nook .rn-badge-strip,.reading-nook .rn-badge-line{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#fff7df,#f3e4b8);border:1px solid #d7b254;border-radius:14px;padding:10px 12px;margin-bottom:8px}
.reading-nook .rn-badge-strip svg,.reading-nook .rn-badge-line svg{width:52px;height:52px;flex:none}
.reading-nook .rn-badge-strip b,.reading-nook .rn-badge-line b{font-family:var(--rn-head);font-size:17px;display:block}
.reading-nook .rn-badge-strip small,.reading-nook .rn-badge-line small{color:#5b4a14}
/* notes */
.reading-nook .rn-notes-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.reading-nook .rn-note{display:flex;gap:10px;align-items:flex-start;text-align:left;background:#fff6d9;border:1px solid #ecd9a0;border-radius:10px;padding:8px 10px;width:100%}
.reading-nook .rn-note b{font-size:13px;display:block}
.reading-nook .rn-note span span{font-size:12.5px;color:#5a4a15;display:block;overflow-wrap:anywhere;white-space:pre-wrap}
.reading-nook .rn-prov{margin-top:4px;font-size:11.5px}
.reading-nook .rn-verify{font-weight:800;color:#8a5a12}
.reading-nook .rn-verify.ok{color:#23501a}
/* shelf */
.reading-nook .rn-shelfwrap{margin-top:22px;width:100%}
.reading-nook .rn-shelf-head h2{font-family:var(--rn-head);font-size:22px;margin-bottom:6px}
.reading-nook .rn-count{font-size:15px;font-weight:600}
.reading-nook .rn-shelf{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;overflow-y:hidden;padding:20px 28px 0;height:320px;background:linear-gradient(#efe6d3,#e8dcc2);border:1px solid var(--rn-line);border-radius:14px 14px 0 0;scrollbar-width:thin;width:100%}
.reading-nook .rn-shelf-board{height:22px;background:linear-gradient(#a9764a,#7c5230);border-radius:0 0 10px 10px;box-shadow:0 8px 14px rgba(60,40,15,.28)}
.reading-nook .rn-shelf-empty{align-self:center;margin:auto;color:var(--rn-muted);text-align:center;padding:30px}
.reading-nook .rn-spine-wrap{position:relative;flex:none}
.reading-nook .rn-spine{background:var(--rn-spine,#8a8472);color:#fff;border-radius:3px 3px 0 0;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0 10px;min-width:34px;box-shadow:inset -3px 0 0 rgba(0,0,0,.2),inset 2px 0 0 rgba(255,255,255,.2)}
.reading-nook .rn-spine::before,.reading-nook .rn-spine::after{content:"";position:absolute;left:0;right:0;height:5px;background:rgba(255,255,255,.35)}
.reading-nook .rn-spine::before{top:22px}
.reading-nook .rn-spine::after{bottom:7px}
.reading-nook .rn-si{width:16px;height:16px;flex:none}
.reading-nook .rn-si svg{width:16px;height:16px}
.reading-nook .rn-st{writing-mode:vertical-rl;font-size:12.5px;font-weight:800;line-height:1.1;max-height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;flex:1;min-height:0}
.reading-nook .rn-spine-wrap:hover .rn-spine,.reading-nook .rn-spine:focus-visible,.reading-nook .rn-spine-wrap.is-open .rn-spine{transform:translateY(-9px)}
.reading-nook .rn-pop{display:none;position:absolute;left:calc(100% + 6px);bottom:0;width:176px;max-height:290px;z-index:5;background:var(--rn-panel);border:2px solid var(--rn-accent-dark);border-radius:14px;padding:10px;box-shadow:0 14px 34px rgba(0,0,0,.35);flex-direction:column;gap:6px;align-items:stretch}
.reading-nook .rn-spine-wrap.flip .rn-pop{left:auto;right:calc(100% + 6px)}
.reading-nook .rn-spine-wrap:hover .rn-pop,.reading-nook .rn-spine-wrap:focus-within .rn-pop,.reading-nook .rn-spine-wrap.is-open .rn-pop{display:flex}
.reading-nook .rn-pop-cover{width:96px;margin:0 auto;aspect-ratio:2/3;border-radius:6px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.3);background:#e9e3d4}
.reading-nook .rn-pop-cover img{width:100%;height:100%;object-fit:cover}
.reading-nook .rn-pop-t{font-weight:800;font-size:13px;line-height:1.2;text-align:center;overflow:hidden;max-height:3.6em}
.reading-nook .rn-pop-m{font-size:12px;color:var(--rn-muted);text-align:center}
.reading-nook .rn-shelf-help{font-size:12.5px;color:var(--rn-muted);margin-top:8px}

/* spine sizes and colours: predefined classes (no inline style) */
.reading-nook .rn-h0{height:150px}
.reading-nook .rn-h1{height:156px}
.reading-nook .rn-h2{height:162px}
.reading-nook .rn-h3{height:168px}
.reading-nook .rn-h4{height:174px}
.reading-nook .rn-h5{height:180px}
.reading-nook .rn-h6{height:186px}
.reading-nook .rn-h7{height:192px}
.reading-nook .rn-h8{height:198px}
.reading-nook .rn-h9{height:204px}
.reading-nook .rn-h10{height:210px}
.reading-nook .rn-h11{height:216px}
.reading-nook .rn-h12{height:222px}
.reading-nook .rn-h13{height:228px}
.reading-nook .rn-h14{height:234px}
.reading-nook .rn-h15{height:240px}
.reading-nook .rn-w0{width:36px}
.reading-nook .rn-w1{width:37px}
.reading-nook .rn-w2{width:38px}
.reading-nook .rn-w3{width:39px}
.reading-nook .rn-w4{width:40px}
.reading-nook .rn-w5{width:41px}
.reading-nook .rn-w6{width:42px}
.reading-nook .rn-w7{width:43px}
.reading-nook .rn-w8{width:44px}
.reading-nook .rn-w9{width:45px}
.reading-nook .rn-w10{width:46px}
.reading-nook .rn-w11{width:47px}
.reading-nook .rn-w12{width:48px}
.reading-nook .rn-w13{width:49px}
.reading-nook .rn-w14{width:50px}
.reading-nook .rn-w15{width:51px}
.reading-nook .rn-w16{width:52px}
.reading-nook .rn-w17{width:53px}
.reading-nook .rn-c0{--rn-spine:#6b4a3a}
.reading-nook .rn-c1{--rn-spine:#3f5a46}
.reading-nook .rn-c2{--rn-spine:#41567a}
.reading-nook .rn-c3{--rn-spine:#6a4f7d}
.reading-nook .rn-c4{--rn-spine:#7d4656}
.reading-nook .rn-c5{--rn-spine:#7a5f27}
.reading-nook .rn-c6{--rn-spine:#2f5d62}
.reading-nook .rn-c7{--rn-spine:#5a4a38}
.reading-nook .rn-c8{--rn-spine:#4b5a2f}
.reading-nook .rn-c9{--rn-spine:#693e3e}
.reading-nook .rn-c10{--rn-spine:#3b4a66}
.reading-nook .rn-c11{--rn-spine:#5f5a3a}
.reading-nook .rn-c12{--rn-spine:#5c3f5f}
.reading-nook .rn-c13{--rn-spine:#35584a}
.reading-nook .rn-c14{--rn-spine:#7a5035}
.reading-nook .rn-c15{--rn-spine:#444d5b}
.reading-nook .rn-gc-0{background:#a8703f}
.reading-nook .rn-gc-1{background:#6e5f8c}
.reading-nook .rn-gc-2{background:#5b8ca0}
.reading-nook .rn-gc-3{background:#7a8b4f}
.reading-nook .rn-gc-4{background:#3d7a74}
.reading-nook .rn-gc-5{background:#d9ab5c}
.reading-nook .rn-gc-6{background:#ad6378}
.reading-nook .rn-gc-7{background:#9a9484}

/* forms inside the shared modal dialog */
.reading-nook.rn-form{max-width:none;margin:0;padding:0;font-size:15px}
.reading-nook.rn-form label{display:block;font-size:14px;font-weight:500;margin:0 0 12px}
.reading-nook.rn-form input:not([type=checkbox]),.reading-nook.rn-form select,.reading-nook.rn-form textarea{width:100%;margin-top:6px;padding:10px;font-size:16px;border:1px solid #cfc6b2;border-radius:8px;background:#fff;color:var(--rn-ink)}
.reading-nook.rn-form .rn-check{display:flex;align-items:flex-start;gap:8px}
.reading-nook.rn-form .rn-check input{width:18px;height:18px;margin:2px 0 0;flex:none}
.reading-nook .rn-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.reading-nook .rn-fieldset{border:1px solid var(--rn-line);border-radius:10px;padding:12px 14px;margin:6px 0 12px}
.reading-nook .rn-fieldset legend{font-size:14px;font-weight:700;padding:0 6px}
.reading-nook .rn-pick{max-height:260px;overflow:auto}
.reading-nook .rn-pickrow{display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid var(--rn-line);padding:4px 0}
.reading-nook .rn-pickrow label{margin:0;flex:1}
.reading-nook.rn-form input.rn-order{width:72px;margin:0}
.reading-nook .rn-detail{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px}
.reading-nook .rn-detail h3{font-family:var(--rn-head);font-size:22px;line-height:1.15}
.reading-nook .rn-detail h4{font-family:var(--rn-head);margin:12px 0 4px;font-size:16px}
.reading-nook .rn-detail dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0;font-size:13px}
.reading-nook .rn-detail dt{font-weight:800;color:var(--rn-muted)}
/* Same warm design, with tighter spacing on a shared landscape kitchen screen. */
.reading-nook[data-role="kitchen"]{padding-top:8px}
.reading-nook[data-role="kitchen"] .rn-avatar{min-width:70px;padding:4px 6px}
.reading-nook[data-role="kitchen"] .rn-face{width:42px;height:42px;font-size:22px}
.reading-nook[data-role="kitchen"] .rn-avatars{margin:8px 0 2px;gap:10px}
.reading-nook[data-role="kitchen"] .rn-panel{padding:12px}
.reading-nook[data-role="kitchen"] .rn-kpi{padding:10px 12px;gap:8px}
.reading-nook[data-role="kitchen"] .rn-ki{width:34px;height:34px}
.reading-nook[data-role="kitchen"] .rn-ki svg{width:23px;height:23px}
.reading-nook[data-role="kitchen"] .rn-num:not(.rn-txt){font-size:32px}
.reading-nook[data-role="kitchen"] .rn-chart-grid{margin-top:10px;gap:10px}
.reading-nook[data-role="kitchen"] .rn-subpanel{padding:10px}
.reading-nook[data-role="kitchen"] svg.rn-bars{max-height:120px}
.reading-nook[data-role="kitchen"] .rn-donut{width:96px;height:96px}
/* Currently Reading feature. The progress donut overlaps the cover's lower-right corner; the art box reserves padding so the overhang never clips or covers text. */
.reading-nook .rn-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:18px;align-items:center;margin-top:14px;padding:18px 20px;border:1px solid var(--rn-line);border-radius:20px;background:linear-gradient(135deg,var(--rn-cream),var(--rn-accent-soft));box-shadow:var(--rn-shadow);border-left:6px solid var(--rn-accent)}
.reading-nook .rn-feature>*{min-width:0}
.reading-nook .rn-feature-empty{display:block;padding:14px 18px}
.reading-nook .rn-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--rn-accent-dark)}
.reading-nook .rn-fe-title{font-family:var(--rn-head);font-size:17px;color:var(--rn-muted);margin-top:2px}
.reading-nook .rn-fmain{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.reading-nook .rn-fart{position:relative;width:176px;padding:0 24px 28px 0}
.reading-nook .rn-fcover{width:100%}
.reading-nook .rn-dn{position:absolute;right:0;bottom:0;width:84px;height:84px;filter:drop-shadow(0 3px 5px rgba(60,45,20,.35))}
.reading-nook .rn-dn-bg{fill:#fffdf8;stroke:var(--rn-line);stroke-width:1}
.reading-nook .rn-dn-track{stroke:#e6dcc8}
.reading-nook .rn-dn-arc{stroke:var(--rn-accent)}
.reading-nook .rn-dn-unknown .rn-dn-track,.reading-nook .rn-dn-audio .rn-dn-track{stroke-dasharray:3 3}
.reading-nook .rn-dn-pct{font-family:var(--rn-head);font-size:11.5px;font-weight:700;fill:var(--rn-ink)}
.reading-nook .rn-dn-q{font-family:var(--rn-head);font-size:16px;font-weight:700;fill:var(--rn-muted)}
.reading-nook .rn-dn-ico{stroke:var(--rn-accent-dark)}
.reading-nook .rn-finfo{min-width:0}
.reading-nook h2.rn-ftitle{font-family:var(--rn-head);font-size:clamp(22px,2.6vw,32px);line-height:1.12;margin:4px 0 2px;overflow-wrap:anywhere}
.reading-nook .rn-fauthor{font-size:15px;color:var(--rn-muted)}
.reading-nook .rn-fseries{font-size:13.5px;font-weight:700;color:var(--rn-accent-dark);margin-top:2px}
.reading-nook .rn-fprog{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-weight:700;font-size:14.5px;margin-top:10px}
.reading-nook .rn-fmt-pill{border-radius:999px;padding:1px 9px;font-size:10.5px;font-weight:900;letter-spacing:.6px;background:#4a4332;color:#fff}
.reading-nook .rn-fmt-pill[data-fmt="audio"]{background:#2d6a6a}
.reading-nook .rn-fmt-pill[data-fmt="ebook"]{background:#496a96}
.reading-nook .rn-fmt-pill[data-fmt="unknown"]{background:#fff;color:#4a4332;border:1.5px dashed #7a705a}
.reading-nook .rn-fbasis{margin-top:3px}
.reading-nook .rn-fact{margin-top:12px;gap:8px}
.reading-nook .rn-fnext{background:rgba(255,253,248,.85);border:1px solid var(--rn-line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.reading-nook .rn-fn-body{display:flex;gap:12px;align-items:center}
.reading-nook .rn-fn-cover{width:56px}
.reading-nook .rn-fn-text{min-width:0}
.reading-nook .rn-fn-title{font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.reading-nook .rn-fn-note{margin:0}
.reading-nook .rn-fnext .rn-btn{align-self:flex-start}
.reading-nook[data-role="kitchen"] .rn-feature{padding:12px 16px;margin-top:8px}
.reading-nook[data-role="kitchen"] .rn-fart{width:128px;padding:0 18px 22px 0}
.reading-nook[data-role="kitchen"] .rn-dn{width:64px;height:64px}
@media (max-width:1100px){.reading-nook .rn-feature{grid-template-columns:minmax(0,1fr)}.reading-nook .rn-fnext{flex-direction:row;align-items:center;flex-wrap:wrap}.reading-nook .rn-fn-body{flex:1 1 260px}}
@media (max-width:640px){.reading-nook .rn-feature{padding:14px;border-radius:16px}.reading-nook .rn-fmain{grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:start}.reading-nook .rn-fart{width:116px;padding:0 16px 20px 0}.reading-nook .rn-dn{width:56px;height:56px}.reading-nook h2.rn-ftitle{font-size:21px}.reading-nook .rn-fnext{flex-direction:column;align-items:stretch}.reading-nook .rn-fn-body{flex:0 1 auto}}
/* responsive */
@media (max-width:1100px){.reading-nook .rn-chart-grid{grid-template-columns:1fr 1fr}.reading-nook .rn-goalbox{grid-column:1/-1}}
@media (max-width:1024px){.reading-nook{padding:14px 14px 34px}.reading-nook .rn-grid{grid-template-columns:minmax(0,1fr) 260px;gap:14px}.reading-nook .rn-num{font-size:32px}}
@media (max-width:860px){.reading-nook .rn-grid{grid-template-columns:minmax(0,1fr)}.reading-nook .rn-kpis{grid-template-columns:1fr}.reading-nook .rn-kpi{border-right:0;border-bottom:1px solid var(--rn-line)}.reading-nook .rn-kpi:last-child{border-bottom:0}.reading-nook .rn-chart-grid{grid-template-columns:1fr}}
@media (max-width:640px){.reading-nook .rn-tabs{flex-wrap:nowrap;overflow-x:auto}.reading-nook h1.rn-title{font-size:28px}.reading-nook .rn-cards{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.reading-nook .rn-avatars{gap:4px;justify-content:space-between}.reading-nook .rn-avatar{min-width:0;padding:4px;flex:1}.reading-nook .rn-shelf{padding:16px 14px 0}.reading-nook .rn-fields{grid-template-columns:1fr}.reading-nook .rn-detail{grid-template-columns:1fr}.reading-nook .rn-detail .rn-cover{width:140px;margin:0 auto}.reading-nook .rn-accent-label{width:100%}}
@media (hover:none){.reading-nook .rn-spine-wrap:hover .rn-pop{display:none}.reading-nook .rn-spine-wrap.is-open .rn-pop,.reading-nook .rn-spine-wrap:focus-within .rn-pop{display:flex}}
@media (prefers-reduced-motion:no-preference){.reading-nook .rn-cover{transition:transform .18s}.reading-nook .rn-spine{transition:transform .18s}.reading-nook progress{transition:none}}
