/* ══════════════════════════════════════════════════════════════════════
   【直播舞台差异化主题包 · stage-themes.css】
   基准：1080 × 1920 竖屏舞台
   注意：sky + classic + off + gap 除 #stage-deco 与新增空置元素外保持 100% 原始视觉
   ══════════════════════════════════════════════════════════════════════ */

/* ══ 0. 装饰层与层级基线 ══ */
#stage-deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  filter: hue-rotate(var(--seed-hue, 0deg));
}
#brand { z-index: 10; }
#canvas-stage { z-index: 5; }

.lh-deco-item {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

@keyframes lh-float-slow {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
  50% { transform: translate3d(14px, -18px, 0) rotate(4deg) scale(1.03); }
}
@keyframes lh-float-rev {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50% { transform: translate3d(-16px, 14px, 0) rotate(-5deg); }
}
@keyframes lh-pulse-soft {
  0%, 100% { opacity: 0.32; transform: scale(0.96); }
  50% { opacity: 0.72; transform: scale(1.04); }
}
@keyframes lh-spin-slow {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes lh-radar-sweep {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes lh-card-fan-left {
  0%, 100% { transform: rotate(-14deg) translateY(0); }
  50% { transform: rotate(-18deg) translateY(-5px); }
}
@keyframes lh-card-fan-right {
  0%, 100% { transform: rotate(14deg) translateY(0); }
  50% { transform: rotate(18deg) translateY(-5px); }
}
@keyframes lh-star-twinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1.2); }
}
@keyframes lh-meteor {
  0% { transform: translate3d(40px, -40px, 0); opacity: 0; }
  15% { opacity: 0.95; }
  45% { transform: translate3d(-90px, 90px, 0); opacity: 0; }
  100% { transform: translate3d(-90px, 90px, 0); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .lh-deco-item,
  .lh-anim {
    animation: none !important;
  }
}

/* ══ 1. 品牌区新增元素（Logo & 主讲胶囊，全主题通用几何） ══ */
#brand .brand-logo {
  max-height: 54px;
  max-width: 210px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
#brand .brand-logo[hidden] {
  display: none !important;
}

/* 当有机构 Logo 时，品牌右列顶部横向排布 Logo 与年份胶囊，保证总高不超 168px */
#brand .brand-right:has(.brand-logo:not([hidden])) {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto auto;
  column-gap: 14px;
  row-gap: 6px;
  align-items: center;
  justify-items: end;
  top: 20px;
}
#brand .brand-right:has(.brand-logo:not([hidden])) .brand-logo {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  padding: 6px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 14px rgba(15, 42, 92, 0.06);
}
#brand .brand-right:has(.brand-logo:not([hidden])) .brand-meta-badge {
  grid-column: 2;
  grid-row: 1;
}
#brand .brand-right:has(.brand-logo:not([hidden])) #data-label {
  grid-column: 2;
  grid-row: 2;
  margin-top: 0;
}
#brand .brand-right:has(.brand-logo:not([hidden])) .host-chip,
#brand .brand-right:has(.brand-logo:not([hidden])) #queue-chip {
  grid-column: 1 / -1;
  margin-top: 4px;
}

/* 主讲人胶囊 */
#brand .host-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(15, 42, 92, 0.88) 0%, rgba(36, 82, 166, 0.88) 100%);
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 12px rgba(15, 42, 92, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  margin-top: 8px;
}
#brand .host-chip::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ADE80;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.28);
}
#brand .host-chip.hidden,
#brand .host-chip[hidden] {
  display: none !important;
}

/* 当 host-chip 与 queue-chip 同时显示时，紧凑同行或微间距避免超 168px */
#brand .brand-right:has(.host-chip:not(.hidden)):has(#queue-chip:not(.hidden)) {
  top: 16px;
}
#brand .brand-right:has(.host-chip:not(.hidden)):has(#queue-chip:not(.hidden)) #data-label {
  margin-top: 8px;
}
#brand .brand-right:has(.host-chip:not(.hidden)):has(#queue-chip:not(.hidden)) .host-chip {
  margin-top: 6px;
  height: 30px;
  font-size: 18px;
}
#brand .brand-right:has(.host-chip:not(.hidden)):has(#queue-chip:not(.hidden)) #queue-chip {
  margin-top: 4px;
  height: 30px;
  font-size: 18px;
}

/* ══ 2. 第三列新增指标（.col-need 校测需达 / .col-plan 招生计划） ══ */
.vcard-data .col-need,
.vcard-data .col-plan {
  width: 120px;
}
.vcard-data .col-need .data-num,
.vcard-data .col-plan .data-num {
  color: #1D4ED8;
}
.vcard-data .col-need .data-state-txt,
.vcard-data .col-plan .data-state-txt {
  color: #475569;
  font-size: 24px;
  font-weight: 800;
}

/* ══ 3. 机构主推志愿卡与标签 ══ */
.vcard.is-featured .vcard-card {
  border: 2px solid rgba(212, 158, 54, 0.82);
  box-shadow: inset 0 1px 0 #FFFFFF,
              0 0 0 3px rgba(242, 198, 109, 0.24),
              0 10px 24px rgba(184, 134, 47, 0.16);
}
.vcard.is-featured .vcard-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 110px;
  height: 110px;
  background: radial-gradient(circle at top right, rgba(245, 194, 88, 0.26), transparent 70%);
  pointer-events: none;
}
.tag-badge.tag-featured {
  /* 覆盖 .t-chong/.t-wen/.t-bao 下 .tag-badge 的背景与文字颜色 */
  background: linear-gradient(135deg, #F6D379 0%, #D99B26 52%, #B57612 100%) !important;
  color: #FFFFFF !important;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 2px rgba(92, 54, 4, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65),
              0 3px 10px rgba(184, 134, 47, 0.32) !important;
}

/* ══ 4. 出镜位 (#cam-frame) 与画面缩放对齐（契约 5.4） ══ */
#cam-frame {
  display: none;
  position: absolute;
  top: 190px;
  width: 230px;
  height: 410px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.12) 100%);
  border: 2px solid rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 1px rgba(15, 42, 92, 0.10),
              0 16px 36px rgba(15, 42, 92, 0.10);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 15;
  pointer-events: none;
}
#cam-frame::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 12px;
  border: 1px dashed rgba(15, 42, 92, 0.18);
  pointer-events: none;
}
#cam-frame .cam-label {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(15, 42, 92, 0.68);
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}
body.is-stage-only #cam-frame .cam-label {
  display: none;
}
#cam-frame .cam-name {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 210px;
  max-width: 246px;
  padding: 10px 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0F2A5C 0%, #1E468A 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 8px 20px rgba(15, 42, 92, 0.22);
  color: #FFFFFF;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#cam-frame .cam-name:empty,
#cam-frame .cam-name.hidden,
#cam-frame .cam-name[hidden] {
  display: none;
}

/* 右侧出镜 */
#stage[data-camera="right"] #cam-frame {
  display: block;
  left: 820px;
}
#stage[data-camera="right"] #canvas-stage,
#stage[data-camera="right"] #promo-layer {
  left: 40px;
  transform: scale(0.8);
  transform-origin: left top;
}
#stage[data-camera="right"] #promo-layer,
#stage[data-camera="left"] #promo-layer { height: 1330px; } /* 缩 0.8 后底边 176 + 1064 = 1240 */
#stage[data-camera="right"] #promo-layer.is-on {
  transform: scale(0.8) translateY(0);
}

/* 左侧出镜 */
#stage[data-camera="left"] #cam-frame {
  display: block;
  left: 30px;
}
#stage[data-camera="left"] #canvas-stage,
#stage[data-camera="left"] #promo-layer {
  left: auto;
  right: 40px;
  transform: scale(0.8);
  transform-origin: right top;
}
#stage[data-camera="left"] #promo-layer.is-on {
  transform: scale(0.8) translateY(0);
}

/* ══ 5. 内容卡巡播层 (#promo-layer，契约 5.2) ══ */
#promo-layer {
  position: absolute;
  top: 176px;
  left: 60px;
  width: 962px;
  height: 1060px; /* 底边 176 + 1060 = 1236px，下面留给引流条 (1256~1346) */
  z-index: 25;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(18px);
  transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out), visibility 0.5s;
  display: flex;
  flex-direction: column;
}
#promo-layer.is-on {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.promo-card {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 36px;
  padding: 54px 64px 54px; /* 整卡已在引流条之上 */
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(238, 246, 255, 0.96) 100%);
  border: 2px solid #FFFFFF;
  box-shadow: 0 28px 70px rgba(15, 42, 92, 0.18),
              inset 0 2px 0 #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 28px;
  overflow: hidden;
  isolation: isolate;
}
.promo-card::before {
  content: "";
  position: absolute;
  top: -140px;
  right: -120px;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(47, 123, 245, 0.12) 0%, transparent 70%);
  z-index: -1;
  pointer-events: none;
}
.promo-card::after {
  content: "";
  position: absolute;
  bottom: -140px;
  left: -120px;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(218, 167, 70, 0.12) 0%, transparent 70%);
  z-index: -1;
  pointer-events: none;
}

.promo-kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  padding: 0 32px;
  border-radius: 999px;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #FFFFFF;
  background: linear-gradient(135deg, #2F7BF5 0%, #1B56C4 100%);
  box-shadow: 0 8px 22px rgba(47, 123, 245, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.promo-card[data-kind="honor"] .promo-kind {
  background: linear-gradient(135deg, #F45B5B 0%, #D92626 55%, #B81414 100%);
  box-shadow: 0 8px 22px rgba(217, 38, 38, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.promo-card[data-kind="case"] .promo-kind {
  background: linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%);
  box-shadow: 0 8px 22px rgba(29, 78, 216, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.promo-card[data-kind="school"] .promo-kind {
  background: linear-gradient(135deg, #EAB308 0%, #CA8A04 55%, #A16207 100%);
  box-shadow: 0 8px 22px rgba(202, 138, 4, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.promo-card[data-kind="notice"] .promo-kind {
  background: linear-gradient(135deg, #10B981 0%, #059669 100%);
  box-shadow: 0 8px 22px rgba(5, 150, 105, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.promo-img {
  width: 100%;
  max-height: 540px;
  border-radius: 24px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(203, 216, 231, 0.75);
  box-shadow: 0 12px 32px rgba(15, 42, 92, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.promo-img img {
  max-width: 100%;
  max-height: 512px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  display: block;
}

.promo-title {
  font-size: 58px;
  font-weight: 900;
  line-height: 1.24;
  color: #0F2A5C;
  letter-spacing: -0.01em;
  max-width: 840px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.promo-body {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.6;
  color: #3A4A66;
  max-width: 820px;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.promo-school {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 28px;
  border-radius: 999px;
  background: rgba(47, 123, 245, 0.10);
  border: 1.5px solid rgba(47, 123, 245, 0.28);
  color: #1E40AF;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.1;
}
.promo-school::before {
  content: "\f19c";
  font-family: "FontAwesome";
  font-weight: normal;
  font-size: 28px;
  color: #2563EB;
}


/* ══════════════════════════════════════════════════════════════════════
   【布局变体 A：mirror 左右镜像布局】
   ══════════════════════════════════════════════════════════════════════ */
#stage[data-layout="mirror"] .brand-left {
  left: auto;
  right: 70px;
  align-items: flex-end;
  text-align: right;
}
#stage[data-layout="mirror"] .brand-title-wrap {
  align-items: flex-end;
}
#stage[data-layout="mirror"] .brand-right {
  right: auto;
  left: 56px;
  align-items: flex-start;
  justify-items: start;
}
#stage[data-layout="mirror"] #data-label {
  text-align: left;
}
#stage[data-layout="mirror"] .grades-top {
  flex-direction: row-reverse;
}
#stage[data-layout="mirror"] #strong-subjects {
  margin-right: 0;
  margin-left: 24px;
}
#stage[data-layout="mirror"] .tier-header {
  flex-direction: row-reverse;
  padding-right: 0;
  padding-left: 30px;
}
#stage[data-layout="mirror"] .tier-header-left {
  flex-direction: row-reverse;
}
#stage[data-layout="mirror"] .tier-badge {
  flex-direction: row-reverse;
  padding: 0 0 0 18px;
  margin-left: 0;
  margin-right: -2px;
}
#stage[data-layout="mirror"] .tier-title-wrap {
  margin-left: 0;
  margin-right: 24px;
}
#stage[data-layout="mirror"] .tier-group {
  padding: 0 0 6px 8px;
}
#stage[data-layout="mirror"] .vcard {
  padding-left: 0;
  padding-right: 34px;
  margin-left: 0;
  margin-right: 4px;
}
#stage[data-layout="mirror"] .vcard-slot {
  left: auto;
  right: 0;
  justify-content: flex-end;
  padding-left: 0;
  padding-right: 10px;
}
#stage[data-layout="mirror"] .t-chong .vcard-slot {
  background: linear-gradient(180deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,0) 70%, rgba(255,255,255,0.14) 100%),
              linear-gradient(270deg, #F7454A 0px, #FA6368 12px, #FC9CA1 26px, #FEC6C8 38px, #FEC6C8 100%);
}
#stage[data-layout="mirror"] .t-wen .vcard-slot {
  background: linear-gradient(180deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,0) 70%, rgba(255,255,255,0.14) 100%),
              linear-gradient(270deg, #2474F2 0px, #3386F4 12px, #5DA7FD 26px, #8DC4FD 38px, #8DC4FD 100%);
}
#stage[data-layout="mirror"] .t-bao .vcard-slot {
  background: linear-gradient(180deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,0) 70%, rgba(255,255,255,0.14) 100%),
              linear-gradient(270deg, #04A159 0px, #13B46B 12px, #4FCB91 26px, #8FE0BA 38px, #8FE0BA 100%);
}
#stage[data-layout="mirror"] .vcard-card {
  flex-direction: row-reverse;
  padding-left: 19px;
  padding-right: 27px;
  background: linear-gradient(270deg, rgba(255,255,255,0.55) 0px, rgba(255,255,255,0.80) 22px, rgba(255,255,255,0.97) 44px, rgba(255,255,255,0.98) 100%);
}
#stage[data-layout="mirror"] .vcard-body {
  margin-left: 14px;
  margin-right: 26px;
  align-items: flex-end;
  text-align: right;
}
#stage[data-layout="mirror"] .vcard-tags {
  justify-content: flex-end;
  align-self: stretch;
}


/* ══════════════════════════════════════════════════════════════════════
   【布局变体 B：ribbon 左侧竖向色带布局】
   盒子总高不仅不增加，因省去顶部独立 44px 档头行，整体高度更紧凑，且校名宽度充裕
   ══════════════════════════════════════════════════════════════════════ */
#stage[data-layout="ribbon"] .tier-group {
  position: relative;
  padding: 8px 10px 8px 94px;
  gap: 10px;
  min-height: 156px;
}
#stage[data-layout="ribbon"] .tier-header {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 84px;
  height: auto;
  padding: 14px 0;
  border-radius: 28px 0 0 28px;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  z-index: 3;
}
#stage[data-layout="ribbon"] .t-chong .tier-header {
  background: linear-gradient(180deg, #FF6B6B 0%, #EA3E43 55%, #C9262B 100%);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.45), 4px 0 16px rgba(217, 51, 56, 0.22);
}
#stage[data-layout="ribbon"] .t-wen .tier-header {
  background: linear-gradient(180deg, #4E8BFF 0%, #2B66E3 55%, #194BB8 100%);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.45), 4px 0 16px rgba(30, 86, 200, 0.22);
}
#stage[data-layout="ribbon"] .t-bao .tier-header {
  background: linear-gradient(180deg, #2FC27A 0%, #149E5E 55%, #0B7A46 100%);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.45), 4px 0 16px rgba(14, 138, 82, 0.22);
}
#stage[data-layout="ribbon"] .tier-header-left {
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
#stage[data-layout="ribbon"] .tier-badge {
  flex-direction: column;
  height: auto;
  min-width: 0;
  width: 68px;
  padding: 4px 0;
  margin-left: 0;
  background: transparent !important;
  box-shadow: none !important;
  gap: 8px;
}
#stage[data-layout="ribbon"] .tier-badge > span {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: 0.14em;
  color: #FFFFFF;
}
#stage[data-layout="ribbon"] .tier-title-wrap {
  display: none;
}
#stage[data-layout="ribbon"] .tier-count {
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 800;
  background: rgba(0, 0, 0, 0.18);
  padding: 4px 10px;
  border-radius: 999px;
}
#stage[data-layout="ribbon"] .vcard {
  padding-left: 30px;
  margin-left: 0;
}
#stage[data-layout="ribbon"] .vcard-body {
  margin-left: 14px;
  margin-right: 6px;
}
#stage[data-layout="ribbon"] .vcard-tags {
  gap: 8px;
}
#stage[data-layout="ribbon"] .vcard-data {
  width: 344px;
}
#stage[data-layout="ribbon"] .col-calc,
#stage[data-layout="ribbon"] .col-line {
  width: 122px;
}
#stage[data-layout="ribbon"] .col-gap,
#stage[data-layout="ribbon"] .col-need,
#stage[data-layout="ribbon"] .col-plan {
  width: 100px;
}


/* ══════════════════════════════════════════════════════════════════════
   【主题 1：ivory 暖金米白 · 典雅杂志纸感】
   米白宣纸底 + 典藏深墨蓝字 + 细金线分割 + 扁平克制阴影
   ══════════════════════════════════════════════════════════════════════ */
#stage[data-theme="ivory"] {
  background: radial-gradient(circle at 15% 10%, rgba(255, 252, 244, 0.9) 0%, transparent 40%),
              linear-gradient(135deg, #FBF8F1 0%, #F5EFE2 50%, #EFE6D5 100%);
  color: #1C2838;
  box-shadow: 0 30px 80px rgba(60, 45, 20, 0.15), 0 0 0 1px rgba(201, 160, 80, 0.45);
}
#stage[data-theme="ivory"]::before {
  background: radial-gradient(circle at 35% 35%, rgba(218, 175, 95, 0.14) 0%, transparent 70%);
}
#stage[data-theme="ivory"]::after {
  background: radial-gradient(circle at 65% 45%, rgba(190, 145, 70, 0.10) 0%, transparent 70%);
}

/* 品牌区 */
#stage[data-theme="ivory"] .brand-kicker {
  color: #8C734B;
  letter-spacing: 0.22em;
}
#stage[data-theme="ivory"] .brand-title {
  color: #1A2536;
  letter-spacing: -0.02em;
}
#stage[data-theme="ivory"] .brand-sub {
  background: linear-gradient(180deg, #C8963E 0%, #9E6B18 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: none;
}
#stage[data-theme="ivory"] .brand-meta-badge {
  background: #FFFDF8;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1.5px #C9A050, 0 3px 8px rgba(140, 105, 40, 0.10);
}
#stage[data-theme="ivory"] #data-year {
  background: none;
  -webkit-text-fill-color: #8E6216;
  color: #8E6216;
}
#stage[data-theme="ivory"] #data-label {
  color: #6E5D45;
}
#stage[data-theme="ivory"] #queue-chip {
  background: #FFFDF9;
  border: 1px solid rgba(201, 160, 80, 0.55);
  border-radius: 8px;
  color: #4A3C28;
  box-shadow: 0 2px 6px rgba(100, 75, 30, 0.06);
}
#stage[data-theme="ivory"] #brand .host-chip {
  background: #1C2838;
  border: 1px solid #C9A050;
  border-radius: 8px;
  color: #F7E7C4;
}
#stage[data-theme="ivory"] #brand .host-chip::before {
  background: #D4A349;
  box-shadow: 0 0 0 3px rgba(212, 163, 73, 0.28);
}

/* 成绩与结论大卡 */
#stage[data-theme="ivory"] .grades-verdict-card {
  background: #FFFDF9;
  backdrop-filter: none;
  border: 1.5px solid #DEC89E;
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(95, 70, 30, 0.06), inset 0 0 0 3px #FAF5EA;
}
#stage[data-theme="ivory"] .user-ring-icon {
  background: #9E6B18;
  box-shadow: 0 0 0 3px rgba(158, 107, 24, 0.20);
}
#stage[data-theme="ivory"] #who {
  color: #1C2838;
}
#stage[data-theme="ivory"] #strong-subjects {
  background: #F7EFE0;
  border: 1px solid #D8BC86;
  border-radius: 6px;
  color: #7A5110;
  box-shadow: none;
}
#stage[data-theme="ivory"] .grade-slot {
  border-radius: 8px;
}
#stage[data-theme="ivory"] .grade-slot.rank-A {
  background: linear-gradient(160deg, #2A3B54 0%, #182436 100%);
  box-shadow: inset 0 0 0 1px #C9A050, 0 4px 10px rgba(24, 36, 54, 0.22);
}
#stage[data-theme="ivory"] .grade-slot.rank-A .grade-name { color: #DFC286; }
#stage[data-theme="ivory"] .grade-slot.rank-A .grade-val { color: #FFF8EA; }
#stage[data-theme="ivory"] .grade-slot.rank-B {
  background: #F5ECD9;
  border: 1px solid #D4B475;
  box-shadow: none;
}
#stage[data-theme="ivory"] .grade-slot.rank-B .grade-name { color: #7D5B24; }
#stage[data-theme="ivory"] .grade-slot.rank-B .grade-val { color: #5C3D0C; }
#stage[data-theme="ivory"] .grade-slot.rank-C,
#stage[data-theme="ivory"] .grade-slot.rank-D,
#stage[data-theme="ivory"] .grade-slot.rank-E {
  background: #FAF6EE;
  border: 1px solid #E5D9C3;
  box-shadow: none;
}
#stage[data-theme="ivory"] .grade-slot.rank-C .grade-name,
#stage[data-theme="ivory"] .grade-slot.rank-C .grade-val,
#stage[data-theme="ivory"] .grade-slot.rank-D .grade-name,
#stage[data-theme="ivory"] .grade-slot.rank-D .grade-val {
  color: #5C5242;
}
#stage[data-theme="ivory"] .grade-slot:not([class*="rank-"]) {
  background: #FAF7F0;
  box-shadow: inset 0 0 0 1px #E6DCC8;
}
#stage[data-theme="ivory"] .grade-slot:not([class*="rank-"]) .grade-val {
  color: #C2B69F;
}

#stage[data-theme="ivory"] #verdict {
  background: linear-gradient(90deg, #FAF3E4 0%, #FFFDF8 50%, #FAF3E4 100%);
  border: 1px solid #DBC293;
  border-radius: 10px;
  box-shadow: none;
}
#stage[data-theme="ivory"] #verdict::before { display: none; }
#stage[data-theme="ivory"] .verdict-tag-name { color: #1C2838; }
#stage[data-theme="ivory"] .v-sep { color: #C9B592; }

/* 档位与志愿卡 */
#stage[data-theme="ivory"] .tier-group {
  background: rgba(255, 253, 248, 0.78);
  backdrop-filter: none;
  border: 1px solid #DFC99F;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(95, 70, 30, 0.05);
}
#stage[data-theme="ivory"] .tier-badge {
  border-radius: 8px;
}
#stage[data-theme="ivory"] .t-chong .tier-badge {
  background: linear-gradient(180deg, #C83E37 0%, #A32923 100%);
  box-shadow: 0 3px 10px rgba(163, 41, 35, 0.25);
}
#stage[data-theme="ivory"] .t-wen .tier-badge {
  background: linear-gradient(180deg, #2B547E 0%, #1B3B5C 100%);
  box-shadow: 0 3px 10px rgba(27, 59, 92, 0.25);
}
#stage[data-theme="ivory"] .t-bao .tier-badge {
  background: linear-gradient(180deg, #2D7A53 0%, #1D593B 100%);
  box-shadow: 0 3px 10px rgba(29, 89, 59, 0.25);
}
#stage[data-theme="ivory"] .tier-desc { color: #6E5D45; }
#stage[data-theme="ivory"] .tier-count { color: #1C2838; }

#stage[data-theme="ivory"] .vcard,
#stage[data-theme="ivory"] .vcard-slot,
#stage[data-theme="ivory"] .vcard-card {
  border-radius: 12px;
}
#stage[data-theme="ivory"] .t-chong .vcard-slot {
  background: linear-gradient(90deg, #B8332C 0px, #C84B44 24px, #E8B5B2 42px, #E8B5B2 100%);
  box-shadow: none;
}
#stage[data-theme="ivory"] .t-wen .vcard-slot {
  background: linear-gradient(90deg, #23496E 0px, #345F8A 24px, #B0C4D8 42px, #B0C4D8 100%);
  box-shadow: none;
}
#stage[data-theme="ivory"] .t-bao .vcard-slot {
  background: linear-gradient(90deg, #236644 0px, #357D58 24px, #AED1BE 42px, #AED1BE 100%);
  box-shadow: none;
}
#stage[data-theme="ivory"][data-layout="mirror"] .t-chong .vcard-slot {
  background: linear-gradient(270deg, #B8332C 0px, #C84B44 24px, #E8B5B2 42px, #E8B5B2 100%);
}
#stage[data-theme="ivory"][data-layout="mirror"] .t-wen .vcard-slot {
  background: linear-gradient(270deg, #23496E 0px, #345F8A 24px, #B0C4D8 42px, #B0C4D8 100%);
}
#stage[data-theme="ivory"][data-layout="mirror"] .t-bao .vcard-slot {
  background: linear-gradient(270deg, #236644 0px, #357D58 24px, #AED1BE 42px, #AED1BE 100%);
}
#stage[data-theme="ivory"] .vcard-card {
  background: #FFFDF9;
  border: 1px solid #E3D2B2;
  box-shadow: 0 3px 10px rgba(80, 60, 25, 0.05);
}
#stage[data-theme="ivory"] .vcard-logo {
  border-radius: 10px;
  background: #FFFDF9;
  box-shadow: inset 0 0 0 1px #DFC99F;
}
#stage[data-theme="ivory"] .vcard-logo-txt { color: #8E6216; }
#stage[data-theme="ivory"] .vcard-school {
  color: #182232;
  letter-spacing: -0.02em;
}
#stage[data-theme="ivory"] .vcard-major { color: #524738; }
#stage[data-theme="ivory"] .tag-badge {
  border-radius: 6px;
  background: #F6EFE2;
  color: #5C4B32;
  box-shadow: inset 0 0 0 1px #DFC99F;
}
#stage[data-theme="ivory"] .vcard-data {
  background: #FAF5EA;
  border: 1px solid #E2D1B0;
  border-radius: 10px;
  box-shadow: none;
}
#stage[data-theme="ivory"] .col-line::before,
#stage[data-theme="ivory"] .col-line::after {
  background: linear-gradient(180deg, transparent, #D8C298 20%, #D8C298 80%, transparent);
}
#stage[data-theme="ivory"] .data-label { color: #7A684D; }
#stage[data-theme="ivory"] .data-num { color: #1C2838; }
#stage[data-theme="ivory"] .col-need .data-num,
#stage[data-theme="ivory"] .col-plan .data-num { color: #8E6216; }
#stage[data-theme="ivory"] .data-max { color: #8C7A5B; }

/* 空态与 CTA */
#stage[data-theme="ivory"] #empty {
  background: #FAF5EB;
  border-radius: 16px;
  box-shadow: inset 0 0 0 1.5px #DBC293, 0 10px 28px rgba(80, 60, 20, 0.06);
}
#stage[data-theme="ivory"] .empty-inner {
  background: #FFFDF9;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px #E8D8B9;
}
#stage[data-theme="ivory"] .empty-title { color: #1C2838; }
#stage[data-theme="ivory"] .empty-desc { color: #5C4E3A; }
#stage[data-theme="ivory"] .empty-order { color: #8E6216; }
#stage[data-theme="ivory"] .empty-code {
  color: #8E6216;
  background: #FAF3E3;
  border-color: #D8BC86;
}
#stage[data-theme="ivory"] .empty-tip {
  background: #F6EFE0;
  color: #7A5414;
  box-shadow: inset 0 0 0 1px #DBC293;
}
#stage[data-theme="ivory"] #cta {
  background: linear-gradient(90deg, #233044 0%, #182232 100%);
  border: 1.5px solid #C9A050;
  border-radius: 14px;
  color: #F7E6C2;
  box-shadow: 0 10px 24px rgba(24, 34, 50, 0.18);
}
#stage[data-theme="ivory"] .cta-icon,
#stage[data-theme="ivory"] .cta-arrow { color: #DFB45B; }
#stage[data-theme="ivory"] .promo-card {
  background: linear-gradient(165deg, #FFFDF9 0%, #F7EFE0 100%);
  border: 2px solid #C9A050;
  border-radius: 20px;
}
#stage[data-theme="ivory"] .promo-title { color: #1A2536; }
#stage[data-theme="ivory"] .promo-body { color: #524634; }
#stage[data-theme="ivory"] .promo-school {
  background: #F5EBD6;
  border-color: #C9A050;
  color: #7A5110;
}
#stage[data-theme="ivory"] .promo-school::before { color: #9E6B18; }


/* ══════════════════════════════════════════════════════════════════════
   【主题 2：mint 薄荷青 · 清透冷感玻璃】
   薄荷青绿到冰川蓝通透渐变 + 细白描边 + 大圆角胶囊质感
   ══════════════════════════════════════════════════════════════════════ */
#stage[data-theme="mint"] {
  background: radial-gradient(circle at 12% 10%, rgba(255, 255, 255, 0.72) 0%, transparent 34%),
              radial-gradient(circle at 88% 78%, rgba(110, 231, 183, 0.28) 0%, transparent 45%),
              linear-gradient(135deg, #E6FAF5 0%, #D5F5EC 48%, #CCF0F7 100%);
  color: #063932;
  box-shadow: 0 30px 80px rgba(6, 78, 64, 0.16), 0 0 0 1px rgba(255, 255, 255, 0.75);
}
#stage[data-theme="mint"]::before {
  background: radial-gradient(circle at 35% 35%, rgba(167, 243, 208, 0.32) 0%, transparent 70%);
}
#stage[data-theme="mint"]::after {
  background: radial-gradient(circle at 65% 45%, rgba(103, 232, 249, 0.22) 0%, transparent 70%);
}

/* 品牌区 */
#stage[data-theme="mint"] .brand-kicker { color: #0F766E; }
#stage[data-theme="mint"] .brand-title { color: #063932; }
#stage[data-theme="mint"] .brand-sub {
  background: linear-gradient(90deg, #0D9488 0%, #0284C7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 4px rgba(13, 148, 136, 0.22));
}
#stage[data-theme="mint"] .brand-meta-badge {
  background: linear-gradient(180deg, #FFFFFF 0%, #E0FBF4 100%);
  box-shadow: inset 0 1px 0 #FFFFFF, inset 0 0 0 1.5px rgba(20, 184, 166, 0.45), 0 4px 12px rgba(13, 148, 136, 0.14);
}
#stage[data-theme="mint"] #data-year {
  background: linear-gradient(180deg, #0D9488 0%, #0F766E 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="mint"] #data-label { color: #115E59; }
#stage[data-theme="mint"] #queue-chip {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(45, 212, 191, 0.55);
  color: #0F766E;
}
#stage[data-theme="mint"] #brand .host-chip {
  background: linear-gradient(90deg, #0F766E 0%, #0284C7 100%);
}

/* 成绩与结论大卡 */
#stage[data-theme="mint"] .grades-verdict-card {
  background: rgba(255, 255, 255, 0.66);
  border: 1.5px solid rgba(255, 255, 255, 0.96);
  border-radius: 36px;
  box-shadow: 0 20px 48px rgba(13, 148, 136, 0.09), inset 0 1.5px 1px #FFFFFF;
}
#stage[data-theme="mint"] .user-ring-icon {
  background: #0D9488;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.22);
}
#stage[data-theme="mint"] #who { color: #063932; }
#stage[data-theme="mint"] #strong-subjects {
  background: linear-gradient(90deg, #CCFBF1 0%, #A7F3D0 100%);
  color: #065F46;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.20), inset 0 1px 0 #FFFFFF;
}
#stage[data-theme="mint"] .grade-slot { border-radius: 20px; }
#stage[data-theme="mint"] .grade-slot.rank-A {
  background: linear-gradient(160deg, #14B8A6 0%, #0D9488 50%, #0F766E 100%);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.4), 0 8px 16px rgba(13, 148, 136, 0.32);
}
#stage[data-theme="mint"] .grade-slot.rank-A .grade-name { color: #CCFBF1; }
#stage[data-theme="mint"] .grade-slot.rank-A .grade-val { color: #FFFFFF; }
#stage[data-theme="mint"] .grade-slot.rank-B {
  background: linear-gradient(170deg, #CCFBF1 0%, #99F6E4 100%);
  border: 1px solid #FFFFFF;
}
#stage[data-theme="mint"] .grade-slot.rank-B .grade-name { color: #0F766E; }
#stage[data-theme="mint"] .grade-slot.rank-B .grade-val { color: #0D9488; }
#stage[data-theme="mint"] .grade-slot.rank-C .grade-name,
#stage[data-theme="mint"] .grade-slot.rank-C .grade-val,
#stage[data-theme="mint"] .grade-slot.rank-D .grade-name,
#stage[data-theme="mint"] .grade-slot.rank-D .grade-val {
  color: #33665E;
}

#stage[data-theme="mint"] #verdict {
  background: radial-gradient(ellipse 55% 90% at 10% 100%, rgba(45, 212, 191, 0.28), transparent 70%),
              radial-gradient(ellipse 40% 80% at 90% 100%, rgba(56, 189, 248, 0.26), transparent 75%),
              linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 253, 250, 0.92));
  border-radius: 28px;
}
#stage[data-theme="mint"] .verdict-tag-name { color: #063932; }
#stage[data-theme="mint"] .verdict-sub {
  background: linear-gradient(90deg, #0F766E 0%, #0284C7 50%, #0F766E 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="mint"] .verdict-sub::before { background: linear-gradient(90deg, transparent, #0D9488); }
#stage[data-theme="mint"] .verdict-sub::after { background: linear-gradient(90deg, #0D9488, transparent); }

/* 档位与志愿卡 */
#stage[data-theme="mint"] .tier-group {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.64) 0%, rgba(240, 253, 250, 0.44) 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.95);
  border-radius: 34px;
  box-shadow: inset 0 1px 0 #FFFFFF, 0 12px 28px rgba(13, 148, 136, 0.07);
}
#stage[data-theme="mint"] .t-chong .tier-badge {
  background: linear-gradient(180deg, #FB7185 0%, #E11D48 100%);
}
#stage[data-theme="mint"] .t-wen .tier-badge {
  background: linear-gradient(180deg, #38BDF8 0%, #0284C7 100%);
}
#stage[data-theme="mint"] .t-bao .tier-badge {
  background: linear-gradient(180deg, #2DD4BF 0%, #0D9488 100%);
}
#stage[data-theme="mint"] .tier-desc { color: #115E59; }
#stage[data-theme="mint"] .tier-count { color: #063932; }

#stage[data-theme="mint"] .vcard,
#stage[data-theme="mint"] .vcard-slot,
#stage[data-theme="mint"] .vcard-card {
  border-radius: 28px;
}
#stage[data-theme="mint"] .vcard-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1.5px solid #FFFFFF;
  box-shadow: 0 8px 22px rgba(13, 148, 136, 0.08);
}
#stage[data-theme="mint"] .vcard-logo {
  border-radius: 22px;
  box-shadow: 0 0 0 1.5px rgba(45, 212, 191, 0.45), 0 6px 14px rgba(13, 148, 136, 0.08);
}
#stage[data-theme="mint"] .vcard-logo-txt { color: #0D9488; }
#stage[data-theme="mint"] .vcard-school { color: #063932; }
#stage[data-theme="mint"] .vcard-major { color: #115E59; }
#stage[data-theme="mint"] .tag-badge {
  border-radius: 999px;
  background: #F0FDFA;
  color: #0F766E;
  box-shadow: inset 0 0 0 1px rgba(45, 212, 191, 0.45);
}
#stage[data-theme="mint"] .vcard-data {
  background: rgba(240, 253, 250, 0.92);
  border: 1px solid rgba(153, 246, 228, 0.75);
  border-radius: 24px;
}
#stage[data-theme="mint"] .data-label { color: #0F766E; }
#stage[data-theme="mint"] .data-num { color: #063932; }
#stage[data-theme="mint"] .col-need .data-num,
#stage[data-theme="mint"] .col-plan .data-num { color: #0284C7; }

/* 空态与 CTA */
#stage[data-theme="mint"] #empty {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(204, 251, 241, 0.48));
  border-radius: 38px;
}
#stage[data-theme="mint"] .empty-inner {
  background: linear-gradient(180deg, rgba(240, 253, 250, 0.95) 0%, rgba(204, 251, 241, 0.85) 100%);
  border-radius: 28px;
}
#stage[data-theme="mint"] .empty-title { color: #063932; }
#stage[data-theme="mint"] .empty-desc { color: #115E59; }
#stage[data-theme="mint"] .empty-order { color: #0F766E; }
#stage[data-theme="mint"] .empty-code {
  color: #0D9488;
  border-color: #99F6E4;
}
#stage[data-theme="mint"] .empty-tip {
  background: linear-gradient(180deg, #CCFBF1, #99F6E4);
  color: #065F46;
}
#stage[data-theme="mint"] #cta {
  background: linear-gradient(90deg, #F0FDFA 0%, #CCFBF1 50%, #A7F3D0 100%);
  border: 1.5px solid rgba(20, 184, 166, 0.50);
  color: #064E3B;
  box-shadow: 0 14px 32px rgba(13, 148, 136, 0.16), inset 0 1.5px 1px #FFFFFF;
}
#stage[data-theme="mint"] .cta-icon,
#stage[data-theme="mint"] .cta-arrow { color: #0D9488; }
#stage[data-theme="mint"] .promo-card {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(230, 250, 245, 0.96) 100%);
  border-radius: 40px;
}
#stage[data-theme="mint"] .promo-title { color: #063932; }
#stage[data-theme="mint"] .promo-body { color: #115E59; }
#stage[data-theme="mint"] .promo-school {
  background: rgba(20, 184, 166, 0.12);
  border-color: rgba(20, 184, 166, 0.35);
  color: #0F766E;
}
#stage[data-theme="mint"] .promo-school::before { color: #0D9488; }


/* ══════════════════════════════════════════════════════════════════════
   【主题 3：coral 珊瑚橙 · 活力暖阳色调】
   暖奶油底 + 珊瑚橘/蜜桃粉强调 + 柔和彩色投影 + 饱满档头
   ══════════════════════════════════════════════════════════════════════ */
#stage[data-theme="coral"] {
  background: radial-gradient(circle at 15% 12%, rgba(255, 255, 255, 0.85) 0%, transparent 38%),
              radial-gradient(circle at 85% 80%, rgba(253, 186, 140, 0.35) 0%, transparent 48%),
              linear-gradient(135deg, #FFF5EE 0%, #FFE8D9 52%, #FFDCC8 100%);
  color: #431407;
  box-shadow: 0 30px 80px rgba(154, 52, 18, 0.16), 0 0 0 1px rgba(255, 255, 255, 0.75);
}
#stage[data-theme="coral"]::before {
  background: radial-gradient(circle at 35% 35%, rgba(251, 146, 60, 0.18) 0%, transparent 70%);
}
#stage[data-theme="coral"]::after {
  background: radial-gradient(circle at 65% 45%, rgba(244, 63, 94, 0.12) 0%, transparent 70%);
}

/* 品牌区 */
#stage[data-theme="coral"] .brand-kicker { color: #C2410C; }
#stage[data-theme="coral"] .brand-title { color: #431407; }
#stage[data-theme="coral"] .brand-sub {
  background: linear-gradient(90deg, #EA580C 0%, #E11D48 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 4px rgba(234, 88, 12, 0.25));
}
#stage[data-theme="coral"] .brand-meta-badge {
  background: linear-gradient(180deg, #FFFFFF 0%, #FFEDD5 100%);
  box-shadow: inset 0 1px 0 #FFFFFF, inset 0 0 0 1.5px rgba(249, 115, 22, 0.45), 0 4px 12px rgba(234, 88, 12, 0.16);
}
#stage[data-theme="coral"] #data-year {
  background: linear-gradient(180deg, #EA580C 0%, #C2410C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="coral"] #data-label { color: #7C2D12; }
#stage[data-theme="coral"] #queue-chip {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(251, 146, 60, 0.55);
  color: #9A3412;
}
#stage[data-theme="coral"] #brand .host-chip {
  background: linear-gradient(90deg, #EA580C 0%, #E11D48 100%);
}

/* 成绩与结论大卡 */
#stage[data-theme="coral"] .grades-verdict-card {
  background: rgba(255, 255, 255, 0.76);
  border: 1.5px solid #FFFFFF;
  border-radius: 32px;
  box-shadow: 0 20px 48px rgba(234, 88, 12, 0.10), inset 0 1.5px 1px #FFFFFF;
}
#stage[data-theme="coral"] .user-ring-icon {
  background: #EA580C;
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.22);
}
#stage[data-theme="coral"] #who { color: #431407; }
#stage[data-theme="coral"] #strong-subjects {
  background: linear-gradient(90deg, #FFEDD5 0%, #FED7AA 100%);
  color: #9A3412;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.22), inset 0 1px 0 #FFFFFF;
}
#stage[data-theme="coral"] .grade-slot { border-radius: 18px; }
#stage[data-theme="coral"] .grade-slot.rank-A {
  background: linear-gradient(160deg, #FB7185 0%, #F97316 55%, #EA580C 100%);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.42), 0 8px 16px rgba(234, 88, 12, 0.32);
}
#stage[data-theme="coral"] .grade-slot.rank-A .grade-name { color: #FFE4E6; }
#stage[data-theme="coral"] .grade-slot.rank-A .grade-val { color: #FFFFFF; }
#stage[data-theme="coral"] .grade-slot.rank-B {
  background: linear-gradient(170deg, #FFEDD5 0%, #FED7AA 100%);
  border: 1px solid #FFFFFF;
}
#stage[data-theme="coral"] .grade-slot.rank-B .grade-name { color: #C2410C; }
#stage[data-theme="coral"] .grade-slot.rank-B .grade-val { color: #9A3412; }
#stage[data-theme="coral"] .grade-slot.rank-C .grade-name,
#stage[data-theme="coral"] .grade-slot.rank-C .grade-val,
#stage[data-theme="coral"] .grade-slot.rank-D .grade-name,
#stage[data-theme="coral"] .grade-slot.rank-D .grade-val {
  color: #78350F;
}

#stage[data-theme="coral"] #verdict {
  background: radial-gradient(ellipse 60% 90% at 15% 100%, rgba(251, 113, 133, 0.30), transparent 70%),
              radial-gradient(ellipse 40% 80% at 88% 100%, rgba(251, 146, 60, 0.30), transparent 75%),
              linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 247, 237, 0.92));
}
#stage[data-theme="coral"] .verdict-tag-name { color: #431407; }

/* 档位与志愿卡 */
#stage[data-theme="coral"] .tier-group {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.68) 0%, rgba(255, 247, 237, 0.46) 100%);
  border: 1.5px solid #FFFFFF;
  border-radius: 30px;
  box-shadow: inset 0 1px 0 #FFFFFF, 0 12px 28px rgba(234, 88, 12, 0.08);
}
#stage[data-theme="coral"] .tier-desc { color: #7C2D12; }
#stage[data-theme="coral"] .tier-count { color: #431407; }
#stage[data-theme="coral"] .vcard-card {
  background: #FFFFFF;
  box-shadow: 0 10px 24px rgba(234, 88, 12, 0.10);
}
#stage[data-theme="coral"] .vcard-logo {
  box-shadow: 0 0 0 1.5px rgba(251, 146, 60, 0.42), 0 6px 14px rgba(234, 88, 12, 0.08);
}
#stage[data-theme="coral"] .vcard-logo-txt { color: #EA580C; }
#stage[data-theme="coral"] .vcard-school { color: #431407; }
#stage[data-theme="coral"] .vcard-major { color: #7C2D12; }
#stage[data-theme="coral"] .tag-badge {
  background: #FFF7ED;
  color: #9A3412;
  box-shadow: inset 0 0 0 1px rgba(251, 146, 60, 0.45);
}
#stage[data-theme="coral"] .vcard-data {
  background: #FFF7ED;
  border: 1px solid #FED7AA;
}
#stage[data-theme="coral"] .data-label { color: #9A3412; }
#stage[data-theme="coral"] .data-num { color: #431407; }
#stage[data-theme="coral"] .col-need .data-num,
#stage[data-theme="coral"] .col-plan .data-num { color: #EA580C; }

/* 空态与 CTA */
#stage[data-theme="coral"] #empty {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 237, 213, 0.55));
}
#stage[data-theme="coral"] .empty-inner {
  background: linear-gradient(180deg, #FFFBF7 0%, #FFF1E6 100%);
}
#stage[data-theme="coral"] .empty-title { color: #431407; }
#stage[data-theme="coral"] .empty-desc { color: #7C2D12; }
#stage[data-theme="coral"] .empty-order { color: #C2410C; }
#stage[data-theme="coral"] .empty-code {
  color: #EA580C;
  border-color: #FDBA74;
}
#stage[data-theme="coral"] .empty-tip {
  background: linear-gradient(180deg, #FFEDD5, #FED7AA);
  color: #9A3412;
}
#stage[data-theme="coral"] #cta {
  background: linear-gradient(90deg, #EA580C 0%, #F97316 50%, #E11D48 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.75);
  color: #FFFFFF;
  box-shadow: 0 14px 32px rgba(234, 88, 12, 0.28), inset 0 1.5px 1px rgba(255, 255, 255, 0.45);
}
#stage[data-theme="coral"] .cta-icon,
#stage[data-theme="coral"] .cta-arrow { color: #FDE047; }
#stage[data-theme="coral"] .promo-card {
  background: linear-gradient(165deg, #FFFFFF 0%, #FFF1E6 100%);
}
#stage[data-theme="coral"] .promo-title { color: #431407; }
#stage[data-theme="coral"] .promo-body { color: #7C2D12; }
#stage[data-theme="coral"] .promo-school {
  background: rgba(234, 88, 12, 0.12);
  border-color: rgba(234, 88, 12, 0.35);
  color: #9A3412;
}
#stage[data-theme="coral"] .promo-school::before { color: #EA580C; }


/* ══════════════════════════════════════════════════════════════════════
   【主题 4：night 星夜蓝 · 深空流光高对比看板】
   深海军蓝底 + 冷白字（对比度 ≥ 7:1）+ 青色/金色霓虹细边
   ══════════════════════════════════════════════════════════════════════ */
#stage[data-theme="night"] {
  background: radial-gradient(circle at 18% 12%, rgba(56, 189, 248, 0.18) 0%, transparent 38%),
              radial-gradient(circle at 84% 76%, rgba(99, 102, 241, 0.20) 0%, transparent 45%),
              linear-gradient(145deg, #091326 0%, #0F2042 48%, #132852 100%);
  color: #F8FAFC;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(56, 189, 248, 0.35);
}
#stage[data-theme="night"]::before {
  background: radial-gradient(circle at 35% 35%, rgba(56, 189, 248, 0.14) 0%, transparent 70%);
}
#stage[data-theme="night"]::after {
  background: radial-gradient(circle at 65% 45%, rgba(250, 204, 21, 0.08) 0%, transparent 70%);
}

/* 品牌区 */
#stage[data-theme="night"] .brand-kicker { color: #7DD3FC; }
#stage[data-theme="night"] .brand-title {
  color: #FFFFFF;
  text-shadow: 0 2px 14px rgba(56, 189, 248, 0.28);
}
#stage[data-theme="night"] .brand-sub {
  background: linear-gradient(180deg, #FDE68A 0%, #F59E0B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="night"] .brand-meta-badge {
  background: linear-gradient(180deg, #1E3A6E 0%, #132852 100%);
  box-shadow: inset 0 1px 0 rgba(125, 211, 252, 0.5), inset 0 0 0 1px rgba(56, 189, 248, 0.55), 0 4px 14px rgba(0, 0, 0, 0.35);
}
#stage[data-theme="night"] #data-year {
  background: linear-gradient(180deg, #FDE68A 0%, #F59E0B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="night"] #data-label { color: #CBD5E1; }
#stage[data-theme="night"] #queue-chip {
  background: rgba(15, 32, 66, 0.88);
  border: 1px solid rgba(56, 189, 248, 0.55);
  color: #E2E8F0;
}
#stage[data-theme="night"] #brand .brand-logo {
  background: rgba(255, 255, 255, 0.92);
}
#stage[data-theme="night"] #brand .host-chip {
  background: linear-gradient(90deg, #0284C7 0%, #2563EB 100%);
  border: 1px solid rgba(125, 211, 252, 0.65);
  color: #FFFFFF;
}

/* 成绩与结论大卡 */
#stage[data-theme="night"] .grades-verdict-card {
  background: rgba(15, 32, 66, 0.78);
  border: 1px solid rgba(56, 189, 248, 0.42);
  box-shadow: 0 20px 50px rgba(2, 8, 23, 0.45), inset 0 1px 0 rgba(125, 211, 252, 0.28);
}
#stage[data-theme="night"] .user-ring-icon {
  background: #38BDF8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.28);
}
#stage[data-theme="night"] #who { color: #F8FAFC; }
#stage[data-theme="night"] #strong-subjects {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.25) 0%, rgba(217, 119, 6, 0.35) 100%);
  border: 1px solid rgba(251, 191, 36, 0.65);
  color: #FDE68A;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

/* 深底色上 A-E 等级格高对比度适配 */
#stage[data-theme="night"] .grade-slot.rank-A {
  background: linear-gradient(160deg, #0284C7 0%, #1D4ED8 100%);
  box-shadow: inset 0 1px 0 rgba(186, 230, 253, 0.65), 0 0 16px rgba(56, 189, 248, 0.42);
}
#stage[data-theme="night"] .grade-slot.rank-A .grade-name { color: #E0F2FE; }
#stage[data-theme="night"] .grade-slot.rank-A .grade-val { color: #FFFFFF; }

#stage[data-theme="night"] .grade-slot.rank-B {
  background: linear-gradient(170deg, #1E3A6E 0%, #172B54 100%);
  border: 1px solid rgba(96, 165, 250, 0.65);
  box-shadow: none;
}
#stage[data-theme="night"] .grade-slot.rank-B .grade-name { color: #BAE6FD; }
#stage[data-theme="night"] .grade-slot.rank-B .grade-val { color: #7DD3FC; }

#stage[data-theme="night"] .grade-slot.rank-C,
#stage[data-theme="night"] .grade-slot.rank-D,
#stage[data-theme="night"] .grade-slot.rank-E {
  background: rgba(23, 41, 79, 0.88);
  border: 1px solid rgba(148, 163, 184, 0.38);
  box-shadow: none;
}
#stage[data-theme="night"] .grade-slot.rank-C .grade-name,
#stage[data-theme="night"] .grade-slot.rank-C .grade-val,
#stage[data-theme="night"] .grade-slot.rank-D .grade-name,
#stage[data-theme="night"] .grade-slot.rank-D .grade-val {
  color: #E2E8F0;
}
#stage[data-theme="night"] .grade-slot.rank-E .grade-name,
#stage[data-theme="night"] .grade-slot.rank-E .grade-val {
  color: #CBD5E1;
}
#stage[data-theme="night"] .grade-slot:not([class*="rank-"]) {
  background: rgba(15, 28, 56, 0.72);
  box-shadow: inset 0 0 0 1px rgba(100, 116, 139, 0.35);
}
#stage[data-theme="night"] .grade-slot:not([class*="rank-"]) .grade-name { color: #94A3B8; }
#stage[data-theme="night"] .grade-slot:not([class*="rank-"]) .grade-val { color: #64748B; }

#stage[data-theme="night"] #verdict {
  background: radial-gradient(ellipse 55% 90% at 10% 100%, rgba(244, 63, 94, 0.25), transparent 70%),
              radial-gradient(ellipse 40% 80% at 90% 100%, rgba(56, 189, 248, 0.28), transparent 75%),
              linear-gradient(180deg, #132852 0%, #0D1D3E 100%);
  border: 1px solid rgba(56, 189, 248, 0.45);
  box-shadow: inset 0 1px 0 rgba(125, 211, 252, 0.25);
}
#stage[data-theme="night"] #verdict::before {
  border-top-color: rgba(125, 211, 252, 0.25);
}
#stage[data-theme="night"] .verdict-tag-name { color: #F8FAFC; }
#stage[data-theme="night"] .v-sep { color: #64748B; }
#stage[data-theme="night"] .v-chong {
  background: linear-gradient(180deg, #FB7185 0%, #F43F5E 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="night"] .v-wen {
  background: linear-gradient(180deg, #7DD3FC 0%, #38BDF8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="night"] .v-bao {
  background: linear-gradient(180deg, #6EE7B7 0%, #10B981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#stage[data-theme="night"] .verdict-sub {
  background: linear-gradient(90deg, #FDE68A 0%, #F59E0B 50%, #FDE68A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 档位与志愿卡 */
#stage[data-theme="night"] .tier-group {
  background: linear-gradient(180deg, rgba(17, 36, 74, 0.82) 0%, rgba(12, 26, 56, 0.72) 100%);
  border: 1px solid rgba(56, 189, 248, 0.36);
  box-shadow: inset 0 1px 0 rgba(125, 211, 252, 0.20), 0 12px 30px rgba(0, 0, 0, 0.35);
}
#stage[data-theme="night"] .tier-desc { color: #CBD5E1; }
#stage[data-theme="night"] .tier-count { color: #F8FAFC; }

#stage[data-theme="night"] .vcard-card {
  background: linear-gradient(90deg, rgba(22, 44, 88, 0.92) 0%, rgba(16, 34, 70, 0.96) 100%);
  border: 1px solid rgba(96, 165, 250, 0.38);
  box-shadow: inset 0 1px 0 rgba(147, 197, 253, 0.20), 0 8px 22px rgba(0, 0, 0, 0.35);
}
#stage[data-theme="night"] .vcard.is-featured .vcard-card {
  border: 2px solid #FBBF24;
  box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.22), 0 10px 26px rgba(0, 0, 0, 0.45);
}
#stage[data-theme="night"] .vcard-logo {
  background: #FFFFFF;
  box-shadow: 0 0 0 1.5px rgba(56, 189, 248, 0.55);
}
#stage[data-theme="night"] .vcard-school { color: #FFFFFF; }
#stage[data-theme="night"] .vcard-major { color: #CBD5E1; }
#stage[data-theme="night"] .tag-badge {
  background: rgba(30, 58, 110, 0.92);
  color: #E0F2FE;
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.45);
}
#stage[data-theme="night"] .tag-city {
  background: rgba(3, 105, 161, 0.45) !important;
  color: #7DD3FC !important;
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.55) !important;
}
#stage[data-theme="night"] .tag-honor {
  background: rgba(180, 83, 9, 0.42) !important;
  color: #FDE68A !important;
  box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.55) !important;
}
#stage[data-theme="night"] .tag-alert {
  background: rgba(190, 18, 60, 0.42) !important;
  color: #FDA4AF !important;
  box-shadow: inset 0 0 0 1px rgba(251, 113, 133, 0.55) !important;
}
#stage[data-theme="night"] .tag-dorm .dv-btn {
  background: rgba(15, 32, 66, 0.95);
  border-color: rgba(56, 189, 248, 0.65);
  color: #7DD3FC;
}

#stage[data-theme="night"] .vcard-data {
  background: rgba(10, 22, 48, 0.88);
  border: 1px solid rgba(56, 189, 248, 0.30);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
#stage[data-theme="night"] .col-line::before,
#stage[data-theme="night"] .col-line::after {
  background: linear-gradient(180deg, transparent, rgba(56, 189, 248, 0.32) 20%, rgba(56, 189, 248, 0.32) 80%, transparent);
}
#stage[data-theme="night"] .data-label { color: #94A3B8; }
#stage[data-theme="night"] .data-num { color: #F8FAFC; }
#stage[data-theme="night"] .t-chong .col-calc .data-num,
#stage[data-theme="night"] .gap-chong { color: #FB7185; }
#stage[data-theme="night"] .gap-pos { color: #34D399; }
#stage[data-theme="night"] .col-need .data-num,
#stage[data-theme="night"] .col-plan .data-num { color: #38BDF8; }
#stage[data-theme="night"] .data-max { color: #94A3B8; }
#stage[data-theme="night"] .data-state-txt { color: #E2E8F0; }

/* 空态与 CTA */
#stage[data-theme="night"] #empty {
  background: rgba(15, 32, 66, 0.75);
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.42), 0 20px 44px rgba(0, 0, 0, 0.4);
}
#stage[data-theme="night"] .empty-inner {
  background: linear-gradient(180deg, rgba(19, 40, 82, 0.94) 0%, rgba(12, 26, 56, 0.92) 100%);
  box-shadow: inset 0 1px 0 rgba(125, 211, 252, 0.25);
}
#stage[data-theme="night"] .empty-title { color: #FFFFFF; }
#stage[data-theme="night"] .empty-desc { color: #CBD5E1; }
#stage[data-theme="night"] .empty-order { color: #7DD3FC; }
#stage[data-theme="night"] .empty-code {
  color: #FDE68A;
  background: rgba(15, 23, 42, 0.9);
  border-color: rgba(251, 191, 36, 0.55);
}
#stage[data-theme="night"] .empty-tip {
  background: rgba(3, 105, 161, 0.42);
  color: #E0F2FE;
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.45);
}
#stage[data-theme="night"] #cta {
  background: linear-gradient(90deg, #172B54 0%, #1E3A6E 50%, #172B54 100%);
  border: 1.5px solid rgba(251, 191, 36, 0.65);
  color: #FEF3C7;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45), 0 0 20px rgba(251, 191, 36, 0.14);
}
#stage[data-theme="night"] .cta-icon,
#stage[data-theme="night"] .cta-arrow { color: #FBBF24; }
#stage[data-theme="night"] #cam-frame {
  background: rgba(15, 32, 66, 0.35);
  border-color: rgba(56, 189, 248, 0.65);
}
#stage[data-theme="night"] #cam-frame::before {
  border-color: rgba(125, 211, 252, 0.35);
}
#stage[data-theme="night"] .promo-card {
  background: linear-gradient(165deg, #132852 0%, #0A1630 100%);
  border: 1.5px solid rgba(56, 189, 248, 0.55);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.65);
}
#stage[data-theme="night"] .promo-title { color: #FFFFFF; }
#stage[data-theme="night"] .promo-body { color: #CBD5E1; }
#stage[data-theme="night"] .promo-school {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.45);
  color: #7DD3FC;
}
#stage[data-theme="night"] .promo-school::before { color: #38BDF8; }
