.cite-anchor { display: inline-block; position: relative; margin-left: 6px; padding: 0 4px; font-size: 0.85em; color: #c8a05a; opacity: 0.45; cursor: pointer; text-decoration: none !important; border: none; background: none; vertical-align: middle; transition: opacity 0.15s, transform 0.1s, color 0.15s; line-height: 1; user-select: none; } .cite-anchor:hover { opacity: 1; transform: translateY(-1px); color: #d4a64a; } .cite-anchor:focus { outline: 2px solid #d4a64a; outline-offset: 2px; } .cite-anchor .cite-glyph { font-size: 0.95em; } .cite-anchor.copied { opacity: 1; color: #2a8a4a; } .cite-anchor::after { content: attr(data-tooltip); position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(4px); background: #0E0F12; color: #FAF3DF; padding: 9px 14px; border-radius: 10px; font-family: 'Inter', system-ui, sans-serif; font-size: 12px; font-weight: 500; line-height: 1.45; width: max-content; max-width: 280px; white-space: normal; text-align: center; opacity: 0; pointer-events: none; z-index: 99999; transition: opacity .18s ease-out, transform .18s ease-out; transition-delay: 0s; box-shadow: 0 8px 24px rgba(0,0,0,.18), 0 2px 4px rgba(0,0,0,.08); } .cite-anchor::before { content: ''; position: absolute; bottom: calc(100% + 4px); left: 50%; transform: translateX(-50%) translateY(4px); border: 6px solid transparent; border-top-color: #0E0F12; opacity: 0; pointer-events: none; z-index: 99999; transition: opacity .18s ease-out, transform .18s ease-out; transition-delay: 0s; } .cite-anchor:hover::after, .cite-anchor:focus::after, .cite-anchor:hover::before, .cite-anchor:focus::before { opacity: 1; transform: translateX(-50%) translateY(0); transition-delay: .25s; } .cite-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: #3a2a1a; color: #fff; padding: 10px 18px; border-radius: 24px; font-size: 0.9rem; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; z-index: 99999; box-shadow: 0 6px 24px rgba(0,0,0,.25); } .cite-toast.show { opacity: 1; transform: translateX(-50%) translateY(-4px); } .cite-target { scroll-margin-top: 100px; } .cite-target.cite-flash { animation: citeFlash 1.8s ease-out; } @keyframes citeFlash { 0% { background: rgba(212,166,74,0.25); border-radius: 4px; } 100% { background: transparent; } }