/* ==========================================================================
   Ebook Library Manager V7.0 · "Nova" public design system
   One stylesheet replaces the V5/V6.22/V6.44/V6.46/V6.47 layers.
   Light + dark themes, logical properties (RTL), reduced motion aware.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --nv-accent:var(--brand,#4f46e5);
  --nv-accent-ink:#fff;
  --nv-bg:#f6f6fa;
  --nv-surface:#ffffff;
  --nv-surface-2:#f1f2f8;
  --nv-surface-3:#e8eaf3;
  --nv-ink:#0e1424;
  --nv-ink-2:#3c4658;
  --nv-muted:#677389;
  --nv-line:#e4e7ef;
  --nv-line-strong:#cfd5e2;
  --nv-header:rgba(255,255,255,.82);
  --nv-footer:#0b1020;
  --nv-footer-ink:#c5ccdb;
  --nv-gold:#f5a524;
  --nv-ok:#0f9d6b;--nv-ok-soft:#e6f7f0;
  --nv-bad:#d92d4b;--nv-bad-soft:#fdecef;
  --nv-radius-sm:10px;--nv-radius:16px;--nv-radius-lg:24px;
  --nv-shadow-sm:0 1px 2px rgba(14,20,36,.05),0 1px 1px rgba(14,20,36,.03);
  --nv-shadow:0 8px 24px -8px rgba(14,20,36,.14),0 2px 6px rgba(14,20,36,.05);
  --nv-shadow-lg:0 30px 60px -20px rgba(14,20,36,.30),0 10px 20px -10px rgba(14,20,36,.12);
  --nv-cover-shadow:0 1px 1px rgba(0,0,0,.08),0 12px 22px -10px rgba(14,20,36,.45);
  --nv-font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --nv-display:"Fraunces",ui-serif,Georgia,"Times New Roman",serif;
  --nv-ease:cubic-bezier(.2,.8,.2,1);
  --nv-container:1240px;
  --nv-card-min:156px;
  --nv-cover-ratio:2/3;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --nv-bg:#090c15;
  --nv-surface:#111624;
  --nv-surface-2:#171d2e;
  --nv-surface-3:#20283c;
  --nv-ink:#eef1f8;
  --nv-ink-2:#c3cbdb;
  --nv-muted:#8e99b0;
  --nv-line:#232b40;
  --nv-line-strong:#323c56;
  --nv-header:rgba(13,17,29,.78);
  --nv-footer:#06080f;
  --nv-ok-soft:#0d2a22;--nv-bad-soft:#33121b;
  --nv-shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --nv-shadow:0 10px 30px -10px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.35);
  --nv-shadow-lg:0 30px 70px -20px rgba(0,0,0,.85);
  --nv-cover-shadow:0 1px 1px rgba(0,0,0,.4),0 14px 26px -10px rgba(0,0,0,.85);
  color-scheme:dark;
}
body.nv-theme-graphite{--nv-accent:#475569}
:root[data-theme="dark"] body.nv-theme-graphite{--nv-accent:#94a3b8;--nv-accent-ink:#0b1020}
body.nv-theme-glass{--nv-accent:#7c3aed}
body.nv-theme-compact{--nv-accent:#0d9488}
:root[data-theme="dark"] body.nv-theme-aurora{--nv-accent:color-mix(in srgb,var(--brand,#4f46e5) 70%,#fff)}
body{--nv-accent-soft:color-mix(in srgb,var(--nv-accent) 11%,var(--nv-surface));--nv-accent-line:color-mix(in srgb,var(--nv-accent) 28%,var(--nv-line))}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:130px}
body.nova{margin:0;min-width:320px;font-family:var(--nv-font);font-size:15px;line-height:1.6;color:var(--nv-ink);background:var(--nv-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;text-rendering:optimizeLegibility}
.nv-rtl,.nv-rtl input,.nv-rtl button,.nv-rtl textarea,.nv-rtl select{font-family:"Noto Kufi Arabic",var(--nv-font)}
body.nv-locked{overflow:hidden}
.nova a{color:inherit;text-decoration:none}
.nova img{max-width:100%;display:block}
.nova :is(h1,h2,h3,h4){color:var(--nv-ink);letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}
.nova :is(p,li,dd,small){overflow-wrap:anywhere}
.nova :is(input,select,textarea,button){font:inherit;color:inherit}
.nova :focus-visible{outline:3px solid color-mix(in srgb,var(--nv-accent) 55%,transparent);outline-offset:2px;border-radius:6px}
.nova ::selection{background:color-mix(in srgb,var(--nv-accent) 25%,transparent)}
.nv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nv-skip{position:fixed;inset-inline-start:12px;top:-60px;z-index:200;background:var(--nv-accent);color:#fff!important;padding:10px 14px;border-radius:10px;font-weight:700;transition:top .2s}
.nv-skip:focus{top:12px}
#nv-main{outline:none;min-height:50vh}
.nv-container,.nova .container{width:min(var(--nv-container),calc(100% - 40px));margin-inline:auto;min-width:0}
.nv-narrow{max-width:900px!important}
.nova .muted{color:var(--nv-muted)}
.nova svg{flex:none}

/* Form controls */
.nova :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea){background:var(--nv-surface);border:1px solid var(--nv-line-strong);border-radius:var(--nv-radius-sm);padding:11px 13px;min-height:44px;color:var(--nv-ink);transition:border-color .15s,box-shadow .15s;max-width:100%}
.nova textarea{min-height:110px;resize:vertical;line-height:1.55}
.nova :is(input,select,textarea):focus{outline:none;border-color:var(--nv-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--nv-accent) 16%,transparent)}
.nova ::placeholder{color:var(--nv-muted);opacity:.85}
.nova input[type=checkbox],.nova input[type=radio]{accent-color:var(--nv-accent);width:18px;height:18px}
.nova select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--nv-muted) 50%),linear-gradient(135deg,var(--nv-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-inline-end:36px}
[dir=rtl] .nova select,.nv-rtl select{background-position:18px 50%,13px 50%}

/* ---------- Buttons ---------- */
.nv-btn,.nova .btn,.nova .book-btn{--b-bg:var(--nv-surface);--b-ink:var(--nv-ink);--b-line:var(--nv-line-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border-radius:12px;border:1px solid var(--b-line);background:var(--b-bg);color:var(--b-ink)!important;font-weight:650;font-size:14px;line-height:1.2;cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform .15s var(--nv-ease),background-color .15s,border-color .15s,box-shadow .15s,filter .15s}
.nv-btn:hover,.nova .btn:hover,.nova .book-btn:hover{border-color:var(--nv-accent-line);box-shadow:var(--nv-shadow-sm)}
.nv-btn:active,.nova .btn:active,.nova .book-btn:active{transform:translateY(1px) scale(.99)}
.nv-btn-primary,.nova .btn:not(.ghost),.nova .book-btn.primary{--b-bg:var(--nv-accent);--b-ink:var(--nv-accent-ink);--b-line:transparent;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--nv-accent) 70%,transparent)}
.nv-btn-primary:hover,.nova .btn:not(.ghost):hover,.nova .book-btn.primary:hover{filter:brightness(1.07);box-shadow:0 10px 22px -8px color-mix(in srgb,var(--nv-accent) 75%,transparent)}
.nova .book-btn.secondary{--b-bg:var(--nv-ink);--b-ink:var(--nv-bg);--b-line:transparent}
.nv-btn-ghost,.nova .btn.ghost,.nova .book-btn.ghost{--b-bg:transparent}
.nv-btn-light{--b-bg:#fff;--b-ink:#0e1424;--b-line:transparent}
.nv-btn-lg,.nova .btn.large{min-height:50px;padding:0 24px;font-size:15px;border-radius:14px}
.nv-btn-block{width:100%}
.nv-icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--nv-line);background:var(--nv-surface);color:var(--nv-ink);cursor:pointer;transition:background-color .15s,border-color .15s}
.nv-icon-btn:hover{border-color:var(--nv-accent-line);background:var(--nv-accent-soft)}
.nv-link-btn{border:0;background:none;color:var(--nv-accent);font-weight:650;cursor:pointer;padding:6px 2px;font-size:14px}
.nv-link-btn:hover{text-decoration:underline}
.nv-show-dark{display:none}
:root[data-theme="dark"] .nv-show-dark{display:block}
:root[data-theme="dark"] .nv-show-light{display:none}

/* ---------- Header ---------- */
.nv-header{position:sticky;top:0;z-index:60;background:var(--nv-header);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.nv-header.is-scrolled{border-bottom-color:var(--nv-line);box-shadow:0 10px 30px -20px rgba(14,20,36,.35)}
.nv-header-row{display:flex;align-items:center;gap:20px;min-height:72px}
.nv-brand{display:flex;align-items:center;gap:11px;min-width:0;flex:none}
.nv-brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(140deg,var(--nv-accent),color-mix(in srgb,var(--nv-accent) 55%,#0e1424));color:#fff;box-shadow:0 8px 18px -8px color-mix(in srgb,var(--nv-accent) 80%,transparent);overflow:hidden;flex:none}
.nv-brand-mark:has(img){background:#fff;padding:4px;box-shadow:var(--nv-shadow-sm);border:1px solid var(--nv-line)}
.nv-brand-mark img{width:100%;height:100%;object-fit:contain}
.nv-brand-text{display:grid;min-width:0;line-height:1.2}
.nv-brand-text b{font-size:16px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.nv-brand-text small{font-size:12px;color:var(--nv-muted)}
.nv-search{position:relative;flex:1;max-width:620px;display:flex;align-items:center;gap:8px;height:46px;padding-inline:14px 5px;background:var(--nv-surface-2);border:1px solid var(--nv-line);border-radius:14px;transition:border-color .15s,box-shadow .15s,background-color .15s}
.nv-search:focus-within{background:var(--nv-surface);border-color:var(--nv-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--nv-accent) 15%,transparent)}
.nv-search-icon{color:var(--nv-muted)}
.nova .nv-search input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-height:0!important;height:100%;font-size:14.5px}
.nv-search input::-webkit-search-cancel-button{display:none}
.nv-kbd{font:600 11px/1 var(--nv-font);color:var(--nv-muted);border:1px solid var(--nv-line-strong);border-bottom-width:2px;border-radius:6px;padding:4px 7px;background:var(--nv-surface)}
.nv-search:focus-within .nv-kbd{display:none}
.nv-search-submit{height:36px;border:0;border-radius:10px;padding:0 15px;background:var(--nv-accent);color:var(--nv-accent-ink);font-weight:700;font-size:13px;cursor:pointer}
.nv-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto;flex:none}
.nv-actions form{margin:0;display:inline-flex}
.nv-menu-toggle{display:none}
.nv-lang{position:relative}
.nv-lang>summary{list-style:none;display:flex;align-items:center;gap:6px;height:42px;padding:0 11px;border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-surface);cursor:pointer;font-weight:700;font-size:12px;color:var(--nv-ink-2)}
.nv-lang>summary::-webkit-details-marker{display:none}
.nv-lang[open]>summary{border-color:var(--nv-accent-line)}
.nv-menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);min-width:180px;padding:6px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:14px;box-shadow:var(--nv-shadow-lg);z-index:70;animation:nv-pop .16s var(--nv-ease)}
.nv-menu form{display:block!important}
.nv-menu button{display:block;width:100%;text-align:start;border:0;background:none;padding:10px 12px;border-radius:9px;cursor:pointer;font-weight:550;font-size:14px}
.nv-menu button:hover{background:var(--nv-surface-2)}
.nv-menu button.is-active{background:var(--nv-accent-soft);color:var(--nv-accent);font-weight:750}
.nv-nav{border-top:1px solid var(--nv-line)}
.nv-nav-scroll{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:7px 0;mask-image:linear-gradient(90deg,#000 92%,transparent)}
[dir=rtl] .nv-nav-scroll{mask-image:linear-gradient(270deg,#000 92%,transparent)}
.nv-nav-scroll::-webkit-scrollbar{display:none}
.nv-nav-scroll a{flex:none;padding:7px 13px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--nv-ink-2);white-space:nowrap;transition:background-color .15s,color .15s}
.nv-nav-scroll a:hover{background:var(--nv-surface-2);color:var(--nv-ink)}
.nv-nav-scroll a.is-active{background:var(--nv-ink);color:var(--nv-bg)}

/* Search suggestions */
.nv-suggestions{position:absolute;inset-inline:0;top:calc(100% + 8px);max-height:min(70vh,520px);overflow:auto;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:16px;box-shadow:var(--nv-shadow-lg);padding:8px;z-index:80;animation:nv-pop .16s var(--nv-ease)}
.nv-suggestions section+section{border-top:1px solid var(--nv-line);margin-top:6px;padding-top:6px}
.nv-suggestions strong{display:block;padding:8px 10px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nv-muted)}
.nv-suggestions a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px}
.nv-suggestions a:hover,.nv-suggestions a.is-active{background:var(--nv-surface-2)}
.nv-suggestions a img,.nv-suggestions a>i{width:30px;height:44px;border-radius:5px;object-fit:cover;background:var(--nv-surface-3);flex:none;box-shadow:var(--nv-shadow-sm)}
.nv-suggestions a>i{width:30px;height:30px;border-radius:50%}
.nv-suggestions a span{display:grid;min-width:0}
.nv-suggestions a b{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-suggestions a small{color:var(--nv-muted);font-size:12px}
.nv-suggestions .nv-sg-all{justify-content:center;font-weight:700;color:var(--nv-accent);margin-top:6px;border-top:1px solid var(--nv-line);border-radius:0 0 10px 10px}
.nv-sg-empty{margin:10px;color:var(--nv-muted);font-size:14px}

/* Drawer (mobile) */
.nv-drawer{position:fixed;inset:0;z-index:120}
.nv-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(6,9,18,.5);opacity:0;transition:opacity .22s}
.nv-drawer-panel{position:absolute;inset-block:0;inset-inline-end:0;width:min(360px,88vw);background:var(--nv-surface);box-shadow:var(--nv-shadow-lg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s var(--nv-ease);overflow:auto}
[dir=rtl] .nv-drawer-panel{transform:translateX(-100%)}
.nv-drawer.is-open .nv-drawer-backdrop{opacity:1}
.nv-drawer.is-open .nv-drawer-panel{transform:none}
.nv-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--nv-line)}
.nv-drawer-links{display:grid;padding:10px}
.nv-drawer-links a{padding:12px 12px;border-radius:10px;font-weight:600}
.nv-drawer-links a:hover{background:var(--nv-surface-2)}
.nv-drawer-actions{display:grid;gap:8px;padding:16px 18px;margin-top:auto;border-top:1px solid var(--nv-line)}
.nv-drawer-actions form{display:block}

/* Tabbar (mobile) */
.nv-tabbar{display:none}
.nv-to-top{position:fixed;inset-inline-end:20px;bottom:24px;z-index:55;width:46px;height:46px;border-radius:50%;border:1px solid var(--nv-line);background:var(--nv-surface);color:var(--nv-ink);box-shadow:var(--nv-shadow);display:grid;place-items:center;cursor:pointer;animation:nv-pop .2s var(--nv-ease)}
.nv-to-top[hidden]{display:none}

/* Toasts, popup, cookies */
.nv-toasts{position:fixed;top:86px;inset-inline-end:20px;z-index:110;display:grid;gap:10px;width:min(420px,calc(100vw - 40px));pointer-events:none}
.nv-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;justify-content:space-between;padding:14px 16px;border-radius:14px;background:var(--nv-surface);border:1px solid var(--nv-line);box-shadow:var(--nv-shadow-lg);animation:nv-slide-in .3s var(--nv-ease);border-inline-start:4px solid var(--nv-accent)}
.nv-toast-success{border-inline-start-color:var(--nv-ok)}
.nv-toast-error{border-inline-start-color:var(--nv-bad)}
.nv-toast ul{margin:0;padding-inline-start:18px}
.nv-toast button{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--nv-muted)}
.nv-toast.is-leaving{opacity:0;transform:translateY(-6px);transition:.25s}
.nv-popup{position:fixed;bottom:20px;inset-inline-end:20px;max-width:min(420px,calc(100vw - 40px));z-index:90;background:var(--nv-surface);border:1px solid var(--nv-line);padding:20px;border-radius:18px;box-shadow:var(--nv-shadow-lg);animation:nv-slide-in .35s var(--nv-ease)}
.nv-popup strong{display:block;margin-bottom:8px;font-size:16px}
.nv-popup p{white-space:pre-wrap;color:var(--nv-ink-2);margin:0 0 10px}
.nv-popup a{color:var(--nv-accent);font-weight:650}
.nv-popup-close{float:inline-end;border:0;background:transparent;font-size:22px;cursor:pointer;color:var(--nv-muted)}
.nv-cookie{position:fixed;inset-inline:20px;bottom:20px;z-index:100;max-width:880px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:18px;background:var(--nv-surface);color:var(--nv-ink);border:1px solid var(--nv-line);box-shadow:var(--nv-shadow-lg);animation:nv-slide-in .35s var(--nv-ease)}
.nv-cookie>div:first-child{display:grid;gap:2px}
.nv-cookie span{font-size:13px;color:var(--nv-ink-2)}
.nv-cookie a{text-decoration:underline}
.nv-cookie-actions{display:flex;gap:8px;flex:none}
[data-cookie-bar][hidden]{display:none!important}

/* Footer */
.nv-footer{margin-top:40px;background:var(--nv-footer);color:var(--nv-footer-ink);padding:60px 0 0}
.nv-footer .nv-brand-text b{color:#fff}
.nv-footer .nv-brand-text small{color:#8892a8}
.nv-footer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px}
.nv-footer h4{color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 14px}
.nv-footer-grid>div>a{display:block;padding:5px 0;color:#aab3c6;font-size:14px;transition:color .15s}
.nv-footer-grid>div>a:hover{color:#fff}
.nv-footer-about p{color:#98a2b7;max-width:420px;font-size:14px;margin:16px 0}
.nv-social{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.nv-social a{padding:6px 10px;border:1px solid #ffffff1f;border-radius:999px;font-size:12px;color:#cbd2e1}
.nv-social a:hover{border-color:#ffffff55;color:#fff}
.nv-newsletter{display:flex;flex-wrap:wrap;gap:8px;max-width:460px}
.nova .nv-newsletter input[type=email]{flex:1;min-width:200px;background:#ffffff0d;border-color:#ffffff22;color:#fff}
.nv-newsletter .captcha-math{flex-basis:100%;color:#cbd2e1}
.nv-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:44px;padding:22px 0 26px;border-top:1px solid #ffffff14;font-size:13px;color:#7f8aa1}
.nv-footer-bottom a{text-decoration:underline}

/* ---------- Generic sections ---------- */
.nova .section,.nv-section{padding:56px 0}
.nova .section.alt{background:linear-gradient(180deg,var(--nv-surface-2),transparent 85%)}
.nova .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.nova .section-head h2,.nova .section-head h1{margin:4px 0 0;font-family:var(--nv-display);font-weight:700;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.015em}
.nv-rtl .section-head h2,.nv-rtl .section-head h1{font-family:"Noto Kufi Arabic",var(--nv-font)}
.nova .section-head p{margin:6px 0 0;color:var(--nv-muted)}
.nova .section-head>a{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--nv-accent);padding:8px 12px;border-radius:10px}
.nova .section-head>a:hover{background:var(--nv-accent-soft)}
.nova .eyebrow,.nv-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--nv-accent);font-weight:750;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.nv-dot{width:8px;height:8px;border-radius:50%;background:var(--nv-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--nv-accent) 20%,transparent);animation:nv-pulse 2.4s infinite}
.nova .page-hero.small,.nv-page-hero{position:relative;padding:54px 0 44px;background:radial-gradient(1000px 300px at 15% -20%,color-mix(in srgb,var(--nv-accent) 16%,transparent),transparent 70%),var(--nv-surface);border-bottom:1px solid var(--nv-line);overflow:hidden}
.nova .page-hero.small h1{font-family:var(--nv-display);font-weight:700;font-size:clamp(30px,4.2vw,50px);margin:10px 0 10px;letter-spacing:-.025em}
.nv-rtl .page-hero.small h1{font-family:"Noto Kufi Arabic",var(--nv-font)}
.nova .page-hero.small p{color:var(--nv-ink-2);font-size:16.5px;max-width:720px;margin:0}
.nv-back{display:inline-block;color:var(--nv-accent);font-weight:650;margin-bottom:10px}
.nova .empty-state,.nv-empty{grid-column:1/-1;display:grid;justify-items:center;gap:12px;text-align:center;padding:50px 20px;border:1px dashed var(--nv-line-strong);border-radius:var(--nv-radius-lg);color:var(--nv-muted);background:var(--nv-surface)}
.nova .flash{padding:12px 16px;border-radius:12px;margin:16px 0}
.nova .flash-success{background:var(--nv-ok-soft);color:var(--nv-ok)}
.nova .flash-error{background:var(--nv-bad-soft);color:var(--nv-bad)}
.nova .two-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px}

/* ---------- Home hero ---------- */
.nv-hero{position:relative;padding:64px 0 34px;overflow:hidden;isolation:isolate}
.nv-hero-glow{position:absolute;inset:-40% -10% auto;height:620px;z-index:-1;background:radial-gradient(40% 50% at 20% 40%,color-mix(in srgb,var(--nv-accent) 26%,transparent),transparent 70%),radial-gradient(35% 45% at 80% 30%,color-mix(in srgb,#f59e0b 18%,transparent),transparent 70%),radial-gradient(30% 40% at 60% 80%,color-mix(in srgb,#06b6d4 14%,transparent),transparent 70%);filter:blur(10px)}
.nv-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:center}
.nv-hero h1{font-family:var(--nv-display);font-weight:700;font-size:clamp(36px,5.4vw,68px);line-height:1.04;letter-spacing:-.035em;margin:16px 0 18px;max-width:14ch}
.nv-rtl .nv-hero h1{font-family:"Noto Kufi Arabic",var(--nv-font);line-height:1.3;letter-spacing:0}
.nv-hero-copy>p{font-size:18px;color:var(--nv-ink-2);max-width:56ch;margin:0}
.nv-hero-search{display:flex;align-items:center;gap:10px;max-width:640px;margin-top:28px;padding:7px 7px 7px 18px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:18px;box-shadow:var(--nv-shadow-lg)}
[dir=rtl] .nv-hero-search{padding:7px 18px 7px 7px}
.nv-hero-search svg{color:var(--nv-muted)}
.nova .nv-hero-search input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:16px;min-height:44px}
.nv-hero-search-sm{margin-top:22px;box-shadow:var(--nv-shadow)}
.nv-hero-search-sm .nv-btn{min-height:42px}
.nv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.nv-chips a{padding:8px 14px;border-radius:999px;background:var(--nv-surface);border:1px solid var(--nv-line);font-size:13.5px;font-weight:600;color:var(--nv-ink-2);transition:all .15s}
.nv-chips a:hover{border-color:var(--nv-accent-line);color:var(--nv-accent);transform:translateY(-1px)}
.nv-hero-visual{position:relative;min-height:380px;display:grid;place-items:center}
.nv-stack{position:relative;width:min(320px,90%);aspect-ratio:1/1.05}
.nv-stack>*{position:absolute;width:54%;aspect-ratio:2/3;object-fit:cover;border-radius:8px 14px 14px 8px;box-shadow:var(--nv-cover-shadow),0 40px 60px -30px rgba(14,20,36,.55);transition:transform .5s var(--nv-ease)}
.nv-stack-0{inset-inline-start:23%;top:2%;z-index:3;transform:rotate(-2deg)}
.nv-stack-1{inset-inline-start:0;top:16%;z-index:2;transform:rotate(-12deg);filter:saturate(.9)}
.nv-stack-2{inset-inline-end:0;top:16%;z-index:1;transform:rotate(11deg);filter:saturate(.9)}
.nv-hero-visual:hover .nv-stack-0{transform:rotate(0) translateY(-8px)}
.nv-hero-visual:hover .nv-stack-1{transform:rotate(-16deg) translateX(-10px)}
.nv-hero-visual:hover .nv-stack-2{transform:rotate(15deg) translateX(10px)}
.nv-stack-ph{background:linear-gradient(150deg,var(--nv-accent),#0e1424)}
.nv-stack-ph.nv-stack-1{background:linear-gradient(150deg,#f59e0b,#7c2d12)}
.nv-stack-ph.nv-stack-2{background:linear-gradient(150deg,#06b6d4,#164e63)}
.nv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.4fr);gap:12px;margin:46px 0 0;padding:0}
.nv-stats>div{padding:18px 20px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius);box-shadow:var(--nv-shadow-sm)}
.nv-stats dt{font-size:12.5px;color:var(--nv-muted);font-weight:600}
.nv-stats dd{margin:4px 0 0;font-size:28px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.nv-stat-cta{display:grid;align-content:center;gap:2px;padding:16px 20px;border-radius:var(--nv-radius);background:linear-gradient(135deg,var(--nv-ink),color-mix(in srgb,var(--nv-accent) 45%,var(--nv-ink)));color:var(--nv-bg)!important;box-shadow:var(--nv-shadow);transition:transform .2s var(--nv-ease)}
.nv-stat-cta:hover{transform:translateY(-2px)}
.nv-stat-cta strong{font-size:16px}
.nv-stat-cta span{font-size:12.5px;opacity:.75}
.nv-stat-cta em{font-style:normal;font-weight:750;color:var(--nv-gold);margin-top:4px;font-size:13px}

/* Slider */
.nv-slider-section{padding:10px 0 0}
.nv-slider{position:relative;display:grid;border-radius:var(--nv-radius-lg);overflow:hidden;box-shadow:var(--nv-shadow)}
.nova .slide-card{grid-area:1/1;min-height:300px;padding:44px;display:flex;align-items:flex-end;background:linear-gradient(120deg,#0e1424,color-mix(in srgb,var(--nv-accent) 60%,#0e1424));background-size:cover;background-position:center;color:#fff;opacity:0;visibility:hidden;transition:opacity .7s,visibility .7s}
.nova .slide-card.active{opacity:1;visibility:visible}
.nova .slide-card h2{color:#fff;font-family:var(--nv-display);font-size:clamp(28px,3.6vw,46px);margin:0 0 8px;max-width:20ch}
.nova .slide-card p{color:#e4e8f2;max-width:60ch;margin:0 0 18px;font-size:16px}
.nv-slider-dots{position:absolute;inset-inline-end:22px;bottom:22px;display:flex;gap:6px}
.nv-slider-dots button{width:9px;height:9px;padding:0;border-radius:99px;border:0;background:#ffffff70;cursor:pointer;transition:width .25s}
.nv-slider-dots button[aria-current]{width:26px;background:#fff}

/* Recently viewed */
.nv-recent{padding:36px 0 6px}
.nv-recent[hidden]{display:none}
.nv-recent-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:12px;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}
.nv-recent-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:14px;transition:border-color .15s,transform .15s}
.nv-recent-item:hover{border-color:var(--nv-accent-line);transform:translateY(-2px)}
.nv-recent-item img,.nv-recent-ph{width:42px;height:62px;border-radius:4px 7px 7px 4px;object-fit:cover;box-shadow:var(--nv-cover-shadow);flex:none;background:var(--nv-surface-3);display:grid;place-items:center}
.nv-recent-item span{display:grid;min-width:0}
.nv-recent-item b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-recent-item small{color:var(--nv-muted);font-size:12.5px}

/* ---------- Book grid & card ---------- */
.nova .book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--nv-card-min)),1fr));gap:28px 22px;align-items:start}
.nv-density-comfortable .book-grid{--nv-card-min:calc(var(--nv-card-min) + 32px)}
.nova .book-grid.compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(var(--nv-card-min) + 10px)),1fr))}
.nova .book-card{min-width:0;position:relative}
.nv-cover{position:relative;display:block;aspect-ratio:var(--nv-cover-ratio);border-radius:6px 12px 12px 6px;overflow:hidden;background:linear-gradient(150deg,color-mix(in srgb,var(--nv-accent) 70%,#111827),#111827);box-shadow:var(--nv-cover-shadow);transform:translateZ(0);transition:transform .35s var(--nv-ease),box-shadow .35s var(--nv-ease)}
.nv-cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.22) 0,rgba(255,255,255,.12) 2.2%,rgba(0,0,0,.08) 4%,transparent 9%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 30%);mix-blend-mode:overlay}
[dir=rtl] .nv-cover{border-radius:12px 6px 6px 12px}
[dir=rtl] .nv-cover::after{background:linear-gradient(270deg,rgba(0,0,0,.22) 0,rgba(255,255,255,.12) 2.2%,rgba(0,0,0,.08) 4%,transparent 9%)}
.nv-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--book-cover-fit,cover);opacity:0;transition:opacity .4s,transform .5s var(--nv-ease);z-index:1;background:var(--nv-surface-3)}
.nv-cover.is-loaded img{opacity:1}
.nv-cover-ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px 12px;color:#fff;text-align:start}
.nv-cover-ph span{font-family:var(--nv-display);font-weight:700;font-size:15px;line-height:1.2;overflow-wrap:anywhere}
.nv-cover-ph small{font-size:11px;opacity:.8}
.nv-cover:not(.is-loaded):has(img)::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%) 0 0/250% 100%;animation:nv-shimmer 1.4s infinite}
.book-card:hover .nv-cover{transform:translateY(-6px) rotate(-.6deg);box-shadow:var(--nv-cover-shadow),0 26px 40px -18px rgba(14,20,36,.6)}
[dir=rtl] .book-card:hover .nv-cover{transform:translateY(-6px) rotate(.6deg)}
.book-card:hover .nv-cover img{transform:scale(1.03)}
.nv-card-badges{position:absolute;inset-inline:8px;top:8px;z-index:3;display:flex;flex-wrap:wrap;gap:5px;pointer-events:none}
.nv-badge-star{margin-inline-start:auto;width:22px;height:22px;padding:0;justify-content:center}
.nv-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(10,14,25,.72);backdrop-filter:blur(6px);color:#fff;font-size:10.5px;font-weight:750;letter-spacing:.02em}
.nv-badge-audio{background:color-mix(in srgb,#7c3aed 85%,transparent)}
.nv-badge-star{background:var(--nv-gold);color:#3b2600}
.nv-card-body{padding:12px 2px 0;min-width:0}
.nv-card-body h3{margin:0;font-size:14.5px;font-weight:650;line-height:1.35;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nv-card-body h3 a:hover{color:var(--nv-accent)}
.nv-card-author{margin:3px 0 0;font-size:13px;color:var(--nv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:12px;color:var(--nv-muted)}
.nv-card-dl{font-variant-numeric:tabular-nums}

/* Shelves on the home page: one scrollable row with snap */
.nova .pu-book-shelf .book-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(var(--nv-card-min) + 12px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:10px 4px 18px;margin:-10px -4px 0;scrollbar-width:thin;scrollbar-color:var(--nv-line-strong) transparent}
.nova .pu-book-shelf .book-card{scroll-snap-align:start}
.nv-shelf{position:relative}
.nova .nv-shelf .book-grid{scrollbar-width:none}
.nova .nv-shelf .book-grid::-webkit-scrollbar{display:none}
.nv-shelf-btn{position:absolute;top:calc(50% - 50px);z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid var(--nv-line);background:var(--nv-surface);color:var(--nv-ink);font-size:26px;line-height:1;display:grid;place-items:center;padding-bottom:3px;cursor:pointer;box-shadow:var(--nv-shadow);transition:opacity .2s,transform .2s}
.nv-shelf-btn:hover{transform:scale(1.06);border-color:var(--nv-accent-line)}
.nv-shelf-btn:disabled{opacity:0;pointer-events:none}
.nv-shelf-prev{inset-inline-start:-16px}
.nv-shelf-next{inset-inline-end:-16px}
[dir=rtl] .nv-shelf-btn{transform:scaleX(-1)}
@media (hover:none),(max-width:760px){.nv-shelf-btn{display:none}}

/* Stars */
.nv-stars{position:relative;display:inline-block;font-size:13px;line-height:1;letter-spacing:1px;color:var(--nv-line-strong);white-space:nowrap}
.nv-stars>span{background:linear-gradient(90deg,var(--nv-gold) var(--nv-rating,0%),currentColor var(--nv-rating,0%));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
[dir=rtl] .nv-stars>span{background:linear-gradient(270deg,var(--nv-gold) var(--nv-rating,0%),currentColor var(--nv-rating,0%));-webkit-background-clip:text;background-clip:text}
.nv-stars-lg{font-size:20px;letter-spacing:2px}

/* ---------- Catalog ---------- */
.nv-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px;margin-bottom:18px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius-lg);box-shadow:var(--nv-shadow-sm)}
.nv-filters label{display:grid;gap:5px;min-width:160px;flex:1 1 160px;max-width:260px}
.nv-filters label>span{font-size:12px;font-weight:700;color:var(--nv-muted);letter-spacing:.02em}
.nova .nv-filters select{min-height:42px;width:100%}
.nova .nv-filters .nv-switch{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0;min-height:42px;padding:0 14px;border:1px solid var(--nv-line-strong);border-radius:var(--nv-radius-sm);cursor:pointer}
.nova .nv-filters .nv-switch>span{font-size:14px;color:var(--nv-ink);font-weight:600}
.nv-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px}
.nv-count{color:var(--nv-muted);font-size:14px}
.nv-count strong{color:var(--nv-ink);font-size:16px}
.nv-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.nv-chip-x{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--nv-accent-soft);color:var(--nv-accent);font-size:13px;font-weight:650;border:1px solid var(--nv-accent-line)}
.nv-chip-x span{font-size:16px;line-height:1}
.nv-view-toggle{margin-inline-start:auto;display:inline-flex;padding:3px;border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-surface)}
.nv-view-toggle button{display:grid;place-items:center;width:36px;height:34px;border:0;border-radius:9px;background:none;color:var(--nv-muted);cursor:pointer}
.nv-view-toggle button[aria-pressed="true"]{background:var(--nv-ink);color:var(--nv-bg)}
.nova .nv-catalog.is-list{grid-template-columns:1fr;gap:12px}
.nv-catalog.is-list .book-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;align-items:center;padding:12px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius)}
.nv-catalog.is-list .nv-cover-ph span{font-size:10px}
.nv-catalog.is-list .nv-card-badges{display:none}
.nv-catalog.is-list .nv-card-body{padding:0}
.nv-catalog.is-list .nv-card-body h3{font-size:16px}
.nv-catalog.is-list .nv-card-meta{justify-content:flex-start;gap:18px}
.nv-catalog.is-list .book-card:hover .nv-cover{transform:none}
.nova .pagination-wrap,.nova .directory-pagination,.nova .cat-pagination{margin-top:36px}

/* Pagination & categories in the Nova palette */
.nova .elib-paginator{--ep-primary:var(--nv-accent);--ep-line:var(--nv-line);--ep-text:var(--nv-ink)}
.nova .elib-paginator .elib-paginator__step,.nova .elib-paginator .elib-paginator__number{background:var(--nv-surface);color:var(--nv-ink);border-color:var(--nv-line);border-radius:11px}
.nova .elib-paginator .elib-paginator__number:hover,.nova .elib-paginator .elib-paginator__step:hover{border-color:var(--nv-accent-line);background:var(--nv-accent-soft)}
.nova .elib-paginator .is-current{background:var(--nv-accent)!important;color:var(--nv-accent-ink)!important;border-color:transparent!important}
.nova .elib-paginator__summary{color:var(--nv-muted)}
.nova .cat-v643-hero{background:radial-gradient(900px 300px at 10% -10%,color-mix(in srgb,var(--nv-accent) 55%,transparent),transparent 70%),linear-gradient(120deg,#0b1020,#16213f 60%,#1d2f55)}
.nova .cat-v643-hero h1{font-family:var(--nv-display)}
.nv-rtl .cat-v643-hero h1{font-family:"Noto Kufi Arabic",var(--nv-font)}
.nova .cat-v643-search{background:var(--nv-surface)}
.nova .cat-v643-search input{color:var(--nv-ink)}
.nova .cat-v643-search button{background:var(--nv-accent)}
.nova .cat-v643-group{background:var(--nv-surface);border-color:var(--nv-line)}
.nova .cat-v643-card{color:var(--nv-ink);background:linear-gradient(130deg,color-mix(in srgb,var(--cat-color) 12%,var(--nv-surface)),var(--nv-surface) 70%);border-color:color-mix(in srgb,var(--cat-color) 20%,var(--nv-line))}
.nova .cat-v643-symbol{background:color-mix(in srgb,var(--cat-color) 16%,var(--nv-surface))}
.nova .cat-v643-summary,.nova .cat-v643-head p{color:var(--nv-muted)}
.nova .cat-v643-children a{background:var(--nv-surface-2);color:var(--nv-ink-2);border-color:var(--nv-line)}
.nova .cat-v643-head h2{font-family:var(--nv-display)}

/* ---------- Book detail ---------- */
.nv-book-hero{position:relative;padding:44px 0 40px;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--nv-line);background:var(--nv-surface)}
.nv-book-hero::before{content:"";position:absolute;inset:-60px;z-index:-2;background:var(--nv-cover-bg,linear-gradient(120deg,var(--nv-accent),#0e1424)) center/cover;filter:blur(70px) saturate(1.4);opacity:.35;transform:scale(1.2)}
.nv-book-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--nv-surface) 40%,transparent),var(--nv-surface) 92%)}
.nova .book-pro-grid{display:grid;grid-template-columns:min(var(--book-cover-detail-width,268px),36vw) minmax(0,1fr);gap:48px;align-items:start}
.nova .book-cover-shell{position:relative;border-radius:8px 16px 16px 8px;overflow:hidden;box-shadow:var(--nv-cover-shadow),0 50px 80px -30px rgba(14,20,36,.6)}
.nova .book-cover-shell::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.14) 2%,transparent 7%)}
.nova .book-cover-img{width:100%;aspect-ratio:268/400;height:auto;max-height:var(--book-cover-detail-height,400px);object-fit:var(--book-cover-fit,cover);display:block;background:var(--nv-surface-3)}
.nova .book-cover-placeholder{aspect-ratio:268/400;background:linear-gradient(150deg,var(--nv-accent),#0e1424);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:46px;text-align:center;padding:20px}
.nova .book-cover-placeholder span{font-family:var(--nv-display);font-size:18px;font-weight:700}
.nova .book-rank-card{margin-top:14px;padding:12px;text-align:center;display:grid;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:14px}
.nova .book-rank-card span,.nova .book-rank-card small{color:var(--nv-muted);font-size:12px}
.nova .book-rank-card strong{font-size:24px}
.nova .book-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--nv-muted);margin-bottom:14px}
.nova .book-breadcrumbs a:hover{color:var(--nv-accent)}
.nova .book-badges{display:flex;flex-wrap:wrap;gap:6px}
.nova .book-badges span{padding:5px 10px;border-radius:999px;background:var(--nv-surface);border:1px solid var(--nv-line);font-size:12px;font-weight:700;color:var(--nv-ink-2)}
.nova .book-main-col h1{font-family:var(--nv-display);font-weight:700;font-size:clamp(32px,4.6vw,58px);line-height:1.05;letter-spacing:-.03em;margin:14px 0 10px;max-width:22ch}
.nv-rtl .book-main-col h1{font-family:"Noto Kufi Arabic",var(--nv-font);line-height:1.35;letter-spacing:0}
.nova .book-subtitle{font-size:19px;color:var(--nv-ink-2);margin:0 0 8px}
.nova .book-byline{display:flex;flex-wrap:wrap;gap:16px;color:var(--nv-ink-2)}
.nova .book-byline a:hover{color:var(--nv-accent)}
.nova .book-rating-line{display:flex;align-items:center;gap:10px;margin-top:16px;color:var(--nv-muted)}
.nova .book-rating-line strong{color:var(--nv-ink);font-size:17px}
.nova .book-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:640px;margin:22px 0}
.nova .book-stats-row div{padding:12px 14px;background:color-mix(in srgb,var(--nv-surface) 75%,transparent);backdrop-filter:blur(8px);border:1px solid var(--nv-line);border-radius:14px}
.nova .book-stats-row strong{display:block;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.nova .book-stats-row span{font-size:12px;color:var(--nv-muted)}
.nova .book-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.nova .book-actions .book-btn{min-height:48px;padding:0 20px;font-size:15px}
.nova .book-actions form{display:inline-flex!important}
.nova :is(.book-lock,.book-note){background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:16px;padding:16px;margin:20px 0}
.nova .book-lock form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.nova .share-box{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}
.nova .share-box>strong{font-size:13px;color:var(--nv-muted)}
.nova .share-buttons{display:flex;flex-wrap:wrap;gap:6px}
.nova .share-buttons :is(a,button){padding:7px 12px;border-radius:999px;border:1px solid var(--nv-line);background:var(--nv-surface);font-size:12.5px;font-weight:650;color:var(--nv-ink-2);cursor:pointer;transition:all .15s}
.nova .share-buttons :is(a,button):hover{border-color:var(--nv-accent-line);color:var(--nv-accent)}
.nova .book-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px}
.nova .book-tabs{position:sticky;top:124px;z-index:5;display:flex;gap:4px;overflow:auto;scrollbar-width:none;margin-bottom:18px;padding:5px;background:color-mix(in srgb,var(--nv-surface) 85%,transparent);backdrop-filter:blur(14px);border:1px solid var(--nv-line);border-radius:14px}
.nova .book-tabs a{flex:none;padding:8px 13px;border-radius:10px;font-size:13.5px;font-weight:650;color:var(--nv-ink-2)}
.nova .book-tabs a:hover{background:var(--nv-surface-2);color:var(--nv-ink)}
.nova .book-panel{background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius-lg);padding:24px;margin-bottom:18px;box-shadow:var(--nv-shadow-sm)}
.nova .book-panel h3{margin-top:0}
.nova .panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.nova .panel-heading h2{margin:0;font-size:21px}
.nova .panel-heading>span{padding:3px 10px;border-radius:999px;background:var(--nv-surface-2);font-size:12.5px;font-weight:700;color:var(--nv-muted)}
.nova .book-description{font-size:16.5px;line-height:1.85;color:var(--nv-ink-2)}
.nova .metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.nova .metadata-grid div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--nv-line)}
.nova .metadata-grid span{color:var(--nv-muted)}
.nova .metadata-grid strong{text-align:end;overflow-wrap:anywhere}
.nova .audio-track{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,45%);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--nv-line)}
.nova .audio-track small{display:block;color:var(--nv-muted)}
.nova .audio-track audio{width:100%}
.nova .review-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--nv-line)}
.nova .review-row p{margin:6px 0;color:var(--nv-ink-2)}
.nova .review-row small{color:var(--nv-muted)}
.nova .review-avatar,.nova .author-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--nv-accent-soft);color:var(--nv-accent);font-weight:800;flex:none}
.nova .interaction-form{display:grid;gap:10px;margin-top:18px;padding:16px;background:var(--nv-surface-2);border-radius:16px}
.nova .interaction-form>div{display:grid;gap:6px}
.nova .interaction-form label{font-size:13px;font-weight:700;color:var(--nv-ink-2)}
.nova .interaction-form .book-btn{justify-self:start}
.nova .book-panel blockquote.quote-card{margin:12px 0;padding:18px 20px;font-family:var(--nv-display);font-size:19px;line-height:1.5;border:0;border-inline-start:4px solid var(--nv-accent);border-radius:0 14px 14px 0;background:var(--nv-surface-2);box-shadow:none}
.nova .book-panel blockquote.quote-card footer{font-family:var(--nv-font);font-size:12.5px;color:var(--nv-muted);margin-top:8px}
.nova .rights-box{background:var(--nv-surface-2);border-radius:14px;padding:16px}
.nova .rights-box p{margin:6px 0}
.nova .rights-box a,.nova .book-panel p a{color:var(--nv-accent);font-weight:600}
.nova .report-box{margin-top:16px}
.nova .report-box summary{cursor:pointer;color:var(--nv-muted);font-weight:600;font-size:14px}
.nova .report-box form{display:grid;gap:10px;margin-top:12px}
.nova .report-box .book-btn{justify-self:start}
.nova .author-mini{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.nova .author-mini img,.nova .author-mini>span{width:54px;height:54px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--nv-accent-soft);font-size:22px}
.nova .author-mini div{display:grid}
.nova .author-mini small{color:var(--nv-muted)}
.nova .sticky-card p{color:var(--nv-ink-2);font-size:14px}
.nova .sticky-card>a:last-child{color:var(--nv-accent);font-weight:700;font-size:14px}
.nova .category-tags{display:flex;flex-wrap:wrap;gap:6px}
.nova .category-tags a{padding:6px 11px;border-radius:999px;background:var(--nv-surface-2);border:1px solid var(--nv-line);font-size:12.5px;font-weight:650;color:var(--nv-ink-2)}
.nova .category-tags a:hover{border-color:var(--nv-accent-line);color:var(--nv-accent)}
.nova .sticky-card{position:sticky;top:124px}
.nova .embed-box{margin:14px 0}
.nova .embed-box iframe{max-width:100%;border:0;border-radius:14px}

/* ---------- Lists: authors, quotes, reviews, community, partners ---------- */
.nova .author-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nova .author-list a,.nova .directory-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:14px;transition:border-color .15s,transform .15s,box-shadow .15s;min-width:0}
.nova .author-list a:hover,.nova .directory-card:hover{border-color:var(--nv-accent-line);transform:translateY(-2px);box-shadow:var(--nv-shadow)}
.nova :is(.author-list,.directory-card) b{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nova :is(.author-list,.directory-card) small{display:block;color:var(--nv-muted);font-size:12.5px}
.nova .directory-card>span:last-child{min-width:0}
.nova .directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}
.nova :is(.quote-grid,.review-grid){display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.nova :is(.feed-card,.quote-card,.review-card,.sidebar-card,.account-card,.partner-card){background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius-lg);padding:22px;box-shadow:var(--nv-shadow-sm);transition:box-shadow .2s,border-color .2s}
.nova :is(.feed-card,.quote-card,.review-card,.partner-card):hover{box-shadow:var(--nv-shadow);border-color:var(--nv-accent-line)}
.nova .quote-grid .quote-card{display:flex;flex-direction:column;gap:12px}
.nova .quote-card blockquote{margin:0;font-family:var(--nv-display);font-size:20px;line-height:1.5;color:var(--nv-ink)}
.nova .quote-card small,.nova .review-card small{display:block;color:var(--nv-muted)}
.nova .quote-grid .quote-card footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--nv-line);color:var(--nv-muted);font-size:13px}
.nova .review-card p{color:var(--nv-ink-2)}
.nova .review-card>a b,.nova .quote-card a b{color:var(--nv-ink)}
.nova .content-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:28px}
.nova .feed{display:grid;gap:14px}
.nova .feed-user{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.nova .feed-user>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--nv-accent-soft);color:var(--nv-accent);font-weight:800}
.nova .feed-user small{display:block;color:var(--nv-muted)}
.nova .related-link{display:inline-block;margin-top:6px;color:var(--nv-accent);font-weight:650}
.nova .sidebar-card h3{margin-top:0}
.nova .sidebar-card a{display:block;padding:10px 0;border-bottom:1px solid var(--nv-line);font-weight:600}
.nova .sidebar-card a:last-child{border-bottom:0}
.nova .sidebar-card small{display:block;color:var(--nv-muted);font-weight:400}
.nova .home-partners{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px}
.nova .home-partners a{display:grid;gap:5px;padding:16px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:16px;transition:transform .15s,box-shadow .15s}
.nova .home-partners a:hover{transform:translateY(-2px);box-shadow:var(--nv-shadow)}
.nova .home-partners img{width:54px;height:54px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--nv-line)}
.nova .home-partners span{font-size:26px}
.nova .home-partners small{color:var(--nv-muted)}
.nova .partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.nova .partner-logo{width:72px;height:72px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:32px;overflow:hidden;border:1px solid var(--nv-line)}
.nova .partner-logo img{width:100%;height:100%;object-fit:contain}
.nova .partner-card>span{display:block;margin-top:14px;color:var(--nv-accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.nova .partner-card h3{margin:5px 0}
.nova .partner-card p{color:var(--nv-ink-2)}
.nova .partner-profile{background:var(--nv-surface)!important;border-color:var(--nv-line)!important;color:var(--nv-ink)}
.nova .partner-profile :is(p,small){color:var(--nv-ink-2)}

/* CTA */
.nova .cta-section{position:relative;margin:30px auto 0;width:min(var(--nv-container),calc(100% - 40px));border-radius:28px;padding:56px 0;overflow:hidden;color:#fff;background:radial-gradient(600px 300px at 90% 0,color-mix(in srgb,var(--nv-accent) 70%,transparent),transparent 70%),radial-gradient(500px 260px at 0 100%,color-mix(in srgb,#f59e0b 35%,transparent),transparent 70%),#0b1020}
.nova .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;width:calc(100% - 80px)}
.nova .cta-inner h2{color:#fff;font-family:var(--nv-display);font-size:clamp(26px,3vw,38px);margin:10px 0}
.nova .cta-inner p{color:#c9d0de;max-width:62ch;margin:0}
.nova .cta-inner .eyebrow{color:var(--nv-gold)}
.nova .cta-inner .btn{--b-bg:#fff;--b-ink:#0b1020;flex:none;box-shadow:none}

/* Auth & account */
.nova .auth-shell{max-width:520px}
.nova .auth-card{background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:28px;padding:36px;box-shadow:var(--nv-shadow-lg)}
.nova .auth-card h1{font-family:var(--nv-display);font-size:34px;margin:8px 0 6px}
.nova .auth-card>p{color:var(--nv-ink-2)}
.nova .auth-card form{display:grid;gap:14px;margin-top:20px}
.nova .auth-card form>label:not(.remember){display:grid;gap:6px;font-weight:650;font-size:14px}
.nova .auth-card form>label strong{font-weight:650}
.nova .remember{display:flex!important;align-items:center;gap:8px;font-size:14px}
.nova .auth-submit{width:100%;min-height:50px}
.nova .auth-card a{color:var(--nv-accent)}
.nova .social-login{display:grid;gap:9px;margin:20px 0}
.nova .social-login a{display:block;padding:12px;text-align:center;border:1px solid var(--nv-line-strong);border-radius:12px;font-weight:700;color:var(--nv-ink)!important;background:var(--nv-surface)}
.nova .social-login a:hover{border-color:var(--nv-accent-line);box-shadow:var(--nv-shadow-sm)}
.nova .auth-separator{text-align:center;border-top:1px solid var(--nv-line);margin:26px 0 18px}
.nova .auth-separator span{position:relative;top:-12px;padding:0 12px;background:var(--nv-surface);color:var(--nv-muted);font-size:12px}
.nova .auth-bottom{text-align:center;margin-top:18px;color:var(--nv-ink-2)}
.nova .account-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 36px}
.nova .account-stats div{padding:18px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:16px}
.nova .account-stats strong{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em}
.nova .account-stats span{color:var(--nv-muted);font-size:13px}
.nova .account-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.nova .account-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--nv-line)}
.nova .account-row:last-child{border-bottom:0}
.nova .account-row :is(span,small){color:var(--nv-muted)}
.nova .account-card[style*="border"]{border-color:var(--nv-line-strong)!important}

/* Legal pages, FAQ, blog */
.nova .legal-document{background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius-lg);padding:clamp(22px,4vw,46px);line-height:1.85;color:var(--nv-ink-2);overflow-wrap:anywhere;box-shadow:var(--nv-shadow-sm)}
.nova .legal-document h2{font-size:clamp(18px,2vw,23px);margin:26px 0 10px;color:var(--nv-ink)}
.nova .legal-document h2:first-child{margin-top:0}
.nova .legal-document p{margin:0 0 16px}
.nova .legal-document .legal-draft{background:color-mix(in srgb,var(--nv-gold) 14%,var(--nv-surface));border:1px solid color-mix(in srgb,var(--nv-gold) 45%,var(--nv-line));border-radius:12px;padding:14px 16px;color:var(--nv-ink)}
.nv-prose{white-space:pre-wrap;font-size:17px}
.nv-faq{margin:0 0 12px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:16px;transition:border-color .15s,box-shadow .15s}
.nv-faq[open]{border-color:var(--nv-accent-line);box-shadow:var(--nv-shadow-sm)}
.nv-faq summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:700;display:flex;justify-content:space-between;gap:14px}
.nv-faq summary::-webkit-details-marker{display:none}
.nv-faq summary::after{content:"+";font-size:22px;line-height:1;color:var(--nv-accent);transition:transform .2s}
.nv-faq[open] summary::after{transform:rotate(45deg)}
.nv-faq p{margin:0;padding:0 20px 18px;white-space:pre-wrap;color:var(--nv-ink-2)}
.nv-article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.nv-article-card{display:flex;flex-direction:column;gap:8px;padding:24px;background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius-lg);transition:transform .2s,box-shadow .2s,border-color .2s}
.nv-article-card:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow);border-color:var(--nv-accent-line)}
.nv-article-card strong{font-family:var(--nv-display);font-size:21px;line-height:1.25}
.nv-article-card p{color:var(--nv-ink-2);margin:0}
.nv-article-card small{color:var(--nv-muted)}
.nv-article-card>span{margin-top:auto;color:var(--nv-accent);font-weight:700;font-size:14px}

/* Upload page & mobile apps (dark-mode aware overrides of their own sheets) */
.nova .pub-fields :is(input:not([type=file]):not([type=checkbox]),textarea,select){background:var(--nv-surface);color:var(--nv-ink);border-color:var(--nv-line-strong)}
.nova .pub-fields input[type=file]{background:var(--nv-surface-2);border-color:var(--nv-line-strong);color:var(--nv-ink-2)}
.nova .pub-fields small,.nova .pub-cover-head p,.nova .pub-audio-box p,.nova .pub-post-note{color:var(--nv-muted)}
.nova :is(.pub-cover-workshop,.pub-audio-box,.pub-file-note,.upload-panel){background:var(--nv-surface-2);border-color:var(--nv-line)}
.nova .pub-cover-card{background:var(--nv-surface);border-color:var(--nv-line)}
.nova .pub-quota-panel{background:var(--nv-accent-soft);border-color:var(--nv-accent-line);color:var(--nv-ink)}
.nova .pub-quota-panel small{color:var(--nv-muted)}
.nova .pub-alert--ok{background:var(--nv-ok-soft);color:var(--nv-ok)}
.nova .pub-alert--error{background:var(--nv-bad-soft);color:var(--nv-bad)}
.nova .upload-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nova .step-card{background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:16px;padding:20px}
.nova .step-card>b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--nv-accent);color:#fff}
.nova .upload-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:34px;margin-top:28px;border-radius:20px;padding:28px}
.nova .mobile-public-card{background:var(--nv-surface);border-color:var(--nv-line)}
.nova .mobile-public-card small{color:var(--nv-muted)}
.nova .mobile-public-notice{background:var(--nv-accent-soft);border-color:var(--nv-accent-line)}
.nova .mobile-public-cta{background:var(--nv-accent)}
.nova .elib-mobile-app-notice{background:var(--nv-accent-soft);color:var(--nv-ink);border-color:var(--nv-accent-line)}
.nova .elib-category-picker{color:var(--nv-ink)}

/* Captcha & ads */
.nova .captcha-math{display:grid;gap:5px;min-width:160px}
.nova .captcha-math span{font-size:12px;color:var(--nv-muted)}
.elib-ad-slot{width:min(var(--nv-container),calc(100% - 40px));margin:16px auto;display:grid;gap:12px;min-width:0;text-align:center}
.elib-ad-unit{max-width:100%;min-width:0;overflow:hidden;overflow-wrap:anywhere}
.elib-ad-unit ins.adsbygoogle{display:block;max-width:100%}
.elib-ad-caption{display:block;font-size:10px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--nv-muted);margin-bottom:4px}
.elib-ad-slot--book_sidebar{width:100%;margin:12px 0}
.elib-ad-slot--reader_top{width:100%;max-width:100%;margin:0;background:var(--nv-surface-2);padding:4px 12px;border-bottom:1px solid var(--nv-line)}
.elib-ad-slot--reader_top .elib-ad-unit{max-height:84px;overflow:auto;font-size:12px}
.elib-ad-slot--reader_top img{max-height:64px;width:auto;max-width:100%;object-fit:contain}

/* Reveal */
.nv-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--nv-ease),transform .7s var(--nv-ease)}
.nv-reveal.is-visible{opacity:1;transform:none}

/* ---------- Animations ---------- */
@keyframes nv-pop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
@keyframes nv-slide-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes nv-shimmer{to{background-position:-250% 0}}
@keyframes nv-pulse{0%,100%{box-shadow:0 0 0 4px color-mix(in srgb,var(--nv-accent) 20%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--nv-accent) 6%,transparent)}}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nv-hide-sm{display:none!important}
  .nv-menu-toggle{display:inline-grid}
  .nv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nv-stat-cta{grid-column:1/-1}
  .nova .book-content-grid{grid-template-columns:minmax(0,1fr)}
  .nova .book-side-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .nova .sticky-card{position:static}
  .nv-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nv-footer-about{grid-column:1/-1}
}
@media (max-width:900px){
  html{scroll-padding-top:150px}
  .nv-header-row{flex-wrap:wrap;gap:10px 12px;padding:10px 0;min-height:0}
  .nv-search{order:3;flex-basis:100%;max-width:none}
  .nv-kbd{display:none}
  .nv-hero{padding-top:40px}
  .nv-hero-grid{grid-template-columns:minmax(0,1fr)}
  .nv-hero-visual{display:none}
  .nv-hero h1{max-width:none}
  .nova .two-columns,.nova .content-sidebar,.nova .upload-panel{grid-template-columns:minmax(0,1fr)}
  .nova .book-pro-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .nova .book-cover-col{max-width:240px;margin-inline:auto}
  .nova .book-main-col{text-align:center}
  .nova .book-main-col h1{margin-inline:auto}
  .nova :is(.book-breadcrumbs,.book-badges,.book-byline,.book-rating-line,.book-actions,.share-box,.share-buttons){justify-content:center}
  .nova .book-stats-row{margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
  .nova .book-tabs{top:136px}
  .nova .upload-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nova .cta-inner{flex-direction:column;align-items:flex-start;width:calc(100% - 48px)}
}
@media (max-width:760px){
  body.nova{font-size:15px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .nv-container,.nova .container{width:calc(100% - 28px)}
  .nv-nav{display:none}
  .nv-brand-text small{display:none}
  .nv-tabbar{position:fixed;inset-inline:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--nv-header);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-top:1px solid var(--nv-line)}
  .nv-tabbar :is(a,button){display:grid;justify-items:center;gap:2px;padding:6px 2px;border:0;background:none;border-radius:12px;color:var(--nv-muted);font-size:11px;font-weight:650;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .nv-tabbar .is-active{color:var(--nv-accent)}
  .nv-tabbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nv-to-top{bottom:calc(80px + env(safe-area-inset-bottom));inset-inline-end:14px}
  .nv-cookie{flex-direction:column;align-items:stretch;inset-inline:10px;bottom:calc(74px + env(safe-area-inset-bottom))}
  .nv-cookie-actions{display:grid;grid-template-columns:1fr 1fr}
  .nv-popup{bottom:calc(78px + env(safe-area-inset-bottom));inset-inline:10px;max-width:none}
  .nv-toasts{top:auto;bottom:calc(78px + env(safe-area-inset-bottom));inset-inline:10px;width:auto}
  .nova .section,.nv-section{padding:40px 0}
  .nv-hero-search{padding:6px;padding-inline-start:14px;border-radius:16px}
  .nv-hero-search .nv-btn{padding:0 14px}
  .nv-hero-copy>p{font-size:16px}
  .nova .book-grid{--nv-card-min:128px;gap:22px 14px}
  .nova .pu-book-shelf .book-grid{grid-auto-columns:42%}
  .nv-filters label{max-width:none;flex-basis:calc(50% - 6px);min-width:0}
  .nova .nv-filters .nv-switch{flex-basis:100%}
  .nova .author-list{grid-template-columns:1fr}
  .nova .metadata-grid{grid-template-columns:1fr}
  .nova .audio-track{grid-template-columns:1fr}
  .nova .book-side-col{display:block}
  .nova .book-tabs{top:116px}
  .nova .account-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nova .account-columns{grid-template-columns:1fr}
  .nova .auth-card{padding:24px;border-radius:22px}
  .nova .slide-card{padding:28px;min-height:260px}
  .nova .cta-section{border-radius:22px;width:calc(100% - 28px)}
  .nv-footer{padding-top:44px}
  .nv-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .nv-hide-xs{display:none!important}
}
@media (max-width:420px){
  .nv-stats dd{font-size:22px}
  .nv-filters label{flex-basis:100%}
  .nova .upload-steps{grid-template-columns:1fr}
  .nv-footer-grid{grid-template-columns:1fr}
  .nv-lang>summary span{display:none}
}
@media (hover:none){
  .book-card:hover .nv-cover,.book-card:hover .nv-cover img{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .nv-reveal{opacity:1;transform:none}
}
@media print{
  .nv-header,.nv-footer,.nv-tabbar,.nv-to-top,.nv-cookie,.nv-popup,.elib-ad-slot,.share-box,.book-tabs,.interaction-form{display:none!important}
  body.nova{background:#fff;color:#000}
}
