#sv-topic-hover { --svhp-bg:#fff; --svhp-ink:#1d2d45; --svhp-muted:#697b93; --svhp-line:#d3deeb; position:fixed; z-index:1200; display:flex; flex-direction:column; width:min(440px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); box-sizing:border-box; padding:0; border:1px solid var(--svhp-line); border-radius:12px; background:var(--svhp-bg); color:var(--svhp-ink); box-shadow:0 12px 38px rgba(16,33,60,.2); font-family:inherit; text-align:left; }
#sv-topic-hover[hidden] { display:none !important; }
#sv-topic-hover::before { position:absolute; top:-6px; left:var(--svhp-arrow,26px); width:10px; height:10px; border-top:1px solid var(--svhp-line); border-left:1px solid var(--svhp-line); background:var(--svhp-bg); transform:rotate(45deg); content:''; }
#sv-topic-hover.is-above::before { top:auto; bottom:-6px; border-top:0; border-left:0; border-bottom:1px solid var(--svhp-line); border-right:1px solid var(--svhp-line); }
#sv-topic-hover .svhp-header { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px 6px; }
#sv-topic-hover .svhp-label { color:var(--svhp-muted); font-size:9px; letter-spacing:.08em; font-weight:750; }
#sv-topic-hover .svhp-tools { display:flex; align-items:center; gap:5px; }
#sv-topic-hover button { display:inline-flex; align-items:center; justify-content:center; min-height:26px; margin:0; padding:3px 7px; border:1px solid var(--svhp-line); border-radius:6px; background:transparent; color:var(--svhp-muted); font-family:inherit; font-size:10px; font-weight:600; line-height:1.2; cursor:pointer; box-shadow:none; }
#sv-topic-hover button[hidden] { display:none; }
#sv-topic-hover .svhp-close { width:27px; padding:0; font:400 20px/1 sans-serif; }
#sv-topic-hover button:hover { color:var(--svhp-ink); background:color-mix(in srgb,var(--svhp-muted) 9%,transparent); }
#sv-topic-hover .svhp-title { display:-webkit-box; flex:0 0 auto; margin:0 14px 5px; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:var(--svhp-ink); font-size:14px; font-weight:750; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
#sv-topic-hover .svhp-title:hover { text-decoration:underline; }
#sv-topic-hover .svhp-meta { flex:0 0 auto; margin:0 14px 10px; color:var(--svhp-muted); font-size:10px; line-height:1.5; }
#sv-topic-hover .svhp-wrap { position:relative; min-height:0; flex:1 1 auto; margin:0 4px 0 0; }
#sv-topic-hover .svhp-viewport { max-height:300px; min-height:70px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--svhp-line) transparent; padding:2px 13px 18px 14px; outline-offset:-3px; }
#sv-topic-hover .svhp-text { margin:0; color:var(--svhp-ink); font-size:13px; font-weight:400; line-height:1.75; white-space:pre-line; overflow-wrap:anywhere; }
#sv-topic-hover.is-overflowing:not(.is-end) .svhp-wrap::after { position:absolute; right:9px; bottom:0; left:1px; height:28px; background:linear-gradient(transparent,var(--svhp-bg)); pointer-events:none; content:''; }
#sv-topic-hover .svhp-footer { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:10px; margin-top:1px; padding:9px 14px; border-top:1px solid var(--svhp-line); color:var(--svhp-muted); font-size:10px; line-height:1.4; }
#sv-topic-hover .svhp-footer a { flex:0 0 auto; color:var(--svhp-ink); font-weight:700; text-decoration:none; }
#sv-topic-hover .svhp-footer a:hover { text-decoration:underline; }
[data-theme='dark'] #sv-topic-hover { --svhp-bg:#202c40; --svhp-ink:#e2eaf7; --svhp-muted:#aabbd2; --svhp-line:#43526b; box-shadow:0 14px 42px rgba(0,0,0,.4); color-scheme:dark; }
@media(max-height:650px) { #sv-topic-hover .svhp-viewport { max-height:34vh; } }
