@import "disgen.css";

:root {
    --color-background--default: #fff;
    --color-button-background--primary: #355ca7;
    --color-button-text--primary: #ffF;
    --color-text--default: #0d0d0d;
    --color-link--default: #355ca7;
    --color-border--default: var(--color-text--default);
    --border-radius: .5rem;
    --border-radius--textboxes: calc(var(--border-radius) / 2);
    --padding-default--textboxes: .5rem;
    --padding-default--buttons: .3rem;
    --margin-default--buttons: 1rem;
    --width-min-button--primary: 5rem;
    --diameter-button--round: 2.2rem;
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 400;
    color-scheme: light dark;
    color: var(--color-text--default);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    margin: 0;
    padding: 0
}

body,
body.index {
    background-color: var(--color-background--default);
    margin: .5rem 1rem
}

button {
    font-size: 1rem;
    border-radius: var(--border-radius)
}

button.link-button {
    font-weight: 700;
    font-size: 1rem;
    line-height: .67rem;
    border: none;
    border-radius: 0;
    border-bottom: .1rem solid var(--color-link--default);
    background-color: transparent;
    color: var(--color-link--default);
    cursor: pointer
}

button.primary {
    background-color: var(--color-button-background--primary);
    color: var(--color-button-text--primary);
    padding: var(--padding-default--buttons);
    min-width: var(--width-min-button--primary)
}

ul.nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

ul.nav>br {
    content: "";
    display: block;
    flex-basis: 100%
}

ul.top-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

ul.top-nav li {
    display: inline-block
}

ul.top-nav li:not(:first-child) {
    margin-left: 1rem
}

div[data-purpose=htmlContent] {
    display: grid;
    place-items: center
}

div[data-purpose=htmlContent]>*:not(img):not(p) {
    width: 97dvw
}

div[data-purpose=htmlContent]>p {
    width: min(95dvw, 75ch)
}

dialog.search-box {
    position: relative;
    min-width: min(25rem, 50dvw);
    max-width: min(25rem, 80dvw);
    max-height: min(25rem, 50dvw);
    border: 1px solid var(--color-border--default);
    border-radius: var(--border-radius);
    background-color: #fff;
    color: var(--color-text--default)
}

dialog.search-box::backdrop {
    background-color: #5c5b5bc0;
    z-index: 10
}

dialog.search-box .header {
    font-size: 1.4rem
}

dialog.search-box .body {
    font-size: .8rem;
    margin-bottom: .5rem
}

dialog.search-box input[type=search] {
    background-color: var(--color-background--default);
    color: var(--color-text--default);
    border: 1px solid var(--color-border--default);
    border-radius: var(--border-radius--textboxes);
    padding: var(--padding-default--textboxes);
    flex-grow: 1
}

dialog.search-box button.close {
    position: absolute;
    top: .5rem;
    right: .5rem;
    margin: 0;
    border: 0;
    padding: 0;
    background: var(--color-button-background--primary);
    border-radius: 50%;
    width: var(--diameter-button--round);
    height: var(--diameter-button--round);
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all .15s
}

dialog.search-box button.close .icon-cross {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    position: relative;
    width: calc(var(--diameter-button--round) * .6);
    height: calc(var(--diameter-button--round) * .6)
}

dialog.search-box button.close .icon-cross:before,
dialog.search-box button.close .icon-cross:after {
    content: "";
    position: absolute;
    top: calc((var(--diameter-button--round) * .6 - .3rem) / 2);
    left: 0;
    right: 0;
    height: .3rem;
    background: #fff;
    border-radius: .3rem
}

dialog.search-box button.close .icon-cross:before {
    transform: rotate(45deg)
}

dialog.search-box button.close .icon-cross:after {
    transform: rotate(-45deg)
}

dialog.search-box button.close .icon-cross span {
    display: block
}

dialog.search-box button.close:hover,
dialog.search-box button.close:focus {
    transform: rotate(90deg);
    background: var(--color-button-background--primary)
}

dialog.search-box .search-box--results {
    max-height: 12rem;
    overflow-y: auto;
    margin-top: 1rem;
    font-size: .8rem
}

dialog.search-box .search-box--results>div {
    margin-bottom: .2rem
}

.visually-hidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.flex {
    display: flex;
    justify-content: space-between;
    gap: 1rem
}