/* Margins v22 universal historical reader */
.margins-reader-shell{--reader-bg:#000;--reader-panel:#0c0d10;--reader-raised:#191b21;--reader-text:#f4f1e9;--reader-muted:#a8abb4;--reader-line:#292b32;--reader-accent:#f1a0dc;--reader-control:#201924;--reader-control-border:#71627c;--reader-bookmark:#e7bf58;margin:32px auto 10px;max-width:880px;color:var(--reader-text)}
.margins-reader-shell[data-theme="light"]{--reader-bg:#faf7ff;--reader-panel:#fff;--reader-raised:#eee7f6;--reader-text:#202c3a;--reader-muted:#5d6876;--reader-line:#d8cce5;--reader-accent:#8b249c;--reader-control:#fff;--reader-control-border:#9983ac}
.margins-reader-shell[data-theme="blue"]{--reader-bg:#07111e;--reader-panel:#0d1b2b;--reader-raised:#14263a;--reader-text:#f1f5f9;--reader-muted:#a4b2c2;--reader-line:#274058;--reader-accent:#d686dc;--reader-control:#142238;--reader-control-border:#536d86}
.margins-reader-toolbar,.margins-reader-toc,.margins-reader-section{border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:22px}
.margins-reader-toolbar{padding:20px;margin-bottom:16px;box-shadow:0 15px 42px rgba(0,0,0,.18)}
.margins-reader-label{font-size:12px;font-weight:900;letter-spacing:.13em;color:var(--reader-accent)}
.margins-reader-meta{margin:8px 0 14px!important;font-size:13px!important;line-height:1.55!important;color:var(--reader-muted)!important}
.margins-reader-controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.margins-reader-controls button,.margins-reader-modal button{appearance:none;border:1px solid var(--reader-control-border);background:var(--reader-control);color:var(--reader-text);border-radius:999px;padding:10px 15px;min-height:42px;font:700 14px/1 system-ui;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.margins-reader-controls button:hover,.margins-reader-modal button:hover{transform:translateY(-1px);border-color:var(--reader-accent);box-shadow:0 0 18px color-mix(in srgb,var(--reader-accent) 28%,transparent)}
.margins-reader-related{font-size:13px;line-height:1.8;color:var(--reader-muted)}
.margins-reader-related a{color:var(--reader-accent)}
.margins-reader-toc{padding:0;margin:0 0 22px;overflow:hidden}
.margins-reader-toc summary{cursor:pointer;padding:16px 18px;font-weight:850;color:var(--reader-text)}
.margins-reader-toc input{display:block;width:calc(100% - 28px);margin:0 14px 12px;border:1px solid var(--reader-control-border);border-radius:13px;background:var(--reader-control);color:var(--reader-text);padding:12px 14px;font-size:15px;outline:none}
.margins-reader-toc input:focus{border-color:var(--reader-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--reader-accent) 18%,transparent)}
.margins-reader-toc-list{max-height:360px;overflow:auto;padding:0 10px 12px;display:grid;gap:5px;scrollbar-width:thin}
.margins-reader-toc-list a{display:block;padding:9px 11px;border-radius:10px;color:var(--reader-text);text-decoration:none;font-size:13px;line-height:1.45;border:1px solid transparent}
.margins-reader-toc-list a:hover,.margins-reader-toc-list a.is-current{border-color:var(--reader-line);background:var(--reader-raised);color:var(--reader-accent)}
.margins-reader-section{padding:22px 22px 18px;margin:0 0 16px;scroll-margin-top:20px}
.margins-reader-heading{font:800 25px/1.3 system-ui;margin:0 0 16px;color:var(--reader-text);letter-spacing:-.02em}
.margins-reader-passage{position:relative;font-family:Lora,Georgia,serif;font-size:var(--reader-size,21px)!important;line-height:var(--reader-leading,1.85)!important;color:var(--reader-text)!important;margin:0!important;padding:13px 14px 13px 18px;border-radius:13px;cursor:pointer;white-space:normal;transition:background .16s ease,box-shadow .16s ease,transform .16s ease;border-left:3px solid transparent;outline:none}
.margins-reader-passage+.margins-reader-passage{margin-top:4px!important}
.margins-reader-passage:hover,.margins-reader-passage:focus-visible{background:var(--reader-raised);border-left-color:color-mix(in srgb,var(--reader-accent) 65%,transparent)}
.margins-reader-passage.is-bookmarked{background:color-mix(in srgb,var(--reader-bookmark) 17%,var(--reader-panel));border-left-color:var(--reader-bookmark);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--reader-bookmark) 36%,transparent)}
.margins-reader-passage.has-note:after{content:'✎';position:absolute;right:9px;top:7px;color:var(--reader-accent);font:800 13px system-ui}
.margins-reader-status{position:fixed;z-index:100000;left:50%;bottom:24px;transform:translateX(-50%);background:#17121f;color:#fff;border:1px solid #6f547a;border-radius:999px;padding:10px 16px;box-shadow:0 14px 45px rgba(0,0,0,.45);font:700 13px system-ui;opacity:0;pointer-events:none;transition:opacity .2s ease}
.margins-reader-status.show{opacity:1}
.margins-reader-overlay{position:fixed;inset:0;z-index:100002;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px}
.margins-reader-modal{width:min(650px,100%);max-height:88vh;overflow:auto;border:1px solid #5b4868;border-radius:24px;background:#100d17;color:#f7f2fb;padding:22px;box-shadow:0 25px 90px rgba(0,0,0,.65);font-family:system-ui}
.margins-reader-modal h2{font-size:27px;margin:0 0 8px}.margins-reader-modal p{font-size:14px;line-height:1.6;color:#bdb3c7}.margins-reader-modal label{display:grid;gap:7px;margin:14px 0;font-size:13px;font-weight:800;color:#e9deef}.margins-reader-modal textarea,.margins-reader-modal input[type="text"],.margins-reader-modal input[type="color"],.margins-reader-modal select{width:100%;border:1px solid #675571;border-radius:13px;background:#1d1724;color:#fff;padding:11px 12px;font:15px system-ui;outline:none}.margins-reader-modal textarea{min-height:150px;resize:vertical;line-height:1.55}.margins-reader-modal input[type="range"]{width:100%}.margins-reader-modal-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;margin-top:18px}.margins-reader-modal button.primary{background:linear-gradient(135deg,#af42d7,#f04fb9);border-color:#e58deb;color:#fff}.margins-reader-source-excerpt{border-left:3px solid #d664d7;padding:9px 12px;background:#1a1421;border-radius:8px;font-family:Lora,Georgia,serif;color:#e9e1ed;max-height:130px;overflow:auto}
.margins-reader-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.margins-reader-segment{display:flex;flex-wrap:wrap;gap:7px}.margins-reader-segment button[aria-pressed="true"]{background:#352044;border-color:#f1a0dc;color:#fff}
.margins-reader-section-nav{display:flex;justify-content:space-between;gap:12px;margin:18px 0 30px}.margins-reader-section-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border-radius:999px;border:1px solid var(--reader-control-border);background:var(--reader-control);color:var(--reader-text);text-decoration:none;font:750 13px system-ui}.margins-reader-section-nav a:hover{border-color:var(--reader-accent);color:var(--reader-accent)}
@media(max-width:650px){.margins-reader-toolbar{padding:16px}.margins-reader-section{padding:18px 13px}.margins-reader-heading{font-size:22px}.margins-reader-passage{padding:12px 11px 12px 14px}.margins-reader-setting-grid{grid-template-columns:1fr}.margins-reader-modal{padding:18px;border-radius:20px}.margins-reader-section-nav{align-items:stretch}.margins-reader-section-nav a{flex:1;justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){.margins-reader-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.margins-reader-crossrefs{margin:14px 4px 2px;padding:10px 12px;border-top:1px solid var(--reader-line);font:600 12px/1.7 system-ui;color:var(--reader-muted)}.margins-reader-crossrefs a{color:var(--reader-accent);font-weight:750}
