:root {
    --GW-dotted-underline-background-image: url('data:image/gif;base64,R0lGODlhBAACAPAAMQAAAP///ywAAAAABAACAAACBAQShgUAOw==');
    --GW-dotted-underline-hover-background-image: url('data:image/gif;base64,R0lGODlhBAACAPAAMYiIiP///ywAAAAABAACAAACBAQShgUAOw==');
    --GW-dotted-underline-hover-dark-background-image: url('data:image/gif;base64,R0lGODlhBAACAPAAMQAAAJ6eniwAAAAABAACAAACBAQShgUAOw==');
}

/************************/
/* POP-FRAME INDICATORS */
/************************/

/* If a link has an automatic or custom link annotation (eg. a paper abstract, or excerpts), subtly mark it with a dog-ear/tag-like icon, */
/* so users don't get frustrated hovering over links which have no useful annotation (which is an unfortunate number). */
/* At some point, if enough links get annotated & annotation is the default, we might flip this to be a warning for non-annotated links. */
/* We exclude it on the homepage because every linked page has a description/abstract, and the triangles everywhere add a lot of visual clutter. */
.has-content {
    margin: 0 0.08em;
    padding-left: 0.3em;
    position: relative;
    z-index: 1;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.has-content .indicator-hook {
    position: relative;
    padding-left: 0.3em;
    margin-left: -0.3em;
    z-index: -1;
}
.has-content .indicator-hook::before {
    content: " ";
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-image:
        linear-gradient(var(--GW-link-underline-background-color),
                        var(--GW-link-underline-background-color)),
        linear-gradient(var(--GW-link-underline-gradient-line-color),
                        var(--GW-link-underline-gradient-line-color));
    background-size:
        1px 0.5em,
        1px 1em;
    background-position:
        0 0.1em,
        0 calc(100% - 0.1em);
    background-repeat: no-repeat;
}
.has-content:hover {
    --GW-link-underline-gradient-line-color: var(--GW-link-underline-gradient-line-color-hover);
}
.TOC .has-content,
#sidebar .has-content,
body.index .has-content {
    margin: 0;
    padding-left: 0;
}
.TOC .has-content .indicator-hook,
#sidebar .has-content .indicator-hook,
body.index .has-content .indicator-hook {
    display: none;
}

.markdownBody a.has-annotation {
    background-image: var(--GW-dotted-underline-background-image);
    background-size: 2px 1px;
}
.markdownBody a.has-annotation:hover {
    background-image: var(--GW-dotted-underline-hover-background-image);
}

/*  ToCs in pop-frames, and also in link bibliographies, directory indexes, etc.
 */
.popframe-body .TOC a:link,
.popframe-body .TOC a:link *,
blockquote .TOC a:link,
blockquote .TOC a:link *,
body[class*='-index'] #TOC a:link,
body[class*='-index'] #TOC a:link * {
    background: none;
    text-shadow: none;
}
/*  Restore proper hover highlighting.
 */
.popframe-body .TOC a:hover {
    background-color: var(--GW-TOC-link-hover-background-color);
}

.popframe-body .TOC a::after,
blockquote .TOC a::after,
body[class*='-index'] #TOC a::after {
    display: none;
}

.popframe-body .TOC a:hover::after,
blockquote .TOC a:hover::after,
body[class*='-index'] #TOC a:hover::after {
    margin: 0;
    bottom: unset;
    font-size: inherit;
    opacity: unset;
}

.popframe-body .TOC a[data-link-icon]:hover::after,
blockquote .TOC a[data-link-icon]:hover::after,
body[class*='-index'] #TOC a[data-link-icon]:hover::after {
    background-image: none;
    padding: 0;
    opacity: 1.0;
}


/**************/
/* LINK ICONS */
/**************/

/*******************************************************************************/
/*  The philosophy of link icons is that the hyperlink text & surrounding
    context often leaves much out, which would be impossible to express inline
    conveniently (such as filetypes like PDF: a link being PDF is no longer a
    big deal for desktop readers, whose browser will open them quickly,
    natively, and render accurately, but due to the unfortunate state of mobile
    PDF viewing, mobile readers still care and may prefer not to open a PDF).

    Link icons provide some additional information in a compact iconic form
    which doesn't interrupt the text or require manual annotation, and are
    useful for denoting the logical source, the topic, the file format, or
    anything else one might be able to infer using regexes on a URL.

    To visualize the current set of link icons, see /lorem#link-icons.

    Link icons for domains can be auto-generated by extracting favicons from the
    domain (eg. https://www.pmwiki.org/wiki/Cookbook/ExternalLinksFavicons );
    this would be useful for many sites, particularly user-contributed ones, but
    I don't use this approach on Gwern.net for several reasons:

    1. most favicons look bad on their own (often they're too low-resolution to
       use inline) and aren't even recognizable by a reader anyway;
    2. most favicons need tweaking to fit into Gwern.net to avoid shattering the
       monochrome theme, and to get proper margins/spacing/opacity in both light
       & dark mode;
    3. domains and icons are long-tailed: most domains are linked only 1 or 2
       times, so even if they are high quality and usable as-is, readers would
       not recognize or benefit from them, and if they did, the benefit would be
       astronomically tiny (because they'd see it once or twice, max).

    Because Gwern.net is written just by myself, it is not hard to add new icons
    as the need arises and a domain or filetype becomes common enough that an
    icon might be useful, and the icons need to be manually-edited anyway.
 */
/*  Note: some file extension link types have are selected additionally by
    origin on Gwern.net, because they frequently appear at the ends of ordinary
    web page URLs.
 */

#sidebar a::after {
    content: none;
}

/*=================*/
/*= COMMON STYLES =*/
/*=================*/

/*******************/
/*  Graphical icons.
    */
a[data-link-icon-type='svg']::after {
    --link-icon-size: 0.5em;
    --link-icon-offset-x: 0.20em;
    --link-icon-offset-y: 0.25em;

    content: "";
    position: static;
    padding: 0 var(--link-icon-size) 0 0;
    margin: 0 0 0 var(--link-icon-offset-x);
    background-image: var(--link-icon-url);
    background-size: var(--link-icon-size);
    background-position-x: center;
    background-position-y: var(--link-icon-offset-y);
    background-repeat: no-repeat;
    opacity: 0.45;
}
a[data-link-icon-type='svg']:hover::after {
    opacity: 0.3;
}

/*****************/
/*  Textual icons.
    */
a[data-link-icon-type*='text']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.125em;
    --link-icon-offset-y: 0.25em;
    --link-icon-font-serif: Noto Emoji, Quivira, var(--GW-serif-font-stack);
    --link-icon-font-sans: Noto Emoji, Quivira, var(--GW-sans-serif-font-stack);
    --link-icon-font-mono: Noto Emoji, Quivira, var(--GW-monospaced-font-stack);

    content: "\2060" attr(data-link-icon);
    font-size: var(--link-icon-size);
    font-weight: 600;
    font-style: normal;
    font-family: var(--link-icon-font-serif);
    margin: 0 0 0 var(--link-icon-offset-x);
    vertical-align: baseline;
    position: relative;
    bottom: var(--link-icon-offset-y);
    opacity: 0.83;
    padding: 0;
    background-image: none;
    background-size: unset;
    line-height: 1;
    overflow-wrap: normal;
}
a[data-link-icon-type*='sans']::after {
    font-family: var(--link-icon-font-sans);
}
a[data-link-icon-type*='mono']::after {
    font-family: var(--link-icon-font-mono);
    opacity: 0.7;
}
a[data-link-icon-type*='bold']::after {
    font-weight: bold;
    opacity: 0.83;
}
a[data-link-icon-type*='italic']::after {
    font-style: italic;

    --link-icon-size: 0.85em;
    --link-icon-offset-x: 0.08em;
}
a[data-link-icon-type*='overline']::after {
    text-decoration: overline;

    --link-icon-offset-y: 0.2em;
}

/*===========================================*/
/*= ICONS FOR CERTAIN LINK TYPES: BY TARGET =*/
/*===========================================*/

/*=----------------------------=*/
/*= Within-page (anchor) links =*/
/*=----------------------------=*/

a[data-link-icon='¶']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-y: 0.45em;
    --link-icon-offset-x: 0.2em;

    font-weight: normal;
    opacity: 0.7;
}

a[data-link-icon='arrow-up']::after,
a[data-link-icon='arrow-down']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.8;
}
a[data-link-icon='arrow-up']:hover::after,
a[data-link-icon='arrow-down']:hover::after {
    opacity: 0.4;
}
a[data-link-icon='arrow-up'] { --link-icon-url: url('/static/img/icon/arrow-up.svg'); }
a[data-link-icon='arrow-down'] { --link-icon-url: url('/static/img/icon/arrow-down.svg'); }

/*=------------------------------=*/
/*= Internal (within-site) links =*/
/*=------------------------------=*/

a[data-link-icon='𝔊']::after {
    --link-icon-size: 0.9em;
    --link-icon-offset-y: 0.15em;
    --link-icon-offset-x: 0.12em;

    opacity: 0.75;
}

/*  Index page, and embeds thereof, do not need the G icon.
    NOTE: we do not use the usual method of suppressing G icons (`.icon-not` class), because /index and /static/404 are *so* long and routinely modified/expanded, so doing it 'manually' would risk occasional omissions or syntax errors.
 */
body.index a.link-page::after,
body.static-404 a.link-page::after,
.popframe-body.index a.link-page::after {
    content: none;
}

/*=----------------------------------------------------=*/
/*= Cross-directory links on tag index pages =*/
/*=----------------------------------------------------=*/

a[data-link-icon='arrow-up-left']::after,
a[data-link-icon='arrow-down-right']::after,
a[data-link-icon='arrow-right']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.3em;

    opacity: 0.8;
}
a[data-link-icon='arrow-up-left']:hover::after,
a[data-link-icon='arrow-down-right']:hover::after,
a[data-link-icon='arrow-right']:hover::after {
    opacity: 0.4;
}
a[data-link-icon='arrow-up-left'] { --link-icon-url: url('/static/img/icon/arrow-up-left.svg'); }
a[data-link-icon='arrow-down-right'] { --link-icon-url: url('/static/img/icon/arrow-down-right.svg'); }
a[data-link-icon='arrow-right'] { --link-icon-url: url('/static/img/icon/arrow-right.svg'); }

/*=-------------------------------=*/
/*= Textual per-domain link icons =*/
/*=-------------------------------=*/

/******************/
/*  Logotype icons.
    */

a[data-link-icon='𝛘']::after { /* Arxiv */
--link-icon-size: 0.7em;
    --link-icon-offset-x: 0.1em;
    --link-icon-offset-y: 0.6em;

    opacity: 0.7;
}

a[data-link-icon='❐']::after { /* Booru */
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.15em;
}

a[data-link-icon='⧖']::after { /* Longecity */
    --link-icon-size: 0.9em;
    --link-icon-offset-y: 0.1em;
    --link-icon-offset-x: 0.1em;

    opacity: 0.70;
}

a[data-link-icon='♡']::after { /* Fandom/Wikia */
    --link-icon-offset-x: 0.05em;

    opacity: 1.0;
    text-shadow: 0 0 0 currentcolor;
}

a[data-link-icon='MS']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-y: 0.35em;
}

a[data-link-icon='n']::after { /* Nature */
    --link-icon-size: 0.9em;
    --link-icon-offset-y: 0.3em;
    --link-icon-offset-x: 0.1em;

    opacity: 0.75;
}

a[data-link-icon='s']::after {
    --link-icon-size: 1em;
}

a[data-link-icon='Ss']::after {
    --link-icon-offset-x: 0.15em;
}

a[data-link-icon='Vox']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.1em; /* shift left a bit */
}

a[data-link-icon='ψ']::after {
    --link-icon-offset-y: 0.4em;

    opacity: 0.75;
}

a[data-link-icon='ℵ']::after { /* Unsong ALEF */
    --link-icon-size: 0.8em;

    font-weight: normal;
}

a[data-link-icon='▅▇▃']::after {
    --link-icon-size: 0.5em;
    --link-icon-offset-x: 0.25em;

    margin-right: 0.15em;
    opacity: 0.7;
}

a[data-link-icon='▲']::after { /* Melting Asphalt (Kevin Simler) */
    --link-icon-offset-x: 0;
    --link-icon-offset-y: 0.25em;

    opacity: 0.75;
}

a[data-link-icon='𝔐']::after {
    --link-icon-size: 1em;
    opacity: 0.95;
}

a[data-link-icon='▽']::after { /* The Verge */
    --link-icon-size: 0.9em;
    opacity: 0.80;
}

a[data-link-icon='∇']::after { /* The Gradient.pub */
    --link-icon-size: 0.85em;

    opacity: 0.85;
}

a[data-link-icon='✉']::after {
    --link-icon-size: 1.1em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.05em;

    font-weight: normal;
    opacity: 0.95;
}

a[data-link-icon='M𝐑']::after {
    opacity: 0.75;
}

a[data-link-icon='𝐁']::after {
    opacity: 0.77;
}

a[data-link-icon='𝐌']::after {
    opacity: 0.7;
}

a[data-link-icon='𝛌']::after {
    --link-icon-size: 1em;

    opacity: 0.6;
}

a[data-link-icon='𝛘']::after {
    --link-icon-offset-y: 0.4em;

    opacity: 0.75;
}

a[data-link-icon='෴']::after { /* Moustache / antilop.cc */
    --link-icon-offset-y: 0.5em;

    opacity: 0.8;
}

a[data-link-icon='🤖']::after { /* ROBOT FACE U+1F916 beepb00p.xyz */
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.3em;

    opacity: 0.8;

    opacity: 0.75;
}

a[data-link-icon='GPP']::after { /* Game Programming Patterns: shrink & elevate */
    --link-icon-size: 0.6em;
    --link-icon-offset-y: 0.6em;
}

a[data-link-icon='⛨']::after { /* Cambridge */
    --link-icon-size: 0.9em;
    --link-icon-offset-x: 0.10em; /* NOTE: this may be too much for Chrome, but the FF needs it */
    --link-icon-offset-y: 0.10em;

    font-weight: normal;
}

a[data-link-icon='𝒩𝒴']::after { /* nymag.com New York Magazine */
    opacity: 0.7;
}

a[data-link-icon='𝕳']::after { /* NZ Herald */
    --link-icon-offset-y: 0.4em;

    opacity: 0.7;
}

a[data-link-icon='𝔐']::after { /* Daily Mail */
    --link-icon-size: 0.75em;
    --link-icon-offset-y: 0.5em;
}

a[data-link-icon='𝛌']::after { /* Haskell */
    --link-icon-size: 0.8em;
}

a[data-link-icon='𝓝']::after { /* Nintil */
    --link-icon-size: 0.8em;
}

a[data-link-icon='ρ']::after { /* Project Rho */
    --link-icon-size: 0.8em;
    --link-icon-offset-y: 0.5em;
    --link-icon-offset-x: 0.10em;

    opacity: 0.75;
}

/****************************/
/* Triple-letter 'tri' initials: too few for quad, but too big for
   regular font size/offset. Common with TLA orgs. */
a[data-link-icon-type*='tri']::after {
    --link-icon-size: 0.6em;
    --link-icon-offset-y: 0.6em;

    opacity: 0.90;
}

/****************************/
/*  Quad-letter 'quad' square icons.
    */
a[data-link-icon-type*='quad']::after {
    text-indent: 0;
    overflow-wrap: break-word;
    display: inline-block;
    text-align: center;
    left: 0;
    bottom: 0.3em;
    font-size: 0.52em;
    font-weight: bold;
    line-height: 0.8;
    width: 1.5em;
    opacity: 0.83;
}

/*  Quad-letter square icons in a sans face.
    */
a[data-link-icon-type*='quad'][data-link-icon-type*='sans']::after {
    margin: 0;
}

/*  Quad-letter square icons in a monospace face.
    */
a[data-link-icon-type*='quad'][data-link-icon-type*='mono']::after {
    letter-spacing: 0.05em;
    line-height: 0.85;
}

a[data-link-icon='VICE']::after {
    --link-icon-offset-x: 0.1em; /* shift left a bit */
}

a[data-link-icon='PNAS']::after {
    width: 1.4em;
}

a[data-link-icon='MDPI']::after,
a[data-link-icon='EPUB']::after,
a[data-link-icon='TPDR']::after,
a[data-link-icon='NBER']::after {
    width: 1.6em;
}

/*=---------------------------------=*/
/*= Graphical per-domain link icons =*/
/*=---------------------------------=*/

a[data-link-icon='amazon']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.65;
}
a[data-link-icon='amazon']:hover::after {
    opacity: 0.4;
}

a[data-link-icon='bitcoin']::after {
    --link-icon-size: 0.55em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.65;
}

a[data-link-icon='chi-dna']::after {
    --link-icon-size: 0.58em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.25em;

    opacity: 0.85;
}
a[data-link-icon='chi-dna']:hover::after {
    opacity: 0.6;
}

a[data-link-icon='deepmind']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.7;
}
a[data-link-icon='deepmind']:hover::after {
    opacity: 0.5;
}

a[data-link-icon='distillpub']::after {
    --link-icon-size: 0.45em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.15em;

    opacity: 0.6;
}

a[data-link-icon='dropbox']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.55;
}

a[data-link-icon='econlib']::after { /* torch */
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.1em;

    opacity: 0.75;
}

a[data-link-icon='erowid']::after {
    --link-icon-size: 0.95em;
    --link-icon-offset-x: 0.1em;
    --link-icon-offset-y: 0.1em;

    opacity: 0.9;
}
a[data-link-icon='erowid']:hover::after {
    opacity: 0.7;
}

a[data-link-icon='facebook']::after {
    --link-icon-size: 0.5em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.1em;

    opacity: 0.6;
}
a[data-link-icon='facebook']:hover::after {
    opacity: 0.35;
}

a[data-link-icon='github']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.65;
}

a[data-link-icon='google']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.3em;

    opacity: 0.6;
}

a[data-link-icon='google-scholar']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.4em;

    opacity: 0.60;
}
a[data-link-icon='google-scholar']:hover::after {
    opacity: 0.4;
}

a[data-link-icon='hn']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.45;
}
a[data-link-icon='hn']:hover::after {
    opacity: 0.2;
}

a[data-link-icon='internetarchive']::after {
    --link-icon-size: 0.55em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.3em;

    opacity: 0.6;
}
a[data-link-icon='internetarchive']:hover::after {
    opacity: 0.4;
}

a[data-link-icon='mega']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.50;
}

a[data-link-icon='miri']::after {
    --link-icon-size: 1.05em;
    --link-icon-offset-x: 0.1em;
    --link-icon-offset-y: 0.15em;

    opacity: 0.65;
}

a[data-link-icon='nasa']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-y: 0.2em;
    --link-icon-offset-x: 0.15em;

    opacity: 0.65;
}

a[data-link-icon='nautilus']::after {
    --link-icon-size: 0.7em;
    --link-icon-offset-y: 0.25em;
    --link-icon-offset-x: 0.15em;

    opacity: 0.6;
}

a[data-link-icon='newyorktimes']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-x: 0.1em;
    --link-icon-offset-y: 0.15em;

    opacity: 0.6;
}
a[data-link-icon='newyorktimes']:hover::after {
    opacity: 0.4;
}

a[data-link-icon='nlm-ncbi']::after {
    --link-icon-size: 0.6em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.9;
}
a[data-link-icon='nlm-ncbi']:hover::after {
    opacity: 0.5;
}

a[data-link-icon='openai']::after {
    --link-icon-size: 0.7em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.25em;

    opacity: 0.7;
}
a[data-link-icon='openai']:hover::after {
    opacity: 0.4;
}

a[data-link-icon='patreon']::after {
    --link-icon-size: 0.7em;
    --link-icon-offset-x: 0.10em;
    --link-icon-offset-y: 0.15em;

    opacity: 0.65;
}
a[data-link-icon='plos']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.10em;

    opacity: 0.80;
}

a[data-link-icon='reddit']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.60;
}

a[data-link-icon='springerlink']::after {
    --link-icon-size: 0.9em;
    --link-icon-offset-x: 0.1em;
    --link-icon-offset-y: 0.1em;

    opacity: 0.8;
}
a[data-link-icon='springerlink']:hover::after {
    opacity: 0.5;
}

a[data-link-icon='stackexchange']::after {
    --link-icon-size: 0.6em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.25em;

    opacity: 0.55;
}

a[data-link-icon='substack']::after {
    --link-icon-size: 0.60em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.55;
}
a[data-link-icon='theguardian']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.25em;

    opacity: 0.55;
}

a[data-link-icon='thenewyorker']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.15em;

    opacity: 0.6
}
a[data-link-icon='thenewyorker']:hover::after {
    opacity: 0.45;
}

a[data-link-icon='tumblr']::after {
    --link-icon-size: 0.47em;
    --link-icon-offset-x: 0.25em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.52;
}

a[data-link-icon='twitter']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.5;
}

a[data-link-icon='uptontea']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.25em;
    --link-icon-offset-y: 0.45em;

    opacity: 0.55;
}

a[data-link-icon='video']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.4em;

    opacity: 0.55;
}
a[data-link-icon='video']:hover::after {
    opacity: 0.2;
}

a[data-link-icon='washingtonpost']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.2em;
    --link-icon-offset-y: 0.25em;

    opacity: 0.75;
}
a[data-link-icon='washingtonpost']:hover::after {
    opacity: 0.55;
}

a[data-link-icon='wired']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.55;
}

a[data-link-icon='youtube']::after {
    --link-icon-size: 0.88em;
    --link-icon-offset-x: 0.15em;
    --link-icon-offset-y: 0.25em;

    opacity: 0.5;
}
a[data-link-icon='youtube']:hover::after {
    opacity: 0.2;
}

a[data-link-icon='yud']::after {
    --link-icon-offset-y: 0.15em;
}

a[data-link-icon='the-telegraph']::after { /* Darken & shift left */
    --link-icon-size: 0.6em;
    --link-icon-offset-x: 0.1em;
    --link-icon-offset-y: 0.2em;

    opacity: 0.75;
}

a[data-link-icon='open-philanthropy']::after { /* Darken & shift left/up */
    --link-icon-size: 0.75em;
    --link-icon-offset-x: 0.1em;
    --link-icon-offset-y: 0.1em;

    opacity: 0.95;
}

a[data-link-icon='atlas-obscura']::after { /* Darken & shift left/up */
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.05em;
    --link-icon-offset-y: 0.1em;
    opacity: 0.85;
}

a[data-link-icon='eleutherai']::after { /* Darken, enlarge, & shift left/up */
    --link-icon-size: 0.98em;
    --link-icon-offset-x: 0.05em;
    --link-icon-offset-y: 0.0em;

    opacity: 0.95;
}

a[data-link-icon='apple']::after { /* Darken, enlarge, & shift left/up */
    --link-icon-size: 0.70em;
    --link-icon-offset-y: 0em;
    --link-icon-offset-x: 0.1em;
    opacity: 0.5;
}

a[data-link-icon='quanta']::after { /* Darken, enlarge, & shift left/up */
    --link-icon-size: 0.9em;
    --link-icon-offset-y: 0.1em;
    --link-icon-offset-x: 0.1em;

    opacity: 0.9;
}
a[data-link-icon='quanta']:hover::after {
    opacity: 0.5;
}

a[data-link-icon='creative-commons']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-y: 0.1em;
    --link-icon-offset-x: 0.15em;

    opacity: 0.8;
}

a[data-link-icon='tensorflow']::after {
    --link-icon-size: 0.7em;
    --link-icon-offset-y: 0.2em;
    --link-icon-offset-x: 0.1em;

    opacity: 0.6;
}

a[data-link-icon='alcor']::after {
    --link-icon-size: 0.75em;
    --link-icon-offset-y: 0.25em;
    --link-icon-offset-x: 0.15em;

    opacity: 0.65;
}

a[data-link-icon='cochrane-collaboration']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-y: 0.2em;
    --link-icon-offset-x: 0.2em;

    opacity: 0.75;
}
a[data-link-icon='cochrane-collaboration']:hover::after {
    opacity: 0.45;
}

a[data-link-icon='connected-papers']::after {
    --link-icon-size: 0.6em;
    --link-icon-offset-y: 0.1em;
    --link-icon-offset-x: 0.2em;

    opacity: 0.65;
}

/* LibGen/Sci-Hub */
a[data-link-icon='raven']::after {
    --link-icon-size: 0.65em;
    --link-icon-offset-y: 0.2em;
    --link-icon-offset-x: 0.1em;

    opacity: 0.60;
}

a[data-link-icon='hoover-institution']::after {
    --link-icon-size: 0.5em;
    --link-icon-offset-y: 0.0em;
    --link-icon-offset-x: 0.15em;

    opacity: 0.65;
}

a[data-link-icon='wandb']::after {
    --link-icon-size: 0.7em;
    --link-icon-offset-y: 0.1em;
    --link-icon-offset-x: 0.15em;

    opacity: 0.65;
}

a[data-link-icon='the-pirate-bay']::after {
    --link-icon-size: 0.9em;
    --link-icon-offset-y: 0.3em;
    --link-icon-offset-x: 0.2em;

    opacity: 0.75;
}

a[data-link-icon='metaculus']::after {
    --link-icon-size: 0.55em;
    --link-icon-offset-y: 0.2em;
    --link-icon-offset-x: 0.2em;

    opacity: 0.70;
}
a[data-link-icon='metaculus']:hover::after {
    opacity: 0.45;
}

a[data-link-icon='stat-news']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-y: 0em;
    --link-icon-offset-x: 0.15em;

    opacity: 1;
}
a[data-link-icon='magnifying-glass']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-y: 0em;
    --link-icon-offset-x: -0.1em;

    opacity: 0.75;
}

a[data-link-icon='anthropic']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-y: 0.1em;
    --link-icon-offset-x: -0em;

    opacity: 0.6
}

/*=------------------=*/
/*= Wikipedia links. =*/
/*=------------------=*/

a[data-link-icon='wikipedia']::after {
    --link-icon-size: 0.8em;
    --link-icon-offset-x: 0.05em;
    --link-icon-offset-y: 0.25em;

    opacity: 0.9;
}
a[data-link-icon='wikipedia']:hover::after {
    opacity: 0.5;
}

/*  Suppress the WP link icon suffix (knowledge of WP ‘articles’ vs.
    Talk pages/History/etc is baked into the links by the link-annotated +
    has-annotation classes, see LinkMetadata.hs’s `wikipediaArticleNamespace`
    function); the dotted-underlining is enough.
 */
a[data-link-icon='wikipedia'].has-annotation::after {
    content: none;
}

/*  TOC-links in Wikipedia annotations.
 */
.wikipedia-entry .TOC a.has-annotation:hover {
    background-image: none;
}
