/* 共享榜单层（rank_ui）：ojweb 站内榜/滚榜/颁奖与独立外榜共用的唯一来源，只在此处手改。
   全部规则限定在 html.csg-rank-ui 之下（js/rank_ui_host.js 始终加上；新 UI 是唯一界面），作用域不泄漏到站内其它页面；
   深色 = html.csg-rank-ui--dark（外榜夜间 / ojweb dark_stage 皮肤）。令牌统一 --ru-* 前缀，定义见 palette.css。 */

/* ======== 源自外榜 award_cloud.css ======== */
/* 祥云（如意云头 + 飘带云尾）：线稿源 assets/clouds/ruyi.svg，viewBox 140x64；右端为云头、云尾向左（左侧用 scaleX(-1) 镜像） */
.csg-rank-ui{--aw-corner-tl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='80' viewBox='0 0 200 80'%3E%3Cg%3E%3Cdefs%3E%3ClinearGradient id=%22h%22 gradientUnits=%22userSpaceOnUse%22 x1=%2262%22 y1=%220%22 x2=%22198%22 y2=%220%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%22.5%22 stop-opacity=%22.5%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22v%22 gradientUnits=%22userSpaceOnUse%22 x1=%220%22 y1=%2250%22 x2=%220%22 y2=%2280%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cg stroke=%22%23000%22 stroke-width=%222.4%22%3E%3Cpath d=%22M34 54 C28 48 20 47 14 44 C6 39 6 25 16 20 C14 10 26 4 34 12 C42 4 54 10 52 20 C62 25 62 39 54 44 C48 47 40 48 34 54 Z%22/%3E%3Cpath d=%22M16 20 C23 20 27 27 23 31 C20 34 15 31 17 27%22/%3E%3Cpath d=%22M52 20 C45 20 41 27 45 31 C48 34 53 31 51 27%22/%3E%3Cpath d=%22M34 12 C31 17 31 22 34 26 C37 22 37 17 34 12%22 stroke-width=%221.8%22/%3E%3Cpath d=%22M27 40 C30 44 38 44 41 40%22 stroke-width=%221.6%22/%3E%3C/g%3E%3Cpath d=%22M60 30 C90 27 130 26 198 26%22 stroke=%22url(%23h)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M58 37 C90 34 130 33 186 33%22 stroke=%22url(%23h)%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M10 40 C9 52 9 64 10 80%22 stroke=%22url(%23v)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M17 46 C16 56 16 66 17 76%22 stroke=%22url(%23v)%22 stroke-width=%221.2%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--aw-corner-tr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='80' viewBox='0 0 200 80'%3E%3Cg transform='translate(200 0) scale(-1 1)'%3E%3Cdefs%3E%3ClinearGradient id=%22h%22 gradientUnits=%22userSpaceOnUse%22 x1=%2262%22 y1=%220%22 x2=%22198%22 y2=%220%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%22.5%22 stop-opacity=%22.5%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22v%22 gradientUnits=%22userSpaceOnUse%22 x1=%220%22 y1=%2250%22 x2=%220%22 y2=%2280%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cg stroke=%22%23000%22 stroke-width=%222.4%22%3E%3Cpath d=%22M34 54 C28 48 20 47 14 44 C6 39 6 25 16 20 C14 10 26 4 34 12 C42 4 54 10 52 20 C62 25 62 39 54 44 C48 47 40 48 34 54 Z%22/%3E%3Cpath d=%22M16 20 C23 20 27 27 23 31 C20 34 15 31 17 27%22/%3E%3Cpath d=%22M52 20 C45 20 41 27 45 31 C48 34 53 31 51 27%22/%3E%3Cpath d=%22M34 12 C31 17 31 22 34 26 C37 22 37 17 34 12%22 stroke-width=%221.8%22/%3E%3Cpath d=%22M27 40 C30 44 38 44 41 40%22 stroke-width=%221.6%22/%3E%3C/g%3E%3Cpath d=%22M60 30 C90 27 130 26 198 26%22 stroke=%22url(%23h)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M58 37 C90 34 130 33 186 33%22 stroke=%22url(%23h)%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M10 40 C9 52 9 64 10 80%22 stroke=%22url(%23v)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M17 46 C16 56 16 66 17 76%22 stroke=%22url(%23v)%22 stroke-width=%221.2%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--aw-corner-bl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='80' viewBox='0 0 200 80'%3E%3Cg transform='translate(0 80) scale(1 -1)'%3E%3Cdefs%3E%3ClinearGradient id=%22h%22 gradientUnits=%22userSpaceOnUse%22 x1=%2262%22 y1=%220%22 x2=%22198%22 y2=%220%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%22.5%22 stop-opacity=%22.5%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22v%22 gradientUnits=%22userSpaceOnUse%22 x1=%220%22 y1=%2250%22 x2=%220%22 y2=%2280%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cg stroke=%22%23000%22 stroke-width=%222.4%22%3E%3Cpath d=%22M34 54 C28 48 20 47 14 44 C6 39 6 25 16 20 C14 10 26 4 34 12 C42 4 54 10 52 20 C62 25 62 39 54 44 C48 47 40 48 34 54 Z%22/%3E%3Cpath d=%22M16 20 C23 20 27 27 23 31 C20 34 15 31 17 27%22/%3E%3Cpath d=%22M52 20 C45 20 41 27 45 31 C48 34 53 31 51 27%22/%3E%3Cpath d=%22M34 12 C31 17 31 22 34 26 C37 22 37 17 34 12%22 stroke-width=%221.8%22/%3E%3Cpath d=%22M27 40 C30 44 38 44 41 40%22 stroke-width=%221.6%22/%3E%3C/g%3E%3Cpath d=%22M60 30 C90 27 130 26 198 26%22 stroke=%22url(%23h)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M58 37 C90 34 130 33 186 33%22 stroke=%22url(%23h)%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M10 40 C9 52 9 64 10 80%22 stroke=%22url(%23v)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M17 46 C16 56 16 66 17 76%22 stroke=%22url(%23v)%22 stroke-width=%221.2%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--aw-corner-br:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='80' viewBox='0 0 200 80'%3E%3Cg transform='translate(200 80) scale(-1 -1)'%3E%3Cdefs%3E%3ClinearGradient id=%22h%22 gradientUnits=%22userSpaceOnUse%22 x1=%2262%22 y1=%220%22 x2=%22198%22 y2=%220%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%22.5%22 stop-opacity=%22.5%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22v%22 gradientUnits=%22userSpaceOnUse%22 x1=%220%22 y1=%2250%22 x2=%220%22 y2=%2280%22%3E%3Cstop offset=%220%22/%3E%3Cstop offset=%221%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cg stroke=%22%23000%22 stroke-width=%222.4%22%3E%3Cpath d=%22M34 54 C28 48 20 47 14 44 C6 39 6 25 16 20 C14 10 26 4 34 12 C42 4 54 10 52 20 C62 25 62 39 54 44 C48 47 40 48 34 54 Z%22/%3E%3Cpath d=%22M16 20 C23 20 27 27 23 31 C20 34 15 31 17 27%22/%3E%3Cpath d=%22M52 20 C45 20 41 27 45 31 C48 34 53 31 51 27%22/%3E%3Cpath d=%22M34 12 C31 17 31 22 34 26 C37 22 37 17 34 12%22 stroke-width=%221.8%22/%3E%3Cpath d=%22M27 40 C30 44 38 44 41 40%22 stroke-width=%221.6%22/%3E%3C/g%3E%3Cpath d=%22M60 30 C90 27 130 26 198 26%22 stroke=%22url(%23h)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M58 37 C90 34 130 33 186 33%22 stroke=%22url(%23h)%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M10 40 C9 52 9 64 10 80%22 stroke=%22url(%23v)%22 stroke-width=%222.2%22/%3E%3Cpath d=%22M17 46 C16 56 16 66 17 76%22 stroke=%22url(%23v)%22 stroke-width=%221.2%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}

/* ======== 源自外榜 award_skin.css ======== */
/* 滚榜颁奖浮层（外榜自有设计，已定稿）：无照片舞台（奖牌）+ 奖项牌匾（云纹卡）
   原则：克制、层次清晰、大屏可读；金/银/铜/其它靠“色相 + 明度”区分，表面纯色不用渐变；
   牌匾中英文左右分布（字更大，投屏要让人看清）；祥云只放在中英文之间的留白里，且完全在双线内侧安全区内，不与边框相交。
   祥云为独立设计的 SVG 线稿（award_cloud.css 由 scripts/design/gen_award_assets.py 生成），mask 取线条。
   ojweb 原版对照只存在于演示页（scripts/demo），正式界面只有这一种实现。 */
/* ───────── 色板：金/银/铜/其它 × 明/暗 ─────────
   金：明亮饱和偏黄金；银：冷白灰；铜：红棕；其它：深青。三者色相差 ≥ 30°，明度也拉开，远距离/低色域大屏上仍可辨（见 docs/颁奖界面设计.md 的色差表）。 */
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa{
  --aw-gold-rim:#d9a016;--aw-gold-face:#f7dc7a;--aw-gold-dk:#9a6f08;--aw-gold-hi:#fff3b8;--aw-gold-wash:rgba(235,185,40,.16);
  --aw-gold-pf:#ffe68a;--aw-gold-pi:#5a3c00;--aw-gold-pl:#d9a016;
  --aw-silver-rim:#9eabbd;--aw-silver-face:#e8edf4;--aw-silver-dk:#6f7c8f;--aw-silver-hi:#ffffff;--aw-silver-wash:rgba(150,170,200,.16);
  --aw-silver-pf:#eceff5;--aw-silver-pi:#3a4658;--aw-silver-pl:#a5b2c3;
  --aw-bronze-rim:#b5532c;--aw-bronze-face:#e2a283;--aw-bronze-dk:#74311a;--aw-bronze-hi:#f7cdb2;--aw-bronze-wash:rgba(190,95,50,.13);
  --aw-bronze-pf:#f6cab4;--aw-bronze-pi:#a2381a;--aw-bronze-pl:#bf5f36;
  --aw-none-rim:#4a8788;--aw-none-face:#a8d0d0;--aw-none-dk:#2b5a5d;--aw-none-hi:#e3f4f3;--aw-none-wash:rgba(70,140,142,.13);
  --aw-none-pf:#c6e7e5;--aw-none-pi:#1d5154;--aw-none-pl:#56979a;
  --aw-rb1:#2f4268;--aw-rb2:#263658;--aw-rbl:rgba(255,255,255,.35);
}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa[data-rank-skin='dark_stage']{
  --aw-gold-rim:#f2bd2a;--aw-gold-face:#ffe27c;--aw-gold-dk:#b88a12;--aw-gold-hi:#fff6c4;--aw-gold-wash:rgba(242,189,42,.09);
  --aw-gold-pf:#2d2509;--aw-gold-pi:#ffd75e;--aw-gold-pl:#f2bd2a;
  --aw-silver-rim:#d5dde8;--aw-silver-face:#f6f8fb;--aw-silver-dk:#8f9bad;--aw-silver-hi:#ffffff;--aw-silver-wash:rgba(200,212,230,.08);
  --aw-silver-pf:#1b212c;--aw-silver-pi:#eef2f8;--aw-silver-pl:#aab5c6;
  --aw-bronze-rim:#d9693a;--aw-bronze-face:#f0ab88;--aw-bronze-dk:#8f3d1b;--aw-bronze-hi:#ffd4b8;--aw-bronze-wash:rgba(217,105,58,.09);
  --aw-none-rim:#5db3b2;--aw-none-face:#c0e5e3;--aw-none-dk:#377b7d;--aw-none-hi:#f0fffe;--aw-none-wash:rgba(93,179,178,.09);
  --aw-bronze-pf:#301710;--aw-bronze-pi:#ff9d6e;--aw-bronze-pl:#d9693a;
  --aw-none-pf:#0e2b2d;--aw-none-pi:#86d6d4;--aw-none-pl:#5db3b2;
  --aw-rb1:#4a63a0;--aw-rb2:#3c5288;--aw-rbl:rgba(255,255,255,.28);
}
/* ───────── 舞台（无照片）：中性底 + 柔光 + 奖牌 + 底部祥云 ───────── */
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-photo-placeholder{
  --wash:var(--aw-none-wash);
  opacity:1;font-size:0;flex-direction:column;overflow:hidden;
  background:
    radial-gradient(ellipse 58% 62% at 50% 46%,rgba(255,255,255,.78) 0%,rgba(255,255,255,0) 72%),
    radial-gradient(ellipse 70% 70% at 50% 48%,var(--wash) 0%,transparent 70%),
    #e7ebf1;
}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa[data-rank-skin='dark_stage'] .award-photo-placeholder{
  background:
    radial-gradient(ellipse 56% 60% at 50% 46%,rgba(120,150,205,.13) 0%,rgba(120,150,205,0) 72%),
    radial-gradient(ellipse 70% 70% at 50% 48%,var(--wash) 0%,transparent 70%),
    #0b1324;
}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-photo-placeholder-gold{--rim:var(--aw-gold-rim);--face:var(--aw-gold-face);--dk:var(--aw-gold-dk);--hi:var(--aw-gold-hi);--wash:var(--aw-gold-wash)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-photo-placeholder-silver{--rim:var(--aw-silver-rim);--face:var(--aw-silver-face);--dk:var(--aw-silver-dk);--hi:var(--aw-silver-hi);--wash:var(--aw-silver-wash)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-photo-placeholder-bronze{--rim:var(--aw-bronze-rim);--face:var(--aw-bronze-face);--dk:var(--aw-bronze-dk);--hi:var(--aw-bronze-hi);--wash:var(--aw-bronze-wash)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-photo-placeholder-none{--rim:var(--aw-none-rim);--face:var(--aw-none-face);--dk:var(--aw-none-dk);--hi:var(--aw-none-hi);--wash:var(--aw-none-wash)}
/* 奖牌：飘带两色 + 高光条；奖牌 = 外圈 + 内面 + 两道刻线 + 月桂 + 中心章（金银铜带数字 1/2/3） */
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal{height:90%;width:auto;aspect-ratio:1;flex:none;overflow:visible}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .rb1{fill:var(--aw-rb1)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .rb2{fill:var(--aw-rb2)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .rbl{fill:none;stroke:var(--aw-rbl);stroke-width:2.2;stroke-linecap:round}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .bail{fill:none;stroke:var(--rim);stroke-width:11}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .rim{fill:var(--rim)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .rg{fill:none;stroke:var(--dk);stroke-width:2;opacity:.55}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .face{fill:var(--face)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .rg2{fill:none;stroke:var(--dk);stroke-width:2.4;opacity:.5}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .hi{fill:none;stroke:var(--hi);stroke-width:7;stroke-linecap:round;opacity:.9}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .lf{fill:var(--dk);opacity:.82}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .st{fill:none;stroke:var(--dk);stroke-width:2.6;opacity:.82}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .ctr{fill:var(--dk)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .cr{fill:none;stroke:var(--hi);stroke-width:2.2;opacity:.75}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .dot{fill:var(--hi)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .ph-medal .num{fill:var(--hi);font-family:'Geist','Noto Serif SC','Source Han Serif SC',Georgia,serif;font-weight:700;text-anchor:middle;dominant-baseline:central}
/* ───────── 牌匾（云纹卡）：中英同一行、成组居中，字阶与 ojweb 原版一致；四角如意云纹 ─────────
   字阶（对齐 ojweb roll_award_overlay.css）：行字号 = --roa-fs-school（56px × --roa-s × --roa-fs-mul），中文 1em/700，英文 .88em/600、透明度 .92、字距 .02em，行高 1.06，中英间距 clamp(.42em, .62vu, .95em)；名称放不下时整行等比缩小（--aw-cn/--aw-en 由 roll_adapter.js 按字数写入，文字占宽预算 27vu，两侧至少留出祥云位置），下限 2.2vu；再不够英文平衡折成两行，永不省略。
   几何（随 --roa-vu 缩放）：外框 = 卡片 1px 边线；内框 = 距外框 .55vu 的发丝线（item::before）；安全区 = 内框再内缩 .7vu。
   祥云：放在文字组两侧（flex 子项各占剩余宽度一半），如意云头朝外、云尾朝文字长渐变淡出、整朵缩放不裁切；颜色 --pk-line；高度受安全区约束，不跨双线、不压字。 */
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-scrollport::before,
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-scrollport::after{content:none;display:none}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item{
  --fr:calc(.55 * var(--roa-vu));--sg:calc(.7 * var(--roa-vu));
  --pk-fill:var(--aw-none-pf);--pk-ink:var(--aw-none-pi);--pk-line:var(--aw-none-pl);
  position:relative;isolation:isolate;overflow:hidden;padding:0;gap:0;display:flex;flex-direction:column;border-radius:calc(.55 * var(--roa-vu));
  background:var(--pk-fill)!important;border:1px solid var(--pk-line)!important;box-shadow:none!important;
}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item--tier-gold{--pk-fill:var(--aw-gold-pf);--pk-ink:var(--aw-gold-pi);--pk-line:var(--aw-gold-pl)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item--tier-silver{--pk-fill:var(--aw-silver-pf);--pk-ink:var(--aw-silver-pi);--pk-line:var(--aw-silver-pl)}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item--tier-bronze{--pk-fill:var(--aw-bronze-pf);--pk-ink:var(--aw-bronze-pi);--pk-line:var(--aw-bronze-pl)}
/* 内框发丝线（包住归属名行与奖项行）：距外框 .55vu */
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item::before{content:'';display:block;position:absolute;inset:var(--fr);border:1px solid var(--pk-line);opacity:.5;border-radius:calc(.25 * var(--roa-vu));pointer-events:none;z-index:0;width:auto;height:auto;background:none;mask:none;-webkit-mask:none;transform:none}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-award-row{flex:1 1 0;min-height:0;width:100%;margin:0;padding:0;position:relative;z-index:1}
/* 多归属时的归属名行：在内框之内、奖项行之上，小字居中 */
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-name-row{flex:none;display:flex;justify-content:center;margin:0;padding:calc(var(--fr) + var(--sg)) calc(var(--fr) + var(--sg)) 0;position:relative;z-index:1}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-name{font-size:calc(2.5 * var(--roa-vu));line-height:1.1;font-weight:600;letter-spacing:.04em;color:var(--pk-ink)!important;opacity:.85;text-shadow:none!important;-webkit-text-stroke:0!important;white-space:nowrap}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item .award-group-medal{
  position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;
  gap:clamp(.42em, calc(.62 * var(--roa-vu)), .95em);
  width:100%;height:100%;min-height:0;margin:0;box-sizing:border-box;
  padding:calc(var(--fr) + var(--sg)) calc(var(--fr) + var(--sg) + 3.2 * var(--roa-vu));
  font-size:clamp(calc(2.2 * var(--roa-vu)), calc(var(--roa-vu) * 27 / (var(--aw-cn, 2.2) + .55 * var(--aw-en, 5))), var(--roa-fs-school, calc(56px * var(--roa-s, 1))));line-height:1.06;letter-spacing:-.018em;font-weight:700;text-align:center;
  background:none;border:0;box-shadow:none;border-radius:0;overflow:hidden;
  color:var(--pk-ink)!important;text-shadow:none!important;-webkit-text-stroke:0!important;
}
/* 四角如意云纹（取代两端带拖尾的侧云）：内框四角各一枚如意云头，左右、上下对称；
   云头沿内框引出双线，向中间渐隐（约后半段淡出）；与牌匾同色系（描边色、半透明）压印感，不抢字。
   云纹高 4.6vu（牌匾高 12.2vu），只落在四角、整枚显示永不裁切；奖项文字左右各让出 3.2vu，不与云头相压。 */
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item .award-group-medal::before,
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item .award-group-medal::after{content:none;display:none}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item::after{
  content:'';display:block;position:absolute;inset:var(--fr);width:auto!important;max-width:none!important;height:auto!important;transform:none;z-index:0;pointer-events:none;
  background:var(--pk-line);opacity:.62;
  -webkit-mask:var(--aw-corner-tl) left top/auto calc(4.6 * var(--roa-vu)) no-repeat,var(--aw-corner-tr) right top/auto calc(4.6 * var(--roa-vu)) no-repeat,var(--aw-corner-bl) left bottom/auto calc(4.6 * var(--roa-vu)) no-repeat,var(--aw-corner-br) right bottom/auto calc(4.6 * var(--roa-vu)) no-repeat;
  mask:var(--aw-corner-tl) left top/auto calc(4.6 * var(--roa-vu)) no-repeat,var(--aw-corner-tr) right top/auto calc(4.6 * var(--roa-vu)) no-repeat,var(--aw-corner-bl) left bottom/auto calc(4.6 * var(--roa-vu)) no-repeat,var(--aw-corner-br) right bottom/auto calc(4.6 * var(--roa-vu)) no-repeat}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item .award-group-medal-cn{
  order:1;flex:none;font-size:1em;line-height:1.06;font-weight:700;white-space:nowrap;
  color:inherit!important;text-shadow:none!important;-webkit-text-stroke:0!important}
.csg-rank-ui #csg-roll-award-overlay#csg-roll-award-overlay.csg-roa .award-group-item .award-group-medal-en{
  order:2;flex:0 1 auto;min-width:0;max-width:100%;font-size:.88em;line-height:1.06;font-weight:600;opacity:.92;letter-spacing:.02em;text-align:left;
  white-space:normal;text-wrap:balance;overflow:visible;overflow-wrap:break-word;font-variant-numeric:tabular-nums;
  color:inherit!important;text-shadow:none!important;-webkit-text-stroke:0!important}
