/**
 * Sections
 */

body {
    background-color: #f0f0f0;
    color: #555;
    cursor: default;
    font-family: 'Noto Sans', Arial, sans-serif !important;
    font-size: 75%;
    margin: 0 auto;
    max-width: 348px;
    overflow: hidden;
    padding: 0;
}

header {
    align-items: center;
    border-bottom: solid #d3d3d3 1px;
    display: flex;
    position: relative;
}

.panel {
    overflow: hidden;
    padding: 10px 8px;
}

.panel:not(:last-child) {
    border-bottom: 1px solid #d8d8d8;
}

.sub-panel {
    padding-bottom: 6px;
}

footer {
    overflow: hidden;
    padding: 8px;
}

/**
 * Fonts
 */

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../shared/resources/fonts/noto-sans/regular.woff2')
       format('woff2');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../shared/resources/fonts/noto-sans/bold.woff2')
       format('woff2');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../shared/resources/fonts/noto-sans/italic.woff2')
       format('woff2');
}

/**
 * Headings
 */

.heading {
    font-size: 14px;
    font-weight: 600;
    padding-left: 0;
}

.subheading {
    font-weight: 600;
    margin-bottom: 2px;
    text-align: center;
}

/**
 * Lists
 */

.list {
    margin: 0;
    padding: 8px 0 0;
}

.list-item {
    background-color: #f7f7f7;
    border: 1px solid #e4e4e4;
    color: #555;
    font-weight: 600;
    list-style: none;
    margin: 0;
    padding: 10px;
}

.sublist {
    align-items: center;
    background-color: #ececec;
    border: 1px solid #e0e0e0;
    box-shadow: inset 0 2px 10px #e2e2e2;
    list-style: none;
    padding: 0;
}

.sublist:last-child {
    border-bottom: 1px solid #e0e0e0;
}

.sublist-item {
    border-bottom: 1px solid #e0e0e0;
    color: #555;
    font-weight: 600;
    padding: 10px;
}

.sublist-item:last-child {
    border-bottom: none;
}

/**
 * Icons
 */

.icon {
    margin-right: 6px;
}

.icon-symbolic {
    height: 26px;
    padding: 14px 6px 14px 8px;
    width: 26px;
}

/**
 * Buttons
 */

.button {
    background-color: #f5f5f5;
    border-radius: 2px;
    border: 1px solid #cfcfcf;
    color: #5f5f5f;
    cursor: pointer;
    float: right;
    font-size: 12px;
    overflow: hidden;
    padding: 5px 22px;
    user-select: none;
}

.button-toggle {
    border-color: #d8d8d8;
    color: #bbb;
}

.button-toggle.active {
    border-color: #cfcfcf;
    color: #339a6f;
}

.button:hover {
    background-color: #fff;
}

.button:focus {
    background-color: #f9f9f9;
    border: 1px solid #bbb;
    box-shadow: 0 0 4px #b9b9b9;
    outline: 0;
}

.button:active {
    background-color: #dedede;
}

/**
 * Links
 */

.link-text {
    color: #6d6d6d;
    cursor: pointer;
    float: left;
    font-size: 13px;
    line-height: 1;
    margin: 6px 0 0 2px;
    padding: 1px 2px 4px;
    text-decoration: none;
}

.link-text:hover {
    color: #555;
    text-decoration: underline;
}

.link-text:focus {
    color: #555;
    outline-color: #555;
    text-decoration: underline;
}

/**
 * Miscellaneous
 */

.badge {
    background: #fbfbfb;
    border-radius: 10px;
    border: 2px solid #7db69f;
    color: #4a7767;
    font-family: monospace;
    font-size: 13px;
    font-weight: 600;
    margin-right: 7px;
    padding: 0 13px;
}

.counter {
    font-size: 36px;
    font-weight: 600;
    margin-top: 4px;
    text-align: center;
}

.description {
    color: #6d6d6d;
    font-style: italic;
    margin: 0 6px;
    text-align: center;
}

.hidden {
    max-height: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
}

.label-version {
    color: #457763;
    font-size: 9px;
}

.label-domain {
    color: #6d6d6d;
    display: flex;
    font-style: italic;
    overflow: hidden;
    padding: 6px 0 0 4px;
    white-space: nowrap;
}

.side-note {
    color: #646464;
    font-style: italic;
    font-weight: 400;
}

/**
 * Compatibility
 */

@media screen and (-webkit-min-device-pixel-ratio: 0) {

    body {
        width: 348px;
    }
}

@media (prefers-color-scheme: dark) {

    /**
     * Sections
     */

    body {
        background-color: #404040;
        color: #f9f9fa;
    }

    header {
        border-bottom-color: #292929;
    }

    /**
     * Lists
     */

    .list-item {
        background-color: #484848;
        border-color: #292929;
        color: #f0f0f0;
    }

    .sublist {
        background-color: #323232;
        border-color: #292929;
        box-shadow: inset 0 2px 10px #292929;
    }

    .sublist:last-child {
        border-bottom-color: #292929;
    }

    .sublist-item {
        border-bottom-color: #2c2c2c;
        color: #f0f0f0;
    }

    /**
     * Buttons
     */

    .button {
        background-color: #3c3c3c;
        border-color: #292929;
        color: #dadada;
    }

    .button:hover {
        background-color: #434343;
    }

    .button:focus {
        background-color: #434343;
        border-color: #292929;
        box-shadow: 0 0 4px #323232;
    }

    .button:active {
        background-color: #393939;
    }

    .button-toggle {
        border-color: #363636;
        color: #636363;
    }

    .button-toggle.active {
        border-color: #292929;
        color: #3dbb87;
    }

    /**
     * Links
     */

    .link-text {
        color: #dadada;
    }

    .link-text:hover {
        color: #f9f9fa;
    }

    .link-text:focus {
        color: #f9f9fa;
        outline-color: #dadada;
    }

    /**
     * Miscellaneous
     */

    .badge {
        background-color: #323232;
        border-color: #4a826c;
        color: #f9f9fa;
    }

    .description {
        color: #dadada;
    }

    .label-version {
        color: #93d7bc;
    }

    .label-domain {
        color: #dadada;
    }

    .panel:not(:last-child) {
        border-bottom-color: #292929;
    }

    .side-note {
        color: #dadada;
    }
}