.roa-account-menu .roa-account-dropdown {
  z-index: 1200;
  width: min(292px, calc(100vw - 24px));
  max-height: calc(100vh - var(--roa-header-h, 88px) - 24px);
  gap: 7px;
  overflow-y: auto;
}

.roa-settings-section-label {
  display: block;
  margin-top: 4px;
  padding: 8px 0 3px;
  color: #93897c !important;
  font-size: 0.56rem !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  border-top: 1px solid rgba(216, 184, 107, 0.14);
}

.roa-settings-section-label--account {
  margin-top: 3px;
}

.roa-account-dropdown .roa-settings-utility {
  position: static;
  z-index: auto;
  display: block;
  width: 100%;
  height: auto;
}

.roa-account-dropdown .roa-settings-utility-trigger {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  justify-items: stretch;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 50px !important;
  gap: 9px;
  padding: 7px 9px !important;
  overflow: hidden;
  color: #cfc4ad;
  text-align: left;
  border: 1px solid rgba(216, 184, 107, 0.22) !important;
  border-image: none !important;
  border-radius: 2px !important;
  background:
    linear-gradient(
      145deg,
      rgba(21, 14, 24, 0.96),
      rgba(7, 5, 9, 0.99)
    ) !important;
  box-shadow:
    inset 0 0 14px rgba(101, 37, 124, 0.12),
    0 3px 8px rgba(0, 0, 0, 0.35) !important;
}

.roa-account-dropdown .roa-settings-utility-trigger:hover,
.roa-account-dropdown .roa-settings-utility-trigger:focus-visible,
.roa-account-dropdown
  .roa-settings-utility-trigger[aria-expanded="true"] {
  color: #f0dda8;
  outline: none;
  transform: none;
  filter: brightness(1.1);
  border-color: rgba(216, 184, 107, 0.38) !important;
  background:
    linear-gradient(
      145deg,
      rgba(36, 20, 42, 0.98),
      rgba(9, 6, 11, 0.99)
    ) !important;
}

.roa-settings-utility-copy {
  display: grid !important;
  gap: 2px;
  min-width: 0;
  color: inherit !important;
  overflow: hidden;
}

.roa-settings-utility-copy strong {
  overflow: hidden;
  color: #ddcc9e;
  font-family: var(--roa-title-font);
  font-size: 0.72rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.roa-settings-utility-copy small {
  overflow: hidden;
  color: #958a7c;
  font-size: 0.57rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.roa-account-dropdown .roa-music-trigger-glyph {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #d4bd82;
  font-size: 1.2rem;
  transform: none;
}

.roa-account-dropdown .roa-help-trigger img {
  width: 23px;
  height: 23px;
  justify-self: center;
  object-fit: contain;
  opacity: 0.84;
  filter:
    saturate(0.58)
    brightness(0.94)
    drop-shadow(0 2px 3px rgba(0, 0, 0, 0.72));
}

.roa-account-dropdown .roa-help-trigger:hover img,
.roa-account-dropdown .roa-help-trigger:focus-visible img,
.roa-account-dropdown
  .roa-help-trigger[aria-expanded="true"] img {
  opacity: 1;
  filter:
    saturate(1)
    brightness(1.13)
    drop-shadow(0 0 5px rgba(198, 113, 230, 0.42));
}

.roa-account-dropdown .roa-music-panel,
.roa-account-dropdown .roa-help-panel {
  position: fixed;
  top: calc(var(--roa-header-h, 88px) + 8px);
  right: 12px;
  left: auto;
  z-index: 1300;
}

.roa-account-dropdown .roa-music-panel {
  width: min(340px, calc(100vw - 24px));
}

.roa-help-panel {
  display: grid;
  gap: 12px;
  width: min(590px, calc(100vw - 24px));
  max-height: min(
    610px,
    calc(100vh - var(--roa-header-h, 88px) - 28px)
  );
  padding: 15px;
  overflow: hidden;
  color: #d5cbbb;
  border: 12px solid transparent;
  border-image: var(--roa-frame-panel) 55 fill / 12px / 0 stretch;
  border-radius: 0;
  background:
    radial-gradient(
      circle at 88% 8%,
      rgba(126, 45, 151, 0.17),
      transparent 17rem
    ),
    linear-gradient(
      145deg,
      rgba(16, 10, 19, 0.99),
      rgba(5, 4, 7, 0.995)
    );
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.7),
    inset 0 0 30px rgba(92, 32, 111, 0.09);
}

.roa-help-panel[hidden] {
  display: none;
}

.roa-help-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 10px;
  align-items: start;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(216, 184, 107, 0.16);
}

.roa-help-heading {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.roa-help-heading small,
.roa-help-context-label,
.roa-help-safety {
  color: #948a7c;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.roa-help-heading strong {
  color: #e0cfa3;
  font-family: var(--roa-title-font);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
}

.roa-help-context-label {
  display: flex;
  gap: 5px;
  align-items: center;
  margin-top: 2px;
}

.roa-help-context-label b {
  color: #d6c08e;
  font-size: inherit;
}

.roa-help-close {
  appearance: none;
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  color: #b9ad9b;
  font: inherit;
  font-size: 1rem;
  border: 8px solid transparent;
  border-image: var(--roa-frame-panel) 55 fill / 8px / 0 stretch;
  border-radius: 0;
  background: rgba(8, 5, 10, 0.94);
  cursor: pointer;
}

.roa-help-close:hover,
.roa-help-close:focus-visible {
  color: #f0dda8;
  outline: none;
  filter: brightness(1.1);
}

.roa-help-layout {
  display: grid;
  grid-template-columns: 156px minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
}

.roa-help-topics {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 3px;
}

.roa-help-topic {
  appearance: none;
  min-height: 38px;
  padding: 7px 10px;
  color: #aa9e8c;
  font: inherit;
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  border: 8px solid transparent;
  border-image: var(--roa-frame-panel) 55 fill / 8px / 0 stretch;
  border-radius: 0;
  background:
    linear-gradient(
      145deg,
      rgba(20, 13, 23, 0.94),
      rgba(7, 5, 9, 0.98)
    );
  cursor: pointer;
}

.roa-help-topic:hover,
.roa-help-topic:focus-visible,
.roa-help-topic.is-active {
  color: #efdca8;
  outline: none;
  filter: brightness(1.09);
}

.roa-help-topic.is-active {
  box-shadow:
    inset 3px 0 0 rgba(187, 96, 217, 0.58),
    inset 0 0 16px rgba(116, 45, 139, 0.12);
}

.roa-help-content-shell {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  padding: 2px 4px 2px 2px;
}

.roa-help-content {
  display: grid;
  gap: 10px;
  align-content: start;
}

.roa-help-content[hidden] {
  display: none;
}

.roa-help-content h3 {
  margin: 0;
  color: #ead8a7;
  font-family: var(--roa-title-font);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
}

.roa-help-content p {
  margin: 0;
  color: #b7ad9f;
  font-size: 0.72rem;
  line-height: 1.55;
}

.roa-help-content ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.roa-help-content li {
  position: relative;
  padding-left: 14px;
  color: #c7bcaa;
  font-size: 0.69rem;
  line-height: 1.45;
}

.roa-help-content li::before {
  content: "◆";
  position: absolute;
  top: 0.08em;
  left: 0;
  color: rgba(192, 111, 219, 0.7);
  font-size: 0.52rem;
}

.roa-help-safety {
  padding-top: 10px;
  border-top: 1px solid rgba(216, 184, 107, 0.13);
  line-height: 1.5;
}

@media (max-width: 760px) {
  .roa-account-menu .roa-account-dropdown {
    right: 0;
    width: min(292px, calc(100vw - 12px));
    max-height: calc(100vh - var(--roa-header-h, 72px) - 12px);
  }

  .roa-account-dropdown .roa-music-panel,
  .roa-account-dropdown .roa-help-panel {
    top: calc(var(--roa-header-h, 72px) + 8px);
    right: 10px;
    left: 10px;
    width: auto;
  }

  .roa-account-dropdown .roa-help-panel {
    max-height: calc(
      100vh - var(--roa-header-h, 72px) - 24px
    );
  }

  .roa-help-layout {
    grid-template-columns: 1fr;
  }

  .roa-help-topics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }

  .roa-help-topic {
    min-height: 42px;
    padding-inline: 6px;
    font-size: 0.57rem;
    text-align: center;
  }

  .roa-help-content-shell {
    max-height: 280px;
  }
}

@media (max-width: 480px) {
  .roa-help-panel {
    padding: 12px;
  }

  .roa-help-topics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roa-help-content-shell {
    max-height: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .roa-settings-utility-trigger,
  .roa-settings-utility-trigger img,
  .roa-help-topic,
  .roa-help-close {
    transition: none;
  }
}


/* ROA-TUTORIAL-001 production theme isolation
 *
 * The legacy map shell applies body.loadout-page button rules with
 * !important magenta backgrounds and pill radii. These scoped rules
 * preserve the approved dark-fantasy utility controls inside Settings.
 */
body.loadout-page
  .roa-account-dropdown
  .roa-help-topic {
  border: 8px solid transparent !important;
  border-image:
    var(--roa-frame-panel) 55 fill / 8px / 0 stretch !important;
  border-radius: 0 !important;
  background:
    linear-gradient(
      145deg,
      rgba(20, 13, 23, 0.94),
      rgba(7, 5, 9, 0.98)
    ) !important;
  color: #aa9e8c !important;
  box-shadow: none !important;
  transform: none !important;
}

body.loadout-page
  .roa-account-dropdown
  .roa-help-topic:hover,
body.loadout-page
  .roa-account-dropdown
  .roa-help-topic:focus-visible,
body.loadout-page
  .roa-account-dropdown
  .roa-help-topic.is-active {
  background:
    linear-gradient(
      145deg,
      rgba(20, 13, 23, 0.94),
      rgba(7, 5, 9, 0.98)
    ) !important;
  color: #efdca8 !important;
  transform: none !important;
}

body.loadout-page
  .roa-account-dropdown
  .roa-help-topic.is-active {
  box-shadow:
    inset 3px 0 0 rgba(187, 96, 217, 0.58),
    inset 0 0 16px rgba(116, 45, 139, 0.12) !important;
}

body.loadout-page
  .roa-account-dropdown
  .roa-help-close {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 8px solid transparent !important;
  border-image:
    var(--roa-frame-panel) 55 fill / 8px / 0 stretch !important;
  border-radius: 0 !important;
  background: rgba(8, 5, 10, 0.94) !important;
  color: #b9ad9b !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.loadout-page
  .roa-account-dropdown
  .roa-help-close:hover,
body.loadout-page
  .roa-account-dropdown
  .roa-help-close:focus-visible {
  background: rgba(8, 5, 10, 0.94) !important;
  color: #f0dda8 !important;
  transform: none !important;
}

body.loadout-page
  .roa-account-dropdown
  .roa-music-control {
  min-height: 38px !important;
  padding: 7px 10px !important;
  border: 9px solid transparent !important;
  border-image:
    var(--roa-frame-panel) 55 fill / 9px / 0 stretch !important;
  border-radius: 0 !important;
  background:
    linear-gradient(
      145deg,
      rgba(22, 14, 26, 0.96),
      rgba(7, 5, 9, 0.99)
    ) !important;
  color: #d8cab2 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.loadout-page
  .roa-account-dropdown
  .roa-music-control:hover,
body.loadout-page
  .roa-account-dropdown
  .roa-music-control:focus-visible {
  background:
    linear-gradient(
      145deg,
      rgba(22, 14, 26, 0.96),
      rgba(7, 5, 9, 0.99)
    ) !important;
  color: #f0dda8 !important;
  transform: none !important;
}

body.loadout-page
  .roa-account-dropdown
  .roa-music-control--primary {
  color: #e7d49e !important;
}


/* ROA-TUTORIAL-001 final utility cascade lock */
body.loadout-page .roa-account-dropdown button.roa-help-topic {
  min-height: 38px !important;
  padding: 7px 10px !important;
  color: #aa9e8c !important;
  font: inherit !important;
  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  border: 8px solid transparent !important;
  border-image: var(--roa-frame-panel) 55 fill / 8px / 0 stretch !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(20,13,23,.94), rgba(7,5,9,.98)) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}

body.loadout-page .roa-account-dropdown button.roa-help-topic:hover,
body.loadout-page .roa-account-dropdown button.roa-help-topic:focus-visible,
body.loadout-page .roa-account-dropdown button.roa-help-topic.is-active {
  color: #efdca8 !important;
  background: linear-gradient(145deg, rgba(20,13,23,.94), rgba(7,5,9,.98)) !important;
  transform: none !important;
}

body.loadout-page .roa-account-dropdown button.roa-help-topic.is-active {
  box-shadow:
    inset 3px 0 0 rgba(187,96,217,.58),
    inset 0 0 16px rgba(116,45,139,.12) !important;
}

body.loadout-page .roa-account-dropdown button.roa-help-close {
  display: grid !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  place-items: center !important;
  color: #b9ad9b !important;
  font: inherit !important;
  font-size: 1rem !important;
  border: 8px solid transparent !important;
  border-image: var(--roa-frame-panel) 55 fill / 8px / 0 stretch !important;
  border-radius: 0 !important;
  background: rgba(8,5,10,.94) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}

body.loadout-page .roa-account-dropdown button.roa-help-close:hover,
body.loadout-page .roa-account-dropdown button.roa-help-close:focus-visible {
  color: #f0dda8 !important;
  background: rgba(8,5,10,.94) !important;
  transform: none !important;
}

body.loadout-page .roa-account-dropdown button.roa-music-control {
  min-height: 38px !important;
  padding: 7px 10px !important;
  color: #d8cab2 !important;
  font-family: inherit !important;
  font-size: 0.67rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  border: 9px solid transparent !important;
  border-image: var(--roa-frame-panel) 55 fill / 9px / 0 stretch !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(22,14,26,.96), rgba(7,5,9,.99)) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}
