.keyword-preview-trigger {
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; padding:0; margin:0 2px; vertical-align:middle;
    border:1px solid #528da3; border-radius:50%; background:#fff8d7; color:#164d6a;
    font:normal 16px/1 Georgia,serif; cursor:pointer;
}
.keyword-preview-trigger:focus-visible, .keyword-preview button:focus-visible,
.keyword-preview a:focus-visible { outline:3px solid #164d6a; outline-offset:3px; }
.keyword-preview {
    position:fixed; z-index:10000; box-sizing:border-box; width:380px;
    max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto;
    padding:18px; border:1px solid #528da3; border-radius:10px;
    background:#fffbe7; color:#163c4c; box-shadow:0 6px 24px #12374738;
    font:normal 15px/1.6 Arial,sans-serif; text-align:left;
}
.keyword-preview[hidden] { display:none; }
.keyword-preview h2 { margin:0 44px 10px 0; padding:0; border:0; font:bold 18px/1.4 Arial,sans-serif; color:#164d6a; }
.keyword-preview-close {
    position:absolute; top:6px; right:6px; width:40px; height:40px; padding:0;
    border:0; border-radius:6px; background:transparent; color:#164d6a;
    font:normal 28px/1 Arial,sans-serif; cursor:pointer;
}
.keyword-preview-close:hover { background:#e2eee8; }
.keyword-preview-content { overflow-wrap:anywhere; }
.keyword-preview-content img, .keyword-preview-content iframe { max-width:100%; height:auto; }
.keyword-preview-content table { display:block; max-width:100%; overflow:auto; }
.keyword-preview audio { display:block; width:100%; margin:10px 0; }
.keyword-preview-open { display:inline-block; margin-top:12px; font-weight:bold; color:#164d6a; }
.keyword-preview-latin { margin:0 0 10px; font-style:italic; }
@media (pointer:coarse) { .keyword-preview-trigger { width:36px; height:36px; } }
