/* APA citation button and dialog (public site and portals) */
.ml-cite-btn { display: inline-flex; align-items: center; gap: .4rem; border: 1.5px solid #cfdcf1; background: #fff; color: #1454a8; border-radius: 999px; padding: .35rem .9rem; font: 700 .8rem/1.2 "Inter", system-ui, sans-serif; cursor: pointer; transition: background .15s, border-color .15s, transform .15s; }
.ml-cite-btn:hover { background: #e8f0fb; border-color: #1454a8; transform: translateY(-1px); }
.ml-cite-modal { position: fixed; inset: 0; z-index: 3000; display: none; align-items: center; justify-content: center; padding: 16px; font-family: "Inter", system-ui, sans-serif; }
.ml-cite-modal.is-open { display: flex; }
.ml-cite-backdrop { position: absolute; inset: 0; background: rgba(8, 24, 52, .6); backdrop-filter: blur(3px); }
.ml-cite-card { position: relative; width: 100%; max-width: 560px; max-height: 92vh; overflow: auto; background: #fff; color: #0f172a; border-radius: 20px; padding: 1.2rem 1.3rem 1.1rem; box-shadow: 0 30px 70px -20px rgba(0,0,0,.6); animation: mlCiteIn .25s cubic-bezier(.22,.8,.24,1); }
@keyframes mlCiteIn { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
.ml-cite-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.ml-cite-head h3 { margin: 0; font-size: 1.05rem; font-weight: 800; color: #0b2f66; display: flex; align-items: center; gap: .5rem; }
.ml-cite-x { border: 0; background: #eef2f8; width: 34px; height: 34px; border-radius: 50%; font-size: 1.3rem; line-height: 1; cursor: pointer; color: #44546f; }
.ml-cite-label { margin: .8rem 0 .3rem; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #5b6b82; }
.ml-cite-box { background: #f6f9fe; border: 1px solid #dbe5f5; border-radius: 12px; padding: .8rem .9rem .8rem 2rem; text-indent: -1.1rem; font-size: .92rem; line-height: 1.55; word-break: break-word; }
.ml-cite-box--small { padding-left: .9rem; text-indent: 0; }
.ml-cite-actions { display: flex; align-items: center; gap: .8rem; margin-top: .6rem; flex-wrap: wrap; }
.ml-cite-copy { border: 0; background: linear-gradient(135deg, #1454a8, #1e6fd4); color: #fff; border-radius: 10px; padding: .5rem 1rem; font: 700 .85rem "Inter", system-ui, sans-serif; cursor: pointer; display: inline-flex; gap: .4rem; align-items: center; }
.ml-cite-msg { color: #146c34; font-weight: 700; font-size: .85rem; }
.ml-cite-note { margin: 1rem 0 0; font-size: .78rem; color: #5b6b82; }
html.ml-cite-lock { overflow: hidden; }
[data-bs-theme="dark"] .ml-cite-card { background: #111c30; color: #e8eefb; }
[data-bs-theme="dark"] .ml-cite-box { background: #16233b; border-color: #22324f; }
[data-bs-theme="dark"] .ml-cite-head h3 { color: #8db9f8; }

/* Install-app prompt */
.ml-install { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 2900; max-width: 460px; margin: 0 auto; display: flex; align-items: center; gap: .6rem; background: #0b2f66; color: #fff; border-radius: 16px; padding: .7rem .8rem .7rem 1rem; box-shadow: 0 18px 40px -12px rgba(0,0,0,.6); font: 600 .9rem "Inter", system-ui, sans-serif; animation: mlCiteIn .3s ease; }
.ml-install span { flex: 1; }
.ml-install__go { border: 0; border-radius: 10px; background: #f4c430; color: #3b2f00; font-weight: 800; padding: .5rem 1rem; cursor: pointer; }
.ml-install__x { border: 0; background: transparent; color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; opacity: .7; }
