/* ============ 红金竞赛主题 H5 公共样式 —— 中国移动 2026 竞赛风 ============
 * 设计语言：深红主底 + 金色装饰，庄重热烈、竞技科技氛围
 * 参照设计图：中国移动浙江公司客户经理技能竞赛 H5
 * 所有组件类名与旧主题保持一致，仅通过 CSS 变量切换全局配色
 * ========================================================================== */
:root {
  /* 底色：深红竞赛底（#8B0000 ~ #C00000 区间，自上而下加深） */
  --pk-bg-1:#a91101; --pk-bg-2:#8B0000; --pk-bg-3:#5e0000;
  /* 主色：亮金（主操作 / 强调 / 标题） */
  --pk-primary:#FFD700; --pk-primary-2:#FFA500;
  /* 辅助：橙金（次要强调 / 进度 / 链接） */
  --pk-cyan:#FFC107; --pk-cyan-2:#FFB300;
  /* 功能色（深底适配，提高对比） */
  --pk-violet:#c084fc; --pk-emerald:#34d399;
  --pk-gold:#FFD700; --pk-pink:#f472b6;
  --pk-green:#34d399; --pk-red:#f87171;
  /* 文字：金色标题 + 白色正文（深底高对比） */
  --pk-text:#fff; --pk-text-2:#f5e6c8; --pk-text-3:#d4b878;
  /* 卡片：深红半透明玻璃 + 金色描边 */
  --pk-card:rgba(60,0,0,.55); --pk-card-border:rgba(255,215,0,.35);
  --pk-radius:14px;
  /* 阴影：金色发光投影 */
  --pk-shadow-primary:0 10px 26px rgba(255,165,0,.35);
  --pk-shadow-cyan:0 10px 26px rgba(255,193,7,.30);
  --pk-shadow-soft:0 8px 22px rgba(0,0,0,.32);
}
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html, body { height:100%; }
body {
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
  background:
    radial-gradient(820px 460px at 10% -10%, rgba(255,215,0,.16), transparent 60%),
    radial-gradient(760px 440px at 98% 2%, rgba(255,165,0,.14), transparent 58%),
    radial-gradient(720px 520px at 50% 118%, rgba(255,215,0,.10), transparent 60%),
    linear-gradient(165deg,var(--pk-bg-1),var(--pk-bg-2) 56%,var(--pk-bg-3));
  background-attachment:fixed; color:var(--pk-text); font-size:14px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
/* 金色科技网格底纹（极淡，营造竞技氛围） */
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.32;
  background-image:
    linear-gradient(rgba(255,215,0,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,215,0,.07) 1px,transparent 1px);
  background-size:30px 30px;
  -webkit-mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 78%);
          mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 78%);
}
a { color:var(--pk-cyan-2); text-decoration:none; }
img { max-width:100%; display:block; }
button { font-family:inherit; cursor:pointer; border:none; outline:none; background:none; }
input,textarea,select { font-family:inherit; outline:none; }
ul,li { list-style:none; }

/* 容器：移动端居中，PC 上限宽 480px */
.pk-app { max-width:480px; margin:0 auto; min-height:100vh; position:relative; z-index:1; }
.pk-page { padding:16px; }
/* 注：已移除全局底部 tabbar，各页通过返回按钮/页面内入口跳转 */

/* 顶部栏：深红玻璃 + 金边 */
.pk-topbar {
  display:flex; align-items:center; gap:10px; padding:14px 16px;
  position:sticky; top:0; z-index:20;
  background:linear-gradient(180deg,rgba(94,0,0,.92),rgba(94,0,0,.66));
  backdrop-filter:blur(14px); border-bottom:1px solid var(--pk-card-border);
}
.pk-topbar__title { font-size:17px; font-weight:700; flex:1; color:var(--pk-primary); }
.pk-topbar__back {
  width:32px; height:32px; border-radius:10px; background:var(--pk-card);
  color:var(--pk-primary); display:flex; align-items:center; justify-content:center; font-size:18px;
  border:1px solid var(--pk-card-border);
}

/* 卡片：深红玻璃 + 金边 + 金色内发光 */
.pk-card {
  background:var(--pk-card); border:1px solid var(--pk-card-border);
  border-radius:var(--pk-radius); padding:16px;
  backdrop-filter:blur(12px);
  box-shadow:var(--pk-shadow-soft), inset 0 1px 0 rgba(255,215,0,.18);
  margin-bottom:12px;
}
.pk-card__title {
  font-size:14px; font-weight:600; color:var(--pk-primary);
  margin-bottom:12px; display:flex; align-items:center; gap:6px;
}
.pk-card__title svg { width:18px; height:18px; fill:var(--pk-primary); flex-shrink:0; }
.pk-card__title::before {
  content:''; width:3px; height:14px; border-radius:2px;
  background:linear-gradient(180deg,var(--pk-gold),var(--pk-primary-2));
}

/* 按钮：金色渐变 + 流光 */
.pk-btn {
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:11px 18px; border-radius:12px; font-size:14px; font-weight:700; color:#5e0000;
  background:linear-gradient(135deg,var(--pk-primary),var(--pk-primary-2));
  box-shadow:var(--pk-shadow-primary); transition:all .2s;
}
.pk-btn::after {
  content:''; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg); transition:left .6s;
}
.pk-btn:active { transform:scale(.97); }
.pk-btn:active::after { left:140%; }
.pk-btn--block { display:flex; width:100%; }
.pk-btn--ghost { background:var(--pk-card); color:var(--pk-primary); border:1px solid var(--pk-card-border); box-shadow:none; }
.pk-btn--ghost::after { display:none; }
.pk-btn--cyan { background:linear-gradient(135deg,var(--pk-cyan),var(--pk-cyan-2)); box-shadow:var(--pk-shadow-cyan); }
.pk-btn--emerald { background:linear-gradient(135deg,var(--pk-emerald),#34d399); box-shadow:0 10px 26px rgba(52,211,153,.30); color:#064e3b; }
.pk-btn--gold { background:linear-gradient(135deg,var(--pk-gold),#fbbf24); box-shadow:0 10px 26px rgba(245,158,11,.30); color:#5e0000; }
.pk-btn--danger { background:linear-gradient(135deg,#dc2626,#f87171); box-shadow:0 10px 26px rgba(220,38,38,.30); color:#fff; }
.pk-btn[disabled] { opacity:.5; box-shadow:none; }
.pk-btn[disabled]::after { display:none; }

/* 表单 */
.pk-field { margin-bottom:14px; }
.pk-field__label { font-size:13px; color:var(--pk-text-3); margin-bottom:6px; }
.pk-input,.pk-textarea,.pk-select {
  width:100%; padding:12px 14px; background:rgba(40,0,0,.5);
  border:1px solid var(--pk-card-border); border-radius:12px;
  color:var(--pk-text); font-size:14px; transition:border-color .2s, box-shadow .2s;
}
.pk-input:focus,.pk-textarea:focus,.pk-select:focus {
  border-color:var(--pk-primary);
  box-shadow:0 0 0 3px rgba(255,215,0,.20);
}
.pk-input::placeholder,.pk-textarea::placeholder { color:var(--pk-text-3); }
.pk-textarea { resize:none; min-height:80px; }

/* ============ 海报式首页（无 tabbar，参照设计图）============ */
/* 全屏海报页：背景图打底，内容垂直分布 */
.poster-page{
  min-height:100vh; position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  background:#5e0000;
}
/* 海报背景图（beijing1.jpg）：整体铺满不加叠层，保持原图亮度 */
.poster-page__bg{
  position:absolute; inset:0; z-index:0;
  background:url('../img/beijing1.jpg') center/100% 100% no-repeat;
}
/* 海报顶部金色光晕装饰 */
.poster-page__glow{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:1;}
.poster-page__glow--a{width:280px;height:280px;background:rgba(255,215,0,.22);top:-80px;left:-60px;}
.poster-page__glow--b{width:220px;height:220px;background:rgba(255,165,0,.18);top:30%;right:-80px;}

/* 海报头部：左上角用户角 + logo + 竞赛标题（参照设计图主视觉） */
.poster-header{position:relative;z-index:2;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 0;}
/* 左上角用户信息 + 「我的」入口（覆盖在海报顶部） */
.poster-user{display:flex;align-items:center;gap:10px;padding:8px 0 16px;}
.poster-user__avatar{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#FFD700,#FFA500);color:#5e0000;font-weight:800;font-size:16px;
  display:flex;align-items:center;justify-content:center;
  border:2px solid rgba(255,215,0,.7);box-shadow:0 0 14px rgba(255,215,0,.5);
}
.poster-user__name{font-size:14px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;}
.poster-user__me{
  margin-left:auto;width:38px;height:38px;border-radius:50%;
  background:rgba(40,0,0,.45);border:1px solid rgba(255,215,0,.4);
  display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--pk-primary);
  transition:all .15s;
}
.poster-user__me:active{transform:scale(.94);border-color:var(--pk-primary);}

/* logo + 主标题（设计图主视觉中心）；标题较长（11字/行），字号收窄适配 */
.poster-brand{position:relative;z-index:2;text-align:center;padding:8vh 20px 0;}
.poster-brand__logo{margin:0 auto 20px;display:block;width:120px;height:auto;filter:drop-shadow(0 6px 18px rgba(255,215,0,.5));}
.poster-brand__title{
  font-size:25px;font-weight:800;letter-spacing:3px;line-height:1.35;
  background:linear-gradient(180deg,#FFE88A 0%,#FFD700 50%,#FFA500 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 40px rgba(255,215,0,.4);
}
.poster-brand__sub{font-size:13px;color:rgba(255,239,200,.9);letter-spacing:8px;margin-top:14px;}
.poster-brand__year{display:inline-block;margin-top:18px;padding:4px 18px;border:1px solid rgba(255,215,0,.5);border-radius:20px;font-size:12px;color:var(--pk-primary);letter-spacing:3px;}

/* 海报底部功能入口（页面内，非固定栏）：开始PK / 排行榜 / PK记录 */
.poster-actions{
  position:relative;z-index:2;margin-top:auto;padding:0 20px 36px;
  display:flex;flex-direction:column;gap:14px;padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));
}
/* 主CTA：开始PK（金色小按钮，按内容宽度居中，不占满整行） */
.poster-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  align-self:center;padding:11px 40px;border-radius:22px;font-size:14px;font-weight:800;color:#5e0000;letter-spacing:2px;
  background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%);
  box-shadow:0 6px 18px rgba(255,165,0,.5), inset 0 1px 0 rgba(255,255,255,.4);
  position:relative;overflow:hidden;transition:transform .15s;
}
.poster-cta:active{transform:scale(.97);}
.poster-cta::after{
  content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);transition:left .8s;
}
.poster-cta:active::after{left:140%;}
.poster-cta__ico{font-size:17px;filter:drop-shadow(0 0 8px rgba(94,0,0,.3));display:flex;align-items:center;justify-content:center;}
/* CTA 图标 SVG（深红，与按钮文字同色，替换 emoji ⚔️） */
.poster-cta__ico svg{width:17px;height:17px;fill:#5e0000;}
/* 次级按钮图标 SVG（金色，替换 emoji 📜🏆） */
.poster-sub__ico{display:flex;align-items:center;justify-content:center;}
.poster-sub__ico svg{width:20px;height:20px;fill:var(--pk-primary);}
/* 次级入口横排：排行榜 / PK记录（半透明玻璃按钮） */
.poster-sub-row{display:flex;gap:14px;}
.poster-sub{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px;border-radius:16px;font-size:14px;font-weight:600;color:#fff;
  background:rgba(40,0,0,.5);border:1px solid rgba(255,215,0,.35);
  backdrop-filter:blur(10px);transition:all .15s;
}
.poster-sub:active{transform:scale(.97);border-color:var(--pk-primary);background:rgba(255,215,0,.15);}
.poster-sub__ico{font-size:20px;}

/* 子页面顶部返回条（无 tabbar，子页靠此返回首页） */
.pk-backbar{
  display:flex;align-items:center;gap:10px;
  /* 固定 12px 顶部留白 + 安全区叠加（env fallback 在变量已定义为0时不生效，故用 calc 叠加） */
  padding-top:calc(12px + env(safe-area-inset-top,0px));
  padding-bottom:12px;padding-left:14px;padding-right:14px;
  min-height:56px;box-sizing:border-box;
  position:sticky;top:0;z-index:20;
  background:linear-gradient(180deg,rgba(94,0,0,.94),rgba(94,0,0,.7));
  backdrop-filter:blur(14px);border-bottom:1px solid var(--pk-card-border);
}
.pk-backbar__back{
  width:34px;height:34px;border-radius:10px;background:var(--pk-card);
  color:var(--pk-primary);display:flex;align-items:center;justify-content:center;
  border:1px solid var(--pk-card-border);transition:all .15s;flex-shrink:0;
}
.pk-backbar__back:active{transform:scale(.94);border-color:var(--pk-primary);}
/* 返回条内的 SVG 图标统一尺寸（金色线条风，贴合红金主题） */
.pk-backbar__back svg{width:20px;height:20px;fill:var(--pk-primary);}
.pk-backbar__title{font-size:17px;font-weight:700;color:var(--pk-primary);flex:1;display:flex;align-items:center;gap:7px;min-width:0;}
.pk-backbar__title svg{width:20px;height:20px;fill:var(--pk-primary);flex-shrink:0;}
.pk-backbar__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ============ 通用弹层（规则弹框 / 记录详情弹层）============ */
.pk-modal{position:fixed;inset:0;background:rgba(30,0,0,.62);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px);}
.pk-modal__box{background:linear-gradient(160deg,rgba(94,0,0,.96),rgba(60,0,0,.96));border:1px solid var(--pk-card-border);border-radius:16px;padding:22px 18px;width:100%;max-width:400px;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:pkModalIn .25s;}
@keyframes pkModalIn{from{opacity:0;transform:translateY(20px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.pk-modal__close{position:absolute;top:12px;right:14px;width:28px;height:28px;border-radius:50%;background:rgba(40,0,0,.5);border:1px solid var(--pk-card-border);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--pk-primary);z-index:5;line-height:1;transition:all .15s;}
.pk-modal__close:active{transform:scale(.9);border-color:var(--pk-primary);}
/* 弹框有 Tab 时，顶部留出关闭按钮空间，避免与 Tab 重叠 */
.pk-modal__box--tabs{padding-top:48px;}
.pk-modal__title{font-size:16px;font-weight:700;color:var(--pk-primary);margin-bottom:14px;display:flex;align-items:center;gap:6px;padding-right:24px;}
.pk-modal__title::before{content:'';width:3px;height:15px;border-radius:2px;background:linear-gradient(180deg,var(--pk-gold),var(--pk-primary-2));}
/* 规则行（规则弹框用） */
.pk-rule-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--pk-card-border);font-size:13px;}
.pk-rule-row:last-child{border-bottom:none;}
.pk-rule-row span{color:var(--pk-text-3);}
.pk-rule-row b{color:var(--pk-primary);font-weight:700;}
.pk-rule-des{font-size:12px;line-height:1.7;color:var(--pk-text-2);background:rgba(40,0,0,.5);border:1px dashed var(--pk-card-border);border-radius:10px;padding:10px 12px;margin-bottom:12px;white-space:normal;}

/* 标签 */
.pk-tag {
  display:inline-flex; align-items:center; padding:2px 8px; border-radius:6px;
  font-size:11px; font-weight:500; background:rgba(255,215,0,.18); color:var(--pk-primary);
}
.pk-tag--green { background:rgba(52,211,153,.18); color:var(--pk-green); }
.pk-tag--emerald { background:rgba(52,211,153,.18); color:var(--pk-emerald); }
.pk-tag--gold { background:rgba(255,215,0,.22); color:var(--pk-gold); }
.pk-tag--red { background:rgba(248,113,113,.18); color:var(--pk-red); }
.pk-tag--cyan { background:rgba(255,193,7,.18); color:var(--pk-cyan-2); }

/* 列表行 */
.pk-list-item {
  display:flex; align-items:center; gap:12px; padding:14px;
  background:var(--pk-card); border:1px solid var(--pk-card-border);
  border-radius:12px; margin-bottom:10px; transition:transform .15s, border-color .15s;
  box-shadow:var(--pk-shadow-soft);
}
.pk-list-item:active { transform:scale(.99); border-color:rgba(255,215,0,.55); }

/* 空状态 */
.pk-empty { text-align:center; padding:60px 20px; color:var(--pk-text-3); }
.pk-empty .ico { font-size:48px; margin-bottom:12px; display:block; opacity:.5; }

/* Toast */
.pk-toast {
  position:fixed; top:40%; left:50%; transform:translate(-50%,-50%);
  background:rgba(40,0,0,.94); color:var(--pk-primary); padding:12px 20px;
  border-radius:12px; font-size:14px; z-index:9999; max-width:80%; text-align:center;
  border:1px solid var(--pk-card-border); box-shadow:0 12px 40px rgba(0,0,0,.5); animation:pkToastIn .2s;
}
.pk-toast--error { border-color:var(--pk-red); color:var(--pk-red); box-shadow:0 12px 40px rgba(248,113,113,.3); }
.pk-toast--success { border-color:var(--pk-green); color:var(--pk-green); box-shadow:0 12px 40px rgba(52,211,153,.3); }
@keyframes pkToastIn { from{opacity:0;transform:translate(-50%,-60%) scale(.9);} to{opacity:1;transform:translate(-50%,-50%) scale(1);} }

/* Loading */
.pk-loading-mask {
  position:fixed; inset:0; background:rgba(94,0,0,.72); z-index:9998;
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(3px);
}
.pk-spinner {
  width:38px; height:38px; border:3px solid rgba(255,215,0,.18);
  border-top-color:var(--pk-primary); border-right-color:var(--pk-primary-2);
  border-radius:50%; animation:pkSpin .8s linear infinite;
}
@keyframes pkSpin { to{transform:rotate(360deg);} }

/* 小节标题 */
.pk-section-title {
  font-size:15px; font-weight:700; color:var(--pk-primary);
  margin:16px 0 10px; display:flex; align-items:center; gap:8px;
}
.pk-section-title::before {
  content:''; width:4px; height:16px; border-radius:2px;
  background:linear-gradient(180deg,var(--pk-gold),var(--pk-primary-2));
}

/* 工具类 */
.pk-flex{display:flex;align-items:center;}
.pk-flex-between{display:flex;align-items:center;justify-content:space-between;}
.pk-flex-col{display:flex;flex-direction:column;}
.pk-gap-8{gap:8px;} .pk-gap-12{gap:12px;}
.pk-mt-8{margin-top:8px;} .pk-mt-12{margin-top:12px;} .pk-mt-16{margin-top:16px;} .pk-mb-12{margin-bottom:12px;}
.pk-text-3{color:var(--pk-text-3);} .pk-text-2{color:var(--pk-text-2);}
.pk-text-gold{color:var(--pk-gold);} .pk-text-cyan{color:var(--pk-cyan-2);} .pk-text-primary{color:var(--pk-primary);}
.pk-text-emerald{color:var(--pk-emerald);} .pk-text-pink{color:var(--pk-pink);}
.pk-text-center{text-align:center;} .pk-text-right{text-align:right;}
.pk-font-lg{font-size:16px;} .pk-font-xl{font-size:22px;font-weight:700;} .pk-font-sm{font-size:12px;}
.pk-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pk-hide{display:none!important;}
.pk-divider{height:1px;background:var(--pk-card-border);margin:12px 0;border:none;}

/* 金色渐变文字 */
.pk-grad-text {
  background:linear-gradient(90deg,var(--pk-primary),var(--pk-primary-2),var(--pk-gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.pk-grad-text-2 {
  background:linear-gradient(90deg,#fff,var(--pk-primary));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ============ 红金竞赛主题新增工具类 ============ */
/* logo 小图（替换原 emoji 品牌位） */
.pk-logo-img {
  width:96px; height:auto; object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(255,215,0,.4));
}
.pk-logo-img--sm { width:30px; }
.pk-logo-img--lg { width:140px; }

/* 左上角用户角：头像 + 昵称 + 「我的」图标按钮 */
.pk-user-corner {
  display:flex; align-items:center; gap:10px; padding:12px 16px;
  position:relative; z-index:10;
}
.pk-user-corner__avatar {
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--pk-gold),var(--pk-primary-2));
  color:#5e0000; font-weight:800; font-size:16px;
  display:flex; align-items:center; justify-content:center;
  border:2px solid rgba(255,215,0,.6);
  box-shadow:0 0 14px rgba(255,215,0,.4);
}
.pk-user-corner__name {
  font-size:14px; font-weight:700; color:#fff;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:140px;
}
.pk-user-corner__name small { display:block; font-size:11px; font-weight:400; color:var(--pk-text-3); margin-top:1px; }
.pk-user-corner__me {
  margin-left:auto; width:36px; height:36px; border-radius:50%;
  background:var(--pk-card); border:1px solid var(--pk-card-border);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; color:var(--pk-primary); transition:all .15s;
}
.pk-user-corner__me:active { transform:scale(.94); border-color:var(--pk-primary); }

/* 排行榜入口卡片（主页底部跳转 rank.html） */
.rank-entry-card {
  display:flex; align-items:center; gap:14px; margin:0 16px 18px; padding:18px 20px;
  border-radius:16px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,rgba(255,215,0,.18),rgba(255,165,0,.12));
  border:1px solid rgba(255,215,0,.5);
  box-shadow:0 8px 24px rgba(255,165,0,.22), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .15s;
}
.rank-entry-card:active { transform:scale(.98); }
.rank-entry-card__ico { font-size:32px; filter:drop-shadow(0 0 10px rgba(255,215,0,.6)); }
.rank-entry-card__body { flex:1; min-width:0; }
.rank-entry-card__title { font-size:16px; font-weight:800; color:var(--pk-primary); }
.rank-entry-card__sub { font-size:12px; color:var(--pk-text-3); margin-top:2px; }
.rank-entry-card__arrow { font-size:22px; color:var(--pk-primary); font-weight:800; }

/* ============ 答题过程通用动画（练习 / PK 共享）============ */
/* 题目卡片切入：上浮淡入 */
@keyframes pkQEnter{from{opacity:0;transform:translateY(18px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.pk-q-enter{animation:pkQEnter .42s cubic-bezier(.2,.7,.3,1) both;}
/* 选项逐条入场（不设基础 opacity:0，避免 animation 被覆盖时元素消失） */
@keyframes pkOptIn{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:translateX(0);}}
.pk-opt-in{animation:pkOptIn .4s ease-out both;}
/* 选项选中涟漪 */
@keyframes pkRipple{0%{box-shadow:0 0 0 0 rgba(255,215,0,.4);}100%{box-shadow:0 0 0 16px rgba(255,215,0,0);}}
.pk-ripple{animation:pkRipple .5s ease-out;}
/* 对错结果弹出 */
@keyframes pkResultPop{0%{opacity:0;transform:scale(.7) translateY(10px);}60%{transform:scale(1.04);}100%{opacity:1;transform:scale(1) translateY(0);}}
.pk-result-pop{animation:pkResultPop .45s cubic-bezier(.2,1.3,.4,1) both;}
/* 加分飘字 */
@keyframes pkFloatScore{0%{opacity:0;transform:translateY(0) scale(.6);}25%{opacity:1;transform:translateY(-10px) scale(1.15);}100%{opacity:0;transform:translateY(-46px) scale(1);}}
.pk-float-score{position:fixed;z-index:60;font-size:20px;font-weight:800;pointer-events:none;animation:pkFloatScore 1s ease-out forwards;}
/* 摇头（答错抖动） */
@keyframes pkShake{10%,90%{transform:translateX(-2px);}20%,80%{transform:translateX(3px);}30%,50%,70%{transform:translateX(-5px);}40%,60%{transform:translateX(5px);}}
.pk-shake{animation:pkShake .5s both;}
/* 庆祝光晕脉冲 */
@keyframes pkGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(255,215,0,.4));}50%{filter:drop-shadow(0 0 18px rgba(255,215,0,.8));}}
.pk-glow{animation:pkGlow 1.6s ease-in-out infinite;}
/* 撒花粒子（练习结果 / PK 胜利共享） */
.confetti{position:fixed;inset:0;z-index:50;pointer-events:none;overflow:hidden;}
.confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:.9;}
@keyframes confettiFall{to{transform:translateY(110vh) rotate(540deg);opacity:0;}}
