@import url("../vendor/tom-select/dist/css/tom-select.bootstrap5.min-rafe_gp.css") layer(vendor);
@import "component-terminal-Gu5rFvc.css";

@layer page {
    :root {
        --sparkline-stroke: light-dark(var(--blue-600), var(--blue-400));
        --sparkline-fill-start: light-dark(rgba(59, 130, 246, 0.3), rgba(96, 165, 250, 0.3));
        --sparkline-fill-end: light-dark(rgba(59, 130, 246, 0.02), rgba(96, 165, 250, 0.02));
    }

    .package-installation {
        align-items: center;
        font-family: var(--font-family-monospace);
        font-size: var(--font-size-sm);
        display: flex;
        padding: 15px 10px;
    }
    .package-installation .command {
        align-items: center;
        display: flex;
        flex: 1;
        flex-wrap: wrap;
    }
    .package-installation .command .hljs-prompt {
        margin-right: 5px;
    }

    @media (min-width: 768px) {
        .package-installation .command {
            flex-wrap: nowrap;
        }
    }

    #package-search-type-filter label {
        border: 1px solid light-dark(var(--gray-300), var(--gray-600));
        border-radius: 30px;
        cursor: pointer;
        display: inline-flex;
        flex: 1;
        font-size: 14px;
        margin: 0;
    }
    #package-search-type-filter label.active {
        background: light-dark(var(--blue-700), var(--gray-300));
        color: light-dark(var(--gray-100), var(--gray-700));
    }
    #package-search-type-filter label input {
        display: none;
    }
    #package-search-type-filter label span {
        display: block;
        min-width: 45px;
        padding: 5px 8px;
        text-align: center;
    }

    #package-list .package-backer td {
        border: 0;
    }

    #package-list .package-backer .backer {
        border: 0;
        border-radius: 0;
        padding: 0;
    }

    #package-list .backer,
    .package-backers .backer {
        border: 1px solid light-dark(var(--gray-300), var(--gray-600));
        padding: 10px 15px;
        border-radius: var(--ui-border-radius-md);
    }
    #package-list .backer.new-backer,
    .package-backers .backer.new-backer {
        border: 1px dashed light-dark(var(--gray-400), var(--gray-500));
    }
    #package-list .backer.new-backer p,
    .package-backers .backer.new-backer p {
        margin-bottom: 0;
    }

    #package-list .backer .backers-link,
    .package-backers .backer .backers-link {
        font-size: var(--font-size-sm);
        margin-bottom: 10px;
    }

    #package-list .backer .backer-data {
        align-items: center;
        display: flex;
    }
    #package-list .backer .backer-data .backer-logo {
        float: left;
        margin-right: 20px;
    }
    .package-backers .backer .backer-data .backer-description svg {
        float: right;
        margin: -40px 0 0 20px;
    }
    #package-list .backer .backer-data .backer-logo svg,
    .package-backers .backer .backer-data .backer-logo svg {
        max-height: 60px;
        max-width: 155px;
        min-height: 60px;
        min-width: unset;
    }
    #package-list .backer .backer-data .backer-description,
    .package-backers .backer .backer-data .backer-description {
        font-size: var(--font-size-sm);
        margin-bottom: 0;
    }

    .content .package-metadata {
        padding-left: 10px;
    }
    @media (min-width: 768px) {
        .content .package-metadata {
            /* using 'column-count' here would be easier, but 'column-width' doesn't work as looks ugly */
            display: grid;
            grid-template-columns: minmax(max-content, 320px) 1fr;
            grid-gap: 12px;
        }
    }

    .content .package-metadata li {
        align-items: center;
        display: flex;
        list-style: none;
        margin: 0 0 16px 0;
        position: relative;
    }
    @media (min-width: 768px) {
        .content .package-metadata li {
            margin: 0;
        }
    }

    .content .package-metadata svg {
        color: light-dark(var(--gray-500), var(--gray-400));
        height: 20px;
        margin-right: 6px;
        width: 20px;
    }
    @media (min-width: 768px) {
        .content .package-metadata svg {
            height: 21px;
            width: 21px;
        }
    }

    .content .package-metadata .package-daily-downloads {
        color: var(--ui-text-secondary-color);
        font-size: var(--font-size-sm);
    }

    .package-installation select#package-selector + .ts-wrapper {
        margin: 5px 15px 0 10px;
        min-height: unset;
    }
    @media (min-width: 768px) {
        .package-installation select#package-selector + .ts-wrapper {
            margin-top: 0;
        }
    }

    .package-installation select#package-selector + .ts-wrapper .ts-control {
        color: inherit;
        font-size: var(--font-size-sm);
        padding: 0.25rem 0.75rem;
    }
    .package-installation select#package-selector + .ts-wrapper.focus .ts-control {
        border-color: inherit;
        box-shadow: none;
    }

    .package-installation select#package-selector + .ts-wrapper .dropdown-input {
        box-shadow: none;
    }
    .package-installation select#package-selector + .ts-wrapper .ts-dropdown {
        background: light-dark(var(--white), var(--gray-700));
        color: var(--text-color);
    }
    .package-installation select#package-selector + .ts-wrapper .ts-dropdown .active,
    .package-installation select#package-selector + .ts-wrapper .ts-dropdown .option:hover {
        background: light-dark(var(--gray-200), var(--gray-600));
        color: inherit;
    }
    @media (min-width: 768px) {
        .package-installation select#package-selector + .ts-wrapper .ts-dropdown-content {
            max-height: 320px;
        }
    }

    .package-installation select#package-selector + .ts-wrapper .optgroup-header {
        background: transparent;
        color: var(--text-color);
        font-family: var(--font-family-base);
        font-weight: bold;
    }

    .package-installation select#package-selector + .ts-wrapper .ts-wrapper.multi .ts-control > div {
        background: inherit;
        color: inherit;
    }

    .package-installation select#package-selector + .ts-wrapper .ts-dropdown [data-selectable].option {
        padding-left: 20px;
    }

    /* Package Stats Card (sidebar) */
    .package-stats-card {
        min-width: 200px;
        max-width: 280px;
    }
    @media (min-width: 992px) {
        .search-results-wrapper {
            width: 100%;
        }
    }

    .package-stats-card dl {
        display: grid;
        grid-template-columns: max-content 1fr;
        gap: 0.5rem 1rem;
        margin: 0;
    }
    @media (min-width: 768px) {
        .package-stats-card dl {
            display: block;
            grid-template-columns: none;
            gap: 0;
        }
    }
    .package-stats-card dt {
        align-items: center;
        color: var(--ui-text-secondary-color);
        display: flex;
        font-size: var(--font-size-sm);
        font-weight: normal;
        gap: 4px;
        justify-content: flex-end;
        margin: 0;
    }
    @media (min-width: 768px) {
        .package-stats-card dt {
            justify-content: flex-start;
            margin-top: 16px;
        }
    }
    .package-stats-card dt:first-child {
        margin-top: 0;
    }
    .package-stats-card dt svg {
        height: 16px;
        width: 16px;
    }
    .package-stats-card dd {
        font-size: var(--ui-font-size-md);
        font-weight: 500;
        margin: 2px 0 0 0;
    }

    /* Download Trend Chart */
    .package-download-chart {
        display: none;
        position: relative;
    }
    @media (min-width: 768px) {
        .package-download-chart {
            display: block;
        }
    }
    .download-sparkline {
        display: block;
        height: auto;
        width: 100%;
    }
    .download-chart-date {
        color: var(--ui-text-secondary-color);
        font-size: var(--font-size-sm);
        margin-left: 4px;
    }
    .download-chart-dot {
        background: var(--sparkline-stroke);
        border-radius: 50%;
        height: 8px;
        pointer-events: none;
        position: absolute;
        transform: translate(-50%, -50%);
        width: 8px;
    }

    /* Package Dependencies */
    .package-dependencies {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    .package-dependency-badge {
        text-decoration: none;
        transition:
            background-color 0.15s,
            color 0.15s;
    }
    .package-dependency-badge:hover {
        background: light-dark(var(--blue-50), var(--blue-900));
        color: light-dark(var(--blue-700), var(--blue-300));
        text-decoration: none;
    }

    .package-keyword-list {
        gap: 8px 12px;
    }
    .package-keyword {
        color: var(--ui-text-secondary-color);
        display: inline-block;
        font-size: 14px;
    }
    .package-keyword:before {
        content: '#';
        color: var(--ui-text-tertiary-color);
        font-size: 15px;
        font-weight: 600;
        margin-right: 2px;
        position: relative;
        top: 1px;
    }
}
