.cav-term {
position: relative;
display: inline;
border-bottom: 1px dotted rgba(10, 132, 255, 0.55);
cursor: help;
color: var(--accent-strong);
font-weight: 700;
}
.cav-term:focus,
.cav-term:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 2px;
border-radius: 3px;
}
.cav-term::after {
content: attr(data-tooltip);
position: absolute;
left: 50%;
bottom: calc(100% + 10px);
width: max-content;
max-width: min(280px, 80vw);
padding: 10px 12px;
border-radius: 12px;
background: #ffffff;
color: var(--text);
font-size: 12.5px;
font-weight: 600;
line-height: 1.45;
letter-spacing: 0;
text-transform: none;
text-align: left;
box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
border: 1px solid rgba(15, 23, 42, 0.06);
opacity: 0;
pointer-events: none;
transform: translate(-50%, 6px);
transition: opacity 0.18s ease, transform 0.18s ease;
z-index: 200;
white-space: normal;
}
.cav-term:hover::after,
.cav-term:focus::after,
.cav-term:focus-visible::after {
opacity: 1;
transform: translate(-50%, 0);
}
a.cav-term,
.cav-term[href] {
cursor: pointer;
text-decoration: none;
}
.cross-module-pearl {
position: relative;
display: inline;
color: var(--accent-strong);
border-bottom: 1px dotted rgba(10, 132, 255, 0.55);
cursor: help;
font-weight: 700;
outline: 0;
}
.cross-module-pearl:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 2px;
border-radius: 3px;
}
.cross-module-pearl__term {
color: inherit;
}
.cross-module-pearl__icon {
display: inline-block;
margin-left: 1px;
font-size: 0.68em;
vertical-align: super;
line-height: 0;
color: var(--accent);
font-weight: 800;
}
.cross-module-pearl__popup {
position: absolute;
left: 50%;
bottom: calc(100% + 10px);
transform: translate(-50%, 6px);
width: max-content;
max-width: min(340px, 80vw);
background: #fff;
border-radius: 14px;
box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
border: 1px solid rgba(15, 23, 42, 0.06);
opacity: 0;
pointer-events: none;
transition: opacity 0.18s ease, transform 0.18s ease;
z-index: 30;
font-style: normal;
font-weight: 400;
color: var(--text);
text-align: left;
overflow: hidden;
white-space: normal;
}
.cross-module-pearl__popup.is-below {
bottom: auto;
top: calc(100% + 10px);
}
.cross-module-pearl:hover .cross-module-pearl__popup,
.cross-module-pearl:focus .cross-module-pearl__popup,
.cross-module-pearl:focus-within .cross-module-pearl__popup,
.cross-module-pearl:focus-visible .cross-module-pearl__popup {
opacity: 1;
transform: translate(-50%, 0);
}
.cross-module-pearl__definition {
display: block;
padding: 12px 14px;
background: #fff;
}
.cross-module-pearl__title {
display: block;
font-size: 14px;
font-weight: 850;
color: var(--text);
letter-spacing: -0.01em;
margin-bottom: 6px;
}
.cross-module-pearl__body {
display: block;
font-size: 12.5px;
line-height: 1.55;
color: var(--text);
font-weight: 500;
}
.cross-module-pearl__body strong {
color: var(--text);
font-weight: 850;
}
.cross-module-pearl__module-info {
display: block;
padding: 10px 14px 12px;
background: rgba(10, 132, 255, 0.08);
border-top: 1px solid rgba(10, 132, 255, 0.18);
}
.cross-module-pearl__module-label {
display: block;
font-size: 10.5px;
font-weight: 800;
letter-spacing: 0.10em;
text-transform: uppercase;
color: var(--accent-strong);
margin-bottom: 3px;
}
.cross-module-pearl__home-module {
display: block;
font-size: 12.5px;
color: var(--text);
font-weight: 600;
line-height: 1.4;
}
.cross-module-pearl__home-module strong {
color: var(--accent-strong);
font-weight: 850;
}
.cross-module-pearl__yield-note {
display: block;
margin-top: 4px;
font-size: 11.5px;
font-style: italic;
color: var(--muted-strong);
line-height: 1.4;
}
@media (prefers-reduced-motion: reduce) {
.cross-module-pearl__popup {
transition: opacity 0.18s ease;
transform: translate(-50%, 0);
}
}
