/* Local bookshelf viewer — Kone-inspired hover UI, independent from external sites. */
#viewer.nv-vp-viewer {background:#0a0f17;--nv-bg:rgba(15,22,34,.97);--nv-line:#42536d;--nv-blue:#8ebfff;}
#viewer.nv-vp-viewer .viewer-toolbar,#viewer.nv-vp-viewer .viewer-hint {display:none!important}
#viewer.nv-vp-viewer .viewer-stage {top:0!important;bottom:0!important}
#viewer.nv-vp-viewer button,#viewer.nv-vp-viewer input,#viewer.nv-vp-viewer select {font:inherit}
#viewer.nv-vp-viewer .nv-vp-top,#viewer.nv-vp-viewer .nv-vp-dock {position:absolute;left:0;right:0;z-index:16;background:var(--nv-bg);color:#f0f5ff;box-shadow:0 5px 30px #0009;border:1px solid var(--nv-line);transition:transform .18s ease,opacity .18s ease;box-sizing:border-box;}
#viewer.nv-vp-viewer .nv-vp-top {top:0;display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:10px 12px;transform:translateY(-108%);opacity:.12;pointer-events:none}
#viewer.nv-vp-viewer.nv-vp-top-open .nv-vp-top {transform:translateY(0);opacity:1;pointer-events:auto}
#viewer.nv-vp-viewer .nv-vp-title {font-weight:650;min-width:140px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
#viewer.nv-vp-viewer .nv-vp-top button,#viewer.nv-vp-viewer .nv-vp-dock button,#viewer.nv-vp-viewer .nv-vp-dialog button {border:1px solid var(--nv-line);background:#24344a;color:#f3f7ff;border-radius:7px;cursor:pointer;padding:7px 10px;min-height:32px}
#viewer.nv-vp-viewer .nv-vp-top button:hover,#viewer.nv-vp-viewer .nv-vp-dock button:hover,#viewer.nv-vp-viewer .nv-vp-dialog button:hover {background:#385270}
#viewer.nv-vp-viewer button:disabled {opacity:.4;cursor:default}
#viewer.nv-vp-viewer .nv-vp-top .nv-vp-close {background:#65323c}
#viewer.nv-vp-viewer .nv-vp-count {font-size:13px;white-space:nowrap;color:#c8dcf6}
#viewer.nv-vp-viewer [data-nv="progress"] {flex:1 0 85px;max-width:220px;min-width:75px;accent-color:#78b6ff}
#viewer.nv-vp-viewer .nv-vp-width {display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:12px;color:#b7cee9}
#viewer.nv-vp-viewer .nv-vp-width[hidden]{display:none}
#viewer.nv-vp-viewer .nv-vp-width input[type=range]{width:80px;accent-color:#78b6ff}
#viewer.nv-vp-viewer .nv-vp-width input[type=number] {width:53px;background:#131f30;color:#fff;border:1px solid #526580;padding:5px;border-radius:6px}
#viewer.nv-vp-viewer .nv-vp-handle {position:absolute;z-index:14;border:1px solid #566d8a;background:#1d324ddd;color:#e9f3ff;border-radius:0 0 9px 9px;padding:2px 17px;font-size:12px;opacity:.8;cursor:pointer}
#viewer.nv-vp-viewer .nv-vp-top-handle{top:0;right:12px}
#viewer.nv-vp-viewer .nv-vp-bottom-handle{bottom:0;right:14px;border-radius:9px 9px 0 0}
#viewer.nv-vp-viewer.nv-vp-top-open .nv-vp-top-handle,#viewer.nv-vp-viewer.nv-vp-dock-open .nv-vp-bottom-handle{opacity:0;pointer-events:none}
#viewer.nv-vp-viewer .nv-vp-dock {bottom:0;transform:translateY(105%);opacity:0;pointer-events:none;padding:11px 13px 12px;display:flex;flex-direction:column;gap:8px;max-height:52vh}
#viewer.nv-vp-viewer.nv-vp-dock-open .nv-vp-dock {transform:translateY(0);opacity:1;pointer-events:auto}
#viewer.nv-vp-viewer .nv-vp-dock-header {display:flex;gap:9px;align-items:center;flex-wrap:wrap}
#viewer.nv-vp-viewer .nv-vp-dock-header strong {white-space:nowrap;color:#cde2fb}
#viewer.nv-vp-viewer .nv-vp-dock-header label {white-space:nowrap;font-size:12px;color:#bed2e9}
#viewer.nv-vp-viewer .nv-vp-dock-header select,#viewer.nv-vp-viewer .nv-vp-dock-header input {background:#101b2b;color:#eef7ff;border:1px solid #4c5e76;border-radius:6px;padding:7px;min-width:0}
#viewer.nv-vp-viewer .nv-vp-dock-header select {max-width:180px}
#viewer.nv-vp-viewer .nv-vp-dock-header input[type=checkbox] {accent-color:#7bafff}
#viewer.nv-vp-viewer .nv-vp-search {display:flex;gap:4px;align-items:center;flex:1;min-width:235px}
#viewer.nv-vp-viewer .nv-vp-search input {flex:1;min-width:90px;width:120px}
#viewer.nv-vp-viewer .nv-vp-jump {display:flex;align-items:center;gap:3px}
#viewer.nv-vp-viewer .nv-vp-jump input {width:62px}
#viewer.nv-vp-viewer .nv-vp-dock-info{color:#a7bddb;font-size:11px}
#viewer.nv-vp-viewer .nv-vp-strip-wrap{display:flex;align-items:stretch;gap:6px;min-height:153px}
#viewer.nv-vp-viewer .nv-vp-strip-wrap>[data-nv^="chunk-"]{align-self:stretch}
#viewer.nv-vp-viewer .nv-vp-strip{display:flex;align-items:stretch;overflow-x:auto;gap:9px;min-width:0;flex:1;scrollbar-width:thin;padding:3px 0 8px;overscroll-behavior:contain}
#viewer.nv-vp-viewer .nv-vp-item {width:106px;min-width:106px;height:150px;border:1px solid #385072;background:#1a293c;border-radius:8px;position:relative;overflow:hidden;display:flex;flex-direction:column}
#viewer.nv-vp-viewer .nv-vp-item.selected {outline:2px solid #b8d5ff;border-color:#b8d5ff}
#viewer.nv-vp-viewer .nv-vp-item .nv-vp-item-cover {height:111px;width:100%;border:0;border-radius:0;background:linear-gradient(130deg,#294668,#151e2e);padding:0;display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden}
#viewer.nv-vp-viewer .nv-vp-item-cover img{width:100%;height:100%;object-fit:cover;pointer-events:none}
#viewer.nv-vp-viewer .nv-vp-item .nv-vp-item-label {border:0;border-radius:0;background:transparent;color:#cfdff5;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:3px 21px 3px 5px;width:100%;min-height:28px}
#viewer.nv-vp-viewer .nv-vp-item .nv-vp-item-fav {position:absolute;right:3px;top:3px;padding:1px 5px;min-height:24px;font-size:16px;background:#111e30e8;border:0}
#viewer.nv-vp-viewer .nv-vp-dialog-backdrop {position:absolute;inset:0;z-index:30;background:#0009;display:flex;align-items:center;justify-content:center;padding:14px}
#viewer.nv-vp-viewer .nv-vp-dialog-backdrop[hidden]{display:none!important}
#viewer.nv-vp-viewer .nv-vp-dialog{background:#121d2f;border:1px solid #6a84a7;border-radius:12px;width:min(720px,100%);max-height:90%;display:flex;flex-direction:column;padding:14px;box-shadow:0 16px 60px #000b}
#viewer.nv-vp-viewer .nv-vp-dialog header,#viewer.nv-vp-viewer .nv-vp-dialog footer{display:flex;gap:9px;align-items:center}
#viewer.nv-vp-viewer .nv-vp-dialog header{justify-content:space-between}
#viewer.nv-vp-viewer .nv-vp-dialog p{font-size:12px;color:#b4cae6;line-height:1.6}
#viewer.nv-vp-viewer .nv-vp-dialog .nv-vp-grow{flex:1}
#viewer.nv-vp-viewer .nv-vp-shortcuts{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:7px;margin:7px 0 12px;padding-right:4px}
#viewer.nv-vp-viewer .nv-vp-shortcut-row{display:grid;grid-template-columns:minmax(125px,1fr) 2fr;gap:10px;align-items:center;border-bottom:1px solid #263d5a;padding:7px 0;font-size:13px}
#viewer.nv-vp-viewer .nv-vp-key-list{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
#viewer.nv-vp-viewer .nv-vp-key{background:#2a3e58;border-radius:5px;padding:3px 5px}
#viewer.nv-vp-viewer .nv-vp-key button{padding:0 3px;border:0;background:transparent;color:#f3a3a3;min-height:0}
#viewer.nv-vp-viewer .nv-vp-toast{position:absolute;z-index:40;bottom:24%;left:50%;transform:translateX(-50%);background:#233852;color:#fff;border:1px solid #849fc6;border-radius:8px;padding:9px 14px;font-size:13px}
#viewer.nv-vp-viewer .nv-vp-toast[hidden]{display:none}
@media (max-width:800px){
 #viewer.nv-vp-viewer .nv-vp-top{gap:4px;padding:7px}
 #viewer.nv-vp-viewer .nv-vp-title{min-width:95px;max-width:160px;font-size:12px}
 #viewer.nv-vp-viewer .nv-vp-dock{padding:6px;max-height:65vh}
 #viewer.nv-vp-viewer .nv-vp-dock-header{gap:5px}
 #viewer.nv-vp-viewer .nv-vp-dock-header select{max-width:130px}
 #viewer.nv-vp-viewer .nv-vp-search{order:2;flex-basis:100%}
 #viewer.nv-vp-viewer .nv-vp-strip-wrap{min-height:134px}
 #viewer.nv-vp-viewer .nv-vp-item{width:88px;min-width:88px;height:133px}
 #viewer.nv-vp-viewer .nv-vp-item .nv-vp-item-cover{height:97px}
 #viewer.nv-vp-viewer .nv-vp-shortcut-row{grid-template-columns:1fr;gap:5px}
}
@media(prefers-reduced-motion:reduce){#viewer.nv-vp-viewer .nv-vp-top,#viewer.nv-vp-viewer .nv-vp-dock {transition:none}}

/* NVIDEO_VIEWER_PHASE2_031: touch-friendly mouse drag on card images/labels. */
#viewer.nv-vp-viewer .nv-vp-strip{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;scroll-behavior:auto}
#viewer.nv-vp-viewer .nv-vp-strip:active{cursor:grabbing}
#viewer.nv-vp-viewer .nv-vp-item{user-select:none;-webkit-user-select:none}
#viewer.nv-vp-viewer .nv-vp-item-cover img{user-select:none;-webkit-user-drag:none}

/* NVIDEO_VIEWER_PHASE3_032: dock browsing mode and author navigation */
#viewer.nv-vp-viewer .nv-vp-dock-summary{font-size:11px;color:#a7c6ed;white-space:nowrap}
#viewer.nv-vp-viewer [data-nv="back-authors"][hidden]{display:none!important}
#viewer.nv-vp-viewer .nv-vp-dock-header [data-nv="browse-mode"]{max-width:150px}
#viewer.nv-vp-viewer [data-nv="browse-summary"]{max-width:210px;overflow:hidden;text-overflow:ellipsis}
