/* ========================
   🏠 HERO SECTION
======================== */
.home-hero {
  display: flex;
  justify-content: center;
  align-items: center;

  padding: var(--spacing-xl);
  text-align: center;
}

/* content wrapper */
.home-hero__content {
  max-width: 600px;
  width: 100%;
}

/* ========================
   🏆 TITLE
======================== */
.home-title {
  font-family: var(--font-heading);
  font-size: 32px;
  letter-spacing: 2px;

  color: var(--gold-primary);

  margin-bottom: var(--spacing-md);
}

/* ========================
   📝 SUBTITLE
======================== */
.home-subtitle {
  font-size: 14px;
  color: var(--text-muted);

  margin-bottom: var(--spacing-lg);
}

/* ========================
   🔍 SEARCH BAR
======================== */
.home-search {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);

  background: var(--surface-card);
  border: 1px solid var(--border-gold);
  border-radius: var(--radius-md);
  margin-bottom: 2rem;

  padding: var(--spacing-xs);
}

/* input */
.home-search__input {
  flex: 1;

  background: transparent;
  border: none;
  outline: none;

  padding: var(--spacing-sm);
  color: var(--text-primary);

  font-size: 14px;
}

/* button */
.home-search__button {
  background: var(--gold-primary);
  color: var(--text-inverse);

  border: none;
  border-radius: var(--radius-sm);

  padding: 8px 16px;
  text-transform: uppercase;
  letter-spacing: 1px;

  cursor: pointer;
  transition: all var(--transition-fast);
}

.home-search__button:hover {
  background: var(--gold-light);
  box-shadow: var(--glow-gold-soft);
}


/* stuff */
/* ========================
   HERO HEADER
======================== */
.player-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: var(--spacing-lg);
  margin-bottom: var(--spacing-lg);

  background: var(--surface-card);
  border: 1px solid var(--border-gold);
  border-radius: var(--radius-md);
}

.player-hero__left {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}
.player-hero__right {
  text-align: center;
}

.avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-gold);
  overflow: hidden;
}
.avatar-image {
  width: 100%;
}

.player-name {
  font-family: var(--font-heading);
  font-size: 28px;
  color: var(--gold-primary);
}

.player-meta {
  color: var(--text-muted);
}

.player-xp {
  font-size: 16px;
  color: var(--gold-light);
}

/* ========================
   GRID
======================== */
.player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-lg);
}

/* ========================
   CARD
======================== */
.player-card {
  background: var(--surface-card);
  border: 1px solid var(--border-gold);
  border-radius: var(--radius-md);
  padding: var(--spacing-md);
}

.card-title {
  font-family: var(--font-heading);
  font-size: 16px;
  color: var(--gold-primary);
  margin-bottom: var(--spacing-sm);
}

/* ========================
   SKILLS PREVIEW
======================== */
/* ========================
   SKILLS GRID
======================== */
.skills-preview {
  display: grid;

  /* auto-fit makes it responsive */
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));

  gap: var(--spacing-sm);
}

/* ========================
   SKILL ITEM
======================== */
/* ========================
   CARD VARIANT
======================== */
.player-card--skills {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

/* ========================
   META GRID
======================== */
.skills-meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-md);
}

.skills-meta__item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  transition: all 0.15s ease;
}

/* ========================
   SKILL GRID
======================== */
.skills-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  gap: 10px;
}

/* ========================
   SKILL TILE
======================== */
.skill-tile {
  display: flex;
  align-items: center;
  gap: 10px;

  padding: 8px 10px;

  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(198, 169, 107, 0.2);
  border-radius: 8px;

  transition: all 0.15s ease;
}

.skill-tile:hover {
  background: rgba(0, 0, 0, 0.4);
  border-color: var(--border-gold);
  transform: translateY(-1px);
}

/* ========================
   ICON
======================== */
.skill-tile__icon {
  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--bg-tertiary);
  border-radius: 50%;
}

.skill-tile__image {
  width: 26px;
  height: 26px;
}

/* ========================
   LEVEL
======================== */
.skill-tile__level {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

/* ========================
   MAX LEVEL STYLING
======================== */
.skill-tile {
  border: 1px solid rgba(198, 169, 107, 0.25);
}

/* ========================
   99 (subtle gold)
======================== */
.skill-tile.is-99 {
  border-color: rgba(198, 169, 107, 0.7);
}

/* ========================
   110 (soft blue)
======================== */
.skill-tile.is-110 {
  border-color: rgba(74, 163, 255, 0.6);
  box-shadow: 0 0 4px rgba(74, 163, 255, 0.25);
}

/* ========================
   120 (strong purple)
======================== */
.skill-tile.is-120 {
  border-color: #b06bff;
  box-shadow: 0 0 8px rgba(176, 107, 255, 0.6);
}

/* ========================
   200M (premium green)
======================== */
.skill-tile.is-200m {
  border-color: #5cff9d;

  box-shadow:
    0 0 6px rgba(92, 255, 157, 0.5),
    inset 0 0 10px rgba(92, 255, 157, 0.1);

  background: linear-gradient(
    rgba(92, 255, 157, 0.08),
    transparent
  );
}
@keyframes skill-glow {
  from {
    box-shadow: 0 0 6px rgba(92, 255, 157, 0.5);
  }
  to {
    box-shadow: 0 0 14px rgba(92, 255, 157, 1);
  }
}

/* ========================
   ACTIVITY
======================== */
.activity-item {
  color: var(--text-secondary);
  margin-bottom: 6px;
}

/* ========================
   STATS
======================== */
.stats-card {
  display: flex;
  justify-content: space-around;
  text-align: center;
}

.stat-label {
  font-size: 0.875rem;   /* 14px */
  color: var(--text-secondary);
  font-weight: 500;
  letter-spacing: 0.02em;
  margin:0;
}

.stat-value {
  font-size: 1.375rem;   /* 22px */
  font-weight: 600;
  color: var(--gold-primary);
}

/* ========================
   ACTIVITY LIST
======================== */
.activity-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* ========================
   ACTIVITY ITEM
======================== */
.activity-item {
  padding: 8px 10px;

  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(198, 169, 107, 0.15);
  border-radius: 6px;

  transition: all 0.15s ease;
}

.activity-item:hover {
  background: rgba(0, 0, 0, 0.4);
  border-color: rgba(198, 169, 107, 0.4);
  transform: translateY(-1px);
}

/* ========================
   TEXT
======================== */
.activity-item p {
  margin: 0;
  line-height: 1.3;
}

/* main text */
.activity-item p:first-child {

  color: var(--text-primary);
  font-weight: 500;
}

/* date */
.activity-item p:last-child {
  font-size: 0.8rem;
  color: var(--text-muted);

  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
}

/* little clock dot */
.activity-item p:last-child::before {
  content: "🕒";
  font-size: 0.8rem;
  opacity: 0.7;
}
.activity-toggle__btn {
  cursor: pointer;
  color: var(--gold-primary) !important;
}
.activity-toggle__btn:hover {
  cursor: pointer;
  color: var(--gold-light) !important;
}



/* ========================
   QUEST CHART
======================== */
.quest-chart {
  display: flex;
  justify-content: center;
  align-items: center;
}

.quest-chart__circle {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  position: relative;
}

/* inner cutout */
.quest-chart__inner {
  position: absolute;
  inset: 14px;

  background: var(--bg-primary);
  border-radius: 50%;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.quest-chart__total {
  font-size: 20px;
  font-weight: 700;
}

.quest-chart__label {
  color: var(--text-muted);
}
.quests-chart-legend {
  margin-left: 10px;
}
.chart-legend-item .legend-icon {
  display:inline-block;
  width:20px;
  height:20px;
  background:var(--color-not-started)
}

.started .legend-icon {
  background:var(--color-started)
}
.complete .legend-icon {
  display:inline-block;
  width:20px;
  height:20px;
  background:var(--color-complete)
}



/* ========================
   LAYOUT
======================== */
.combat-widget {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

/* ========================
   RING
======================== */
.combat-ring {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  position: relative;

  /* subtle outer glow */
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
}
.combat-ring::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;

  background: radial-gradient(
    circle at 30% 30%,
    rgba(255,255,255,0.15),
    transparent 60%
  );

  pointer-events: none;
}

/* inner cutout */
.combat-ring__inner {
  position: absolute;
  inset: 14px;

  background: radial-gradient(
    circle at center,
    #0a0f14,
    #05080c
  );

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* ========================
   CENTER
======================== */
.combat-center {
  text-align: center;
}

.combat-center__icon {
  width: 45px;
  height: 45px;
  margin: 0 auto 6px;
}
.combat-center__icon img {
  width: 100%;
}

.combat-center__label {
  font-size: 12px;
  color: var(--text-muted);
}

/* ========================
   LEGEND
======================== */
.combat-legend {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.legend-color {
  width: 16px;
  height: 16px;
  border: 2px solid #000;
}

/* ========================
   COLORS
======================== */
.legend-color.magic { background: #4aa3ff; }
.legend-color.melee { background: #ff9800; }
.legend-color.ranged { background: #5cff9d; }
.legend-color.necro { background: #b06bff; }



/* ========================
   NAV WRAPPER
======================== */
.player-nav {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;

  margin-top: 12px;
}

/* ========================
   NAV LINK (BUTTON STYLE)
======================== */
.player-nav__btn {
  display: inline-block;
  padding: 0.5rem 0.9rem;

  font-size: 0.85rem;
  font-weight: 600;

  color: var(--text-primary) !important;
  text-decoration: none;

  background: linear-gradient(
    135deg,
    rgba(198, 169, 107, 0.15),
    rgba(198, 169, 107, 0.05)
  );

  border: 1px solid rgba(198, 169, 107, 0.3);
  border-radius: 8px;

  cursor: pointer;

  transition: all 0.15s ease;
}

/* ========================
   HOVER
======================== */
.player-nav__btn:hover {
  background: linear-gradient(
    135deg,
    rgba(198, 169, 107, 0.3),
    rgba(198, 169, 107, 0.1)
  );

  border-color: var(--gold-primary);

  transform: translateY(-1px);
  text-decoration: none !important;
}

/* ========================
   ACTIVE (CLICK)
======================== */
.player-nav__btn:active {
  transform: translateY(0);
  opacity: 0.85;
}

/* ========================
   ACTIVE PAGE STATE
======================== */
.player-nav__btn.is-active {
  border-color: var(--gold-primary);

  background: rgba(198, 169, 107, 0.25);

  box-shadow: 0 0 6px rgba(198, 169, 107, 0.3);
}

/* ========================
   FOCUS (ACCESSIBILITY)
======================== */
.player-nav__btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(198, 169, 107, 0.4);
}



.card-link {
  margin-top: auto;
  padding-top: 0.75rem;
  display: flex;
  justify-content: flex-end;
}
.card-link a {
  position: relative;
  font-size: 0.8rem;
  text-decoration: none;

  color: #d4b75f; /* muted RS gold */
  opacity: 0.85;

  transition: color 0.2s ease, opacity 0.2s ease;
}
.card-link a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;

  width: 100%;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(212, 183, 95, 0.8),
    transparent
  );

  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.card-link a:hover {
  color: #f0d98a; /* brighter gold */
  opacity: 1;
}

.card-link a:hover::after {
  opacity: 1;
}
.card-link a:hover {
  text-shadow: 0 0 6px rgba(240, 217, 138, 0.25);
}

.widget-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  transition: all 0.15s ease;
}
