.nexus-menu {
  position: fixed;
  margin: 0;
  inset: auto;
  width: min(280px, calc(100vw - 48px));
  max-height: calc(100dvh - 90px);
  overflow-y: auto;
  z-index: 200;
}
.nexus-menu::backdrop {
  background: transparent;
  backdrop-filter: none;
}
.nexus-menu .menu-title {
  padding-bottom: 7px;
}
.nexus-menu > a {
  padding: 12px;
  min-height: 46px;
}
.region-picker {
  border: 0;
  padding: 0;
  margin: 16px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  min-width: 0;
}
.region-picker legend {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
}
.region-picker .field {
  margin: 0;
  min-width: 0;
}
.region-picker select {
  min-width: 0;
  width: 100%;
}
.team-management {
  margin: 18px 0;
}
.own-division-select {
  width: 100%;
  margin-bottom: 14px;
}
.roster-cards {
  padding: 0 12px 12px;
  display: grid;
  gap: 9px;
}
.roster-player {
  border: 1px solid #446d8d;
  border-radius: 12px;
  background: linear-gradient(135deg, #274b67, #142a43);
  box-shadow: 0 3px #09182a;
  min-width: 0;
  overflow: hidden;
}
.roster-player summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  cursor: pointer;
  min-height: 64px;
}
.roster-player summary::-webkit-details-marker {
  display: none;
}
.roster-player summary > span:nth-child(2) {
  min-width: 0;
  flex: 1;
  overflow-wrap: anywhere;
  font-size: 13px;
}
.roster-player summary > svg {
  width: 18px;
  height: 18px;
  color: #70daff;
}
.roster-player[open] summary > svg {
  transform: rotate(90deg);
}
.roster-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border-top: 1px solid #41617d;
  background: #11283e;
}
.roster-values > div {
  min-width: 0;
  border-radius: 8px;
  background: #1d3b55;
  padding: 10px;
  overflow-wrap: anywhere;
}
.roster-values small {
  display: block;
  font-size: 10px;
  color: #a8c6de;
  margin-bottom: 6px;
}
.roster-values b {
  font-size: 14px;
  color: #e4f7ff;
}
.roster-values a {
  font-size: 11px;
}
.settings-panel {
  max-width: 600px;
}
.settings-panel h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.settings-panel p {
  font-size: 12px;
  line-height: 1.6;
  margin: 14px 0;
  color: #aec6dc;
}
.settings-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 18px 0;
  border-top: 1px solid #355873;
}
.settings-switch input {
  width: 22px;
  height: 22px;
}
.reduce-motion * {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
@media (max-width: 360px) {
  .region-picker {
    grid-template-columns: 1fr;
  }
}

.nexus-menu > a .menu-task-count {
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 5px;
  box-sizing:border-box;
  border-radius:50%;
  background:linear-gradient(#bd5bee,#8f36c4);
  border:1px solid #d88fff;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:800;
  box-shadow:0 2px 4px #0005;
}