/*
 * RunLocal: calculator and catalog page styles.
 * Colors are tokens so a child theme can restyle by overriding the variables.
 */
.rl-page,
.rl-calc {
  --rl-fg: #172027;
  --rl-muted: #56646e;
  --rl-line: #d8e0e5;
  --rl-surface: #ffffff;
  --rl-soft: #eef3f5;
  --rl-accent: #0b6a84;
  --rl-accent-fg: #ffffff;
  --rl-ok: #1f7a4a;
  --rl-ok-soft: #e3f3ea;
  --rl-warn: #9a6200;
  --rl-warn-soft: #fbf0db;
  --rl-bad: #a23a2c;
  --rl-bad-soft: #f8e5e1;
  --rl-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--rl-fg);
}
@media (prefers-color-scheme: dark) {
  .rl-page.rl-auto-dark,
  .rl-calc.rl-auto-dark {
    --rl-fg: #e3eaee; --rl-muted: #93a3ad; --rl-line: #26333b; --rl-surface: #151d22; --rl-soft: #1a252c;
    --rl-accent: #5fc0da; --rl-accent-fg: #0f1519; --rl-ok: #5ccf8f; --rl-ok-soft: #173326;
    --rl-warn: #e6b04f; --rl-warn-soft: #3a2c12; --rl-bad: #ef8a78; --rl-bad-soft: #3d1d18;
  }
}

.rl-page { max-width: 1100px; margin: 0 auto; padding-inline: 16px; padding-block: 24px 48px; }
.rl-page section { margin-block: 36px; }
.rl-page h1 { text-wrap: balance; margin-block: 4px 12px; }
.rl-page h2 { text-wrap: balance; margin-block: 0 12px; }
.rl-eyebrow { font-size: 0.875rem; color: var(--rl-muted); margin: 0; }
.rl-eyebrow a { color: inherit; }
.rl-lede { color: var(--rl-muted); font-size: 1.1rem; max-width: 65ch; }
.rl-sub { font-weight: 400; color: var(--rl-muted); font-size: 0.8em; }
.rl-note, .rl-disclaimer { color: var(--rl-muted); font-size: 0.9rem; max-width: 70ch; }
.rl-disclaimer { border-top: 1px solid var(--rl-line); padding-top: 16px; margin-top: 48px; }

.rl-facts { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 16px 0; }
.rl-facts div { min-width: 0; }
.rl-facts dt { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rl-muted); margin: 0; }
.rl-facts dd { margin: 2px 0 0; font-weight: 600; font-variant-numeric: tabular-nums; }

.rl-table-wrap { overflow-x: auto; border: 1px solid var(--rl-line); border-radius: 6px; background: var(--rl-surface); margin-block: 12px; }
.rl-table { width: 100%; border-collapse: collapse; font-size: 0.925rem; font-variant-numeric: tabular-nums; margin: 0; }
.rl-table th, .rl-table td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--rl-line); vertical-align: middle; }
.rl-table th { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rl-muted); background: var(--rl-soft); white-space: nowrap; }
.rl-table tr:last-child td { border-bottom: 0; }
.rl-table .num { text-align: right; white-space: nowrap; }
.rl-table code, .rl-code { font-family: var(--rl-mono); font-size: 0.85em; }
.rl-row-best td, .rl-row-highlight td { background: var(--rl-soft); }
.rl-meta { display: block; color: var(--rl-muted); font-size: 0.8rem; }

.rl-grade { display: inline-grid; place-items: center; width: 1.9em; height: 1.9em; border-radius: 4px; font-weight: 700; font-size: 0.9rem; color: #fff; }
.rl-grade-s { background: #0f6b45; }
.rl-grade-a { background: #2b8a57; }
.rl-grade-b { background: #0b6a84; }
.rl-grade-c { background: #9a6200; }
.rl-grade-d { background: #b04d2e; }
.rl-grade-f { background: #6b737a; }

.rl-status { display: inline-block; font-size: 0.8rem; padding: 1px 8px; border-radius: 99px; white-space: nowrap; }
.rl-status-fits, .rl-status-tight { color: var(--rl-ok); background: var(--rl-ok-soft); }
.rl-status-offload, .rl-status-heavy_offload { color: var(--rl-warn); background: var(--rl-warn-soft); }
.rl-status-no_fit { color: var(--rl-bad); background: var(--rl-bad-soft); }
.rl-measured { font-size: 0.75rem; color: var(--rl-ok); border: 1px solid currentColor; border-radius: 99px; padding: 0 6px; }

.rl-bar { display: block; height: 4px; background: var(--rl-line); border-radius: 2px; margin-top: 4px; min-width: 70px; overflow: hidden; }
.rl-bar > span { display: block; height: 100%; background: var(--rl-ok); }
.rl-bar-offload > span, .rl-bar-heavy_offload > span { background: var(--rl-warn); }
.rl-bar-no_fit > span { background: var(--rl-bad); }

.rl-verdict { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 6px; border: 1px solid var(--rl-line); background: var(--rl-surface); max-width: 760px; }
.rl-verdict .rl-grade { width: 2.6em; height: 2.6em; font-size: 1.2rem; flex: none; }
.rl-verdict p { margin: 0; }
.rl-verdict-title { font-weight: 700; font-size: 1.15rem; }

.rl-ranked { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.rl-ranked li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.rl-ranked .rl-meta { display: inline; }
.rl-inline-list { display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 0; list-style: none; }

.rl-button { display: inline-block; background: var(--rl-accent); color: var(--rl-accent-fg); border: 1px solid var(--rl-accent); border-radius: 6px; padding: 8px 14px; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.rl-button:hover { filter: brightness(1.08); }
.rl-button-quiet { background: transparent; color: var(--rl-accent); }
.rl-button:focus-visible, .rl-chip:focus-visible, .rl-tabs button:focus-visible, .rl-tabs a:focus-visible { outline: 2px solid var(--rl-accent); outline-offset: 2px; }

.rl-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--rl-line); margin-block: 16px 12px; flex-wrap: wrap; }
.rl-tabs a, .rl-tabs button { background: none; border: 0; border-bottom: 2px solid transparent; padding: 8px 14px; font: inherit; color: var(--rl-muted); text-decoration: none; cursor: pointer; margin-bottom: -1px; }
.rl-tabs [aria-current="page"], .rl-tabs [aria-selected="true"] { color: var(--rl-fg); border-bottom-color: var(--rl-accent); font-weight: 600; }

/* Calculator */
.rl-calc { margin-block: 16px 32px; }
.rl-calc-hw, .rl-calc-opts { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-end; }
.rl-calc-hw { padding: 16px; border: 1px solid var(--rl-line); border-radius: 6px; background: var(--rl-surface); }
.rl-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rl-field[hidden] { display: none; }
.rl-field-wide { flex: 1 1 260px; }
.rl-field label { font-size: 0.8rem; color: var(--rl-muted); }
.rl-field select, .rl-field input[type="search"] { font: inherit; padding: 7px 9px; border: 1px solid var(--rl-line); border-radius: 5px; background: var(--rl-surface); color: var(--rl-fg); max-width: 100%; }
.rl-check { flex-direction: row; align-items: center; gap: 8px; padding-bottom: 8px; }
.rl-check label { font-size: 0.9rem; color: var(--rl-fg); }
.rl-detect-status { margin: 10px 2px 6px; color: var(--rl-muted); min-height: 1.2em; }
.rl-detect-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.rl-chip { font: inherit; padding: 6px 12px; border-radius: 99px; border: 1px solid var(--rl-accent); background: transparent; color: var(--rl-accent); cursor: pointer; }
.rl-summary { font-weight: 600; margin: 16px 2px 4px; }
.rl-error { color: var(--rl-bad); }
.rl-yours { margin-top: 8px; }

@media (max-width: 640px) {
  .rl-table th, .rl-table td { padding: 8px; }
  .rl-results td:nth-child(6), .rl-results th:nth-child(6) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rl-page *, .rl-calc * { scroll-behavior: auto !important; transition: none !important; }
}

/* Search */
.rl-search-form { display: flex; gap: 8px; flex-wrap: wrap; max-width: 640px; margin-block: 8px 0; }
.rl-search-form input[type="search"] { flex: 1 1 260px; min-width: 0; font: inherit; padding: 8px 10px; border: 1px solid var(--rl-line); border-radius: 6px; background: var(--rl-surface); color: var(--rl-fg); }
.rl-search-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.rl-search-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.rl-search-list li > a { font-weight: 600; }
.rl-search-kind { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rl-muted); }
.rl-search-list .rl-meta { flex-basis: 100%; }

/* Sortable / filterable tables */
.rl-table th { vertical-align: bottom; }
.rl-th-inner { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; }
.rl-table th.num .rl-th-inner { justify-content: flex-end; }
.rl-sort { all: unset; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: inherit; font: inherit; text-transform: inherit; letter-spacing: inherit; border-radius: 3px; }
.rl-sort:hover { color: var(--rl-fg); }
.rl-sort:focus-visible, .rl-filter-btn:focus-visible { outline: 2px solid var(--rl-accent); outline-offset: 2px; }
.rl-sort-ind { display: inline-block; width: 8px; height: 10px; opacity: 0.35; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M4 0l3 4H1zM4 10L1 6h6z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M4 0l3 4H1zM4 10L1 6h6z'/%3E%3C/svg%3E") center/contain no-repeat; }
th[aria-sort="ascending"] .rl-sort-ind, th[aria-sort="descending"] .rl-sort-ind { opacity: 1; color: var(--rl-accent); }
th[aria-sort="ascending"] .rl-sort-ind {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M4 1l3.5 5h-7z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M4 1l3.5 5h-7z'/%3E%3C/svg%3E"); }
th[aria-sort="descending"] .rl-sort-ind {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M4 9L.5 4h7z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M4 9L.5 4h7z'/%3E%3C/svg%3E"); }
th[aria-sort="ascending"], th[aria-sort="descending"] { color: var(--rl-fg); }
.rl-filter-btn { display: inline-flex; align-items: center; gap: 2px; padding: 3px 4px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--rl-muted); cursor: pointer; line-height: 1; }
.rl-filter-btn:hover { border-color: var(--rl-line); color: var(--rl-fg); }
th.rl-filtered .rl-filter-btn { color: var(--rl-accent-fg); background: var(--rl-accent); }
.rl-filter-count { font-size: 10px; font-weight: 700; }
.rl-filter-pop { position: fixed; z-index: 100000; min-width: 200px; max-width: min(320px, calc(100vw - 16px)); max-height: min(360px, calc(100vh - 16px)); overflow: auto;
  background: var(--rl-surface, #fff); color: var(--rl-fg, #172027); border: 1px solid var(--rl-line, #d8e0e5); border-radius: 8px; box-shadow: 0 10px 30px rgba(15, 25, 35, 0.18); padding: 10px 12px; font-size: 14px; }
.rl-filter-pop fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.rl-filter-pop legend { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rl-muted, #56646e); padding: 0; margin-bottom: 6px; }
.rl-filter-actions { display: flex; gap: 12px; margin-bottom: 6px; }
.rl-filter-actions button, .rl-linklike { all: unset; cursor: pointer; color: var(--rl-accent, #0b6a84); font-size: 13px; text-decoration: underline; text-underline-offset: 2px; }
.rl-filter-actions button:focus-visible, .rl-linklike:focus-visible { outline: 2px solid var(--rl-accent, #0b6a84); outline-offset: 2px; }
.rl-filter-list { display: grid; gap: 2px; }
.rl-filter-opt { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 4px 2px; border-radius: 4px; cursor: pointer; }
.rl-filter-opt:hover { background: var(--rl-soft, #eef3f5); }
.rl-filter-opt span:nth-child(2) { overflow-wrap: anywhere; }
.rl-filter-n { color: var(--rl-muted, #56646e); font-size: 12px; font-variant-numeric: tabular-nums; }
.rl-empty-row td { text-align: center; color: var(--rl-muted); padding: 16px; }

/* My GPU / Compare */
.rl-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-block: 16px; }
.rl-tile { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid var(--rl-line); border-radius: 8px; background: var(--rl-surface); color: var(--rl-fg); text-decoration: none; min-width: 0; }
a.rl-tile:hover { border-color: var(--rl-accent); }
.rl-tile-num { font-size: 1.8rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; }
.rl-tile-num small { font-size: 0.9rem; font-weight: 500; color: var(--rl-muted); }
.rl-tile-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rl-muted); }
.rl-tile-title { font-weight: 700; }
.rl-compare-table td.rl-win { font-weight: 700; color: var(--rl-ok); background: var(--rl-ok-soft); }
.rl-compare-table tbody th { text-transform: none; letter-spacing: 0; font-size: 0.9rem; color: var(--rl-fg); background: transparent; white-space: normal; font-weight: 600; }
.rl-compare-form .rl-field-wide { flex-basis: 220px; }

/* AI answer card */
.rl-ai-answer { margin-block: 16px 8px; }
.rl-ai-answer .rl-verdict { max-width: 820px; }
.rl-ai-answer .rl-ranked { margin-top: 10px; }
.rl-ai-answer .rl-note { margin: 10px 0 0; font-size: 0.85rem; }
.rl-chip-quiet { border-color: var(--rl-line); color: var(--rl-muted); }

/* Logos and product images (RunLocal_Media) */
.rl-logo { display: inline-grid; place-items: center; flex: none; color: var(--rl-brand, currentColor); line-height: 0; vertical-align: -0.2em; }
.rl-logo svg { display: block; fill: currentColor; }
.rl-logo-mono { --rl-logo-size: 20px; width: var(--rl-logo-size); height: var(--rl-logo-size); border-radius: 6px; background: var(--rl-soft); color: var(--rl-muted); box-shadow: inset 0 0 0 1px var(--rl-line); font: 700 calc(var(--rl-logo-size) * 0.45)/1 system-ui, sans-serif; letter-spacing: -0.03em; }
.rl-with-logo .rl-logo { display: inline-block; vertical-align: -3px; margin-right: 6px; }
.rl-h-logo { display: flex; align-items: center; gap: 10px; }
.rl-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.rl-cell-text { display: flex; flex-direction: column; min-width: 0; }
.rl-cell-text > a { font-weight: 500; }

.rl-hw { position: relative; display: inline-grid; place-items: center; flex: none; overflow: hidden; color: var(--rl-accent-hw, #6b6d72); background: linear-gradient(180deg, #f8f9fb, #eceff4); border-radius: 8px; box-shadow: inset 0 0 0 1px var(--rl-line); line-height: 0; }
.rl-hw svg { display: block; }
.rl-hw img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rl-hw-photo { background: #fff; }
.rl-hw-xs { width: 48px; height: 30px; border-radius: 6px; }
.rl-hw-sm { width: 64px; height: 40px; }
.rl-hw-lg { width: 100%; max-width: 400px; aspect-ratio: 16 / 10; border-radius: 18px; padding: 9%; box-sizing: border-box; }
.rl-hw-lg svg { width: 100%; height: auto; }
.rl-hw-lg.rl-hw-photo { padding: 4%; }
.rl-hw-badge { position: absolute; left: 12px; top: 12px; display: grid; place-items: center; padding: 7px; border-radius: 10px; background: var(--rl-surface); box-shadow: 0 0 0 1px var(--rl-line), 0 2px 6px rgba(20, 25, 40, 0.06); line-height: 0; }

/* Spec sheet head */
.rl-spec { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 16px 40px; align-items: center; }
.rl-spec-body > :first-child { margin-top: 0; }
@media (max-width: 760px) { .rl-spec { grid-template-columns: minmax(0, 1fr); } .rl-hw-lg { max-width: 360px; } }
.rl-table.rl-spec-table tbody th { width: 38%; text-transform: none; letter-spacing: 0; font-family: inherit; font-size: 0.925rem; font-weight: 500; color: var(--rl-muted); background: transparent; white-space: normal; }
.rl-spec-table td .rl-logo { margin-right: 8px; }
.rl-spec-table-wrap { max-width: 760px; }

.rl-title-row { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.rl-title-row h1 { margin: 0 !important; }
@media (max-width: 480px) { .rl-title-row .rl-hw { display: none; } }

.rl-th-product a { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 8px; text-transform: none; letter-spacing: 0; font-family: inherit; font-size: 0.9rem; font-weight: 600; white-space: normal; text-align: right; }
.rl-tile > .rl-hw { margin-bottom: 6px; }
.rl-ranked li > .rl-hw, .rl-ranked li > .rl-logo { order: 0; }
.rl-search-list li.rl-has-icon { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 4px 14px; }
.rl-has-icon > .rl-logo { justify-self: center; }
.rl-search-text { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; }
.rl-search-text > a { font-weight: 600; }
.rl-search-text .rl-meta { flex-basis: 100%; }

/* Products */
.rl-external { display: inline-flex; align-items: center; gap: 6px; }
.rl-external svg { flex: none; }
.rl-external-sm { font-size: 0.85rem; white-space: nowrap; }
.rl-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.rl-product-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 10px; }
.rl-product-list li { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 4px 14px; padding: 12px 14px; border: 1px solid var(--rl-line); border-radius: 12px; background: var(--rl-surface); }
.rl-product-text { display: flex; flex-direction: column; min-width: 0; }
.rl-product-name { font-weight: 600; }
.rl-product-list .rl-meta .rl-logo { vertical-align: -2px; }
.rl-product-text > .rl-external { margin-top: 4px; align-self: flex-start; }
.rl-jump { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; font-size: 0.9rem; }
.rl-products-table td { vertical-align: middle; }
.rl-sources ul { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 0; margin: 0; list-style: none; font-size: 0.85rem; }
.rl-table-wrap { position: relative; } /* keeps visually-hidden labels inside the scroll area */
.rl-products-table td:first-child { min-width: 280px; }
.rl-products-table td:nth-child(4) { min-width: 160px; }
.rl-products-table td:nth-child(2), .rl-products-table td:nth-child(3) { white-space: nowrap; }

/* How to run it (download options) */
.rl-download-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.rl-download-card { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border: 1px solid var(--rl-line); border-radius: 12px; background: var(--rl-surface); min-width: 0; }
.rl-download-card p { margin: 0; overflow-wrap: anywhere; }
.rl-download-kicker { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--rl-accent); }
.rl-copy-row { display: flex; align-items: stretch; gap: 8px; margin-top: 4px; }
.rl-copy-row pre { flex: 1 1 auto; margin: 0; min-width: 0; overflow-x: auto; padding: 10px 14px; }
.rl-copy { flex: none; font: inherit; font-size: 0.85rem; font-weight: 600; padding: 0 14px; border-radius: 8px; border: 1px solid var(--rl-line); background: var(--rl-surface); color: var(--rl-fg); cursor: pointer; }
.rl-copy:hover { border-color: var(--rl-fg); }
.rl-download-card .rl-external { display: inline; }
.rl-download-card .rl-external svg { display: inline; vertical-align: -1px; margin-left: 4px; }
.rl-download-card pre code { font-size: 0.85rem; white-space: pre; }

/* Grade + points tag (see RunLocal_View::grade_badge) */
.rl-gradebox { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; vertical-align: middle; cursor: help; }
.rl-pts { font-size: 0.78rem; line-height: 1; color: var(--rl-muted, #56646e); border: 1px solid var(--rl-line, #d8e0e5); border-radius: 99px; padding: 3px 7px; font-variant-numeric: tabular-nums; }
.rl-pts b { color: var(--rl-fg, #172027); font-weight: 700; }
.rl-verdict .rl-gradebox { flex-direction: column; gap: 6px; flex: none; }
.rl-verdict .rl-pts { font-size: 0.8rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Points breakdown on can-run pages */
.rl-points { max-width: 760px; }
.rl-points-table { width: 100%; border-collapse: collapse; }
.rl-points-table th, .rl-points-table td { padding: 10px 8px; border-bottom: 1px solid var(--rl-line, #d8e0e5); text-align: left; vertical-align: top; }
.rl-points-table th { font-weight: 600; }
.rl-points-table th .rl-meta { display: block; font-weight: 400; font-size: 0.85rem; margin-top: 2px; }
.rl-points-table td.num { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; width: 1%; }
.rl-points-table tfoot th, .rl-points-table tfoot td { border-bottom: 0; font-size: 1.05rem; }
.rl-pts-bar-cell { width: 34%; padding-top: 16px !important; }
.rl-pts-bar { display: block; height: 6px; border-radius: 3px; background: var(--rl-line, #d8e0e5); overflow: hidden; }
.rl-pts-bar > span { display: block; height: 100%; background: var(--rl-ok, #1f7a4a); }
@media (max-width: 560px) { .rl-pts-bar-cell { display: none; } }

/* Calculator: long result lists start collapsed */
.rl-results.rl-collapsed tbody tr:nth-child(n+26) { display: none; }
.rl-more { margin-top: 12px; }

/* Per-variant download links */
.rl-dl-cell { white-space: nowrap; }
.rl-dl-links { display: inline-flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.rl-dl-links .rl-external { font-size: 0.85rem; }
.rl-copy-sm { padding: 3px 9px; font-size: 0.78rem; border-radius: 6px; line-height: 1.3; }
.rl-links-checked { margin-top: 10px; }
