html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}
body {
    display: flex;
    flex-direction: column;
}
/*.page_bg {*/
/*  position: fixed;*/
/*  inset: 0;*/
/*  z-index: 0;*/
/*  pointer-events: none;*/

/*  background-image: url("/static/bg/background_img.jpg");*/
/*  background-size: cover;*/
/*  background-position: center;*/

/*  filter: blur(1px) saturate(1.1);*/
/*}*/
.page_bg {
  position: fixed;
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;

  z-index: 0;
  pointer-events: none;

  background-image: url("/static/bg/background_img.jpg");
  background-size: cover;
  background-position: center;

  filter: blur(1px) saturate(0.6);
}


.page_bg_mask {
  position: absolute;
  inset: 0;
  background: rgba(25, 24, 24, 0.42);
}


.header,
.main,
.footer {
  position: relative;
  z-index: 1;
}

.section_meta {
    display: flex;
    justify-content: center;
    align-content: center;
    font-size: 25px;
    margin-top: 50px;


}



.header {
    border-bottom: 1px solid #e5e7eb;
    background: #e5e7eb;
}
.header_nav {
    display: flex;
    align-items: center;
    justify-content: stretch;

    max-width: 1600px;
    margin: 0 auto;
    padding: 12px 16px;
    gap: 50px;
}
.header_nav .title {
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    color: #fffcfc;
}
.header_nav a {
    text-decoration: none;
    color: #ffffff;
    margin-left: 16px;
    font-weight: 700;
    font-size: 20px;
}

.header_nav a:hover {
    color: #000000;
}

.header {
  position: sticky;
  top: 0;
  z-index: 2; /* 比内容高，但不用太高 */

  background: rgba(31, 28, 98, 0.29);
  backdrop-filter: blur(6px) saturate(1.05);
  -webkit-backdrop-filter: blur(6px) saturate(1.05);

  border-bottom: 1px solid rgba(0,0,0,0.08);
}


.main {
    flex: 1;
}

.footer {
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    padding: 16px 12px;

    font-size: 12px;
    color: #6b7280;

}
.footer {
  position: relative;
  z-index: 1;

  background: rgba(41, 38, 62, 0.57);
  backdrop-filter: blur(6px) saturate(1.05);
  -webkit-backdrop-filter: blur(6px) saturate(1.05);

  border-top: 1px solid rgba(0, 0, 0, 0.34);
}
.disclaimer{
    display: flex;
    padding-left: 50px;
}


.class_container {
  max-width: 1200px;
  padding: 120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-auto-rows: 1fr;
  gap:30px;

}

.class_card {
    display: grid;
    padding: 15px 15px;
    background: #5e5a5a;
    border-radius: 30px 30px 30px 30px;


}

.class_card {
  background: rgba(39, 30, 30, 0.27); /* 半透明是关键 */
  backdrop-filter: blur(15px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);

  border-radius: 20px;
  box-shadow:
        /* 外部：整体悬浮重量 */
    0 10px 32px rgba(0, 0, 0, 0.8),

    /* 内部：上亮（受光边） */
    inset 0 1px 0 rgba(255, 255, 255, 0.45),

        /* 内部：下暗（背光边） */
    inset 0 -1px 0 rgba(0, 0, 0, 0.14);

  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}


.spec_list {
    display: flex;
    flex-direction: column;

}
.spec_icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}
.spec_icon {

  /* 不用 border */
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.45), /* 上受光 */
    inset 0 -1px 0 rgba(0, 0, 0, 0.25),      /* 下背光 */
    0 2px 6px rgba(0, 0, 0, 1);            /* 外部重量 */
}

.class_title {
    margin: 0 auto;
    font-size: 25px;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    color: var(--class-color, #111);

}

.class_card[data-class="death_knight"] {
  --class-color: #c41f3b;
}
.class_card[data-class="demon_hunter"] {
    --class-color: #a230c7;
}
.class_card[data-class="druid"] {
    --class-color: #d36307;
}
.class_card[data-class="evoker"] {
    --class-color: #33927e;
}
.class_card[data-class="hunter"] {
    --class-color: #a9d171;
}
.class_card[data-class="mage"] {
    --class-color: #3fc5e9;
}
.class_card[data-class="monk"] {
    --class-color: #53eaa3;
}
.class_card[data-class="paladin"] {
    --class-color: #dd5b92;
}
.class_card[data-class="priest"] {
    --class-color: #fdfdfd;
    --spec-color: #d1d5db;
}
.class_card[data-class="rogue"] {
    --class-color: #fdf267;
}
.class_card[data-class="shaman"] {
    --class-color: #006fdb;
}
.class_card[data-class="warlock"] {
    --class-color: #7576f6;
}
.class_card[data-class="warrior"] {
    --class-color: #c5863c;
}

.spec_item {
  display: flex;
  align-items: center;
  padding: 3px;
  gap: 8px;
}


.spec_list {
    gap: 10px;
}
.spec_name {
  font-size: 18px;
  font-weight: 500;
  color: var(--class-color);
  opacity: 3;
}


.spec_item {
  text-decoration: none;
}

.header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.footer {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}


.spec_pg_icon {
    width: 60px;
    height: 60px;
    border-radius:50%;
}

.talent_section {
  margin: 40px auto;
  max-width: 1100px;
}

.talent_iframe {
  width: 100%;
  height: 700px;
  border: none;
  border-radius: 16px;

}

/* spec 页面额外压暗 */
.page-spec .page_bg {
  filter: blur(8px) saturate(0.75) brightness(0.65);
}

.talent_data {
    display: flex;
    /*margin: 0 auto;*/
    gap: 20px;
    align-items: center;
    justify-content: start;
    max-width: 500px;
    margin-right: auto;
    padding-left: 15px;
    background: rgba(125, 139, 166, 0);
    /*box-shadow: 0 10px 30px rgba(0,0,0,0.35);*/
    border-radius: 30px 30px 30px 30px;
    position: relative;
    box-shadow: 0px -5px 5px -5px #ffffff;
}

.talent_data {
    padding: 5px;
    color: #b6b6ef;
    font-size: 25px;
    font-weight: 300;
    margin-bottom: 20px;
}

.spec_pg_icon {
    width: 36px;
    height: 36px;
}

.stats_container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
    margin: 0 auto;
    max-width: 900px;
    background: rgba(125, 139, 166, 0.15);
    /*box-shadow: 0 10px 30px rgba(0,0,0,0.35);*/
    border-radius: 30px 30px 30px 30px;
    position: relative;
    box-shadow: 0px -5px 5px -5px #ffffff;

}



.stats_icon {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  font-weight: 700;
  --stat-color: #ffffff;
  color: var(--stat-color);

}

.stats_icon[data-stats="crit"] {
    color: rgb(225, 29, 29);
}
.stats_icon[data-stats="haste"] {
    color: #0ed39a;
}
.stats_icon[data-stats="Mastery"] {
    color: #9155fd;
}
.stats_icon[data-stats="Versatility"] {
    color: #bebebe;
}

.stats_data {
  display: flex;
  flex-direction: column;
}

.stats_icon svg {
  width: 60px;
  height: 60px;
  opacity: 0.85;

}

.gear-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(250px, 1fr));
  gap: 20px;

  max-width: 1200px;   /* 关键 */
  margin: 50px auto 50px;/* 关键 */

}

.gear-slot-card {
  background: rgba(39, 30, 30, 0.27); /* 半透明是关键 */
  backdrop-filter: blur(15px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);

  border-radius: 20px;
  box-shadow:
        /* 外部：整体悬浮重量 */
    0 10px 32px rgba(0, 0, 0, 0.8),

    /* 内部：上亮（受光边） */
    inset 0 1px 0 rgba(255, 255, 255, 0.45),

        /* 内部：下暗（背光边） */
    inset 0 -1px 0 rgba(0, 0, 0, 0.14);

  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;

  padding: 15px;
}

.slot-title {
    display: flex;
    /*margin-bottom: 25px;*/
    /*justify-content: center;*/
    align-items: center;
    font-size: 25px;
    font-weight: 1000;
    color: rgba(229, 231, 237, 0.68);
    margin: 0 0 20px 5px;


}

.item-row {
  display: flex;
  align-items: center;
  gap: 50px;
  padding-bottom: 5px;;
}

.item-name-wrap {
  flex: 0 0 250px;      /* ⭐ 关键：固定 flex basis */
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}




/* 1. 强制容器和内部所有层级都变圆 */
.item-link ins,
.item-link ins *,
.wh-icon,
.wh-icon * {
    border-radius: 100% !important;
    overflow: hidden !important;

}
.item-link {
  text-decoration: none;
}

/*.item-name-wrap a {*/
/*  display: block;*/
/*  max-width: 100%;*/
/*  overflow: hidden;*/
/*  white-space: nowrap;*/
/*  text-overflow: ellipsis;*/
/*  font-size: 15px;*/
/*}*/

/*.item-row {*/
/*  display: flex;*/
/*  align-items: center;*/
/*  gap: 2px;*/
/*}*/

/* 左侧：icon + 名字 → 可伸缩 */
.item-name-wrap {
  flex: 1;              /* ⭐ 关键：吃剩余空间 */
  min-width: 0;         /* ⭐ 必须，否则不截断 */
  overflow: hidden;
}

/* 名字本体 */
/*.item-name-wrap a {*/
/*  display: block;*/
/*  white-space: nowrap;*/
/*  overflow: hidden;*/
/*  text-overflow: ellipsis;*/
/*}*/

/* 右侧：比例 → 固定宽度 */
.item-ratio {
  /*flex: 0 0 56px;       !* ⭐ 固定 *!*/
  text-align: right;
  margin-left: 12px;    /* 只是拉开间距 */
  font-size: 18px;
  font-weight: 500;

}


/* 真正的圆，只画在图像层 */
.gear-grid .iconmedium ins {
  border-radius: 50%;
  width: 32px;
  height: 32px;
}

/* 顺手把 Wowhead 的覆盖层干掉 */
.gear-grid .iconmedium del {
  display: none;
}


.ratio-bis {
  color: #18df5e; /* 绿 */
}

.ratio-high {
  color: #51c179; /* 绿 */
}

.ratio-mid {
  color: #edc953; /* 黄 */
}

.ratio-low {
  color: #8c7414; /* 橙 */
}


.spec_describe {
    display: flex;
    color: rgba(96, 128, 204, 0.68);
    max-width: 1000px;
    justify-content: start;
    align-items: center;
    /*background: #3fc5e9;*/
    /*margin: 15px;*/
    margin-right: auto;

    background: rgba(125, 139, 166, 0);
    /*box-shadow: 0 10px 30px rgba(0,0,0,0.35);*/
    border-radius: 30px 30px 30px 30px;
    position: relative;
    box-shadow: 0px 5px 5px -5px #ffffff;
    padding-left: 20px;

}
.spec_describe {
    padding-bottom: 20px;
    margin-bottom: 30px;
    font-weight: 500;
}



.page-rank .page_bg {
  filter: blur(8px) saturate(0.75) brightness(0.65);
}

/*根容器*/
.rank-page-dps {
    display: grid;
    justify-content: center;
    align-items: center;

}

.duties_header {
    color: #fbfbfb;
    font-size: 30px;
    font-weight: 600;
}

.dps-title {
    display: flex;
    color: #fbfbfb;
    font-size: 20px;
    font-weight: 600;
    gap: 25px;
    margin-left: 15px;

}

.card-internal {
    display: flex;
    align-items: center;
    gap: 30px;
    flex: 1 1 auto;
}

.duties_card {
    background: #6b7280;
    padding: 15px;
    max-width: 600px;
    background: rgba(125, 139, 166, 0);
    /*box-shadow: 0 10px 30px rgba(0,0,0,0.35);*/
    border-radius: 30px 30px 30px 30px;
    position: relative;
    box-shadow: 0px 2px 5px 0px rgba(255, 255, 255, 0.36);
    /*padding-left: 20px;*/
    margin-top: 50px;
    margin-left: 100px;
}

.dps-data {
  display: flex;
  flex-shrink: 0;
  text-align: right; /* 非常重要，数字会更干净 */
  gap: 40px;
  font-size: 15px;
  font-weight: 500;
  color: #53eaa3;
}

.avg_value {
    max-width:20px;
    margin-left: 5px;
}
.top_value {
    max-width:20px;
}
.sample_size {
    max-width:30px;
    margin-left: 20px;
}


.spec-icon-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;

}



/*职责容器dps/tank/healer*/
.rank-board {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 32px;
    align-items: flex-start; /* 很关键 */

}
/*职责卡片*/
.duties_card {
    flex: 1 1 0;
    display: grid;
    justify-content: center;
    align-items: center;


}

/*图标画圆*/
.rank_spec_icon {
    width: 25px;
    height: 25px;
    border-radius: 50%;
}


.bar {
  display: flex;
  width: 300px;
  height: 20px;
  background: rgba(255,255,255,0.12);
  border-radius: 999px;
  overflow: hidden;
}

.bar-avg {
  background: #22c55e;        /* 实体 */
}

.bar-top {
  background: repeating-linear-gradient(
    45deg,
    rgba(34,197,94,0.6),
    rgba(34,197,94,0.6) 4px,
    rgba(34,197,94,0.25) 4px,
    rgba(34,197,94,0.25) 8px
  );
}

/*.avg_value,*/
/*.top_value,*/
/*.sample_size {*/
/*  font-variant-numeric: tabular-nums;*/
/*}*/

.rank_spec_card {
    background: rgba(125, 139, 166, 0);
    /*box-shadow: 0 10px 30px rgba(0,0,0,0.35);*/
    border-radius: 30px 30px 30px 30px;
    position: relative;
    box-shadow: 0px 2px 5px 0px rgba(243, 195, 195, 0.36);
    /*padding-left: 20px;*/
    padding: 5px;

}

/* 默认颜色（防止漏网之鱼） */
.card-internal {
  --spec-color: #3b82f6;          /* 主色 */
  --spec-color-soft: rgba(59,130,246,.35); /* top / 虚线 */
}

.card-internal[data-class="deathknight"] {
  --spec-color: #c41e3a;
  --spec-color-soft: rgba(196, 30, 58, 0.5);
}

.card-internal[data-class="hunter"] {
  --spec-color: #a6cd6f;
  --spec-color-soft: rgba(164, 202, 109, 0.5);
}

.card-internal[data-class="demonhunter"] {
  --spec-color: #a230c7;
  --spec-color-soft: rgba(162, 48, 199, 0.5);
}

.card-internal[data-class="warrior"] {
  --spec-color: #c49a6c;
  --spec-color-soft: rgba(196, 154, 108, 0.5);
}

.card-internal[data-class="shaman"] {
  --spec-color: #006fdb;
  --spec-color-soft: rgba(0, 111, 219, 0.5);
}

.card-internal[data-class="paladin"] {
  --spec-color: #f28bb9;
  --spec-color-soft: rgba(242, 139, 185, 0.5);
}

.card-internal[data-class="warlock"] {
  --spec-color: #8687ec;
  --spec-color-soft: rgba(134, 135, 236, 0.5);
}

.card-internal[data-class="rogue"] {
  --spec-color: #fdf267;
  --spec-color-soft: rgba(253, 242, 103, 0.5);
}

.card-internal[data-class="mage"] {
  --spec-color: #3fc5e9;
  --spec-color-soft: rgba(63, 197, 233, 0.5);
}

.card-internal[data-class="druid"] {
  --spec-color: #fd7b0a;
  --spec-color-soft: rgba(253, 123, 10, 0.5);
}

.card-internal[data-class="evoker"] {
  --spec-color: #33927e;
  --spec-color-soft: rgb(51, 146, 126, 0.5);
}

.card-internal[data-class="priest"] {
  --spec-color: #fdfdfd;
  --spec-color-soft: rgba(253, 253, 253, 0.5);
}

.card-internal[data-class="monk"] {
  --spec-color: #00fd97;
  --spec-color-soft: rgba(0, 253, 151, 0.5);
}


/* ……后面慢慢补齐即可 */





.bar {
  background: rgba(255,255,255,0.12);
  border-radius: 999px;
  overflow: hidden;
}

.bar-avg {
  height: 100%;
  background: var(--spec-color);
  border-radius: 999px 0 0 999px;
}

.bar-top {
  height: 100%;
  background:
    repeating-linear-gradient(
      45deg,
      var(--spec-color-soft),
      var(--spec-color-soft) 6px,
      transparent 6px,
      transparent 1px
    );
}





.avg_value {
  color: var(--spec-color);
  font-weight: 600;
}

.top_value {
  color: var(--spec-color);
  font-weight: 800;
}


.sample_size {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.85em;
}






/*!* 默认状态 *!*/
/*.wowhead-item {*/
/*  display: inline;*/
/*}*/



/* 每一行：左侧名字区域 + 右侧百分比 */
.item-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom: 8px;
}

/* 右侧百分比：固定，不参与挤压 */
.item-ratio{
  flex:0 0 auto;
  text-align:right;
  margin-left:12px;
}

/* ========== wowhead 主力：必须自己负责省略号 ========== */
.wowhead-item{
  flex:1 1 auto;
  min-width:0;               /* ⭐关键：否则不会截断 */
  display:block;             /* ⭐让 ellipsis 稳定 */
  white-space:nowrap;        /* ⭐不换行 */
  overflow:hidden;
  text-overflow:ellipsis;
  text-decoration:none;
}

/* ========== 本地兜底：容器可缩 + 名字本体省略号 ========== */
.local-item{
  flex:1 1 auto;
  min-width:0;               /* ⭐关键 */
  display:flex;
  align-items:center;
  gap:6px;
  overflow:hidden;           /* ⭐防止子元素撑爆 */
}

.local-item-icon{
  width:20px;
  height:20px;
  flex:0 0 auto;
}

.local-item-name{
  flex:1 1 auto;
  min-width:0;               /* ⭐关键 */
  display:block;
  white-space:nowrap;        /* ⭐不换行 */
  overflow:hidden;
  text-overflow:ellipsis;
}
/* ================= 本地兜底视觉强化 ================= */

/* 名字：紫色 + 放大 */
.local-item-name {
  color: #a335ee;          /* wow 史诗紫 */
  font-size: 16px;         /* 比默认略大 */
  font-weight: 500;
}

/* 整个本地 item：对齐 wowhead 行为 */
.local-item {
  line-height: 1.3;
}

/* 图标：强制圆形 */
.local-item-icon {
  width: 30px;             /* 可微调 */
  height: 30px;
  border-radius: 50%;      /* ⭐关键：真·圆 */
  object-fit: cover;
  box-shadow:
    0 0 0 1px rgba(163, 53, 238, 0.55),   /* 紫色细描边 */
    0 2px 6px rgba(0, 0, 0, 0.45);        /* 轻微浮起 */
}
.local-item-name:hover {
  text-decoration: underline;
}




































