/* Public MSFS and Classic catalogue; Creator and member UI stay separate. */
.riko-catalog { --catalog-ink:var(--riko-ink); --catalog-muted:var(--riko-muted); --catalog-line:var(--riko-line); --catalog-soft:var(--riko-surface-soft); --catalog-teal:var(--riko-action); --catalog-navy:var(--riko-brand-deep); --catalog-flight-chart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 300' fill='none'%3E%3Cg stroke='%23b4dce8' stroke-width='1'%3E%3Cpath d='M0 70H1000M0 150H1000M0 230H1000M180 0V300M380 0V300M580 0V300M780 0V300M980 0V300' opacity='.16'/%3E%3Ccircle cx='740' cy='130' r='120' opacity='.4'/%3E%3Ccircle cx='740' cy='130' r='92' opacity='.3' stroke-dasharray='2 10'/%3E%3Cpath d='M740 0V38M740 222V270M610 130H648M832 130H875M654 44L667 57M813 203L826 216M654 216L667 203M813 57L826 44' opacity='.55'/%3E%3C/g%3E%3Cpath d='M70 278C250 282 292 114 452 106S635 248 805 220S924 112 1000 98' stroke='%2391e3df' stroke-width='2' stroke-dasharray='6 9' opacity='.65'/%3E%3Cpath d='M290 300C397 175 576 33 1000 52' stroke='%23f1c399' stroke-width='1.5' opacity='.45'/%3E%3Cg stroke='%2391e3df' stroke-width='2'%3E%3Cpath d='m450 100 6 6-6 6-6-6zM812 214l6 6-6 6-6-6z' fill='%23175069'/%3E%3C/g%3E%3Cg transform='translate(740 124) rotate(28)' fill='%23d8edf5' opacity='.72'%3E%3Cpath d='M0-58C4-58 6-49 6-40V-14L54 14V22L6 7V35L21 47V53L0 45-21 53V47L-6 35V7L-54 22V14L-6-14V-40C-6-49-4-58 0-58Z'/%3E%3C/g%3E%3C/svg%3E"); width:100%; min-width:0; margin:0; color:var(--catalog-ink); background:radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--riko-surface-soft) 50.2%, transparent), transparent 45%), radial-gradient(ellipse at 0% 75%, color-mix(in srgb, var(--riko-surface-soft) 31.37%, transparent), transparent 34%); font:15px/1.55 "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif; text-align:left }
.riko-catalog *, .riko-catalog *::before, .riko-catalog *::after { box-sizing:border-box }
.riko-catalog :is(h1, h2, h3, p, form, dl, dd) { margin:0; font-family:inherit; color:inherit }
.riko-catalog :is(button, input, select) { font-family:inherit; font-size:inherit }
.riko-catalog a, .riko-catalog a:hover { color:inherit; text-decoration:none }
.riko-catalog :is(a, button, input, select, summary):focus-visible, .riko-catalog__map-marker:focus-visible { outline:3px solid var(--riko-focus); outline-offset:3px }
.riko-catalog [hidden], .riko-addon__hub-actions [hidden], .riko-catalog__facet-options [hidden], .riko-catalog__facet [hidden] { display:none!important }
.riko-catalog__channel-bar { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-bottom:24px }
.riko-catalog__channels { display:flex; flex-wrap:wrap; gap:4px; padding:4px; border:1px solid var(--catalog-line); border-radius:8px; background:var(--riko-surface) }
.riko-catalog__channels a { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:8px 13px; border:1px solid transparent; border-radius:5px; font-size:13px; font-weight:600 }
.riko-catalog__channels a:hover { background:var(--catalog-soft) }
.riko-catalog__channels a[aria-current="page"] { border-color:var(--riko-action-line); background:var(--riko-action-soft); color:var(--riko-link) }
.riko-catalog__channel-note { flex:1 1 240px; font-size:12px; color:var(--catalog-muted)!important }
.riko-catalog__sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
.riko-catalog__icon { display:inline-block; flex:0 0 20px; width:20px; height:20px; vertical-align:middle }
.riko-catalog__heading { display:flex; gap:20px 32px; align-items:flex-end; justify-content:space-between; margin-bottom:24px; padding-bottom:22px; border-bottom:1px solid var(--catalog-line) }
.riko-catalog__heading > div { min-width:0; max-width:650px }
.riko-catalog__heading h1 { color:var(--catalog-ink)!important }
.riko-catalog__heading .riko-catalog__eyebrow { color:var(--riko-ink)!important }
.riko-catalog__heading .riko-catalog__lead { color:var(--catalog-muted)!important }
.riko-catalog__eyebrow { color:var(--catalog-muted)!important; font-size:11px; line-height:1.4; font-weight:700; letter-spacing:.1em; text-transform:uppercase }
.riko-catalog h1 { margin:5px 0 0; font-size:clamp(30px, 2.5vw, 40px); line-height:1.2; font-weight:740; letter-spacing:-.025em; text-wrap:balance }
.riko-catalog__lead { margin-top:11px!important; color:var(--catalog-muted)!important; font-size:15px }
.riko-catalog__simulators { display:inline-flex; flex-shrink:0; flex-wrap:wrap; gap:4px; padding:4px; border:1px solid var(--catalog-line); border-radius:8px; background:var(--riko-surface-soft) }
.riko-catalog__simulators a { display:flex; min-height:44px; padding:9px 14px; align-items:center; border:1px solid transparent; border-radius:5px; font-size:13px; font-weight:650; white-space:nowrap; color:var(--catalog-ink) }
.riko-catalog__simulators a:hover { color:var(--riko-action-hover); background:var(--riko-surface) }
.riko-catalog__simulators a[aria-current] { background:var(--riko-action); color:var(--riko-action-contrast); border-color:var(--riko-action) }
.riko-catalog__heading-actions { display:flex; flex:0 1 auto; flex-direction:column; align-items:flex-end; gap:6px }
.riko-catalog__heading .riko-catalog__universe-link { display:inline-flex; width:fit-content; max-width:100%; min-height:44px; align-items:center; gap:7px; padding:7px 11px; border:1px solid color-mix(in srgb, var(--riko-inverse) 24%, transparent); border-radius:6px; color:var(--riko-inverse); background:color-mix(in srgb, var(--riko-brand-deep) 28%, transparent); font-size:12px; font-weight:500; line-height:1.4; text-underline-offset:3px }
.riko-catalog__heading .riko-catalog__universe-link:hover { color:var(--riko-inverse); background:color-mix(in srgb, var(--riko-brand-deep) 48%, transparent); text-decoration:underline }
.riko-catalog__universe-link .riko-catalog__icon { flex-basis:16px; width:16px; height:16px }
.riko-catalog__universe-short, .riko-catalog__search-button-icon { display:none }
.riko-catalog__search-form { display:block }
@media (min-width: 1101px) {
  .riko-catalog__search-form { width:100%; max-width:48rem }
}
.riko-catalog__search-field { display:flex; min-width:0; gap:12px; align-items:center; padding:4px 4px 4px 17px; border:1px solid var(--riko-line); border-radius:8px; background:var(--riko-surface) }
.riko-catalog__search-field:focus-within { border-color:var(--riko-action); box-shadow:0 0 0 2px color-mix(in srgb, var(--riko-action) 7.45%, transparent) }
.riko-catalog__search-field > svg { color:var(--riko-text) }
.riko-catalog__search-field input { flex:1 1 0; width:0; min-width:0; height:42px; padding:6px 0; border:0; background:transparent; color:var(--catalog-ink); outline-offset:-2px; box-shadow:none }
.riko-catalog__search-field input::placeholder { color:var(--riko-muted); opacity:1 }
.riko-catalog__button { display:inline-flex; flex-shrink:0; justify-content:center; align-items:center; gap:10px; min-height:44px; padding:10px 17px; border:1px solid var(--riko-action-line); border-radius:6px; background:var(--riko-surface); color:var(--catalog-ink); font-size:13px!important; font-weight:700; line-height:1.4; white-space:nowrap; word-break:normal; overflow-wrap:normal; cursor:pointer }
.riko-catalog__button:hover { border-color:var(--riko-action-line); background:var(--riko-action-soft-hover) }
.riko-catalog__button--primary { border-color:var(--riko-action); background:linear-gradient(110deg, var(--riko-action), var(--riko-action)); color:var(--riko-action-contrast)!important; box-shadow:0 3px 8px color-mix(in srgb, var(--riko-action) 9.41%, transparent) }
.riko-catalog__button--primary:hover { border-color:var(--riko-action-hover); background:linear-gradient(110deg, var(--riko-action-hover), var(--riko-action-hover)); color:var(--riko-action-contrast) }
.riko-catalog__sort-field { display:flex; flex-direction:column; gap:8px; min-width:0; margin-bottom:12px }
.riko-catalog__sort-field select { width:100%; min-width:0; height:44px; padding:8px 28px 8px 10px; border:1px solid var(--catalog-line); border-radius:6px; background-color:var(--riko-surface); color:var(--catalog-ink); font-size:13px }
.riko-catalog__sort-submit { min-height:44px; padding:8px 12px; border:1px solid var(--catalog-line); background:var(--riko-surface); color:var(--catalog-ink); border-radius:5px; cursor:pointer }
#tm-content .riko-catalog :is(button, input, select) { font-family:"Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif!important; letter-spacing:normal }
#tm-content .riko-catalog .riko-catalog__button--primary { background:linear-gradient(110deg, var(--riko-action), var(--riko-action))!important; border-color:var(--riko-action)!important; color:var(--riko-action-contrast) }
#tm-content .riko-catalog .riko-catalog__button--primary:hover { background:linear-gradient(110deg, var(--riko-action-hover), var(--riko-action-hover))!important; border-color:var(--riko-action-hover)!important; color:var(--riko-action-contrast) }
#tm-content .riko-catalog :is(a, button, input, select, summary):focus-visible { outline:3px solid var(--riko-focus)!important; outline-offset:3px }
#tm-content .riko-catalog .riko-catalog__search-field input[type="search"] { border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; color:var(--catalog-ink)!important; font-weight:400 }
#tm-content .riko-catalog .riko-catalog__sort-field select { border-color:var(--catalog-line)!important; border-radius:6px!important; background-color:var(--riko-surface)!important; color:var(--catalog-ink)!important; font-weight:400 }
.riko-catalog__layout { display:grid; grid-template-columns:216px minmax(0, 1fr); gap:24px; padding-top:24px }
.riko-catalog__sidebar, .riko-catalog__results, .riko-addon__heading > div, .riko-addon__section > :not(h2), .riko-addon__related-identity { min-width:0 }
.riko-catalog__filters { padding:10px; border:1px solid var(--riko-line); border-radius:8px; background:var(--riko-surface) }
.riko-catalog__filters > summary, .riko-addon__identity :is([data-rating-score], [data-rating-count]):empty, .riko-addon__identity [data-rating-score]:empty ~ .riko-addon__rating-separator, .riko-addon[data-install-queue-eligible="true"] .riko-addon__device-help > p:first-child, .riko-addon__contents[open] > summary { display:none }
#tm-content .riko-catalog__filter-content h2 { margin:10px 10px 8px; font-size:14px; line-height:1.4; font-weight:700; color:var(--catalog-ink); letter-spacing:normal; text-transform:none }
.riko-catalog__categories { display:grid; gap:4px }
.riko-catalog__categories a { display:flex; justify-content:space-between; gap:8px; align-items:center; min-height:44px; padding:10px; border-radius:6px; font-size:13px; line-height:1.4; font-weight:540 }
.riko-catalog__categories a:hover, .riko-catalog__pagination a:hover, .riko-catalog__facet-options a:hover { background:var(--riko-action-soft-hover) }
.riko-catalog__categories a[aria-current] { background:var(--riko-action-soft); color:var(--riko-link); font-weight:720; box-shadow:inset 3px 0 0 var(--catalog-teal) }
.riko-catalog__categories a:not([aria-current]):hover { background:var(--riko-surface-soft); color:var(--riko-ink) }
.riko-catalog__filter-count { display:inline-grid; place-items:center; min-width:23px; height:23px; padding:0 6px; border-radius:12px; background:var(--riko-action); color:var(--riko-action-contrast); font-size:12px; font-variant-numeric:tabular-nums }
.riko-catalog__category-count { display:inline-grid; place-items:center; flex:0 0 auto; min-width:23px; min-height:23px; padding:1px 5px; border-radius:5px; background:var(--riko-surface-soft); color:var(--riko-text); font-size:12px; line-height:1.4; font-weight:600; font-variant-numeric:tabular-nums }
.riko-catalog__reset { display:inline-block; margin:14px 12px 0; padding:5px 0; font-size:12px; text-decoration:underline!important; text-underline-offset:3px }
.riko-catalog__legacy-note { margin:24px 12px 0; padding-top:20px; border-top:1px solid var(--catalog-line); color:var(--catalog-muted); font-size:12px }
.riko-catalog__legacy-note a { display:inline-block; margin-top:8px; color:var(--catalog-ink); font-weight:650 }
.riko-catalog__legacy-note a:hover { text-decoration:underline }
.riko-catalog__legacy-note svg { width:15px; height:15px; margin-left:5px }
.riko-catalog__results-heading { display:flex; flex-wrap:wrap; min-height:42px; gap:12px; justify-content:space-between; align-items:center; margin-bottom:12px; color:var(--catalog-muted); font-size:13px }
.riko-catalog__results-heading strong { color:var(--catalog-ink) }
.riko-catalog__active-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:12px }
.riko-catalog__search-chip { display:inline-flex; min-height:40px; max-width:100%; align-items:center; gap:8px; padding:7px 11px; border:1px solid var(--riko-line); border-radius:6px; background:var(--riko-surface-soft); color:var(--riko-ink); font-size:12px }
.riko-catalog__search-chip:hover, .riko-addon__gallery-controls button:hover:not(:disabled) { border-color:var(--riko-action-hover); background:var(--riko-action-soft-hover) }
.riko-catalog__clear-filters { display:inline-flex; min-height:40px; align-items:center; padding:6px 4px; color:var(--catalog-muted)!important; text-decoration:underline!important; text-underline-offset:3px; font-size:12px }
.riko-catalog__search-chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.riko-catalog__search-chip svg { width:14px; height:14px }
.riko-catalog__grid, .riko-addon__related-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px }
.riko-catalog__card { min-width:0; overflow:hidden; border:1px solid var(--riko-line); border-radius:10px; background:var(--riko-surface); transition:transform .22s ease, border-color .16s, box-shadow .22s ease }
.riko-catalog__card:hover, .riko-addon__related-link:hover { border-color:var(--riko-action-line); box-shadow:0 4px 14px color-mix(in srgb, var(--riko-action) 7.84%, transparent) }
.riko-catalog__card-link { display:flex; height:100%; flex-direction:column }
.riko-catalog__card-link:focus-visible { outline-offset:-4px!important }
.riko-catalog__card-image { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--riko-surface-soft) }
.riko-catalog__card-image > img { width:100%; height:100%; object-fit:cover }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  /* Expansion keeps the original hit area covered, including along the lower edge. */
  .riko-catalog__card:hover { transform:scale(1.01); box-shadow:0 10px 22px color-mix(in srgb, var(--riko-action) 14%, transparent) }
  .riko-catalog__card-image > img { transition:transform .35s ease }
  .riko-catalog__card:hover .riko-catalog__card-image > img { transform:scale(1.035) }
}
.riko-catalog__card-badge { position:absolute; z-index:1; top:12px; left:12px; max-width:calc(100% - 24px); padding:5px 10px; border:1px solid currentColor; border-radius:4px; color:var(--riko-success); background:var(--riko-success-surface); font-size:12px; font-weight:700; line-height:1.4; pointer-events:none }
.riko-catalog__card-badge[data-catalog-badge="updated"] { color:var(--riko-link); background:var(--riko-action-soft) }
.riko-catalog__no-cover { display:flex; height:100%; align-items:center; justify-content:center; color:var(--riko-on-brand-muted); font-size:12px; background:linear-gradient(90deg, color-mix(in srgb, var(--riko-brand-deep) 92.94%, transparent), color-mix(in srgb, var(--riko-brand) 90.2%, transparent)), var(--catalog-flight-chart) center / cover; background-color:var(--riko-brand-deep) }
.riko-catalog__card-simulators { position:absolute; left:12px; bottom:12px; display:flex; flex-wrap:wrap; gap:5px }
.riko-catalog__card-simulators span { padding:4px 7px; border:1px solid color-mix(in srgb, var(--riko-line) 25.88%, transparent); border-radius:4px; color:var(--riko-on-brand); background:color-mix(in srgb, var(--riko-brand-deep) 92.94%, transparent); font-size:10px; font-weight:700; letter-spacing:.02em }
.riko-catalog__card-body, .riko-addon__related-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:18px }
.riko-catalog__card-category { margin-bottom:6px!important; color:var(--riko-ink)!important; font-size:11px; font-weight:650 }
.riko-catalog__card h2 { font-size:20px; line-height:1.3; font-weight:740; letter-spacing:-.02em; overflow-wrap:anywhere }
.riko-catalog__card-author { margin-top:6px!important; color:var(--catalog-muted)!important; font-size:12px }
.riko-catalog__card-description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:12px!important; color:var(--riko-text)!important; font-size:14px; line-height:1.6 }
.riko-catalog-card-downloads { margin:0; color:var(--catalog-muted); font-size:13px; line-height:1.5; font-variant-numeric:tabular-nums }
.riko-catalog__card-footer { display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; margin-top:auto; padding-top:18px; color:var(--catalog-muted); font-size:11px }
.riko-catalog__card-date { font-size:12px }
.riko-catalog__card-version { display:block; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis }
.riko-catalog__card-action { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding-top:11px; border-top:1px solid var(--riko-action-line); color:var(--riko-link); font-size:13px; font-weight:650 }
.riko-catalog__card-footer svg { width:18px; height:18px; color:var(--riko-text) }
/* palette-exception: semantic-state: Green identifies confirmed availability or completed operations. */
.riko-catalog__empty { position:relative; isolation:isolate; display:flex; min-height:280px; padding:32px 24px; border:1px solid var(--riko-line); border-radius:16px; align-items:center; justify-content:center; flex-direction:column; text-align:center; background:radial-gradient(ellipse at 100% 10%, var(--riko-surface-soft), transparent 60%), linear-gradient(125deg, var(--riko-surface-soft), var(--riko-success-surface)) }
.riko-catalog__empty::before { content:""; position:absolute; z-index:-1; inset:0; border-radius:inherit; pointer-events:none; background:var(--catalog-flight-chart) right center / auto 300px no-repeat; opacity:.16 }
.riko-catalog__empty > svg { width:32px; height:32px; flex-basis:32px; color:var(--riko-text); margin-bottom:19px }
.riko-catalog__empty h2 { font-size:21px; line-height:1.35; letter-spacing:-.02em; font-weight:680 }
.riko-catalog__empty p { max-width:465px; margin-top:10px; color:var(--catalog-muted); font-size:14px }
.riko-catalog__empty .riko-catalog__button { margin-top:24px }
.riko-catalog__pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:30px; padding-top:24px; border-top:1px solid var(--catalog-line) }
.riko-catalog__pagination a { display:grid; place-items:center; min-width:40px; min-height:44px; padding:8px; border:1px solid var(--catalog-line); border-radius:5px; font-size:13px }
.riko-catalog__pagination a[aria-current] { border-color:var(--catalog-navy); color:var(--riko-action-contrast); background:linear-gradient(120deg, var(--riko-action), var(--riko-action)) }
.riko-catalog__guidance { margin-top:32px; padding-block:24px; border-top:1px solid var(--riko-line); overflow-wrap:anywhere }
.riko-catalog__guidance h2 { font-size:20px; line-height:1.35 }
.riko-catalog__guidance p { max-width:78ch; margin-top:10px; color:var(--riko-muted) }
.riko-catalog__guidance nav { display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:12px }
.riko-catalog__guidance a { display:inline-flex; align-items:center; min-height:44px; color:var(--riko-link); text-decoration:underline; text-underline-offset:3px }
.riko-catalog__guidance a:hover { color:var(--riko-action-hover) }

/* Add-on detail: the reading column continues below the gallery beside installation. */
.riko-catalog.riko-addon { background:none }
.riko-addon > .riko-catalog__channel-bar { margin-bottom:18px }
.riko-addon__back { display:inline-flex; min-height:44px; align-items:center; gap:8px; color:var(--catalog-muted)!important; font-size:13px }
.riko-addon__back svg, .riko-catalog__facet-search button svg { width:16px; height:16px }
.riko-addon__back:hover { text-decoration:underline!important }
.riko-addon__heading { grid-area:heading; min-width:0; margin:0; padding:20px; border:1px solid var(--catalog-line); border-top:3px solid var(--catalog-teal); border-radius:12px; background:var(--riko-surface-soft); color:var(--catalog-ink) }
.riko-addon__heading-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-bottom:10px }
.riko-addon__heading .riko-catalog__eyebrow { color:var(--catalog-muted)!important; font-size:13px; font-weight:600; letter-spacing:0; text-transform:none }
.riko-addon h1 { font-size:clamp(27px, 2.5vw, 38px); overflow-wrap:anywhere; text-wrap:pretty }
#tm-content .riko-addon__heading h1 { margin:0!important; color:var(--catalog-ink)!important; font-size:clamp(28px, 2.6vw, 38px)!important; font-weight:700!important; line-height:1.2!important; letter-spacing:-.025em!important }
.riko-addon__identity { display:flex; flex-wrap:wrap; align-items:center; gap:4px 22px; margin-top:10px }
.riko-addon__author { color:var(--catalog-muted)!important; font-size:14px; line-height:1.6; overflow-wrap:anywhere }
.riko-addon__author strong { color:var(--catalog-ink); font-weight:600 }
.riko-addon__identity .riko-catalog-feedback-link { margin:0; min-height:36px; color:var(--riko-text) }
.riko-addon__simulators { display:flex; flex-wrap:wrap; gap:6px 12px; min-width:0 }
.riko-addon__simulators span { padding:4px 9px; border:1px solid var(--riko-line); border-radius:5px; color:var(--riko-ink); background:var(--riko-surface-soft); font-size:12px; font-weight:650 }
.riko-addon__layout { display:grid; grid-template-columns:minmax(0, 1fr) 340px; grid-template-areas:"heading install" "gallery install" "content install"; grid-template-rows:auto auto 1fr; gap:18px 24px; align-items:start }
/* The first published photo belongs to the heading; the full gallery remains
   available through native links when JavaScript is unavailable. */
.riko-addon__heading-photo, .riko-addon__heading-shade, .riko-addon__heading-enlarge { display:none }
@media screen and (forced-colors:none) {
body #tm-content .riko-addon .riko-addon__heading--photo {
  --catalog-ink:var(--riko-inverse);
  --catalog-muted:var(--riko-on-brand-muted);
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center;
  min-height:430px; padding:34px 36px 72px;
  background:var(--riko-brand-deep)!important; color:var(--riko-inverse);
}
.riko-addon__heading--photo::before, .riko-addon__heading--photo::after { content:none!important }
body #tm-content .riko-addon__heading--photo > .riko-addon__heading-photo {
  display:block; position:absolute; z-index:-2; inset:0; width:100%; height:100%; max-width:none;
  object-fit:cover; object-position:57% 58%; border:0; border-radius:0;
}
.riko-addon__heading-shade {
  display:block; position:absolute; z-index:-1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--riko-brand-deep) 84%,transparent),
    color-mix(in srgb,var(--riko-brand-deep) 74%,transparent) min(640px,100%),
    color-mix(in srgb,var(--riko-brand-deep) 4%,transparent)),
    linear-gradient(0deg,color-mix(in srgb,var(--riko-brand-deep) 45%,transparent),transparent 55%);
}
body #tm-content .riko-addon__heading--photo h1 { max-width:620px; color:var(--riko-inverse)!important; font-size:clamp(30px,2.4vw,41px)!important; line-height:1.12!important }
.riko-addon__heading--photo .riko-addon__intro { max-width:600px; font-size:16px; line-height:1.65 }
body #tm-content .riko-addon__heading--photo :is(.riko-addon__intro,.riko-addon__author,.riko-addon__author a,.riko-addon__back,.riko-catalog__eyebrow,.riko-addon__identity) { color:var(--riko-inverse)!important }
.riko-addon__heading--photo .riko-library-actions { margin-top:4px }
body #tm-content .riko-addon__heading-enlarge {
  position:absolute; right:20px; bottom:18px; display:flex; align-items:center; gap:9px;
  min-height:42px; padding:8px 12px; border:1px solid color-mix(in srgb,var(--riko-inverse) 65%,transparent);
  border-radius:7px; color:var(--riko-inverse); background:color-mix(in srgb,var(--riko-brand-deep) 80%,transparent);
  font-size:12px; text-decoration:none;
}
.riko-addon__heading-enlarge > svg { width:18px; height:18px }
body #tm-content .riko-addon .riko-addon__heading-enlarge:focus-visible { outline-color:var(--riko-focus-on-brand)!important; outline-offset:3px }
}
/* Breadcrumbs retain their semantic list and source URLs. */
body.riko-native .riko-breadcrumbs--addon { margin:0 0 10px; padding-block:0; font-size:13px; line-height:1.5 }
body.riko-native .riko-breadcrumbs--addon ol { gap:6px 12px; align-items:center }
.riko-breadcrumbs--addon li { display:flex; align-items:center; gap:12px; min-width:0 }
.riko-breadcrumbs--addon li:last-child { flex:1 }
.riko-breadcrumbs--addon a { display:inline-flex; align-items:center; min-height:32px; color:var(--riko-muted); text-decoration:none; white-space:nowrap }
.riko-breadcrumbs--addon a:hover { color:var(--riko-link); text-decoration:underline; text-underline-offset:3px }
.riko-breadcrumbs--addon [aria-current="page"] { overflow:hidden; color:var(--riko-text); font-weight:600; text-overflow:ellipsis; white-space:nowrap }
.riko-breadcrumbs__separator { width:6px; height:6px; flex:0 0 6px; border-block-start:1px solid var(--riko-muted); border-inline-end:1px solid var(--riko-muted); transform:rotate(45deg); opacity:.65 }
.riko-addon__media { grid-area:gallery; min-width:0 }
.riko-addon__main { grid-area:content; min-width:0; padding:0 }
/* All published photos open the same native fullscreen gallery. */
.riko-addon__gallery { width:100%; min-width:0; max-width:100%; margin-inline:auto; padding:18px; scroll-margin-top:24px; border:1px solid var(--catalog-line); border-radius:12px; background:var(--riko-surface) }
.riko-addon__gallery-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:14px }
#tm-content .riko-addon__gallery-heading h2 { margin:0; padding:0; border:0; font-size:20px; line-height:1.3 }
.riko-addon__gallery-heading > p { margin:0; color:var(--catalog-muted); font-size:12px }
.riko-catalog .riko-addon__gallery-caption { margin:12px 0 0; color:var(--catalog-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere }
.riko-addon__related-action svg, .riko-addon__related-browse svg { width:18px; height:18px }
.riko-addon__thumbnails { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0; padding:0 }
.riko-addon__thumbnails a { position:relative; min-width:0; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--riko-line-strong); border-radius:7px; background:var(--riko-surface-soft); cursor:zoom-in }
.riko-addon__thumbnails a:hover { border-color:var(--riko-action) }
#tm-content .riko-addon :is(.riko-addon__heading, .riko-addon__gallery) a:focus-visible { outline-color:var(--riko-focus)!important; outline-offset:-3px }
#tm-content .riko-addon .riko-addon__thumbnails a:focus-visible { outline-offset:2px!important }
.riko-addon__thumbnails img, .riko-addon__related-preview img { display:block; width:100%; height:100%; object-fit:cover }
.riko-addon__thumbnail-index { position:absolute; right:4px; bottom:4px; min-width:19px; padding:1px 4px; border-radius:3px; background:color-mix(in srgb, var(--riko-brand-deep) 90.98%, transparent); color:var(--riko-on-brand); font-size:10px; text-align:center }
.riko-addon__thumbnail-error { display:grid; height:100%; align-items:center; padding:5px 8px 17px; color:var(--catalog-muted); font-size:11px; line-height:1.3; text-align:center }
.riko-addon__no-image { display:grid; min-height:64px; place-items:center; border:1px solid var(--catalog-line); border-radius:9px; color:var(--catalog-muted); background:var(--riko-surface-soft); font-size:13px }
.riko-addon__aside { grid-area:install; min-width:0; align-self:stretch; position:relative }
@media (min-width: 761px) {
  /* Clip horizontal overflow without creating a sticky scroll container. */
  body#tm-container:not(.uk-offcanvas-page):has(.riko-addon) { overflow-x:clip }
}
.riko-addon__install { padding:24px; border:1px solid var(--catalog-line); border-top:3px solid var(--catalog-teal); border-radius:12px; background:var(--riko-surface-soft) }
.riko-addon__install h2 { padding-bottom:14px; border-bottom:1px solid var(--riko-line); font-size:19px; line-height:1.3; font-weight:700; letter-spacing:-.02em }
.riko-addon__install h2, .riko-addon__comments { scroll-margin-top:24px }
.riko-addon__download { width:100%; margin-top:16px; padding:12px; white-space:normal; font-size:13px!important }
.riko-addon__download > svg { width:17px; height:17px }
.riko-addon__download-label { display:flex; flex-direction:column; gap:4px; min-width:0 }
.riko-addon__download-label > small { font-size:12px; font-weight:450; line-height:1.4 }
.riko-addon__install-help, .riko-addon__hub-status { margin-top:12px!important; color:var(--catalog-muted)!important; font-size:13px; line-height:1.6 }
.riko-addon__jumbo { margin:14px 0; padding:14px 14px 6px; border:1px solid var(--riko-line); border-radius:8px; background:var(--riko-surface-soft); font-size:13px; line-height:1.55; overflow-wrap:anywhere }
.riko-addon__jumbo .riko-addon__jumbo-state { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:5px 12px; margin:0 0 10px; color:var(--catalog-ink); font-size:14px }
.riko-addon__jumbo-label { color:var(--riko-text); font-size:12px }
.riko-addon__jumbo-state strong { font-weight:750 }
/* palette-exception: semantic-state: Green identifies confirmed availability or completed operations. */
.riko-addon__jumbo--active { border-color:var(--riko-line-strong); background:var(--riko-success-surface) }
.riko-addon__jumbo--active .riko-addon__jumbo-state strong, .riko-addon__device-help > p:first-child { color:var(--riko-ink) }
/* palette-exception: semantic-state: Amber identifies incomplete work or items that require attention. */
.riko-addon__jumbo--unknown, .riko-addon__jumbo--expired { background:var(--riko-warning-surface); border-color:var(--riko-warning) }
.riko-addon__jumbo .riko-addon__jumbo-help { margin:0; color:var(--riko-ink) }
.riko-addon__jumbo--member .riko-addon__jumbo-help, .riko-addon__jumbo--active .riko-addon__jumbo-help { font-weight:650 }
.riko-addon__jumbo .riko-addon__jumbo-expiration, .riko-addon__jumbo .riko-addon__jumbo-benefit { margin:8px 0 0; color:var(--riko-text) }
.riko-addon__jumbo-links { display:flex; flex-wrap:wrap; align-items:center; column-gap:18px; margin-top:5px }
.riko-addon__jumbo-links a, .riko-addon__jumbo-links a:hover { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:var(--riko-action-hover); font-weight:650; text-decoration:underline; text-underline-offset:3px }
.riko-addon__jumbo-links a:focus-visible { outline:2px solid var(--riko-focus); outline-offset:3px; border-radius:2px }
.riko-addon__jumbo-links .riko-addon__jumbo-offer span { font-size:17px; text-decoration:none }
.riko-addon__hub-status { padding:10px; border-left:2px solid var(--catalog-teal); background:var(--riko-surface-soft) }
.riko-addon__hub-status > p { margin:0 }
.riko-addon__hub-status > p + p { margin-top:6px }
.riko-addon__hub-status .riko-addon__hub-status-title { color:var(--catalog-ink); font-weight:700; font-size:15px }
.riko-addon__hub-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px }
.riko-addon__hub-actions .riko-catalog__button { flex:1 1 180px; min-width:0; min-height:44px; padding:10px 12px; font-size:13px; line-height:1.4; text-align:center }
.riko-addon__unavailable { margin-top:18px!important; padding:12px; border-radius:5px; color:var(--catalog-muted)!important; background:var(--catalog-soft); font-size:13px }
.riko-addon__facts { display:grid; grid-template-columns:minmax(0, 1fr); gap:12px; margin-top:18px!important; padding-top:16px; border-top:1px solid var(--catalog-line) }
.riko-addon__facts > div { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); align-items:baseline; gap:12px; font-size:14px; line-height:1.55 }
.riko-addon__facts dt { color:var(--catalog-muted); font-weight:400 }
.riko-addon__facts dd { text-align:right; font-weight:650; overflow-wrap:anywhere }
.riko-addon__credits { margin-bottom:18px!important; font-size:14px; line-height:1.7 }
.riko-addon__credits dt { color:var(--catalog-muted); font-size:13px; font-weight:400 }
.riko-addon__credits dd { overflow-wrap:anywhere; white-space:pre-line }
.riko-addon__device-help { margin-top:12px; font-size:14px; line-height:1.65 }
.riko-addon[data-install-queue-eligible="true"] .riko-addon__device-help { margin-top:0 }
.riko-addon .riko-hub-onboarding { margin-top:16px; padding-top:12px; border-top:1px solid var(--catalog-line); color:var(--riko-ink); font-size:13px; line-height:1.7 }
.riko-addon .riko-hub-onboarding > summary { position:relative; display:flex; min-height:44px; align-items:center; gap:10px; padding-right:25px; list-style:none; font-size:13px; font-weight:650; color:var(--riko-link); cursor:pointer }
.riko-addon .riko-hub-onboarding > summary::-webkit-details-marker, .riko-addon__contents > summary::-webkit-details-marker { display:none }
.riko-addon .riko-hub-onboarding > summary::after { content:""; position:absolute; right:5px; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); pointer-events:none }
.riko-addon .riko-hub-onboarding[open] > summary::after, .riko-addon__contents[open] > summary::after { transform:rotate(225deg) }
.riko-addon .riko-hub-onboarding ol { margin:10px 0 0; padding-left:20px }
.riko-addon .riko-hub-onboarding li + li { margin-top:8px }
.riko-addon .riko-hub-onboarding a, .riko-addon__prose a { color:var(--riko-link); text-decoration:underline; text-underline-offset:3px }
.riko-addon .riko-hub-onboarding__notice { margin-top:12px!important; color:var(--catalog-muted)!important; font-size:11px }
.riko-addon__section-nav { display:flex; flex-wrap:wrap; gap:4px 18px; margin-top:0; padding:4px 0 10px; border-bottom:1px solid var(--riko-line) }
.riko-addon__contents > summary { position:relative; display:flex; min-height:44px; align-items:center; padding:8px 25px 8px 0; color:var(--catalog-ink); font-size:14px; font-weight:650; list-style:none; cursor:pointer }
.riko-addon__contents > summary::after { content:""; position:absolute; right:5px; top:calc(50% - 6px); width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); pointer-events:none }
.riko-addon__section-nav a { display:inline-flex; min-height:44px; align-items:center; color:var(--riko-link); font-size:13px; font-weight:650 }
.riko-addon__section-nav a:hover { color:var(--riko-action-hover); text-decoration:underline; text-underline-offset:5px }
.riko-addon__section { padding:26px 0; border-bottom:1px solid var(--catalog-line); scroll-margin-top:24px }
.riko-addon__section:last-child { border-bottom:0 }
.riko-addon__section > h2 { margin:0 0 14px; padding-left:13px; border-left:3px solid var(--riko-brand); color:var(--riko-ink); font-size:19px; line-height:1.4; font-weight:720; letter-spacing:-.02em }
.riko-addon__intro { max-width:88ch; margin-top:12px!important; color:var(--riko-ink)!important; font-size:17px; line-height:1.65 }
.riko-addon__prose { max-width:88ch; color:var(--riko-ink); font-size:16px; line-height:1.75; overflow-wrap:anywhere }
.riko-addon__prose > :last-child { margin-bottom:0 }
.riko-addon__prose :is(p, ul, ol, h1, h2, h3, blockquote) { margin:0 0 14px }
.riko-addon__prose :is(h1, h2, h3) { margin-top:24px; font-size:19px; font-weight:700; letter-spacing:-.015em }
.riko-addon__prose ul, .riko-addon__prose ol { padding-left:23px }
.riko-addon__prose hr { border:0; border-top:1px solid var(--catalog-line); margin:25px 0 }
.riko-addon__prose pre { max-width:100%; overflow-x:auto }
.riko-addon__prose .riko-description-video { width:100%; max-width:100%; margin:24px 0 }
.riko-addon__prose .riko-description-video > iframe { display:block; width:100%; max-width:100%; height:auto; min-height:200px; aspect-ratio:16 / 9; border:1px solid var(--riko-line); border-radius:8px; background:var(--riko-surface-soft) }
.riko-addon__prose .riko-description-video > iframe:focus-visible { outline:3px solid var(--riko-focus); outline-offset:3px }
.riko-addon__prose .riko-description-video > figcaption { margin-top:8px; color:var(--riko-text); font-size:13px; line-height:1.5 }
/* Classic prose: retain link contrast and underline on hover. */
.riko-addon[data-catalog-universe="legacy"] .riko-addon__prose a[href] { color:var(--riko-link)!important; text-decoration-line:underline!important; text-decoration-color:currentColor; text-underline-offset:3px }
.riko-addon[data-catalog-universe="legacy"] .riko-addon__prose a[href] :is(span, font, b, strong, em, i, u, small, sup, sub) { color:inherit!important }
.riko-addon__plain { white-space:pre-line }
.riko-addon__license-details > summary { width:fit-content; min-height:44px; align-content:center; color:var(--riko-link); text-decoration:underline; text-underline-offset:3px; cursor:pointer }
.riko-addon__license-details > summary:hover, .riko-catalog__place-sources > summary:hover { color:var(--riko-action-hover) }
.riko-addon__license-details > summary:focus-visible { outline:3px solid var(--riko-focus); outline-offset:3px; border-radius:2px }
.riko-addon__license-details > p { max-width:72ch; margin:8px 0 12px }
.riko-addon__license-details > p:last-child { margin-bottom:16px }

/* Native dialog provides focus containment and Escape semantics without a library. */
.riko-catalog__lightbox { position:fixed; inset:0; width:100%; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; border-radius:0; color:var(--riko-on-brand); background:var(--riko-brand-deep); box-shadow:0 20px 80px #0009 }
.riko-catalog__lightbox[open] { display:grid; grid-template-rows:52px minmax(0, 1fr) auto auto }
.riko-catalog__lightbox::backdrop { background:color-mix(in srgb, var(--riko-brand-deep) 90.98%, transparent) }
.riko-catalog__lightbox-bar { display:flex; justify-content:space-between; align-items:center; padding:4px 12px 4px 18px; color:var(--riko-on-brand-muted); font-size:12px }
.riko-catalog__lightbox button { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; padding:0; border:1px solid color-mix(in srgb, var(--riko-action-line) 39.61%, transparent); border-radius:6px; background:var(--riko-action); color:var(--riko-action-contrast); cursor:pointer }
.riko-catalog__lightbox button:hover { border-color:var(--riko-action-line); background:var(--riko-action-hover); color:var(--riko-action-contrast) }
.riko-catalog__lightbox button:focus-visible { outline-color:var(--riko-focus-on-brand) }
.riko-catalog__lightbox-stage { position:relative; display:flex; min-height:0; width:100%; padding:0 64px; align-items:center; justify-content:center }
.riko-catalog__lightbox-stage > img { display:block; width:100%; height:100%; object-fit:contain }
.riko-catalog__lightbox-stage > button { position:absolute; z-index:1; top:calc(50% - 22px) }
.riko-catalog__image-prev { left:12px }
.riko-catalog__image-next { right:12px }
.riko-catalog__lightbox-stage > p { position:absolute; inset-inline:64px; padding:12px; background:color-mix(in srgb,var(--riko-brand-deep) 92%,transparent); text-align:center; color:var(--riko-on-brand-muted); font-size:14px }
.riko-catalog__lightbox-caption { min-height:40px; max-height:110px; margin:0!important; padding:12px 64px; overflow:auto; color:var(--riko-on-brand-muted)!important; font-size:12px; text-align:center }

/* Detail additions: factual installation notes, version and related public add-ons. */
.riko-addon__author a, .riko-addon__author a:hover { color:var(--catalog-ink); font-weight:700; text-decoration:underline; text-decoration-color:var(--riko-muted); text-underline-offset:3px }
.riko-addon__before-install { margin:16px 0 0; padding-top:12px; border-top:1px solid var(--catalog-line) }
.riko-addon__before-install h3 { margin:0 0 4px; font-size:15px; font-weight:700; line-height:1.5 }
.riko-addon__before-install a, .riko-addon__before-install a:hover { display:flex; align-items:center; min-height:44px; color:var(--riko-action-hover); font-size:14px; line-height:1.5; text-decoration:underline; text-underline-offset:3px }
.riko-addon__before-install p { margin:0 0 6px; font-size:14px; line-height:1.6; white-space:pre-line; overflow-wrap:anywhere }
.riko-addon__version-details { margin-top:4px }
.riko-addon__version-details summary { padding-block:6px; color:var(--riko-link); font-size:13px; font-weight:400; line-height:1.5; cursor:pointer }
.riko-addon__version-details code { display:block; padding-block:4px; background:transparent; color:var(--catalog-ink); font-size:12px; line-height:1.6; text-align:start; white-space:normal; overflow-wrap:anywhere }
.riko-addon__related { margin-top:32px; padding-top:24px; border-top:1px solid var(--catalog-line) }
.riko-addon__related-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 20px; margin-bottom:18px }
.riko-addon__related h2 { margin:0; font-size:24px; font-weight:700; line-height:1.35 }
.riko-addon__related-browse { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--riko-ink)!important; font-size:14px; font-weight:600 }
.riko-addon__related-browse:hover { text-decoration:underline!important; text-underline-offset:3px }
.riko-addon__related-link { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--riko-line); border-radius:12px; background:var(--riko-surface); transition:border-color .16s, box-shadow .16s }
.riko-addon__related-link:focus-visible { outline-offset:3px }
.riko-addon__related-preview { position:relative; aspect-ratio:16 / 9; overflow:hidden; background:var(--riko-surface-soft) }
.riko-addon__related-preview .riko-catalog__no-cover { position:absolute; inset:0; padding:12px; text-align:center }
.riko-addon__related .riko-addon__related-reason { margin-bottom:6px; color:var(--riko-ink); font-size:12px; font-weight:600; line-height:1.4 }
.riko-addon__related-link h3 { margin:0; font-size:21px; font-weight:700; line-height:1.3; letter-spacing:-.015em; overflow-wrap:anywhere }
.riko-addon__related-link:hover h3 { text-decoration:underline; text-underline-offset:3px }
.riko-addon__related .riko-addon__related-author { margin-top:6px; color:var(--catalog-muted); font-size:13px; line-height:1.5; overflow-wrap:anywhere }
.riko-addon__related .riko-addon__related-description { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:12px 0 18px; color:var(--riko-text); font-size:14px; line-height:1.6 }
.riko-addon__related-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; margin-top:auto; padding-top:14px; border-top:1px solid var(--riko-line) }
.riko-addon__related-simulators { display:flex; flex-wrap:wrap; gap:5px }
.riko-addon__related-simulators span { padding:4px 7px; border:1px solid var(--riko-line); border-radius:4px; background:var(--riko-surface-soft); color:var(--riko-ink); font-size:11px; font-weight:650; line-height:1.4 }
.riko-addon__related-action { display:inline-flex; align-items:center; gap:9px; color:var(--riko-link); font-size:13px; font-weight:650; white-space:nowrap }

@media (min-width: 761px) {
  .riko-addon__related-grid:has(> :only-child) { grid-template-columns:minmax(0, 1fr) }
  .riko-addon__related-grid:has(> :nth-child(2):last-child) { grid-template-columns:repeat(2, minmax(0, 1fr)) }
  .riko-addon__related-link:only-child { display:grid; grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr) }
  .riko-addon__related-link:only-child .riko-addon__related-preview { aspect-ratio:auto; min-height:250px }
  .riko-addon__related-link:only-child .riko-addon__related-preview img { position:absolute; inset:0 }
  .riko-addon__related-link:only-child .riko-addon__related-body { padding:24px }
  .riko-addon__related-link:only-child .riko-addon__related-description { max-width:72ch }
}
@media (max-width: 1000px) {
  .riko-addon__related-grid { gap:16px }
  .riko-addon__related-link h3 { font-size:18px }
  .riko-addon__related-body { padding:14px }
}
@media (max-width: 760px) {
  .riko-addon__related { margin-top:24px; padding-top:20px }
  .riko-addon__related h2 { font-size:22px }
  .riko-addon__related-heading { margin-bottom:12px }
  .riko-addon__related-grid { grid-template-columns:minmax(0, 1fr); gap:14px }
  .riko-addon__related-link { display:grid; grid-template-columns:104px minmax(0, 1fr); gap:12px; padding:14px; align-items:start }
  .riko-addon__related-preview { aspect-ratio:4 / 3; border-radius:6px }
  .riko-addon__related-body { display:contents }
  .riko-addon__related .riko-addon__related-reason { font-size:11px }
  .riko-addon__related-link h3 { font-size:17px }
  .riko-addon__related .riko-addon__related-author { margin-top:4px; font-size:12px }
  .riko-addon__related .riko-addon__related-description { grid-column:1 / -1; margin:0; -webkit-line-clamp:2 }
  .riko-addon__related-footer { grid-column:1 / -1; width:100%; padding-top:12px }
}
@media (max-width: 640px) {
  .riko-addon__before-install a { min-height:44px }
  .riko-addon__version-details summary { padding-block:12px }
}

@media (min-width: 761px) {
  .riko-addon__install { padding:20px }
  .riko-addon__install h2 { padding-bottom:12px }
  .riko-addon__facts { gap:10px }
  .riko-addon__section { padding-block:22px }
}

@media (max-width: 1180px) {
  .riko-catalog__heading { flex-wrap:wrap; align-items:flex-start; gap:20px }
  .riko-catalog__layout { grid-template-columns:190px minmax(0, 1fr); gap:24px }
  .riko-catalog__grid { grid-template-columns:repeat(2, minmax(0, 1fr)) }
  .riko-addon__layout { grid-template-columns:minmax(0, 1fr) 310px; gap:20px }
  .riko-addon__install { padding:20px }
}
@media (min-width: 1100px) {
  .riko-catalog__grid:has(> .riko-catalog__card:nth-child(2):last-child) { grid-template-columns:repeat(2, minmax(0, 1fr)) }
  .riko-catalog__grid:has(> .riko-catalog__card:only-child) { grid-template-columns:minmax(0, 1fr) }
  .riko-catalog__card:only-child .riko-catalog__card-link { display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr) }
  .riko-catalog__card:only-child .riko-catalog__card-image { aspect-ratio:auto; min-height:280px }
  .riko-catalog__card:only-child .riko-catalog__card-body { justify-content:center; padding:28px }
  .riko-catalog__card:only-child h2 { font-size:26px }
  .riko-catalog__card:only-child .riko-catalog__card-description { -webkit-line-clamp:4; font-size:15px }
  .riko-catalog__card:only-child .riko-catalog__card-footer { margin-top:12px }
}
@media (max-width: 980px) {
  .riko-addon__layout { grid-template-columns:minmax(0, 1fr); grid-template-areas:"heading" "gallery" "install" "content"; grid-template-rows:auto; gap:18px }
  .riko-addon__main, .riko-addon__aside, .riko-addon__media { width:100% }
  .riko-addon__aside { position:static }
}
/* Tablet filters share the JS breakpoint; add-on contents stay at 760px. */
@media (max-width: 1100px) {
  .riko-catalog__heading { display:grid; grid-template-columns:minmax(0, 1fr) auto; grid-template-areas:"title other" "lead lead" "simulators simulators"; gap:10px 12px; align-items:center; margin-bottom:12px }
  .riko-catalog__heading > div { display:contents }
  .riko-catalog__heading .riko-catalog__eyebrow, .riko-catalog__legacy-note { display:none }
  #tm-content .riko-catalog__heading h1 { grid-area:title; margin:0!important; font-size:26px!important; line-height:1.2!important }
  .riko-catalog__heading .riko-catalog__lead { grid-area:lead; margin:0!important; font-size:14px }
  .riko-catalog__heading .riko-catalog__universe-link { grid-area:other; justify-self:end; gap:4px; padding:0; border:0; border-radius:0; background:transparent; font-size:12px }
  .riko-catalog__universe-full, .riko-catalog__search-button-label, .riko-catalog__search-field > svg { display:none }
  .riko-catalog__universe-short, .riko-catalog__search-button-icon { display:inline-flex }
  .riko-catalog__simulators { grid-area:simulators; display:flex; flex-wrap:nowrap; overflow-x:auto; width:100%; scrollbar-width:thin }
  .riko-catalog__simulators a { flex:1 0 auto; min-width:44px; justify-content:center; padding:8px }
  .riko-catalog__search-field { gap:8px; padding:4px }
  .riko-catalog__search-field input { padding-inline:8px }
  #tm-content .riko-catalog :is(.riko-catalog__search-field, .riko-catalog__facet-search) input[type="search"], #tm-content .riko-catalog .riko-catalog__sort-field select { font-size:16px!important }
  .riko-catalog__search-field .riko-catalog__button { width:44px; padding:0 }
  .riko-catalog__layout { grid-template-columns:minmax(0, 1fr); gap:12px; padding-top:12px }
  .riko-catalog__sidebar { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; align-items:start }
  .riko-catalog__sort-field { position:relative; z-index:1; grid-area:1 / 2; margin-bottom:0 }
  .riko-catalog__filters { grid-area:1 / 1 / auto / -1; min-width:0; padding:0; border:0; border-radius:0; background:transparent }
  .riko-catalog__filters > summary { display:flex; width:calc((100% - 8px) / 2); min-height:44px; align-items:center; gap:6px; padding:9px; border:1px solid var(--catalog-line); border-radius:6px; background:var(--riko-action-soft); list-style:none; font-size:13px; font-weight:650; cursor:pointer }
  .riko-catalog__filters > summary > svg { width:16px; height:16px; flex-basis:16px }
  .riko-catalog__filters > summary::-webkit-details-marker { display:none }
  .riko-catalog__filters > summary > svg:last-child { margin-left:auto; width:16px; height:16px; transition:transform .15s }
  .riko-catalog__filters[open] > summary > svg:last-child { transform:rotate(90deg) }
  .riko-catalog__filter-content { margin-top:10px; padding:0 8px 10px; border:1px solid var(--catalog-line); border-radius:7px; background:var(--riko-action-soft) }
  /* The manual submit remains usable when automatic sorting is unavailable. */
  .riko-catalog__sidebar:has(.riko-catalog__sort-submit:not([hidden])) .riko-catalog__filter-content { margin-top:62px }
  #tm-content .riko-catalog__filter-content h2 { margin-top:14px }
  .riko-catalog__categories { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:3px }
  .riko-catalog__categories a { font-size:12px; padding:10px }
  .riko-catalog__results-heading { min-height:24px; margin-bottom:8px; font-size:12px }
  .riko-catalog__grid { gap:16px 12px }
  .riko-catalog__card-body { padding:16px }
  .riko-catalog__card h2 { font-size:18px }
  .riko-catalog__card-simulators { left:7px; bottom:7px; gap:3px }
  .riko-catalog__card-simulators span { padding:3px 5px; font-size:9px }
  .riko-catalog__empty { min-height:260px; padding:30px 20px }
  .riko-catalog__empty h2 { font-size:19px }
}
@media (max-width: 760px) {
  .riko-catalog__heading { grid-template-areas:"title other" "simulators simulators" }
  .riko-catalog__heading .riko-catalog__lead { display:none }
  .riko-addon__heading { padding:16px }
  .riko-addon__identity .riko-catalog-feedback-link { min-height:44px }
  .riko-addon__identity { gap:4px 16px }
  .riko-addon__intro, .riko-addon__prose { font-size:16px }
  .riko-addon__install { padding:16px; border-radius:12px }
  .riko-addon__facts { gap:10px; margin-top:14px!important; padding-top:13px }
  .riko-addon__contents { border-bottom:1px solid var(--catalog-line) }
  .riko-addon__contents[open] > summary { display:flex }
  .riko-addon__section-nav { gap:4px 16px; border-bottom:0 }
  .riko-addon__section { display:block; padding:22px 0 }
  .riko-addon__section > h2 { margin-bottom:14px }
  .riko-catalog__lightbox-stage { padding:0 6px }
  .riko-catalog__lightbox-stage > button { top:auto; bottom:9px; background:color-mix(in srgb, var(--riko-action) 93.33%, transparent) }
  .riko-catalog__lightbox-caption { padding:10px 14px }
}
@media (max-width: 480px) {
  .riko-catalog__grid { grid-template-columns:minmax(0, 1fr) }
  .riko-catalog__card-image { aspect-ratio:16/9 }
  .riko-catalog__card h2 { font-size:20px }
  .riko-catalog__card-simulators { left:12px; bottom:12px }
  .riko-catalog__card-simulators span { padding:4px 7px; font-size:10px }
  .riko-catalog__simulators a { font-size:11px }
  .riko-catalog__sidebar { display:flex; flex-direction:column }
  .riko-catalog__sort-field, .riko-catalog__filters, .riko-catalog__filters > summary { width:100% }
  .riko-catalog__sidebar:has(.riko-catalog__sort-submit:not([hidden])) .riko-catalog__filter-content { margin-top:10px }
}
/* palette-exception: semantic-state: State and destructive controls retain their distinct meaning and disabled contrast. */
#tm-content .riko-catalog .riko-catalog__button[aria-disabled="true"], #tm-content .riko-catalog .riko-catalog__button[aria-disabled="true"]:hover { background:var(--riko-surface)!important; border-color:var(--riko-line)!important; color:var(--riko-text)!important; cursor:default; white-space:normal; box-shadow:none; transform:none }
@media (prefers-reduced-motion: reduce) {
  .riko-catalog *, .riko-catalog *::before, .riko-catalog *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important }
}
@media (forced-colors: active) {
  .riko-catalog__heading, .riko-catalog__simulators, .riko-addon__heading, .riko-addon__gallery, .riko-addon__main { color:CanvasText; background:Canvas; border-color:CanvasText }
  .riko-catalog__empty::before, .riko-addon__heading::before { display:none }
  #tm-content .riko-addon__heading h1, .riko-addon__heading :is(.riko-catalog__eyebrow, .riko-addon__author, .riko-addon__intro, strong, span), .riko-catalog__heading h1, .riko-catalog__heading .riko-catalog__eyebrow, .riko-catalog__heading .riko-catalog__lead, .riko-catalog__simulators a { color:CanvasText!important }
  .riko-catalog__heading .riko-catalog__universe-link { color:LinkText; background:Canvas; border-color:LinkText }
  .riko-catalog__simulators a[aria-current], .riko-catalog__categories a[aria-current], .riko-catalog__pagination a[aria-current] { color:HighlightText!important; background:Highlight; border-color:Highlight }
  .riko-catalog__button--primary { color:ButtonText!important; background:ButtonFace; border-color:ButtonText }
  .riko-catalog :is(a, button, input, select, summary):focus-visible { outline-color:Highlight }
  #tm-content .riko-catalog .riko-catalog__button--primary, #tm-content .riko-catalog .riko-catalog__button--primary:hover { background:ButtonFace!important; border-color:ButtonText!important }
  #tm-content .riko-catalog :is(a, button, input, select, summary):focus-visible, #tm-content .riko-catalog .riko-catalog__heading a:focus-visible, #tm-content .riko-addon :is(.riko-addon__heading, .riko-addon__gallery) a:focus-visible { outline-color:Highlight!important }

}
/* Catalogue classification: compact, searchable facets and an optional scenery map. */
.riko-catalog__place-sources { margin-top:12px }
.riko-catalog__place-sources > summary { width:fit-content; min-height:44px; padding:11px 0; color:var(--riko-link); font-size:13px; line-height:22px; text-decoration:underline; text-underline-offset:3px; cursor:pointer }
.riko-addon > .riko-catalog__place-sources { margin-top:20px; border-top:1px solid var(--catalog-line) }
.riko-catalog__place-attribution { font-size:12px; line-height:1.6; color:var(--riko-text); margin:0 0 8px }
.riko-catalog__place-attribution a { color:inherit; text-decoration:underline }
.riko-catalog__facet { margin-block-start:12px; padding-block-start:14px; border-top:1px solid var(--riko-line) }
#tm-content .riko-catalog__facet h2 { margin:0 10px 10px }
.riko-catalog__facet-search { position:relative; display:block; margin:0 4px 10px }
#tm-content .riko-catalog .riko-catalog__facet-search input[type="search"] { display:block; width:100%; min-width:0; height:44px; margin:0; border:1px solid var(--riko-action-line)!important; border-radius:6px!important; padding:10px!important; color:var(--riko-link)!important; background:var(--riko-surface)!important; box-shadow:none!important; font-size:13px; line-height:1.4; font-weight:400 }
#tm-content .riko-catalog .riko-catalog__facet-search:has([data-facet-clear]:not([hidden])) input[type="search"] { padding-right:44px!important }
.riko-catalog__facet-search input::placeholder { color:var(--riko-text); opacity:1 }
.riko-catalog__facet-search input::-webkit-search-cancel-button { -webkit-appearance:none }
#tm-content .riko-catalog .riko-catalog__facet-search button { position:absolute; inset:0 0 0 auto; display:grid; place-items:center; width:44px; min-height:44px; margin:0; padding:0!important; border:0!important; border-radius:0 6px 6px 0!important; background:transparent!important; color:var(--riko-link)!important; box-shadow:none!important; cursor:pointer }
#tm-content .riko-catalog .riko-catalog__facet-search button:hover { background:var(--riko-action-soft-hover)!important }
#tm-content .riko-catalog .riko-catalog__facet-hint { font-size:12px; line-height:1.5; color:var(--riko-text); margin:8px 6px 10px }
.riko-catalog__facet-options { display:grid; gap:2px; max-height:none; overflow:visible }
#tm-content .riko-catalog__facet-options h3 { margin:12px 8px 4px; font-size:12px; line-height:1.4; font-weight:700; color:var(--riko-text) }
.riko-catalog__facet-options a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 8px; min-height:44px; color:var(--riko-link); border-radius:6px; text-decoration:none; font-size:13px; line-height:1.45 }
.riko-catalog__facet-label { flex:1 1 auto; min-width:0; overflow-wrap:anywhere }
.riko-catalog__facet-check { display:grid; place-items:center; flex:0 0 16px; width:16px; height:16px; border:1px solid var(--riko-line-strong); border-radius:3px; background:var(--riko-surface) }
.riko-catalog__facet-check svg { width:12px; height:12px; visibility:hidden }
.riko-catalog__facet-options a[aria-current="true"] .riko-catalog__facet-check { background:var(--riko-action); border-color:var(--riko-action); color:var(--riko-action-contrast) }
.riko-catalog__facet-options a[aria-current="true"] .riko-catalog__facet-check svg { visibility:visible }
#tm-content .riko-catalog__facet-options a:focus-visible { outline-offset:-3px }
.riko-catalog__facet-options a[aria-current="true"] { background:var(--riko-action-soft); font-weight:700; box-shadow:inset 3px 0 var(--riko-action) }
.riko-catalog__facet-group { padding-top:4px }
.riko-catalog__facet-group + .riko-catalog__facet-group { margin-top:12px; padding-top:12px; border-top:1px solid var(--riko-line) }
#tm-content .riko-catalog__facet-group h3 { display:flex; align-items:center; gap:8px; margin:4px 8px 8px; font-size:13px; line-height:1.4; font-weight:700; color:var(--riko-ink) }
.riko-catalog__group-selected { display:inline-grid; min-width:20px; min-height:20px; padding:1px 5px; place-items:center; border-radius:4px; font-size:11px; background:var(--riko-action-soft); color:var(--riko-link) }
.riko-catalog__facet-options .riko-catalog__category-count { min-width:20px; background:transparent; color:var(--riko-muted); font-size:12px; font-weight:500 }
.riko-catalog__facet-options a[aria-disabled="true"] { color:var(--riko-muted); cursor:default }
.riko-catalog__facet-more { min-width:0 }
.riko-catalog__facet-more > summary { display:flex; align-items:center; gap:6px; min-height:44px; padding:9px 8px; color:var(--riko-link); font-size:12px; font-weight:600; list-style:none; cursor:pointer }
.riko-catalog__facet-more > summary::-webkit-details-marker { display:none }
.riko-catalog__facet-more > summary > svg { width:14px; height:14px; flex-basis:14px; margin-left:auto }
.riko-catalog__facet-more[open] > summary > svg { transform:rotate(90deg) }
.riko-catalog__facet-more .riko-catalog__less-label, .riko-catalog__facet-more[open] .riko-catalog__more-label { display:none }
.riko-catalog__facet-more[open] .riko-catalog__less-label { display:inline }
.riko-catalog__facet-extra { display:grid; gap:2px }
.riko-catalog__show-results { display:none }
@media (max-width: 1100px) {
  .riko-catalog__show-results { display:flex; position:sticky; bottom:0; z-index:1; align-items:center; justify-content:center; gap:8px; min-height:44px; margin-top:16px; padding:10px 12px; border:1px solid var(--riko-action); border-radius:6px; background:var(--riko-action); color:var(--riko-action-contrast)!important; font-size:13px; font-weight:700 }
  .riko-catalog__show-results:hover { background:var(--riko-action-hover); border-color:var(--riko-action-hover) }
  .riko-catalog__show-results > span { font-variant-numeric:tabular-nums }
  .riko-catalog__show-results > svg { width:16px; height:16px; flex-basis:16px }
  .riko-catalog__filter-content { padding-bottom:12px }
}
.riko-catalog__view-switch { display:flex; flex-wrap:wrap; gap:.3rem; padding:.2rem; border:1px solid var(--riko-line); border-radius:10px }
.riko-catalog__view-switch a { padding:.55rem .8rem; min-height:44px; display:inline-flex; align-items:center; border-radius:7px; color:var(--riko-link); text-decoration:none; font-size:.9rem; font-weight:650 }
.riko-catalog__view-switch a[aria-current="true"] { color:var(--riko-action-contrast); background:var(--riko-action) }
.riko-addon__classification { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem }
.riko-addon__classification a { display:inline-flex; min-height:36px; align-items:center; border:1px solid var(--catalog-line); border-radius:6px; background:var(--riko-action-soft); padding:.4rem .7rem; color:var(--riko-link); text-decoration:none; font-size:.85rem }
.riko-addon__classification a:hover { color:var(--riko-action-hover); background:var(--riko-action-soft-hover); border-color:var(--riko-action-line) }
.riko-addon__classification .riko-addon__place-link { flex-wrap:wrap; gap:4px 8px; background:var(--riko-surface-soft); border-color:var(--riko-line) }
.riko-addon__place-link > svg { flex:0 0 18px; width:18px; height:18px }
.riko-addon__place-action { color:var(--riko-link); text-decoration:underline; text-underline-offset:3px; font-size:12px }
@media (max-width: 760px) {
  .riko-addon__classification a { min-height:44px }
  .riko-addon__place-link > span:not(.riko-addon__place-action) { flex:1 1 180px }
  .riko-addon__place-action { margin-left:26px }
}
.riko-catalog__map-section { margin-block:.5rem 1.5rem }
.riko-catalog__map-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-block:.4rem .6rem }
.riko-catalog__map-toolbar > div { min-width:0 }
.riko-catalog__map-section h2 { font-size:1.15rem; line-height:1.4; margin:.4rem 0; color:var(--riko-ink) }
.riko-catalog__map-summary { margin:0; color:var(--riko-muted); font-size:.85rem; line-height:1.5 }
.riko-catalog__map-reset { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:.5rem; min-height:44px; border:1px solid var(--riko-action-line); border-radius:8px; background:var(--riko-surface); color:var(--riko-link); padding:.6rem .8rem; font-family:inherit; font-size:.85rem; font-weight:600; line-height:1.35; cursor:pointer }
.riko-catalog__map-reset[hidden] { display:none }
.riko-catalog__map-reset:hover { background:var(--riko-action-soft); border-color:var(--riko-action); color:var(--riko-link) }
.riko-catalog__map-hint { margin:.5rem 0 .8rem; color:var(--riko-text); font-size:.9rem; line-height:1.55 }
.riko-catalog__map-note { background:var(--riko-surface-soft); border-left:3px solid var(--riko-brand); padding:1rem; color:var(--riko-ink); line-height:1.55 }
.riko-catalog__map { height:clamp(380px, 60vh, 680px); width:100%; max-width:100%; overflow:hidden; border:1px solid var(--riko-line); border-radius:12px; background:var(--riko-surface-soft); isolation:isolate; z-index:0 }
.riko-catalog__map:focus:not(:focus-visible) { outline:none }
.riko-catalog__map .leaflet-control-attribution { font-size:10px }
/* Keep zoom controls paired with their surface even when Leaflet loads later. */
.riko-catalog__map.leaflet-container .leaflet-control-zoom { border:1px solid var(--riko-line); border-radius:8px; overflow:hidden; box-shadow:0 3px 12px color-mix(in srgb, var(--riko-brand-deep) 14%, transparent) }
.riko-catalog__map.leaflet-container .leaflet-control-zoom a { width:38px; height:38px; line-height:38px; background:var(--riko-surface); border-color:var(--riko-line); color:var(--riko-ink) }
.riko-catalog__map.leaflet-container .leaflet-control-zoom a:is(:hover, :focus-visible) { background:var(--riko-surface-soft); color:var(--riko-ink) }
.riko-catalog__map.leaflet-container .leaflet-control-zoom a.leaflet-disabled { background:var(--riko-surface-soft); color:var(--riko-muted) }
.riko-catalog__map .riko-catalog__map-area-label { white-space:normal; max-width:190px; color:var(--riko-ink); border-color:var(--riko-line); font-weight:650; pointer-events:none }
.riko-catalog__map-marker { display:grid!important; place-items:center; border:2px solid var(--riko-line); border-radius:50%; background:var(--riko-brand); color:var(--riko-on-brand); font:700 14px/1 system-ui, sans-serif; box-shadow:0 2px 7px color-mix(in srgb, var(--riko-brand-deep) 37.65%, transparent) }
.riko-catalog__map-marker:is(:hover, [aria-expanded="true"]) { background:var(--riko-action); color:var(--riko-action-contrast); border-color:var(--riko-action-line) }
.riko-catalog__map-popup { display:flex; flex-direction:column; gap:.75rem; min-width:0; font:14px/1.5 system-ui, sans-serif; color:var(--riko-ink) }
.riko-catalog__map-popup > :not(.riko-catalog__map-popup-places) { flex-shrink:0 }
.riko-catalog__map-popup-title { color:var(--riko-ink); font-size:1rem; line-height:1.45; padding-inline-end:1rem; overflow-wrap:anywhere }
.riko-catalog__map-popup-count { color:var(--riko-muted); font-size:.85rem }
.riko-catalog__map-popup p { margin:0!important }
.riko-catalog__map .riko-catalog__map-popup a.riko-catalog__map-popup-action { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:44px; box-sizing:border-box; padding:.65rem .9rem; border:1px solid var(--riko-action); border-radius:8px; background:var(--riko-action); color:var(--riko-action-contrast); text-decoration:none; font-weight:700 }
.riko-catalog__map .riko-catalog__map-popup a.riko-catalog__map-popup-action:hover { background:var(--riko-action-hover); border-color:var(--riko-action-hover); color:var(--riko-action-contrast) }
.riko-catalog__map-popup button { min-height:44px; border:1px solid var(--riko-action-line); border-radius:8px; padding:.6rem .75rem; background:var(--riko-action-soft); color:var(--riko-link); font:inherit; cursor:pointer }
.riko-catalog__map-popup button:hover { background:var(--riko-action-soft-hover) }
.riko-catalog__map-popup-places { display:flex; flex-direction:column; min-height:0; overflow-y:auto; overscroll-behavior:contain; border-top:1px solid var(--riko-line) }
.riko-catalog__map-popup-places a { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:.7rem; min-height:44px; box-sizing:border-box; padding:.65rem .5rem; border-bottom:1px solid var(--riko-line); color:var(--riko-link); text-decoration:none; font-weight:600; overflow-wrap:anywhere }
.riko-catalog__map-popup-places a:hover { background:var(--riko-action-soft); text-decoration:underline; text-underline-offset:3px }
.riko-catalog__map-popup-name { flex:1; min-width:0 }
.riko-catalog__map-popup-detail { flex-shrink:0; color:var(--riko-muted); font-size:.8rem; font-weight:400; white-space:nowrap }
/* Theme only Leaflet's reading surfaces; tile imagery and map symbols stay intact. */
.riko-catalog__map :is(.leaflet-popup-content-wrapper, .leaflet-popup-tip, .leaflet-tooltip) { background:var(--riko-surface); color:var(--riko-ink); border-color:var(--riko-line) }
.riko-catalog__map .leaflet-popup-content a { color:var(--riko-link) }
.riko-catalog__map .riko-catalog__map-card .leaflet-popup-content { margin:18px; max-width:calc(100vw - 128px) }
.riko-catalog__map .riko-catalog__map-card .leaflet-popup-content-wrapper { border:1px solid var(--riko-line); border-radius:12px; box-shadow:0 8px 28px color-mix(in srgb, var(--riko-brand-deep) 20%, transparent) }
.riko-catalog__map.leaflet-container a.leaflet-popup-close-button { width:30px; height:30px; top:4px; right:4px; border-radius:6px; color:var(--riko-muted); font-size:22px; line-height:30px }
.riko-catalog__map.leaflet-container a.leaflet-popup-close-button:hover { background:var(--riko-surface-soft); color:var(--riko-ink) }
.riko-catalog__map .leaflet-tooltip-top::before { border-top-color:var(--riko-surface) }
.riko-catalog__map .leaflet-tooltip-bottom::before { border-bottom-color:var(--riko-surface) }
.riko-catalog__map .leaflet-tooltip-left::before { border-left-color:var(--riko-surface) }
.riko-catalog__map .leaflet-tooltip-right::before { border-right-color:var(--riko-surface) }
@media (max-width: 760px) {
  .riko-catalog__view-switch { width:100% }
  .riko-catalog__view-switch a { flex:1; justify-content:center }
  .riko-catalog__map { height:420px }
  .riko-catalog__map-toolbar { align-items:flex-start; flex-wrap:wrap; gap:.65rem }
  .riko-catalog__map-toolbar h2 { font-size:1.05rem }
  .riko-catalog__map-reset { font-size:.8rem }
  .riko-catalog__map.leaflet-container .leaflet-control-zoom a { width:44px; height:44px; line-height:44px }
}

/* Compatibility, never an action or publication status. The year stays visible;
   classic simulators retain their existing appearance. */
@media screen and (forced-colors: none) {
  .riko-catalog [data-riko-simulator="msfs2020"] {
    --simulator-fill: var(--riko-simulator-2020);
    --simulator-line: var(--riko-simulator-2020-line);
  }
  .riko-catalog [data-riko-simulator="msfs2024"] {
    --simulator-fill: var(--riko-simulator-2024);
    --simulator-line: var(--riko-simulator-2024-line);
  }
  body #tm-content .riko-catalog :is([data-riko-simulator="msfs2020"], [data-riko-simulator="msfs2024"]) {
    color: var(--riko-simulator-ink) !important;
    background: var(--simulator-fill) !important;
    border-color: var(--simulator-line) !important;
  }
  .riko-catalog :is(.riko-catalog__card, .riko-addon__related-link, .riko-addon__heading):has([data-riko-simulator="msfs2020"]) {
    --simulator-frame-start: var(--riko-simulator-2020-line);
    --simulator-frame-end: var(--riko-simulator-2020-line);
  }
  .riko-catalog :is(.riko-catalog__card, .riko-addon__related-link, .riko-addon__heading):has([data-riko-simulator="msfs2024"]) {
    --simulator-frame-start: var(--riko-simulator-2024-line);
    --simulator-frame-end: var(--riko-simulator-2024-line);
  }
  .riko-catalog :is(.riko-catalog__card, .riko-addon__related-link, .riko-addon__heading):has([data-riko-simulator="msfs2020"]):has([data-riko-simulator="msfs2024"]) {
    --simulator-frame-start: var(--riko-simulator-2020-line);
    --simulator-frame-end: var(--riko-simulator-2024-line);
  }
  .riko-catalog :is(.riko-catalog__card, .riko-addon__related-link, .riko-addon__heading):has(:is([data-riko-simulator="msfs2020"], [data-riko-simulator="msfs2024"])) {
    border-width: 2px;
    border-color: var(--simulator-frame-start) var(--simulator-frame-end) var(--simulator-frame-end) var(--simulator-frame-start);
  }
}
@media (forced-colors: active) {
  .riko-catalog [data-riko-simulator] {
    color: CanvasText !important;
    background: Canvas !important;
    border-color: CanvasText !important;
  }
}
