/* Shared account selection on public add-on pages and in My library. */
.riko-install-queue { color: var(--riko-ink); min-width: 0; font: inherit; }
.riko-install-queue *, .riko-install-queue *::before, .riko-install-queue *::after { box-sizing: border-box; }
.riko-install-queue [hidden] { display: none !important; }
.riko-install-queue :is(p, h3, form) { margin: 0; }
.riko-install-queue__title { font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.riko-install-queue__title a { color: var(--riko-link); text-decoration: none; }
.riko-install-queue__title a:hover { text-decoration: underline; }
.riko-install-queue__state { margin-top: 8px !important; color: var(--riko-ink); font-size: 14px; font-weight: 650; }
/* palette-exception: semantic-state: Amber identifies incomplete work or items that require attention. */
.riko-install-queue[data-queue-status="blocked"] .riko-install-queue__state { color: var(--riko-warning); }
/* palette-exception: semantic-state: State indicators retain their operational meaning independently of the brand palette. */
.riko-install-queue[data-queue-status="cancelled"] .riko-install-queue__state { color: var(--riko-text); }
.riko-install-queue__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.riko-install-queue :is(button, .riko-install-queue__add) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; margin-top: 10px; padding: 9px 12px; border: 1px solid var(--riko-action-line); border-radius: 6px; background: var(--riko-surface); color: var(--riko-link); font: inherit; font-size: 13px; font-weight: 650; line-height: 1.4; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; }
.riko-install-queue button:disabled { opacity: .65; cursor: wait; }
.riko-install-queue :is(button, a):focus-visible { outline: 3px solid var(--riko-focus); outline-offset: 3px; }
.riko-install-queue__action-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.riko-install-queue__action-copy > small { font-size: 12px; font-weight: 450; line-height: 1.4; }
.riko-install-queue--addon { margin-top: 14px; }
.riko-install-choice > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 12px 14px; border: 1px solid var(--riko-action); border-radius: 6px; background: linear-gradient(110deg, var(--riko-action), var(--riko-action)); color: var(--riko-action-contrast); font-size: 14px; font-weight: 700; line-height: 1.4; list-style: none; cursor: pointer; }
.riko-install-choice > summary::-webkit-details-marker { display: none; }
.riko-install-choice > summary:hover { background: linear-gradient(110deg, var(--riko-action-hover), var(--riko-action-hover));
  color: var(--riko-action-contrast);
}
.riko-install-choice > summary:focus-visible { outline: 3px solid var(--riko-focus); outline-offset: 3px; }
.riko-install-choice > summary > svg { flex: 0 0 18px; }
.riko-install-choice[open] > summary > svg { transform: rotate(180deg); }
.riko-install-choice__options { display: grid; gap: 6px; margin-top: 6px; padding: 6px; border: 1px solid var(--riko-line); border-radius: 7px; background: var(--riko-surface); }
.riko-install-choice .riko-install-queue__actions { display: grid; gap: 6px; }
.riko-install-choice .riko-install-choice__option,
.riko-install-choice :is(button, .riko-install-queue__add) { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 48px; margin: 0; padding: 12px 10px; border: 1px solid var(--choice-border, var(--riko-action-line)); border-inline-start: 3px solid var(--choice-accent, var(--riko-action-line)); border-radius: 5px; background: var(--choice-bg, var(--riko-action-soft)); color: var(--choice-text, var(--riko-link)); font-size: 14px; font-weight: 700; line-height: 1.4; text-align: left; text-decoration: none; }
.riko-install-choice__option { --choice-bg: var(--riko-action-soft); --choice-hover: var(--riko-action-soft-hover); --choice-border: var(--riko-action-line); --choice-accent: var(--riko-action); --choice-text: var(--riko-link); --choice-note: var(--riko-muted); }
.riko-install-choice :is(.riko-install-queue__add, [data-queue-action="retry"]) { --choice-bg: var(--riko-action-soft); --choice-hover: var(--riko-action-soft-hover); --choice-border: var(--riko-action-line); --choice-accent: var(--riko-action); --choice-text: var(--riko-link); --choice-note: var(--riko-muted); }
/* Keep Gravity's generic buttons consistent with the menu's action hierarchy. */
#tm-content .riko-install-choice :is(button, .riko-install-queue__add) { background: var(--choice-bg, var(--riko-action-soft)) !important; border-color: var(--choice-border, var(--riko-action-line)) !important; border-inline-start-color: var(--choice-accent, var(--riko-action-line)) !important; color: var(--choice-text, var(--riko-link)) !important; box-shadow: none; transform: none; }
.riko-install-choice :is(a, button:not(:disabled)):hover,
#tm-content .riko-install-choice :is(button:not(:disabled), a.riko-install-queue__add):hover { background: var(--choice-hover, var(--riko-action-soft-hover)) !important; color: var(--choice-text, var(--riko-action-hover)) !important; }
/* palette-exception: semantic-state: State and destructive controls retain their distinct meaning and disabled contrast. */
#tm-content .riko-install-choice button:disabled { opacity: 1; filter: none; --choice-bg: var(--riko-action-soft); --choice-text: var(--riko-link); --choice-note: var(--riko-muted); --choice-border: var(--riko-action-line); --choice-accent: var(--riko-action); cursor: wait; }
.riko-install-choice .riko-install-choice__option[aria-disabled="true"] { --choice-bg: var(--riko-surface); --choice-hover: var(--riko-surface); --choice-border: var(--riko-line); --choice-accent: var(--riko-line); --choice-text: var(--riko-muted); --choice-note: var(--riko-muted); border-style: dashed; border-inline-start-width: 1px; font-weight: 600; opacity: 1; cursor: not-allowed; box-shadow: none; transform: none; }
.riko-install-choice .riko-install-queue__action-copy > small { color: var(--choice-note, var(--riko-link)); }
.riko-install-choice__availability { align-self: flex-start; margin-top: 3px; padding: 2px 6px; border: 1px solid var(--riko-line); border-radius: 3px; background: var(--riko-surface-soft); color: var(--riko-text); font-size: 11px; font-weight: 650; line-height: 1.5; }
.riko-install-choice__help { margin-top: 8px !important; color: var(--riko-text); font-size: 13px; line-height: 1.6; }
.riko-install-queue__help, .riko-install-queue__active-help, .riko-install-queue__reason, .riko-install-queue__result, .riko-install-queue__confirm { margin-top: 8px !important; color: var(--riko-text); font-size: 13px; line-height: 1.6; }
.riko-install-queue__result:empty { display: none; }
/* palette-exception: semantic-state: Red identifies destructive actions, validation failures or blocked operations. */
.riko-install-queue__result.is-error { color: var(--riko-danger); }
.riko-install-queue__library, .riko-install-queue__reload { display: inline-flex; align-items: center; min-height: 44px; color: var(--riko-ink); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.riko-install-queue__library { font-weight: 650; }
.riko-install-queue-list { margin: 18px 0; padding: 18px; border: 1px solid var(--riko-line); border-top: 3px solid var(--riko-brand); border-radius: 12px; background: var(--riko-surface); }
.riko-install-queue-list__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.riko-install-queue-list__heading h2 { margin: 0; color: var(--riko-ink); font-size: 21px; }
.riko-install-queue-list__help { color: var(--riko-text); margin: 8px 0 14px; font-size: 14px; line-height: 1.6; }
.riko-install-queue-list .riko-install-queue { padding: 15px 0; border-top: 1px solid var(--riko-line); }
.riko-install-queue-list__recent { margin-top: 8px; }
.riko-install-queue-list__recent > summary { min-height: 44px; padding: 10px 0; color: var(--riko-link); font-size: 14px; cursor: pointer; }
.riko-install-queue-list__recent > summary:focus-visible { outline: 3px solid var(--riko-focus); outline-offset: 3px; }
/* Accès direct is limited to public MSFS detail pages. Library rows and classic
   simulator downloads retain their existing layout. */
.riko-addon__install[data-direct-install] { border-top-width: 1px; background: var(--riko-surface); }
.riko-addon__install[data-direct-install] > h2 { margin: 0; padding: 0; border: 0; font-size: 18px; }
.riko-addon__install-tabs { display: flex; gap: 4px; margin-top: 14px; padding-bottom: 0; border-bottom: 1px solid var(--riko-line); }
#tm-content .riko-addon__install-tabs [data-install-tab] { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 1; min-width: 0; min-height: 44px; margin: 0; padding: 9px 10px; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 4px 4px 0 0; background: transparent !important; color: var(--riko-muted) !important; font: inherit; font-size: 13px; font-weight: 650; line-height: 1.4; box-shadow: none !important; transform: none !important; white-space: normal; cursor: pointer; }
#tm-content .riko-addon__install-tabs [data-install-tab][aria-selected="true"] { background: var(--riko-action-soft) !important; color: var(--riko-link) !important; border-bottom-color: var(--riko-action) !important; }
.riko-addon__install-tabs [data-install-tab]:focus-visible { outline: 3px solid var(--riko-focus); outline-offset: 2px; }
[data-direct-install] [data-install-panel] { padding-top: 16px; }
.riko-install-queue--direct { margin-top: 0; --queue-state-ink: var(--riko-link); --queue-state-surface: var(--riko-action-soft); }
.riko-install-queue--direct .riko-install-choice__summary-label { display: flex; align-items: center; gap: 9px; min-width: 0; }
.riko-install-choice__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 18px; font-size: 17px; line-height: 1; }
.riko-install-queue--direct .riko-install-choice__options { gap: 10px; margin: 0; padding: 12px 0 0; border: 0; border-radius: 0; background: transparent; }
.riko-install-queue--direct .riko-install-choice { --choice-bg: var(--riko-surface-soft); --choice-hover: var(--riko-action-soft); --choice-text: var(--riko-link); --choice-note: var(--riko-muted); }
.riko-install-queue--direct .riko-install-choice .riko-install-choice__option,
#tm-content .riko-install-queue--direct .riko-install-choice :is(button, .riko-install-queue__add) { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 12px; border: 0 !important; border-radius: 6px; background: var(--riko-surface-soft) !important; color: var(--riko-link) !important; box-shadow: none; }
.riko-install-queue--direct .riko-install-queue__action-copy { flex: 1; }
.riko-install-queue--direct .riko-install-choice__external { flex-basis: 14px; width: 14px; margin-inline-start: auto; font-size: 14px; }
.riko-install-queue--direct .riko-install-choice .riko-install-choice__option[aria-disabled="true"] { background: transparent !important; color: var(--riko-muted) !important; border: 0; cursor: not-allowed; }
.riko-install-queue--direct .riko-install-choice__option[aria-disabled="true"] .riko-install-choice__external { display: none; }
.riko-install-queue--direct .riko-install-choice__availability { margin-top: 2px; padding: 0; border: 0; background: transparent; font-size: 12px; }
.riko-install-queue--direct .riko-install-choice .riko-install-queue__actions { gap: 10px; }
.riko-install-queue--direct .riko-install-queue__actions:not(:has(> button:not([hidden]))) { display: none; }
#tm-content .riko-install-queue--direct .riko-install-choice [data-queue-action="cancel"] { justify-content: flex-start; min-height: 44px; padding: 8px 0; background: transparent !important; text-decoration: underline; text-underline-offset: 3px; }
.riko-install-queue--direct .riko-addon__jumbo { display: grid; gap: 7px; margin: 6px 0 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--riko-line); border-radius: 0; background: transparent; }
.riko-install-queue--direct .riko-addon__jumbo .riko-addon__jumbo-state { margin: 0; }
.riko-install-queue--direct .riko-addon__jumbo .riko-addon__jumbo-help { font-weight: 400; }
.riko-install-queue--direct .riko-addon__jumbo .riko-addon__jumbo-links { margin-top: 0; }
.riko-install-queue--direct .riko-addon__jumbo-links a { color: var(--riko-link); }
.riko-install-queue--direct .riko-install-choice__help { margin-top: 0 !important; color: var(--riko-muted); }
.riko-install-queue--direct .riko-install-queue__status { margin-bottom: 14px; padding: 10px 12px; border-inline-start: 3px solid var(--queue-state-ink); border-radius: 4px; background: var(--queue-state-surface); }
.riko-install-queue--direct[data-queue-status="none"] .riko-install-queue__status { display: none; }
.riko-install-queue--direct .riko-install-queue__status .riko-install-queue__state { margin: 0 !important; color: var(--queue-state-ink); }
.riko-install-queue--direct .riko-install-queue__status .riko-install-queue__reason { margin-top: 5px !important; color: var(--queue-state-ink); }
.riko-install-queue--direct .riko-install-queue__result { --queue-message-ink: var(--riko-text); --queue-message-surface: var(--riko-surface-soft); }
.riko-install-queue--direct .riko-install-queue__result:not(:empty) { padding: 10px 12px; border-inline-start: 3px solid var(--queue-message-ink); border-radius: 4px; color: var(--queue-message-ink); background: var(--queue-message-surface); }
/* palette-exception: semantic-state: errors, attention and confirmed results use
   the shared semantic pair rather than the action palette, in every ambience. */
.riko-install-queue--direct[data-queue-severity="danger"] { --queue-state-ink: var(--riko-danger); --queue-state-surface: var(--riko-danger-surface); }
.riko-install-queue--direct[data-queue-severity="warning"] { --queue-state-ink: var(--riko-warning); --queue-state-surface: var(--riko-warning-surface); }
.riko-install-queue--direct[data-queue-severity="success"] { --queue-state-ink: var(--riko-success); --queue-state-surface: var(--riko-success-surface); }
.riko-install-queue--direct[data-queue-severity="neutral"] { --queue-state-ink: var(--riko-muted); --queue-state-surface: var(--riko-surface-soft); }
.riko-install-queue--direct .riko-install-queue__result[data-queue-severity="danger"] { --queue-message-ink: var(--riko-danger); --queue-message-surface: var(--riko-danger-surface); }
.riko-install-queue--direct .riko-install-queue__result[data-queue-severity="warning"] { --queue-message-ink: var(--riko-warning); --queue-message-surface: var(--riko-warning-surface); }
.riko-install-queue--direct .riko-install-queue__result[data-queue-severity="success"] { --queue-message-ink: var(--riko-success); --queue-message-surface: var(--riko-success-surface); }
.riko-install-queue--direct .riko-addon__jumbo--active .riko-addon__jumbo-state strong { color: var(--riko-success); }
.riko-install-queue--direct :is(.riko-addon__jumbo--expired, .riko-addon__jumbo--unknown) .riko-addon__jumbo-state strong { color: var(--riko-warning); }
[data-direct-install] [data-install-panel="first-visit"] .riko-hub-onboarding { margin: 0; padding: 0; border: 0; }
[data-direct-install] .riko-hub-onboarding > p:first-child { margin: 0 0 12px; }
#tm-content [data-direct-install] .riko-hub-onboarding__download { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; width: 100%; margin-bottom: 12px; padding: 11px 14px; border: 0; border-radius: 6px; background: var(--riko-action) !important; color: var(--riko-action-contrast) !important; font-size: 14px; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none !important; }
#tm-content [data-direct-install] .riko-hub-onboarding__download:hover { background: var(--riko-action-hover) !important; color: var(--riko-action-contrast) !important; }
[data-direct-install] .riko-hub-onboarding__download:focus-visible { outline: 3px solid var(--riko-focus); outline-offset: 3px; }
[data-direct-install] .riko-hub-onboarding__download .icon-download { flex: 0 0 18px; }
[data-direct-install] .riko-hub-onboarding__platform { padding: 10px 12px; background: var(--riko-surface-soft); color: var(--riko-text); }
#tm-content [data-direct-install] [hidden] { display: none !important; }

@media (forced-colors: active) {
  .riko-install-queue :is(button, .riko-install-queue__add), .riko-install-choice > summary, .riko-install-choice .riko-install-choice__option, #tm-content .riko-install-choice :is(button, .riko-install-queue__add) { background: ButtonFace !important; color: ButtonText !important; border-color: ButtonText !important; }
  .riko-install-choice .riko-install-choice__option[aria-disabled="true"], .riko-install-choice__availability { color: GrayText !important; border-color: GrayText !important; }
  .riko-install-choice .riko-install-queue__action-copy > small { color: inherit; }
  #tm-content .riko-addon__install-tabs [data-install-tab], #tm-content [data-direct-install] .riko-hub-onboarding__download { color: ButtonText !important; background: ButtonFace !important; border-color: ButtonText !important; }
  .riko-install-queue--direct .riko-install-queue__status, .riko-install-queue--direct .riko-install-queue__result:not(:empty) { color: CanvasText; background: Canvas; border-color: CanvasText; }
}
