.library-page { --library-blue: #5865f2; --library-green: #23a559; }
.library-shell { width: min(1420px, calc(100% - 32px)); margin: 16px auto 0; padding: 0 0 72px; }
.library-hero, .library-explorer, .library-contribute { border: var(--border); background: color-mix(in srgb, var(--embed-bg) 88%, transparent); box-shadow: var(--shadow-lg); backdrop-filter: blur(24px) saturate(1.35); }
.library-hero { display: block; padding: clamp(32px, 6vw, 60px) clamp(32px, 6vw, 78px); border-radius: 38px; overflow: hidden; position: relative; }
.library-hero__copy > p { max-width: 700px; }
.library-hero::after { content: ""; width: 440px; aspect-ratio: 1; border-radius: 50%; position: absolute; right: -160px; top: -210px; background: radial-gradient(circle, color-mix(in srgb, var(--library-blue) 38%, transparent), transparent 68%); pointer-events: none; }
.library-eyebrow, .library-kicker { color: color-mix(in srgb, var(--primary-color) 78%, var(--text-color)); font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.library-eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border-radius: 999px; background: color-mix(in srgb, var(--library-blue) 12%, transparent); }
.library-hero h1 { max-width: 850px; margin: 20px 0 16px; font-size: clamp(2.7rem, 6vw, 5.8rem); line-height: .96; letter-spacing: -.065em; }
.library-hero__copy > p { max-width: 700px; margin: 0; font-size: clamp(1.05rem, 2vw, 1.26rem); line-height: 1.7; opacity: .76; }
.library-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.library-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 0 18px; border: 1px solid color-mix(in srgb, var(--text-color) 16%, transparent); border-radius: 13px; background: color-mix(in srgb, var(--embed-bg) 84%, transparent); color: var(--text-color) !important; text-decoration: none !important; font: inherit; font-weight: 800; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.library-button[hidden] { display: none; }
.library-button--primary { border-color: transparent; color: white !important; background: linear-gradient(135deg, var(--library-blue), color-mix(in srgb, var(--library-blue) 65%, var(--accent-color))); box-shadow: 0 10px 25px color-mix(in srgb, var(--library-blue) 27%, transparent); }
.library-button:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--primary-color) 40%, transparent); }
.library-explorer { margin-top: 28px; padding: clamp(18px, 3vw, 30px); border-radius: 32px; }
.library-explorer-content { min-width: 0; }
body.library-page > .library-language-nav {
    position: fixed;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 40;
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: max-content;
    max-height: min(70dvh, 640px);
    padding: 10px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    border: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent);
    border-radius: 20px;
    background: color-mix(in srgb, var(--background-color) 72%, transparent);
    box-shadow: var(--shadow-xl);
    backdrop-filter: blur(20px);
}
.library-language-nav__list { display: flex; flex-direction: column; gap: 3px; }
.library-language-nav button { appearance: none; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 0; border-radius: 11px; background: transparent; color: var(--text-color); font: inherit; cursor: pointer; text-align: left; white-space: nowrap; }
.library-language-nav button span { display: flex; align-items: center; gap: 9px; min-width: 0; font-size: .84rem; font-weight: 750; }
.library-language-nav button i { width: 16px; color: var(--primary-color); text-align: center; }
.library-language-nav button i[class*="devicon-"], .library-card__language i[class*="devicon-"] { font-size: 1.1em; }
.library-language-nav button i[class*="devicon-"]:not(.colored), .library-card__language i[class*="devicon-"]:not(.colored) { color: var(--primary-color); }
.library-language-nav button strong { min-width: 25px; padding: 3px 6px; border-radius: 999px; background: color-mix(in srgb, var(--text-color) 7%, transparent); font-size: .67rem; text-align: center; }
.library-language-nav button:hover, .library-language-nav button.is-active { background: color-mix(in srgb, var(--library-blue) 12%, transparent); }
.library-language-nav button.is-active { color: color-mix(in srgb, var(--library-blue) 75%, var(--text-color)); }
.library-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 25px; }
.library-section-heading h2, .library-contribute h2 { margin: 6px 0 0; font-size: clamp(1.7rem, 3vw, 2.6rem); letter-spacing: -.04em; }
.library-section-heading p { margin: 0; opacity: .65; }
.library-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 18px; background: color-mix(in srgb, var(--background-color) 42%, transparent); }
.library-toolbar label:not(.library-check) > span, .library-form label > span { display: block; margin: 0 0 6px 3px; font-size: .72rem; font-weight: 800; opacity: .62; }
.library-toolbar input[type="search"], .library-toolbar select, .library-form input, .library-form select, .library-form textarea { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--text-color) 13%, transparent); border-radius: 11px; background: color-mix(in srgb, var(--embed-bg) 86%, var(--background-color)); color: var(--text-color); font: inherit; }
.library-search { position: relative; flex: 1 1 260px; min-width: 200px; }
.library-search > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); opacity: .5; }
.library-search input[type="search"] { padding-left: 38px; }
.library-sort-inline { flex: 0 0 auto; width: min(200px, 100%); }
.library-sort-inline select { min-height: 44px; padding: 10px 12px; }
.library-check { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 12px; white-space: nowrap; font-size: .85rem; font-weight: 750; }
.library-check input { accent-color: var(--library-blue); }
.library-reset { min-height: 44px; padding: 0 14px; border: 1px solid color-mix(in srgb, var(--text-color) 13%, transparent); border-radius: 11px; background: transparent; color: var(--text-color); font-weight: 800; cursor: pointer; opacity: .8; }
.library-reset:hover { opacity: 1; border-color: color-mix(in srgb, var(--text-color) 24%, transparent); }
.library-active-filter { margin: 16px 0 0; padding: 10px 14px; border-radius: 12px; background: color-mix(in srgb, var(--library-blue) 9%, transparent); font-size: .87rem; }

.library-filters-toggle { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 14px; border: 1px solid color-mix(in srgb, var(--text-color) 13%, transparent); border-radius: 11px; background: color-mix(in srgb, var(--embed-bg) 86%, var(--background-color)); color: var(--text-color); font: inherit; font-weight: 800; cursor: pointer; }
.library-filters-toggle:hover { border-color: color-mix(in srgb, var(--library-blue) 35%, transparent); }
.library-filters-toggle strong { min-width: 20px; padding: 2px 6px; border-radius: 999px; background: var(--library-blue); color: #fff; font-size: .68rem; text-align: center; }
.library-filters-toggle__chevron { font-size: .74rem; opacity: .55; transition: transform .2s ease; }
.library-filters-toggle[aria-expanded="true"] .library-filters-toggle__chevron { transform: rotate(180deg); }
.library-filters-toggle[aria-expanded="true"] { border-color: color-mix(in srgb, var(--library-blue) 45%, transparent); background: color-mix(in srgb, var(--library-blue) 10%, transparent); }

.library-filters-panel { display: grid; gap: 16px; margin-top: 10px; padding: 16px; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 16px; background: color-mix(in srgb, var(--background-color) 30%, transparent); }
.library-filters-panel[hidden] { display: none; }
.library-filter-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.library-filter-group { min-width: 0; }
.library-filter-group__label { display: block; margin: 0 0 8px 2px; font-size: .72rem; font-weight: 800; opacity: .62; }
.library-filter-group__label small { font-weight: 600; opacity: .8; text-transform: none; letter-spacing: 0; }
.library-filter-group > select { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--text-color) 13%, transparent); border-radius: 11px; background: color-mix(in srgb, var(--embed-bg) 86%, var(--background-color)); color: var(--text-color); font: inherit; }
.library-chip-picker { display: flex; flex-wrap: wrap; gap: 7px; }
.library-chip-picker--scroll { max-height: 168px; overflow-y: auto; padding-right: 2px; }
.library-chip { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--embed-bg) 86%, var(--background-color)); font-size: .8rem; font-weight: 700; cursor: pointer; user-select: none; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.library-chip:hover { border-color: color-mix(in srgb, var(--library-blue) 35%, transparent); }
.library-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.library-chip:has(input:checked) { border-color: transparent; background: color-mix(in srgb, var(--library-blue) 16%, transparent); color: color-mix(in srgb, var(--library-blue) 78%, var(--text-color)); }
.library-chip:has(input:focus-visible) { outline: 2px solid var(--library-blue); outline-offset: 2px; }
.library-filters-panel__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); }
.library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 14px; margin-top: 22px; }
.library-grid[hidden] { display: none; }
.library-view-switcher { flex: 0 0 auto; display: flex; gap: 4px; padding: 4px; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--background-color) 42%, transparent); }.library-view-switcher button { min-height: 36px; min-width: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: inherit; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }.library-view-switcher button.is-active { background: color-mix(in srgb, var(--library-blue) 15%, transparent); color: color-mix(in srgb, var(--library-blue) 75%, var(--text-color)); }.library-grid--vertical { grid-template-columns: 1fr; }.library-grid--vertical .library-card { padding: 17px 20px; }.library-grid--horizontal { grid-template-columns: 1fr; }.library-grid--horizontal .library-card { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(240px, .65fr) minmax(300px, 1.45fr); gap: 18px; align-items: center; }.library-grid--horizontal .library-versions { margin: 0; }.library-grid--horizontal .library-feature-list { margin: 0; }.library-grid--horizontal .library-card__more { grid-column: 3; margin-top: -8px; }
.library-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 20px; background: color-mix(in srgb, var(--embed-bg) 74%, transparent); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.library-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--library-blue) 35%, transparent); box-shadow: var(--shadow-md); }
.library-card__top { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.library-card__identity { display: flex; align-items: center; gap: 11px; min-width: 0; }.library-card__logo { width: 42px; aspect-ratio: 1; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--background-color) 55%, transparent); color: var(--primary-color); font-size: 1.05rem; font-weight: 900; }.library-card__logo img { width: 100%; height: 100%; object-fit: cover; }
.library-card h3 { margin: 0; font-size: 1.16rem; line-height: 1.25; overflow-wrap: anywhere; }
.library-card h3 a { color: inherit; text-decoration: none; }
.library-card__language { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--primary-color) 18%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--primary-color) 14%, transparent); color: inherit; font: inherit; font-size: .76rem; font-weight: 900; cursor: pointer; }
.library-versions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 17px 0; }
.library-versions span { padding: 9px 7px; border-radius: 10px; background: color-mix(in srgb, var(--background-color) 52%, transparent); text-align: center; font-size: .69rem; opacity: .68; }
.library-versions strong { display: block; margin-top: 2px; font-size: .88rem; color: var(--text-color); opacity: 1; }
.library-feature-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.library-feature { padding: 6px 8px; border: 0; border-radius: 8px; font: inherit; font-size: .68rem; font-weight: 750; background: color-mix(in srgb, var(--library-green) 10%, transparent); color: color-mix(in srgb, var(--library-green) 78%, var(--text-color)); cursor: pointer; }
.library-feature--partial { background: color-mix(in srgb, #f59e0b 11%, transparent); color: color-mix(in srgb, #f59e0b 75%, var(--text-color)); }
.library-feature--no { background: color-mix(in srgb, #ed4245 12%, transparent); color: color-mix(in srgb, #ed4245 78%, var(--text-color)); }
.library-feature--unknown { background: color-mix(in srgb, #9aa1ac 16%, transparent); color: color-mix(in srgb, #9aa1ac 85%, var(--text-color)); }
.library-toggle-button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid color-mix(in srgb, var(--text-color) 13%, transparent); border-radius: 11px; background: color-mix(in srgb, var(--embed-bg) 86%, var(--background-color)); color: var(--text-color); font: inherit; font-weight: 800; font-size: .78rem; cursor: pointer; }
.library-toggle-button:hover { border-color: color-mix(in srgb, var(--library-blue) 35%, transparent); }
.library-toggle-button.is-active { border-color: color-mix(in srgb, var(--library-blue) 45%, transparent); background: color-mix(in srgb, var(--library-blue) 10%, transparent); color: color-mix(in srgb, var(--library-blue) 75%, var(--text-color)); }
.library-card__more { margin-top: 12px; border: 0; background: transparent; color: var(--secondary-color); font: inherit; font-size: .76rem; font-weight: 800; text-align: left; cursor: pointer; }
.library-card.is-expanded .library-feature[hidden] { display: inline-block; }
.library-empty { padding: 72px 20px 48px; text-align: center; }
.library-empty i { font-size: 2rem; opacity: .4; }.library-empty h3 { margin: 14px 0 6px; }.library-empty p { margin: 0 0 20px; opacity: .6; }
.library-contribute { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 28px; padding: clamp(28px, 5vw, 54px); border-radius: 28px; }
.library-contribute p { max-width: 720px; margin: 10px 0 0; line-height: 1.65; opacity: .68; }
.library-dialog { width: min(850px, calc(100% - 24px)); max-height: calc(100vh - 34px); padding: 0; border: var(--border); border-radius: 24px; background: var(--background-color); color: var(--text-color); box-shadow: var(--shadow-2xl); }
.library-dialog::backdrop { background: rgba(4, 6, 18, .64); backdrop-filter: blur(7px); }
.library-form { padding: clamp(22px, 4vw, 38px); }.library-form header { display: flex; justify-content: space-between; gap: 24px; }.library-form h2 { margin: 5px 0; font-size: 2rem; }.library-form header p { margin: 0; opacity: .65; }
.library-dialog__close { width: 42px; height: 42px; flex: 0 0 auto; border: 1px solid color-mix(in srgb, var(--text-color) 12%, transparent); border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.library-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 26px; }.library-form .wide { grid-column: 1 / -1; }.library-form small { font-weight: 500; opacity: .65; }.library-form textarea { resize: vertical; }
.library-form fieldset { margin: 2px 0 0; padding: 15px; border: 1px solid color-mix(in srgb, var(--text-color) 11%, transparent); border-radius: 14px; }.library-form legend { padding: 0 7px; font-size: .8rem; font-weight: 850; }
.library-feature-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }.library-feature-field { padding: 10px; border: 1px solid color-mix(in srgb, var(--text-color) 8%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--background-color) 35%, transparent); }.library-feature-fields label span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.library-feature-fields select { min-height: 38px; padding: 7px 9px; font-size: .8rem; }.library-feature-description { display: block; margin-top: 8px; }.library-feature-description textarea { min-height: 58px; padding: 8px; font-size: .78rem; }
.library-form footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }.library-form__status { min-height: 22px; margin: 16px 0 -6px; font-size: .88rem; font-weight: 750; }.library-form__status.is-error { color: #ef4444; }.library-form__status.is-success { color: var(--library-green); }.library-honeypot { position: absolute; left: -10000px; }
@media (max-width: 1050px) { .library-grid { grid-template-columns: repeat(2, 1fr); }.library-filter-row { grid-template-columns: 1fr 1fr; } }
@media (max-width: 1850px) {
    body.library-page > .library-language-nav {
        left: 50%;
        top: auto;
        bottom: 14px;
        transform: translateX(-50%);
        flex-direction: row;
        max-width: calc(100vw - 28px);
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
    }
    .library-language-nav__list { flex-direction: row; }
    .library-page { padding-bottom: 78px; }
}
@media (max-width: 760px) { .library-shell { width: min(100% - 20px, 1420px); }.library-hero { padding: 28px 22px; border-radius: 26px; }.library-hero h1 { font-size: clamp(2.55rem, 13vw, 4.2rem); }.library-explorer { padding: 22px 14px; }.library-section-heading, .library-contribute { align-items: flex-start; flex-direction: column; }.library-toolbar { flex-direction: column; align-items: stretch; }.library-search { flex-basis: auto; }.library-sort-inline { width: 100%; }.library-filter-row { grid-template-columns: 1fr; }.library-filters-panel__footer { flex-direction: column; align-items: stretch; gap: 10px; }.library-grid { grid-template-columns: 1fr; }.library-grid--horizontal .library-card { display: flex; }.library-view-switcher { justify-content: stretch; }.library-view-switcher button { flex: 1; justify-content: center; }.library-toggle-button { flex: 1; justify-content: center; }.library-form__grid, .library-feature-fields { grid-template-columns: 1fr; }.library-form .wide { grid-column: auto; }.library-dialog { max-height: calc(100vh - 12px); }.library-form footer .library-button { flex: 1; } }
@media (prefers-reduced-motion: reduce) { .library-button, .library-card { transition: none; } }

.library-detail-shell { max-width: 1240px; }
.library-back { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; margin: 0 0 18px; padding: 0 16px 0 12px; border: 1px solid color-mix(in srgb, var(--text-color) 13%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--embed-bg) 84%, transparent); color: var(--text-color) !important; font-size: .84rem; font-weight: 800; text-decoration: none !important; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.library-back i { font-size: .78rem; transition: transform .2s ease; }
.library-back:hover { transform: translateX(-2px); border-color: color-mix(in srgb, var(--library-blue) 35%, transparent); background: color-mix(in srgb, var(--library-blue) 8%, transparent); }
.library-back:hover i { transform: translateX(-2px); }
.library-detail-hero { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: clamp(24px, 5vw, 52px); align-items: center; padding: clamp(28px, 5vw, 58px); border: var(--border); border-radius: 34px; background: color-mix(in srgb, var(--embed-bg) 88%, transparent); box-shadow: var(--shadow-lg); backdrop-filter: blur(24px) saturate(1.35); }
.library-detail-logo { width: 150px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb, var(--text-color) 12%, transparent); border-radius: 32px; background: color-mix(in srgb, var(--background-color) 60%, transparent); box-shadow: var(--shadow-md); }
.library-detail-logo img { width: 100%; height: 100%; object-fit: cover; }.library-detail-logo > span { font-size: 4.5rem; font-weight: 900; color: var(--primary-color); }
.library-detail-heading h1 { margin: 13px 0 10px; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1; letter-spacing: -.06em; }.library-detail-heading > p { max-width: 780px; margin: 0; font-size: 1.08rem; line-height: 1.65; opacity: .7; }
.library-detail-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.library-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; margin-top: 20px; }.library-detail-sidebar { display: grid; gap: 18px; position: sticky; top: 90px; }
.library-detail-card { padding: clamp(22px, 3vw, 34px); border: var(--border); border-radius: 25px; background: color-mix(in srgb, var(--embed-bg) 88%, transparent); box-shadow: var(--shadow-md); backdrop-filter: blur(20px); }.library-detail-card .library-section-heading { align-items: center; }
.library-forks-card summary, .library-detail-collapsible summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; }.library-forks-card summary::-webkit-details-marker, .library-detail-collapsible summary::-webkit-details-marker { display: none; }.library-forks-card summary strong { margin-left: auto; margin-right: 4px; font-size: .8rem; font-weight: 750; opacity: .7; }.library-forks-card summary i, .library-detail-collapsible summary i { margin-left: auto; font-size: .8rem; opacity: .5; transition: transform .2s ease; }.library-forks-card[open] summary i, .library-detail-collapsible[open] summary i { transform: rotate(180deg); }.library-detail-collapsible .library-detail-facts { margin-top: 15px; }
.library-fork-list { display: grid; gap: 4px; margin: 16px 0 0; padding: 0; list-style: none; }.library-fork-list a { display: flex; align-items: center; gap: 11px; padding: 9px; border-radius: 13px; color: inherit !important; text-decoration: none !important; }.library-fork-list a:hover { background: color-mix(in srgb, var(--text-color) 6%, transparent); }.library-fork-list__logo { width: 32px; aspect-ratio: 1; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 9px; background: color-mix(in srgb, var(--background-color) 55%, transparent); font-size: .8rem; font-weight: 900; color: var(--primary-color); }.library-fork-list__logo img { width: 100%; height: 100%; object-fit: cover; }.library-fork-list strong { display: block; font-size: .86rem; }.library-fork-list small { display: block; margin-top: 1px; font-size: .72rem; opacity: .6; }
.library-capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }.library-capability { min-width: 0; padding: 0; border: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); border-radius: 13px; background: color-mix(in srgb, var(--background-color) 44%, transparent); }.library-capability summary { display: flex; align-items: flex-start; gap: 12px; padding: 13px; list-style: none; }.library-capability summary > span:not(.library-capability__icon) { min-width: 0; flex: 1 1 auto; }.library-capability summary::-webkit-details-marker { display: none; }.library-capability.has-description summary { cursor: pointer; }.library-capability:not(.has-description) summary { pointer-events: none; }.library-capability > p { margin: 0; padding: 0 13px 14px 57px; font-size: .78rem; line-height: 1.55; opacity: .72; }.library-capability__icon { width: 32px; aspect-ratio: 1; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; }.library-capability strong, .library-capability small { display: block; }.library-capability strong { font-size: .84rem; white-space: normal; word-break: break-word; }.library-capability small { margin-top: 2px; font-size: .7rem; opacity: .65; }.library-capability__more { margin-left: auto; opacity: .42; }
.library-capability--yes .library-capability__icon { color: #23a559; background: color-mix(in srgb, #23a559 12%, transparent); }.library-capability--no { opacity: .68; }.library-capability--no .library-capability__icon { color: #ed4245; background: color-mix(in srgb, #ed4245 12%, transparent); }.library-capability--partial .library-capability__icon { color: #f59e0b; background: color-mix(in srgb, #f59e0b 12%, transparent); }.library-capability--unknown .library-capability__icon { opacity: .55; background: color-mix(in srgb, var(--text-color) 8%, transparent); }
.library-detail-facts { display: grid; gap: 0; margin: 17px 0 0; }.library-detail-facts div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--text-color) 8%, transparent); }.library-detail-facts div:last-child { border-bottom: 0; }.library-detail-facts dt { opacity: .62; }.library-detail-facts dd { margin: 0; font-weight: 850; text-align: right; }
.library-detail-danger { color: #ed4245; }
.library-submitter { display: flex; align-items: center; gap: 12px; margin-top: 17px; color: inherit !important; text-decoration: none !important; }.library-submitter > img, .library-submitter > span:first-child { width: 44px; aspect-ratio: 1; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--library-blue) 14%, transparent); object-fit: cover; }.library-submitter strong, .library-submitter small { display: block; }.library-submitter small { margin-top: 3px; font-size: .72rem; opacity: .6; overflow-wrap: anywhere; }.library-detail-date { font-size: .76rem; opacity: .55; }.library-button--full { width: 100%; box-sizing: border-box; margin-top: 18px; }
@media (max-width: 900px) { .library-detail-layout { grid-template-columns: 1fr; }.library-detail-sidebar { grid-template-columns: 1fr 1fr; position: static; }.library-capability-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .library-detail-hero { grid-template-columns: 1fr; }.library-detail-logo { width: 104px; border-radius: 24px; }.library-detail-logo > span { font-size: 3.2rem; }.library-detail-sidebar { grid-template-columns: 1fr; }.library-detail-card .library-section-heading { align-items: flex-start; } }
.library-fetch-row { display: flex; gap: 10px; }.library-fetch-row input { flex: 1; }.library-fetch-row .library-button { flex: 0 0 auto; }
.library-submission-card { overflow: hidden; }.library-submission-card > .library-section-heading { padding: clamp(24px, 4vw, 42px); border-bottom: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); }.library-submission-card > .library-section-heading h1 { margin-bottom: 7px; }.library-submission-card > .library-section-heading p { margin: 0; opacity: .68; }.library-login-note { display: flex; align-items: center; gap: 12px; margin: 24px clamp(20px, 4vw, 38px) 0; padding: 13px 16px; border: 1px solid color-mix(in srgb, #5865f2 25%, transparent); border-radius: 13px; background: color-mix(in srgb, #5865f2 8%, transparent); font-size: .85rem; }.library-login-note i { color: #5865f2; font-size: 1.25rem; }.library-form--submission { padding-top: 22px; }.library-form-section { padding: 22px 0 28px; border-bottom: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); }.library-form-section:first-child { padding-top: 0; }.library-form-section > header { justify-content: flex-start; align-items: flex-start; gap: 13px; }.library-form-section > header > span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; background: color-mix(in srgb, var(--site-accent, #0f766e) 15%, transparent); color: var(--site-accent, #0f766e); font-size: .8rem; font-weight: 900; }.library-form-section h2 { margin: 1px 0 4px; font-size: 1.15rem; }.library-form-section header p { font-size: .84rem; }.library-form-section .library-form__grid { margin-top: 18px; }.library-feature-picker { display: flex; gap: 10px; margin-top: 18px; }.library-feature-picker select { flex: 1; }.library-features-empty { margin: 14px 0 0; padding: 18px; border: 1px dashed color-mix(in srgb, var(--text-color) 17%, transparent); border-radius: 13px; text-align: center; opacity: .6; font-size: .84rem; }.library-feature-fields { grid-template-columns: 1fr; margin-top: 12px; }.library-feature-entry { padding: 16px; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 14px; background: color-mix(in srgb, var(--background-color) 34%, transparent); }.library-feature-entry__heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; }.library-feature-entry__remove { padding: 0; border: 0; background: none; color: #ed4245; font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }.library-feature-entry__controls { display: grid; grid-template-columns: minmax(130px, .55fr) 1fr 1fr; gap: 10px; align-items: start; }.library-feature-entry__controls textarea { min-height: 44px; }.library-form [readonly] { opacity: .68; cursor: not-allowed; }
@media (max-width: 620px) { .library-fetch-row { flex-direction: column; } }
@media (max-width: 760px) { .library-feature-picker, .library-feature-entry__controls { grid-template-columns: 1fr; flex-direction: column; }.library-feature-picker .library-button { width: 100%; }.library-login-note { align-items: flex-start; } }
.library-field-required, .library-field-optional, .library-field-conditional { display: inline-block; margin-left: 5px; padding: 2px 5px; border-radius: 5px; font-size: .58rem; font-weight: 900; letter-spacing: .02em; text-transform: uppercase; vertical-align: 1px; }.library-field-required { color: #dc2626; background: color-mix(in srgb, #dc2626 10%, transparent); }.library-field-optional { color: color-mix(in srgb, var(--text-color) 62%, transparent); background: color-mix(in srgb, var(--text-color) 7%, transparent); }.library-field-conditional { color: #d97706; background: color-mix(in srgb, #f59e0b 11%, transparent); }
.library-dashboard > .library-section-heading { padding: clamp(24px, 4vw, 38px); border-bottom: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); }.library-dashboard > .library-section-heading p { margin: 7px 0 0; opacity: .65; }.library-dashboard-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 24px clamp(20px, 4vw, 38px); }.library-dashboard-stats div { padding: 17px; border: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); border-radius: 14px; background: color-mix(in srgb, var(--background-color) 35%, transparent); }.library-dashboard-stats strong, .library-dashboard-stats span { display: block; }.library-dashboard-stats strong { font-size: 1.55rem; }.library-dashboard-stats span { margin-top: 4px; font-size: .72rem; opacity: .62; }.library-dashboard-section { padding: 10px clamp(20px, 4vw, 38px) 32px; }.library-dashboard-section + .library-dashboard-section { padding-top: 28px; border-top: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); }.library-dashboard-section .library-section-heading h2 { margin: 4px 0 0; }.library-dashboard-empty { padding: 22px; border: 1px dashed color-mix(in srgb, var(--text-color) 15%, transparent); border-radius: 14px; text-align: center; opacity: .62; }.library-admin-table-wrap { margin-top: 20px; overflow-x: auto; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 14px; }.library-admin-table { width: 100%; border-collapse: collapse; min-width: 720px; }.library-admin-table th, .library-admin-table td { padding: 13px 15px; border-bottom: 1px solid color-mix(in srgb, var(--text-color) 8%, transparent); text-align: left; font-size: .8rem; }.library-admin-table th { font-size: .67rem; text-transform: uppercase; opacity: .58; }.library-admin-table td small { display: block; margin-top: 3px; opacity: .55; }.library-admin-table tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 700px) { .library-dashboard-stats { grid-template-columns: repeat(2, 1fr); }.library-dashboard > .library-section-heading { align-items: flex-start; }.library-dashboard-section { padding-inline: 16px; } }
.library-submission-list { display: grid; gap: 12px; margin-top: 24px; }.library-submission-item { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px; border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent); border-radius: 16px; background: color-mix(in srgb, var(--background-color) 40%, transparent); }.library-submission-item h2 { margin: 8px 0 5px; }.library-submission-item p { margin: 4px 0; opacity: .65; }.library-submission-status { display: inline-block; padding: 5px 9px; border-radius: 999px; background: color-mix(in srgb, #f59e0b 14%, transparent); color: #d97706; font-size: .7rem; font-weight: 850; }.library-submission-status--approved { color: #23a559; background: color-mix(in srgb, #23a559 13%, transparent); }.library-submission-status--withdrawn, .library-submission-status--rejected { color: #ed4245; background: color-mix(in srgb, #ed4245 12%, transparent); }.library-submission-actions { display: flex; gap: 8px; flex: 0 0 auto; }.library-withdraw { color: #ed4245 !important; }
@media (max-width: 700px) { .library-submission-item { align-items: stretch; flex-direction: column; }.library-submission-actions { flex-wrap: wrap; }.library-submission-actions .library-button { flex: 1; } }
.library-capability__evidence { display: inline-flex; align-items: center; gap: 6px; margin: 0 13px 10px 57px; font-size: .74rem; font-weight: 800; }
.library-admin-create, .library-admin-feature { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr 90px auto; gap: 8px; align-items: center; }.library-admin-create { margin: 24px 0; }.library-admin-create input, .library-admin-create select, .library-admin-feature input, .library-admin-feature select { min-height: 42px; box-sizing: border-box; border: 1px solid color-mix(in srgb, var(--text-color) 12%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--embed-bg) 86%, var(--background-color)); color: var(--text-color); padding: 8px; }.library-admin-features { display: grid; gap: 8px; }.library-admin-feature { grid-template-columns: 50px 1fr 1.4fr 1fr 80px auto auto; padding: 10px; border: 1px solid color-mix(in srgb, var(--text-color) 9%, transparent); border-radius: 13px; }.library-admin-feature__id { font-weight: 900; opacity: .55; }.library-admin-active { display: flex; gap: 5px; align-items: center; font-size: .78rem; }
@media (max-width: 900px) { .library-admin-create, .library-admin-feature { grid-template-columns: 1fr 1fr; }.library-admin-feature__id { grid-column: 1 / -1; } }
.library-toolbar select[multiple] { min-height: 5.25rem; min-width: 11rem; }
.library-toolbar label small { display: block; margin-top: .25rem; opacity: .62; font-size: .7rem; }
.library-grid--compact { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .65rem; }
.library-grid--compact .library-card { padding: .85rem; }
.library-grid--compact .library-versions { display: none; }
.library-grid--compact .library-feature-list { max-height: 5.5rem; overflow: hidden; }
.library-grid--compact .library-card.is-expanded .library-feature-list { max-height: none; overflow: visible; }
.library-overview-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 20px; padding: 12px; border: var(--border); border-radius: 20px; background: color-mix(in srgb, var(--embed-bg) 88%, transparent); box-shadow: var(--shadow-md); }
.library-overview-strip > div { min-width: 0; padding: 14px 16px; border-radius: 14px; background: color-mix(in srgb, var(--background-color) 42%, transparent); }
.library-overview-strip span, .library-overview-strip strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.library-overview-strip span { margin-bottom: 7px; font-size: .67rem; font-weight: 800; opacity: .58; text-transform: uppercase; letter-spacing: .04em; }
.library-overview-strip span i { margin-right: 5px; color: var(--library-blue); }
.library-overview-strip strong { font-size: 1rem; }
@media (max-width: 900px) { .library-overview-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) { .library-overview-strip { grid-template-columns: 1fr 1fr; }.library-overview-strip > div:last-child { grid-column: 1 / -1; } }
.library-ownership-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 17px; padding: 12px; border: 1px solid color-mix(in srgb, var(--library-blue) 18%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--library-blue) 7%, transparent); }
.library-ownership-note > i { margin-top: 2px; color: var(--library-blue); }
.library-ownership-note p, .library-ownership-note strong, .library-ownership-note span { display: block; margin: 0; }
.library-ownership-note strong { font-size: .78rem; }
.library-ownership-note span { margin-top: 3px; font-size: .7rem; line-height: 1.45; opacity: .65; }
.library-project-notice, .library-fork-notice { display: flex; align-items: center; gap: 11px; max-width: 760px; margin-top: 16px; padding: 12px 14px; border-radius: 13px; text-decoration: none !important; }
.library-project-notice { border: 1px solid color-mix(in srgb, #ed4245 28%, transparent); background: color-mix(in srgb, #ed4245 9%, transparent); color: color-mix(in srgb, #ed4245 75%, var(--text-color)); }.library-project-notice--maintenance { border-color: color-mix(in srgb, #f59e0b 30%, transparent); background: color-mix(in srgb, #f59e0b 9%, transparent); color: color-mix(in srgb, #d97706 76%, var(--text-color)); }
.library-project-notice strong, .library-project-notice span, .library-fork-notice strong, .library-fork-notice small { display: block; }.library-project-notice span { margin-top: 2px; font-size: .76rem; opacity: .78; }.library-fork-notice { width: fit-content; border: 1px solid color-mix(in srgb, var(--library-blue) 20%, transparent); background: color-mix(in srgb, var(--library-blue) 7%, transparent); color: var(--text-color) !important; }.library-fork-notice small { margin-top: 2px; opacity: .6; }
.library-card__status { width: fit-content; display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 5px 10px; border: 1px solid color-mix(in srgb, #ed4245 25%, transparent); border-radius: 999px; background: color-mix(in srgb, #ed4245 11%, transparent); color: #d33b3e; font-size: .68rem; font-weight: 850; }.library-card__status i { font-size: .7rem; }.library-card__status--maintenance { border-color: color-mix(in srgb, #f59e0b 28%, transparent); background: color-mix(in srgb, #f59e0b 11%, transparent); color: #b76b00; }.library-card__status--unmaintained { border-color: color-mix(in srgb, #f59e0b 28%, transparent); background: color-mix(in srgb, #f59e0b 11%, transparent); color: #b76b00; }.library-card__fork { width: fit-content; margin-top: 8px; font-size: .7rem; font-weight: 750; }
