.nllf {
    --nllf-blue: #005deb;
    --nllf-ink: #101b36;
    --nllf-muted: #465877;
    --nllf-line: #ccdef2;
    --nllf-white: #fff;
    --nllf-size: 48px;
    color: var(--nllf-ink);
    background: #eaf5fc;
    border-radius: 12px;
    padding: clamp(14px, 2.3vw, 34px);
    line-height: 1.55;
}
.nllf *, .nllf *::before, .nllf *::after { box-sizing: border-box; }
.nllf [hidden] { display: none !important; }
.nllf a:focus-visible, .nllf button:focus-visible, .nllf input:focus-visible, .nllf select:focus-visible, .nllf summary:focus-visible {
    outline: 3px solid #15439b;
    outline-offset: 3px;
}
.nllf h1, .nllf h2, .nllf p, .nllf dl, .nllf dd { margin: 0; }
.nllf h1 { font-size: clamp(30px, 3.1vw, 44px); line-height: 1.18; letter-spacing: -.03em; }
.nllf h2 { font-size: 17px; line-height: 1.35; }
.nllf p, .nllf small { color: var(--nllf-muted); }
.nllf .nllf-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(225px, 24%); gap: 18px; max-width: 1480px; margin-inline: auto; }
.nllf .nllf-main, .nllf .nllf-sidebar { display: grid; align-content: start; gap: 12px; min-width: 0; }
.nllf .nllf-panel { background: var(--nllf-white); border: 1px solid var(--nllf-line); border-radius: 12px; padding: 15px; min-width: 0; }
.nllf .nllf-panel > h2 { margin-bottom: 9px; }
.nllf .nllf-hero p { margin-top: 5px; }
.nllf .nllf-btn, .nllf summary { cursor: pointer; }
.nllf .nllf-btn {
    display: inline-flex; justify-content: center; align-items: center; min-height: 40px;
    padding: 6px 12px; border: 1px solid var(--nllf-blue); background: #fff; color: var(--nllf-blue);
    border-radius: 8px; text-decoration: none; font: inherit; font-size: 13px; font-weight: 700; text-align: center;
}
.nllf .nllf-primary { background: var(--nllf-blue); color: #fff; }
.nllf .nllf-btn:hover { box-shadow: inset 0 0 0 1px currentColor; }
.nllf input[type=text], .nllf select {
    width: 100%; min-width: 0; min-height: 40px; border: 1px solid #a9bdd6;
    border-radius: 8px; background-color: #fff; color: var(--nllf-ink); padding: 5px 9px; font: inherit;
}
.nllf input[type=range] { accent-color: var(--nllf-blue); min-width: 60px; width: 100%; margin: 0; padding: 0; }
.nllf input[type=checkbox] { accent-color: var(--nllf-blue); }
.nllf label { min-width: 0; font-size: 13px; font-weight: 650; }
.nllf .nllf-preview-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, 34%) auto; gap: 10px; align-items: center; }
.nllf .nllf-range { display: grid; grid-template-columns: max-content max-content minmax(60px,1fr); gap: 6px; align-items: center; }
.nllf .nllf-range output, .nllf .nllf-results b { color: var(--nllf-blue); }
.nllf .nllf-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: 10px; align-items: end; }
.nllf .nllf-advanced > summary { padding: 8px 10px; border: 1px solid var(--nllf-line); border-radius: 8px; background: #e7f2ff; color: #074fae; white-space: nowrap; }
.nllf .nllf-advanced-body { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 8px 0; }
.nllf .nllf-filter-grid:has(details[open]) .nllf-advanced { grid-column: 1 / -1; }
.nllf .nllf-filter-grid:has(details[open]) { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nllf .nllf-search, .nllf .nllf-results, .nllf .nllf-actions { display: flex; gap: 8px; align-items: center; }
.nllf .nllf-search { margin-top: 10px; }
.nllf .nllf-search label, .nllf .nllf-actions > a { flex: 1 1 0; }
.nllf .nllf-filters > a { margin-top: 8px; }
.nllf .nllf-results { justify-content: space-between; }
.nllf .nllf-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.nllf .nllf-card { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.nllf .nllf-card h2 { margin: 0; overflow-wrap: anywhere; }
.nllf .nllf-card p:not(.nllf-sample), .nllf .nllf-card .nllf-btn { font-size: 12px; }
.nllf .nllf-card .nllf-actions { width: 100%; margin-top: auto; align-items: stretch; flex-wrap: wrap; }
.nllf .nllf-card .nllf-actions a { min-width: max-content; }
.nllf .nllf-tag { display: inline-block; background: #e8f1fb; color: #254468; border-radius: 999px; padding: 2px 8px; font-size: 11px; }
.nllf .nllf-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.nllf .nllf-stage { width: 100%; min-height: 70px; display: grid; place-items: center; border-radius: 8px; overflow-wrap: anywhere; }
.nllf .nllf-stage-note { font-size: 12px; color: var(--nllf-muted); }
.nllf .nllf-stage img { width: 100%; max-height: 180px; object-fit: contain; }
.nllf .nllf-stage[data-nll-state=live] :is(img,.nllf-stage-note) { display: none; }
.nllf .nllf-stage .nllf-sample { color: var(--nllf-ink); font-size: var(--nllf-size); font-synthesis: none; line-height: 1.18; width: 100%; }
.nllf .nllf-stage-detail { background: #f3f8fd; border: 1px solid var(--nllf-line); min-height: 126px; padding: 14px; text-align: center; }
.nllf .nllf-load-more { text-align: center; }
.nllf .nllf-load-more p { font-size: 13px; margin-bottom: 6px; }
.nllf .nllf-load-more p:empty { margin: 0; }
.nllf .nllf-sidebar .nllf-btn, .nllf .nllf-detail-bottom .nllf-btn { margin-top: 6px; }
.nllf ol { margin: 6px 0; padding-inline-start: 24px; }
.nllf li { margin-bottom: 5px; }
.nllf .nllf-sidebar { font-size: 13px; }
.nllf details > summary { color: var(--nllf-ink); font-weight: 650; }
.nllf .nllf-panel details { border-bottom: 1px solid #e1ecf6; padding: 5px 0; }
.nllf .nllf-breadcrumb { font-size: 13px; }
.nllf .nllf-detail-top { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0,1fr); gap: 12px; }
.nllf .nllf-detail-info > section { height: 100%; }
.nllf .nllf-detail-links { grid-column: 1 / -1; }
.nllf .nllf-detail-links p { text-align: center; font-size: 12px; margin-top: 6px; }
.nllf .nllf-detail-controls { display: grid; grid-template-columns: minmax(0,1fr) minmax(64px,auto) minmax(100px,auto); gap: 7px; margin-top: 8px; align-items: end; }
.nllf .nllf-detail-controls small { grid-column: 1 / -1; }
.nllf .nllf-input-with-clear { display: flex; gap: 4px; }
.nllf dl > div { display: grid; grid-template-columns: minmax(78px, 36%) minmax(0, 1fr); border: 1px solid #e3edf7; font-size: 13px; }
.nllf dt, .nllf dd { padding: 5px 8px; overflow-wrap: anywhere; }
.nllf dt { background: #f0f6fc; color: var(--nllf-muted); }
.nllf .nllf-detail-bottom { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; font-size: 13px; }
.nllf .nllf-ad { background: #edf5ff; border: 1px solid var(--nllf-line); border-radius: 10px; padding: 10px; }
.nllf .nllf-ad > small { display: block; }
.nllf .nllf-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 1280px) {
    .nllf .nllf-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 980px) {
    .nllf .nllf-layout { grid-template-columns: minmax(0,1fr); }
    .nllf .nllf-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .nllf { --nllf-size: 36px; padding: 12px; }
    .nllf .nllf-cards, .nllf .nllf-detail-top, .nllf .nllf-detail-bottom, .nllf .nllf-sidebar { grid-template-columns: minmax(0,1fr); }
    .nllf .nllf-preview-row { grid-template-columns: minmax(0,1fr) auto; }
    .nllf .nllf-preview-row .nllf-text { grid-column: 1 / -1; }
    .nllf .nllf-filter-grid, .nllf .nllf-filter-grid:has(details[open]) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nllf .nllf-detail h1 > span { display: block; font-size: .7em; }
    .nllf .nllf-detail-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nllf .nllf-detail-controls > label:first-child { grid-column: 1 / -1; }
    .nllf .nllf-detail-links { grid-row: 2; grid-column: 1; background: #fff; border: 1px solid var(--nllf-line); padding: 10px; border-radius: 10px; }
    .nllf .nllf-detail-links .nllf-actions { display: grid; }
    .nllf .nllf-card .nllf-stage { order: 1; }
    .nllf .nllf-card .nllf-actions { order: 2; }
    .nllf .nllf-card .nllf-stage img { max-height: 140px; }
    .nllf .nllf-btn { min-height: 44px; }
}
.nllf .nllf-install > summary { font-size: 17px; }
.nllf .nllf-os { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 10px 0 0; padding: 0; border: 0; }
.nllf .nllf-os > label { cursor: pointer; border: 1px solid var(--nllf-line); text-align: center; border-radius: 6px; padding: 5px; }
.nllf .nllf-os > input:checked + label { background: var(--nllf-blue); color: #fff; }
.nllf .nllf-os > input:focus-visible + label { outline: 3px solid #15439b; outline-offset: 2px; }
.nllf .nllf-os > ol { display: none; grid-column: 1 / -1; }
.nllf .nllf-os > input:first-of-type:checked ~ .nllf-os-win,
.nllf .nllf-os > input:last-of-type:checked ~ .nllf-os-mac { display: block; }
.nllf .nllf-mobile-install { display: none; }
@media (max-width: 640px) {
    .nllf .nllf-mobile-install { display: block; }
    .nllf .nllf-desktop-install { display: none; }
}

/* Catalog body only. The theme owns the site header and navigation. */
.nllf {
    background: #edf6fe;
    --nllf-blue: #065cf0;
    --nllf-line: #d5e5f6;
}
.nllf .nllf-mobile-count, .nllf .nllf-mobile-resources, .nllf .nllf-mobile-links { display: none; }
.nllf .nllf-panel { padding: clamp(12px, 1.3vw, 19px); }
.nllf .nllf-filter-box h2 { margin-bottom: 8px; }
.nllf .nllf-filter-grid { align-items: start; grid-template-columns: repeat(3,minmax(0,1fr)) minmax(110px, .75fr); }
.nllf .nllf-filter-grid:has(details[open]) { grid-template-columns: repeat(3,minmax(0,1fr)) minmax(110px, .75fr); }
.nllf .nllf-filter-grid:has(details[open]) .nllf-advanced { grid-column: auto; }
.nllf .nllf-filter-grid > label {
    display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center;
    padding-inline-start: 8px; gap: 5px; border: 1px solid var(--nllf-line); border-radius: 7px;
}
.nllf .nllf-filter-grid > label select { border-color: transparent; font-size: 13px; padding-inline: 4px; }
.nllf .nllf-advanced > summary { min-height: 40px; }
.nllf .nllf-advanced-body { display: grid; padding: 8px; border: 1px solid var(--nllf-line); border-radius: 7px; margin-top: 4px; }
.nllf .nllf-card-body { display: grid; min-width: 0; width: 100%; gap: 5px; }
.nllf .nllf-card-body > .nllf-tag { justify-self: start; }
.nllf .nllf-card .nllf-badges .nllf-tag { background: #edf4fc; }
.nllf .nllf-card .nllf-stage { order: initial; }
.nllf .nllf-card .nllf-actions { order: initial; }
.nllf .nllf-detail-top { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.nllf .nllf-stage-detail { min-height: clamp(125px, 13vw, 175px); background: #fcfdff; }
.nllf .nllf-desktop-links { grid-column: 1 / -1; }
.nllf .nllf-detail-links p { text-align: start; }
.nllf .nllf-detail-bottom { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nllf .nllf-style-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); gap: 7px; }
.nllf .nllf-style-grid .nllf-btn { border-color: var(--nllf-line); color: var(--nllf-ink); font-weight: 500; }
.nllf .nllf-style-grid .nllf-btn[aria-pressed=true] { background: var(--nllf-blue); color: #fff; }
.nllf .nllf-style-grid .nllf-btn:disabled, .nllf .nllf-style-grid .nllf-style-static { cursor: default; box-shadow: none; }
.nllf .nllf-tips { padding-inline-start: 0; list-style: none; counter-reset: tips; }
.nllf .nllf-tips li { counter-increment: tips; position: relative; padding-inline-start: 34px; margin-block: 12px; }
.nllf .nllf-tips li::before {
    content: counter(tips); position: absolute; inset-inline-start: 0; inset-block-start: 1px;
    display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%;
    background: #e8f3ff; color: #08499c; font-weight: 700;
}
.nllf .nllf-related-fonts { list-style: none; padding: 0; margin: 0; }
.nllf .nllf-related-fonts a {
    display: block; position: relative; padding: 8px 27px 8px 10px; margin-top: 6px;
    border: 1px solid var(--nllf-line); border-radius: 7px; color: var(--nllf-ink); text-decoration: none;
}
.nllf .nllf-related-fonts a::after { content: '›'; position: absolute; inset-inline-end: 10px; inset-block-start: 9px; }
.nllf .nllf-related-fonts small { display: block; }
.nllf .nllf-related-fonts a:hover { background: #eef6ff; }
@media(max-width: 760px) {
    .nllf .nllf-filter-grid, .nllf .nllf-filter-grid:has(details[open]) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nllf .nllf-card .nllf-actions a { min-width: 0; }
}
@media(max-width: 640px) {
    .nllf .nllf-sidebar { display: none; }
    .nllf .nllf-mobile-count { display: block; color: var(--nllf-muted); font-size: 12px; }
    .nllf-list .nllf-hero { display: flex; gap: 6px; align-items: center; justify-content: space-between; }
    .nllf-list .nllf-hero p { display: none; }
    .nllf .nllf-filters { border: 0; background: transparent; padding: 0; }
    .nllf .nllf-filter-box { padding: 12px; border: 1px solid var(--nllf-line); border-radius: 12px; background: #fff; }
    .nllf .nllf-filter-grid > label { font-size: 11px; gap: 2px; padding-inline-start: 4px; }
    .nllf .nllf-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(76px,26%); align-items: center; gap: 9px; }
    .nllf .nllf-card .nllf-actions { display: grid; margin: 0; }
    .nllf .nllf-card .nllf-btn { padding-inline: 4px; }
    .nllf .nllf-mobile-resources { display: block; }
    .nllf .nllf-mobile-resources .nllf-install { padding: 5px 0; border: 0; border-radius: 0; }
    .nllf .nllf-mobile-resources summary { font-size: 15px; }
    .nllf .nllf-detail-top, .nllf .nllf-detail-bottom { grid-template-columns: minmax(0,1fr); }
    .nllf .nllf-desktop-links, .nllf .nllf-detail-bottom > section:nth-child(2) { display: none; }
    .nllf .nllf-mobile-links { display: block; }
    .nllf .nllf-detail-links { padding: 8px 0 0; border: 0; }
    .nllf .nllf-detail-links p { text-align: center; }
    .nllf .nllf-style-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .nllf .nllf-mobile-install { display: grid; gap: 12px; }
}
.nllf .nllf-style-glyph { font-size: 28px; line-height: 1.15; font-synthesis: none; }
.nllf .nllf-style-grid button { flex-direction: column; }
.nllf .nllf-detail-bottom dl + p { margin-top: 6px; }
@media(max-width: 640px) {
    .nllf .nllf-style-glyph, .nllf .nllf-desktop-faq { display: none; }
}

.nllf .nllf-filter-grid > label.nllf-filter-label {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    border: 0;
    padding: 0;
}
.nllf .nllf-filter-grid > label.nllf-filter-label select { border-color: var(--nllf-line); }
.nllf .nllf-advanced { margin-top: 22px; }
.nllf .nllf-search { gap: 0; }
.nllf .nllf-search input {
    width: 100%;
    min-height: 46px;
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}
.nllf .nllf-search button {
    flex: 0 0 auto;
    min-height: 46px;
    min-width: 68px;
    border-start-start-radius: 0;
    border-end-start-radius: 0;
}
.nllf .nllf-license-link { text-decoration: underline; }
.nllf .nllf-card { scroll-margin-top: 96px; }
.nllf .nllf-detail .nllf-hero > a { margin-block: 8px; }
@media (max-width: 640px) {
    .nllf .nllf-list .nllf-hero, .nllf-list .nllf-hero {
        flex-direction: column;
        align-items: flex-start;
    }
}
