:root {
    --api-label-border-radius: .2rem;
    --api-label-padding: 0 .3em;
    
    --color-border: #e9ebfc1f;
    
    --color-api-fg__deprecated: #ff5252;
    --color-api-bg__deprecated: #ff52521a;
    
    --color-api-fg__static: #00c853;
    --color-api-fg__final: #ff9100;
    --color-api-fg__abstract: #00bfa5;
    
    --color-api-fg__annotation: #00b8d4;
    --color-api-bg__annotation: #00b8d41a;
    
    --color-api-fg-type__object: #9e9e9e;
    --color-api-fg-type__primitive: #448aff;
    
    --color-api-bg__static: #00c8531a;
    --color-api-bg__final: #ff91001a;
    --color-api-bg__abstract: #00bfa51a;
    
    --md-admonition-icon--deprecated: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M16 1.75V3h5.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H8V1.75C8 .784 8.784 0 9.75 0h4.5C15.216 0 16 .784 16 1.75Zm-6.5 0V3h5V1.75a.25.25 0 0 0-.25-.25h-4.5a.25.25 0 0 0-.25.25ZM4.997 6.178a.75.75 0 1 0-1.493.144L4.916 20.92a1.75 1.75 0 0 0 1.742 1.58h10.684a1.75 1.75 0 0 0 1.742-1.581l1.413-14.597a.75.75 0 0 0-1.494-.144l-1.412 14.596a.25.25 0 0 1-.249.226H6.658a.25.25 0 0 1-.249-.226L4.997 6.178Z"></path><path d="M9.206 7.501a.75.75 0 0 1 .793.705l.5 8.5A.75.75 0 1 1 9 16.794l-.5-8.5a.75.75 0 0 1 .705-.793Zm6.293.793A.75.75 0 1 0 14 8.206l-.5 8.5a.75.75 0 0 0 1.498.088l.5-8.5Z"></path></svg>');
}

/* Page design */
.api-detail {
    border: .05rem solid var(--color-border);
    
    border-bottom-left-radius: .1rem;
    border-bottom-right-radius: .1rem;
    
    padding: 0 1em;
    
    margin: .5em 0;
    
    overflow: visible;
}

.api-detail h3 {
    margin: .5em 0 .8em;
}

.api-detail__description {
    margin-left: 1em;
}

/* Attributes */

api__deprecated::before {
    color: var(--color-api-fg__deprecated);
    background-color: var(--color-api-bg__deprecated);
    
    border-radius: var(--api-label-border-radius);
    padding: var(--api-label-padding);
    
    content: "Deprecated"
}

api__static::before {
    color: var(--color-api-fg__static);
    background-color: var(--color-api-bg__static);
    
    border-radius: var(--api-label-border-radius);
    padding: var(--api-label-padding);
    
    content: "static";
}

api__final::before {
    color: var(--color-api-fg__final);
    background-color: var(--color-api-bg__final);
    
    border-radius: var(--api-label-border-radius);
    padding: var(--api-label-padding);
    
    content: "final";
}

api__abstract::before {
    color: var(--color-api-fg__abstract);
    background-color: var(--color-api-bg__abstract);
    
    border-radius: var(--api-label-border-radius);
    padding: var(--api-label-padding);
    
    content: "abstract";
}

/* Annotations */

api__notnull::before {
    color: var(--color-api-fg__annotation);
    background-color: var(--color-api-bg__annotation);
    
    border-radius: var(--api-label-border-radius);
    padding: var(--api-label-padding);
    
    content: "@NotNull";
}

api__nullable::before {
    color: var(--color-api-fg__annotation);
    background-color: var(--color-api-bg__annotation);
    
    border-radius: var(--api-label-border-radius);
    padding: var(--api-label-padding);
    
    content: "@Nullable";
}

/* class types */

api__class::before {
    color: var(--color-api-fg-type__primitive);
    font-weight: bold;
    
    content: "class";
}

api__interface::before {
    color: var(--color-api-fg-type__primitive);
    font-weight: bold;
    
    content: "interface";
}

api__enum::before {
    color: var(--color-api-fg-type__primitive);
    font-weight: bold;
    
    content: "enum";
}

api__record::before {
    color: var(--color-api-fg-type__primitive);
    font-weight: bold;
    
    content: "record";
}

/* object types */

.api-type__object {
    color: var(--color-api-fg-type__object);
    font-weight: bold;
}

.api-type__primitive {
    color: var(--color-api-fg-type__primitive);
    font-weight: bold;
}

.md-typeset .admonition.deprecated,
.md-typeset details.deprecated {
    border-color: var(--color-api-fg__deprecated);
}

.md-typeset .deprecated > .admonition-title,
.md-typeset .deprecated > summary {
    background-color: var(--color-api-bg__deprecated);
}

.md-typeset .deprecated > .admonition-title::before,
.md-typeset .deprecated > summary::before {
    background-color: var(--color-api-fg__deprecated);
    -webkit-mask-image: var(--md-admonition-icon--deprecated);
            mask-image: var(--md-admonition-icon--deprecated);
}