@charset "utf-8";
/* ==========================================================================
   gityx 等级视觉系统（100 级 / 10 段位 / 13 档特效）
   --------------------------------------------------------------------------
   结构：
     1. .lv1 ~ .lv100 变量（每级 7 个变量，逐级递进）
     2. .lvr-t1 ~ .lvr-t10 段位调色板（等级规则页分组用）
     3. .lv-badge 基础（实色兜底 + 暗描边）
     4. 渐变文字公共规则（描边保证文字轮廓永不消失）
     5. .lv-eff-* 徽章 13 档特效
     6. .u-lvname 用户名档位特效
     7. 关键帧
     8. 等级规则页布局
     9. 可见性与降级兜底
   --------------------------------------------------------------------------
   【文本不消失的保障机制】
     - 透明填充(-webkit-text-fill-color:transparent)只写在「具体档位」规则内，
       若模板输出的档位类在 CSS 中不存在，填充自动回落到 .lv-badge 的 --lvc 实色。
     - 所有渐变文字都同时应用 -webkit-text-stroke 描边，即使渐变背景异常，
       文字轮廓依然可见。
     - 用户名走 --lvc 实色 + 多层 text-shadow（不做背景裁剪），
       任何背景下都可读。
   ========================================================================== */

/* 1. 100 级配色变量
   --lvc 主色 / --lvs 副色 / --lvt 第三色 / --lvg 光晕色
   --lvr 光晕半径 / --lvd 动画周期 / --lvsd 描边色 */
.lv1{--lvc:hsl(30,6%,62%);--lvs:hsl(40,20%,74%);--lvt:hsl(38,30%,52%);--lvg:transparent;--lvr:0px;--lvd:0s;--lvsd:hsla(30,32%,88%,.9);}
.lv2{--lvc:hsl(31.1,12%,62%);--lvs:hsl(41.1,26%,74%);--lvt:hsl(39.1,30%,52%);--lvg:transparent;--lvr:0px;--lvd:0s;--lvsd:hsla(31.1,38%,88%,.9);}
.lv3{--lvc:hsl(32.2,18%,61%);--lvs:hsl(42.2,32%,73%);--lvt:hsl(40.2,30%,51%);--lvg:transparent;--lvr:0px;--lvd:0s;--lvsd:hsla(32.2,44%,88%,.9);}
.lv4{--lvc:hsl(33.3,23%,61%);--lvs:hsl(43.3,37%,73%);--lvt:hsl(41.3,30%,51%);--lvg:hsla(33.3,96%,76%,0.18);--lvr:1.3px;--lvd:5.87s;--lvsd:hsla(33.3,49%,88%,.9);}
.lv5{--lvc:hsl(34.4,29%,60%);--lvs:hsl(44.4,43%,72%);--lvt:hsl(42.4,30%,50%);--lvg:hsla(34.4,96%,76%,0.19);--lvr:1.4px;--lvd:5.82s;--lvsd:hsla(34.4,55%,88%,.9);}
.lv6{--lvc:hsl(35.6,35%,60%);--lvs:hsl(45.6,49%,72%);--lvt:hsl(43.6,30%,50%);--lvg:hsla(35.6,96%,76%,0.2);--lvr:1.6px;--lvd:5.78s;--lvsd:hsla(35.6,61%,88%,.9);}
.lv7{--lvc:hsl(36.7,41%,59%);--lvs:hsl(46.7,55%,71%);--lvt:hsl(44.7,30%,49%);--lvg:hsla(36.7,96%,76%,0.2);--lvr:1.7px;--lvd:5.73s;--lvsd:hsla(36.7,67%,88%,.9);}
.lv8{--lvc:hsl(37.8,46%,59%);--lvs:hsl(47.8,60%,71%);--lvt:hsl(45.8,34%,49%);--lvg:hsla(37.8,96%,76%,0.21);--lvr:1.8px;--lvd:5.69s;--lvsd:hsla(37.8,72%,88%,.9);}
.lv9{--lvc:hsl(38.9,52%,58%);--lvs:hsl(48.9,66%,70%);--lvt:hsl(46.9,40%,48%);--lvg:hsla(38.9,96%,76%,0.22);--lvr:1.9px;--lvd:5.64s;--lvsd:hsla(38.9,78%,88%,.9);}
.lv10{--lvc:hsl(40,58%,58%);--lvs:hsl(50,72%,70%);--lvt:hsl(48,46%,48%);--lvg:hsla(40,96%,76%,0.23);--lvr:2px;--lvd:5.6s;--lvsd:hsla(40,84%,88%,.9);}
.lv11{--lvc:hsl(210,28%,72%);--lvs:hsl(226,42%,84%);--lvt:hsl(224,30%,62%);--lvg:hsla(210,96%,76%,0.23);--lvr:2.1px;--lvd:5.56s;--lvsd:hsla(210,54%,88%,.9);}
.lv12{--lvc:hsl(208,33%,71%);--lvs:hsl(224,47%,83%);--lvt:hsl(222,30%,61%);--lvg:hsla(208,96%,76%,0.24);--lvr:2.2px;--lvd:5.51s;--lvsd:hsla(208,59%,88%,.9);}
.lv13{--lvc:hsl(206,38%,69%);--lvs:hsl(222,52%,81%);--lvt:hsl(220,30%,59%);--lvg:hsla(206,96%,76%,0.25);--lvr:2.3px;--lvd:5.47s;--lvsd:hsla(206,64%,88%,.9);}
.lv14{--lvc:hsl(204,43%,68%);--lvs:hsl(220,57%,80%);--lvt:hsl(218,31%,58%);--lvg:hsla(204,96%,76%,0.26);--lvr:2.4px;--lvd:5.42s;--lvsd:hsla(204,69%,88%,.9);}
.lv15{--lvc:hsl(202,48%,67%);--lvs:hsl(218,62%,79%);--lvt:hsl(216,36%,57%);--lvg:hsla(202,96%,76%,0.26);--lvr:2.6px;--lvd:5.38s;--lvsd:hsla(202,74%,88%,.9);}
.lv16{--lvc:hsl(200,52%,65%);--lvs:hsl(216,66%,77%);--lvt:hsl(214,40%,55%);--lvg:hsla(200,96%,76%,0.27);--lvr:2.7px;--lvd:5.33s;--lvsd:hsla(200,78%,88%,.9);}
.lv17{--lvc:hsl(198,57%,64%);--lvs:hsl(214,71%,76%);--lvt:hsl(212,45%,54%);--lvg:hsla(198,96%,76%,0.28);--lvr:2.8px;--lvd:5.29s;--lvsd:hsla(198,83%,88%,.9);}
.lv18{--lvc:hsl(196,62%,63%);--lvs:hsl(212,76%,75%);--lvt:hsl(210,50%,53%);--lvg:hsla(196,96%,76%,0.29);--lvr:2.9px;--lvd:5.24s;--lvsd:hsla(196,88%,88%,.9);}
.lv19{--lvc:hsl(194,67%,61%);--lvs:hsl(210,81%,73%);--lvt:hsl(208,55%,51%);--lvg:hsla(194,96%,76%,0.29);--lvr:3px;--lvd:5.2s;--lvsd:hsla(194,93%,88%,.9);}
.lv20{--lvc:hsl(192,72%,60%);--lvs:hsl(208,86%,72%);--lvt:hsl(206,60%,50%);--lvg:hsla(192,96%,76%,0.3);--lvr:3.1px;--lvd:5.16s;--lvsd:hsla(192,98%,88%,.9);}
.lv21{--lvc:hsl(38,72%,52%);--lvs:hsl(54,86%,64%);--lvt:hsl(50,60%,42%);--lvg:hsla(38,96%,76%,0.31);--lvr:3.2px;--lvd:5.11s;--lvsd:hsla(38,98%,88%,.9);}
.lv22{--lvc:hsl(39.8,75%,53%);--lvs:hsl(55.8,89%,65%);--lvt:hsl(51.8,63%,43%);--lvg:hsla(39.8,96%,76%,0.32);--lvr:3.3px;--lvd:5.07s;--lvsd:hsla(39.8,100%,88%,.9);}
.lv23{--lvc:hsl(41.6,77%,54%);--lvs:hsl(57.6,91%,66%);--lvt:hsl(53.6,65%,44%);--lvg:hsla(41.6,96%,76%,0.32);--lvr:3.4px;--lvd:5.02s;--lvsd:hsla(41.6,100%,88%,.9);}
.lv24{--lvc:hsl(43.3,80%,55%);--lvs:hsl(59.3,94%,67%);--lvt:hsl(55.3,68%,45%);--lvg:hsla(43.3,96%,76%,0.33);--lvr:3.6px;--lvd:4.98s;--lvsd:hsla(43.3,100%,88%,.9);}
.lv25{--lvc:hsl(45.1,82%,56%);--lvs:hsl(61.1,96%,68%);--lvt:hsl(57.1,70%,46%);--lvg:hsla(45.1,96%,76%,0.34);--lvr:3.7px;--lvd:4.93s;--lvsd:hsla(45.1,100%,88%,.9);}
.lv26{--lvc:hsl(46.9,85%,56%);--lvs:hsl(62.9,99%,68%);--lvt:hsl(58.9,73%,46%);--lvg:hsla(46.9,96%,76%,0.35);--lvr:3.8px;--lvd:4.89s;--lvsd:hsla(46.9,100%,88%,.9);}
.lv27{--lvc:hsl(48.7,87%,57%);--lvs:hsl(64.7,100%,69%);--lvt:hsl(60.7,75%,47%);--lvg:hsla(48.7,96%,76%,0.35);--lvr:3.9px;--lvd:4.84s;--lvsd:hsla(48.7,100%,88%,.9);}
.lv28{--lvc:hsl(50.4,90%,58%);--lvs:hsl(66.4,100%,70%);--lvt:hsl(62.4,78%,48%);--lvg:hsla(50.4,96%,76%,0.36);--lvr:4px;--lvd:4.8s;--lvsd:hsla(50.4,100%,88%,.9);}
.lv29{--lvc:hsl(52.2,92%,59%);--lvs:hsl(68.2,100%,71%);--lvt:hsl(64.2,80%,49%);--lvg:hsla(52.2,96%,76%,0.37);--lvr:4.1px;--lvd:4.76s;--lvsd:hsla(52.2,100%,88%,.9);}
.lv30{--lvc:hsl(54,95%,60%);--lvs:hsl(70,100%,72%);--lvt:hsl(66,83%,50%);--lvg:hsla(54,96%,76%,0.38);--lvr:4.2px;--lvd:4.71s;--lvsd:hsla(54,100%,88%,.9);}
.lv31{--lvc:hsl(148,65%,45%);--lvs:hsl(164,79%,57%);--lvt:hsl(170,53%,38%);--lvg:hsla(148,96%,76%,0.38);--lvr:4.3px;--lvd:4.67s;--lvsd:hsla(148,91%,88%,.9);}
.lv32{--lvc:hsl(150.4,68%,46%);--lvs:hsl(166.4,82%,58%);--lvt:hsl(172.4,56%,38%);--lvg:hsla(150.4,96%,76%,0.39);--lvr:4.4px;--lvd:4.62s;--lvsd:hsla(150.4,94%,88%,.9);}
.lv33{--lvc:hsl(152.9,71%,47%);--lvs:hsl(168.9,85%,59%);--lvt:hsl(174.9,59%,38%);--lvg:hsla(152.9,96%,76%,0.4);--lvr:4.6px;--lvd:4.58s;--lvsd:hsla(152.9,97%,88%,.9);}
.lv34{--lvc:hsl(155.3,74%,49%);--lvs:hsl(171.3,88%,61%);--lvt:hsl(177.3,62%,39%);--lvg:hsla(155.3,96%,76%,0.41);--lvr:4.7px;--lvd:4.53s;--lvsd:hsla(155.3,100%,88%,.9);}
.lv35{--lvc:hsl(157.8,77%,50%);--lvs:hsl(173.8,91%,62%);--lvt:hsl(179.8,65%,40%);--lvg:hsla(157.8,96%,76%,0.41);--lvr:4.8px;--lvd:4.49s;--lvsd:hsla(157.8,100%,88%,.9);}
.lv36{--lvc:hsl(160.2,80%,51%);--lvs:hsl(176.2,94%,63%);--lvt:hsl(182.2,68%,41%);--lvg:hsla(160.2,96%,76%,0.42);--lvr:4.9px;--lvd:4.44s;--lvsd:hsla(160.2,100%,88%,.9);}
.lv37{--lvc:hsl(162.7,83%,52%);--lvs:hsl(178.7,97%,64%);--lvt:hsl(184.7,71%,42%);--lvg:hsla(162.7,96%,76%,0.43);--lvr:5px;--lvd:4.4s;--lvsd:hsla(162.7,100%,88%,.9);}
.lv38{--lvc:hsl(165.1,86%,54%);--lvs:hsl(181.1,100%,66%);--lvt:hsl(187.1,74%,44%);--lvg:hsla(165.1,96%,76%,0.44);--lvr:5.1px;--lvd:4.36s;--lvsd:hsla(165.1,100%,88%,.9);}
.lv39{--lvc:hsl(167.6,89%,55%);--lvs:hsl(183.6,100%,67%);--lvt:hsl(189.6,77%,45%);--lvg:hsla(167.6,96%,76%,0.44);--lvr:5.2px;--lvd:4.31s;--lvsd:hsla(167.6,100%,88%,.9);}
.lv40{--lvc:hsl(170,92%,56%);--lvs:hsl(186,100%,68%);--lvt:hsl(192,80%,46%);--lvg:hsla(170,96%,76%,0.45);--lvr:5.3px;--lvd:4.27s;--lvsd:hsla(170,100%,88%,.9);}
.lv41{--lvc:hsl(196,76%,54%);--lvs:hsl(214,90%,66%);--lvt:hsl(222,64%,44%);--lvg:hsla(196,96%,76%,0.46);--lvr:5.4px;--lvd:4.22s;--lvsd:hsla(196,100%,88%,.9);}
.lv42{--lvc:hsl(198,78%,55%);--lvs:hsl(216,92%,67%);--lvt:hsl(224,66%,45%);--lvg:hsla(198,96%,76%,0.47);--lvr:5.6px;--lvd:4.18s;--lvsd:hsla(198,100%,88%,.9);}
.lv43{--lvc:hsl(200,80%,56%);--lvs:hsl(218,94%,68%);--lvt:hsl(226,68%,46%);--lvg:hsla(200,96%,76%,0.47);--lvr:5.7px;--lvd:4.13s;--lvsd:hsla(200,100%,88%,.9);}
.lv44{--lvc:hsl(202,82%,57%);--lvs:hsl(220,96%,69%);--lvt:hsl(228,70%,47%);--lvg:hsla(202,96%,76%,0.48);--lvr:5.8px;--lvd:4.09s;--lvsd:hsla(202,100%,88%,.9);}
.lv45{--lvc:hsl(204,84%,58%);--lvs:hsl(222,98%,70%);--lvt:hsl(230,72%,48%);--lvg:hsla(204,96%,76%,0.49);--lvr:5.9px;--lvd:4.04s;--lvsd:hsla(204,100%,88%,.9);}
.lv46{--lvc:hsl(206,87%,60%);--lvs:hsl(224,100%,72%);--lvt:hsl(232,75%,50%);--lvg:hsla(206,96%,76%,0.5);--lvr:6px;--lvd:4s;--lvsd:hsla(206,100%,88%,.9);}
.lv47{--lvc:hsl(208,89%,61%);--lvs:hsl(226,100%,73%);--lvt:hsl(234,77%,51%);--lvg:hsla(208,96%,76%,0.5);--lvr:6.1px;--lvd:3.96s;--lvsd:hsla(208,100%,88%,.9);}
.lv48{--lvc:hsl(210,91%,62%);--lvs:hsl(228,100%,74%);--lvt:hsl(236,79%,52%);--lvg:hsla(210,96%,76%,0.51);--lvr:6.2px;--lvd:3.91s;--lvsd:hsla(210,100%,88%,.9);}
.lv49{--lvc:hsl(212,93%,63%);--lvs:hsl(230,100%,75%);--lvt:hsl(238,81%,53%);--lvg:hsla(212,96%,76%,0.52);--lvr:6.3px;--lvd:3.87s;--lvsd:hsla(212,100%,88%,.9);}
.lv50{--lvc:hsl(214,95%,64%);--lvs:hsl(232,100%,76%);--lvt:hsl(240,83%,54%);--lvg:hsla(214,96%,76%,0.53);--lvr:6.4px;--lvd:3.82s;--lvsd:hsla(214,100%,88%,.9);}
.lv51{--lvc:hsl(258,78%,62%);--lvs:hsl(280,92%,74%);--lvt:hsl(288,66%,52%);--lvg:hsla(258,96%,76%,0.53);--lvr:6.6px;--lvd:3.78s;--lvsd:hsla(258,100%,88%,.9);}
.lv52{--lvc:hsl(261.3,80%,63%);--lvs:hsl(283.3,94%,75%);--lvt:hsl(291.3,68%,53%);--lvg:hsla(261.3,96%,76%,0.54);--lvr:6.7px;--lvd:3.73s;--lvsd:hsla(261.3,100%,88%,.9);}
.lv53{--lvc:hsl(264.7,82%,64%);--lvs:hsl(286.7,96%,76%);--lvt:hsl(294.7,70%,54%);--lvg:hsla(264.7,96%,76%,0.55);--lvr:6.8px;--lvd:3.69s;--lvsd:hsla(264.7,100%,88%,.9);}
.lv54{--lvc:hsl(268,84%,65%);--lvs:hsl(290,98%,77%);--lvt:hsl(298,72%,55%);--lvg:hsla(268,96%,76%,0.56);--lvr:6.9px;--lvd:3.64s;--lvsd:hsla(268,100%,88%,.9);}
.lv55{--lvc:hsl(271.3,86%,66%);--lvs:hsl(293.3,100%,78%);--lvt:hsl(301.3,74%,56%);--lvg:hsla(271.3,96%,76%,0.56);--lvr:7px;--lvd:3.6s;--lvsd:hsla(271.3,100%,88%,.9);}
.lv56{--lvc:hsl(274.7,88%,66%);--lvs:hsl(296.7,100%,78%);--lvt:hsl(304.7,76%,56%);--lvg:hsla(274.7,96%,76%,0.57);--lvr:7.1px;--lvd:3.56s;--lvsd:hsla(274.7,100%,88%,.9);}
.lv57{--lvc:hsl(278,90%,67%);--lvs:hsl(300,100%,79%);--lvt:hsl(308,78%,57%);--lvg:hsla(278,96%,76%,0.58);--lvr:7.2px;--lvd:3.51s;--lvsd:hsla(278,100%,88%,.9);}
.lv58{--lvc:hsl(281.3,92%,68%);--lvs:hsl(303.3,100%,80%);--lvt:hsl(311.3,80%,58%);--lvg:hsla(281.3,96%,76%,0.59);--lvr:7.3px;--lvd:3.47s;--lvsd:hsla(281.3,100%,88%,.9);}
.lv59{--lvc:hsl(284.7,94%,69%);--lvs:hsl(306.7,100%,81%);--lvt:hsl(314.7,82%,59%);--lvg:hsla(284.7,96%,76%,0.59);--lvr:7.4px;--lvd:3.42s;--lvsd:hsla(284.7,100%,88%,.9);}
.lv60{--lvc:hsl(288,96%,70%);--lvs:hsl(310,100%,82%);--lvt:hsl(318,84%,60%);--lvg:hsla(288,96%,76%,0.6);--lvr:7.6px;--lvd:3.38s;--lvsd:hsla(288,100%,88%,.9);}
.lv61{--lvc:hsl(318,80%,62%);--lvs:hsl(342,94%,74%);--lvt:hsl(348,68%,52%);--lvg:hsla(318,96%,76%,0.61);--lvr:7.7px;--lvd:3.33s;--lvsd:hsla(318,100%,88%,.9);}
.lv62{--lvc:hsl(320.9,82%,63%);--lvs:hsl(344.9,96%,75%);--lvt:hsl(350.9,70%,53%);--lvg:hsla(320.9,96%,76%,0.62);--lvr:7.8px;--lvd:3.29s;--lvsd:hsla(320.9,100%,88%,.9);}
.lv63{--lvc:hsl(323.8,84%,64%);--lvs:hsl(347.8,98%,76%);--lvt:hsl(353.8,72%,54%);--lvg:hsla(323.8,96%,76%,0.62);--lvr:7.9px;--lvd:3.24s;--lvsd:hsla(323.8,100%,88%,.9);}
.lv64{--lvc:hsl(326.7,86%,65%);--lvs:hsl(350.7,100%,77%);--lvt:hsl(356.7,74%,55%);--lvg:hsla(326.7,96%,76%,0.63);--lvr:8px;--lvd:3.2s;--lvsd:hsla(326.7,100%,88%,.9);}
.lv65{--lvc:hsl(329.6,88%,66%);--lvs:hsl(353.6,100%,78%);--lvt:hsl(359.6,76%,56%);--lvg:hsla(329.6,96%,76%,0.64);--lvr:8.1px;--lvd:3.16s;--lvsd:hsla(329.6,100%,88%,.9);}
.lv66{--lvc:hsl(332.4,89%,66%);--lvs:hsl(356.4,100%,78%);--lvt:hsl(2.4,77%,56%);--lvg:hsla(332.4,96%,76%,0.65);--lvr:8.2px;--lvd:3.11s;--lvsd:hsla(332.4,100%,88%,.9);}
.lv67{--lvc:hsl(335.3,91%,67%);--lvs:hsl(359.3,100%,79%);--lvt:hsl(5.3,79%,57%);--lvg:hsla(335.3,96%,76%,0.65);--lvr:8.3px;--lvd:3.07s;--lvsd:hsla(335.3,100%,88%,.9);}
.lv68{--lvc:hsl(338.2,93%,68%);--lvs:hsl(2.2,100%,80%);--lvt:hsl(8.2,81%,58%);--lvg:hsla(338.2,96%,76%,0.66);--lvr:8.4px;--lvd:3.02s;--lvsd:hsla(338.2,100%,88%,.9);}
.lv69{--lvc:hsl(341.1,95%,69%);--lvs:hsl(5.1,100%,81%);--lvt:hsl(11.1,83%,59%);--lvg:hsla(341.1,96%,76%,0.67);--lvr:8.6px;--lvd:2.98s;--lvsd:hsla(341.1,100%,88%,.9);}
.lv70{--lvc:hsl(344,97%,70%);--lvs:hsl(8,100%,82%);--lvt:hsl(14,85%,60%);--lvg:hsla(344,96%,76%,0.68);--lvr:8.7px;--lvd:2.93s;--lvsd:hsla(344,100%,88%,.9);}
.lv71{--lvc:hsl(6,86%,58%);--lvs:hsl(26,100%,70%);--lvt:hsl(22,74%,48%);--lvg:hsla(6,96%,76%,0.68);--lvr:8.8px;--lvd:2.89s;--lvsd:hsla(6,100%,88%,.9);}
.lv72{--lvc:hsl(8.7,87%,59%);--lvs:hsl(28.7,100%,71%);--lvt:hsl(24.7,75%,49%);--lvg:hsla(8.7,96%,76%,0.69);--lvr:8.9px;--lvd:2.84s;--lvsd:hsla(8.7,100%,88%,.9);}
.lv73{--lvc:hsl(11.3,89%,60%);--lvs:hsl(31.3,100%,72%);--lvt:hsl(27.3,77%,50%);--lvg:hsla(11.3,96%,76%,0.7);--lvr:9px;--lvd:2.8s;--lvsd:hsla(11.3,100%,88%,.9);}
.lv74{--lvc:hsl(14,90%,61%);--lvs:hsl(34,100%,73%);--lvt:hsl(30,78%,51%);--lvg:hsla(14,96%,76%,0.71);--lvr:9.1px;--lvd:2.76s;--lvsd:hsla(14,100%,88%,.9);}
.lv75{--lvc:hsl(16.7,92%,62%);--lvs:hsl(36.7,100%,74%);--lvt:hsl(32.7,80%,52%);--lvg:hsla(16.7,96%,76%,0.71);--lvr:9.2px;--lvd:2.71s;--lvsd:hsla(16.7,100%,88%,.9);}
.lv76{--lvc:hsl(19.3,93%,62%);--lvs:hsl(39.3,100%,74%);--lvt:hsl(35.3,81%,52%);--lvg:hsla(19.3,96%,76%,0.72);--lvr:9.3px;--lvd:2.67s;--lvsd:hsla(19.3,100%,88%,.9);}
.lv77{--lvc:hsl(22,95%,63%);--lvs:hsl(42,100%,75%);--lvt:hsl(38,83%,53%);--lvg:hsla(22,96%,76%,0.73);--lvr:9.4px;--lvd:2.62s;--lvsd:hsla(22,100%,88%,.9);}
.lv78{--lvc:hsl(24.7,96%,64%);--lvs:hsl(44.7,100%,76%);--lvt:hsl(40.7,84%,54%);--lvg:hsla(24.7,96%,76%,0.74);--lvr:9.6px;--lvd:2.58s;--lvsd:hsla(24.7,100%,88%,.9);}
.lv79{--lvc:hsl(27.3,98%,65%);--lvs:hsl(47.3,100%,77%);--lvt:hsl(43.3,86%,55%);--lvg:hsla(27.3,96%,76%,0.74);--lvr:9.7px;--lvd:2.53s;--lvsd:hsla(27.3,100%,88%,.9);}
.lv80{--lvc:hsl(30,99%,66%);--lvs:hsl(50,100%,78%);--lvt:hsl(46,87%,56%);--lvg:hsla(30,96%,76%,0.75);--lvr:9.8px;--lvd:2.49s;--lvsd:hsla(30,100%,88%,.9);}
.lv81{--lvc:hsl(162,86%,60%);--lvs:hsl(222,100%,72%);--lvt:hsl(212,74%,50%);--lvg:hsla(162,96%,76%,0.76);--lvr:9.9px;--lvd:2.44s;--lvsd:hsla(162,100%,88%,.9);}
.lv82{--lvc:hsl(177.3,87%,61%);--lvs:hsl(237.3,100%,73%);--lvt:hsl(227.3,75%,51%);--lvg:hsla(177.3,96%,76%,0.77);--lvr:10px;--lvd:2.4s;--lvsd:hsla(177.3,100%,88%,.9);}
.lv83{--lvc:hsl(192.7,89%,62%);--lvs:hsl(252.7,100%,74%);--lvt:hsl(242.7,77%,52%);--lvg:hsla(192.7,96%,76%,0.77);--lvr:10.1px;--lvd:2.36s;--lvsd:hsla(192.7,100%,88%,.9);}
.lv84{--lvc:hsl(208,90%,63%);--lvs:hsl(268,100%,75%);--lvt:hsl(258,78%,53%);--lvg:hsla(208,96%,76%,0.78);--lvr:10.2px;--lvd:2.31s;--lvsd:hsla(208,100%,88%,.9);}
.lv85{--lvc:hsl(223.3,92%,64%);--lvs:hsl(283.3,100%,76%);--lvt:hsl(273.3,80%,54%);--lvg:hsla(223.3,96%,76%,0.79);--lvr:10.3px;--lvd:2.27s;--lvsd:hsla(223.3,100%,88%,.9);}
.lv86{--lvc:hsl(238.7,93%,66%);--lvs:hsl(298.7,100%,78%);--lvt:hsl(288.7,81%,56%);--lvg:hsla(238.7,96%,76%,0.8);--lvr:10.4px;--lvd:2.22s;--lvsd:hsla(238.7,100%,88%,.9);}
.lv87{--lvc:hsl(254,95%,67%);--lvs:hsl(314,100%,79%);--lvt:hsl(304,83%,57%);--lvg:hsla(254,96%,76%,0.8);--lvr:10.6px;--lvd:2.18s;--lvsd:hsla(254,100%,88%,.9);}
.lv88{--lvc:hsl(269.3,96%,68%);--lvs:hsl(329.3,100%,80%);--lvt:hsl(319.3,84%,58%);--lvg:hsla(269.3,96%,76%,0.81);--lvr:10.7px;--lvd:2.13s;--lvsd:hsla(269.3,100%,88%,.9);}
.lv89{--lvc:hsl(284.7,98%,69%);--lvs:hsl(344.7,100%,81%);--lvt:hsl(334.7,86%,59%);--lvg:hsla(284.7,96%,76%,0.82);--lvr:10.8px;--lvd:2.09s;--lvsd:hsla(284.7,100%,88%,.9);}
.lv90{--lvc:hsl(300,99%,70%);--lvs:hsl(0,100%,82%);--lvt:hsl(350,87%,60%);--lvg:hsla(300,96%,76%,0.83);--lvr:10.9px;--lvd:2.04s;--lvsd:hsla(300,100%,88%,.9);}
.lv91{--lvc:hsl(44,88%,62%);--lvs:hsl(58,100%,74%);--lvt:hsl(58,76%,52%);--lvg:hsla(44,96%,76%,0.83);--lvr:11px;--lvd:2s;--lvsd:hsla(44,100%,88%,.9);}
.lv92{--lvc:hsl(45.6,89%,63%);--lvs:hsl(59.6,100%,75%);--lvt:hsl(59.6,77%,53%);--lvg:hsla(45.6,96%,76%,0.84);--lvr:11.1px;--lvd:1.96s;--lvsd:hsla(45.6,100%,88%,.9);}
.lv93{--lvc:hsl(47.1,91%,64%);--lvs:hsl(61.1,100%,76%);--lvt:hsl(61.1,79%,54%);--lvg:hsla(47.1,96%,76%,0.85);--lvr:11.2px;--lvd:1.91s;--lvsd:hsla(47.1,100%,88%,.9);}
.lv94{--lvc:hsl(48.7,92%,65%);--lvs:hsl(62.7,100%,77%);--lvt:hsl(62.7,80%,55%);--lvg:hsla(48.7,96%,76%,0.86);--lvr:11.3px;--lvd:1.87s;--lvsd:hsla(48.7,100%,88%,.9);}
.lv95{--lvc:hsl(50.2,93%,66%);--lvs:hsl(64.2,100%,78%);--lvt:hsl(64.2,81%,56%);--lvg:hsla(50.2,96%,76%,0.86);--lvr:11.4px;--lvd:1.82s;--lvsd:hsla(50.2,100%,88%,.9);}
.lv96{--lvc:hsl(51.8,95%,68%);--lvs:hsl(65.8,100%,80%);--lvt:hsl(65.8,83%,58%);--lvg:hsla(51.8,96%,76%,0.87);--lvr:11.6px;--lvd:1.78s;--lvsd:hsla(51.8,100%,88%,.9);}
.lv97{--lvc:hsl(53.3,96%,69%);--lvs:hsl(67.3,100%,81%);--lvt:hsl(67.3,84%,59%);--lvg:hsla(53.3,96%,76%,0.88);--lvr:11.7px;--lvd:1.73s;--lvsd:hsla(53.3,100%,88%,.9);}
.lv98{--lvc:hsl(54.9,97%,70%);--lvs:hsl(68.9,100%,82%);--lvt:hsl(68.9,85%,60%);--lvg:hsla(54.9,96%,76%,0.89);--lvr:11.8px;--lvd:1.69s;--lvsd:hsla(54.9,100%,88%,.9);}
.lv99{--lvc:hsl(56.4,99%,71%);--lvs:hsl(70.4,100%,83%);--lvt:hsl(70.4,87%,61%);--lvg:hsla(56.4,96%,76%,0.89);--lvr:11.9px;--lvd:1.64s;--lvsd:hsla(56.4,100%,88%,.9);}
.lv100{--lvc:hsl(58,100%,72%);--lvs:hsl(72,100%,84%);--lvt:hsl(72,88%,62%);--lvg:hsla(58,96%,76%,0.9);--lvr:12px;--lvd:1.6s;--lvsd:hsla(58,100%,88%,.9);}

/* 2. 段位调色板（等级规则页分组标题/标签用，取各段中段色） */
.lvr-t1{--ta:hsl(35,58%,52%);}
.lvr-t2{--ta:hsl(201,72%,58%);}
.lvr-t3{--ta:hsl(46,95%,56%);}
.lvr-t4{--ta:hsl(159,92%,50%);}
.lvr-t5{--ta:hsl(205,95%,60%);}
.lvr-t6{--ta:hsl(273,96%,66%);}
.lvr-t7{--ta:hsl(331,97%,66%);}
.lvr-t8{--ta:hsl(18,99%,62%);}
.lvr-t9{--ta:hsl(231,99%,65%);}
.lvr-t10{--ta:hsl(51,100%,67%);}

/* 3. 徽章基础：实色兜底 + 暗描边，任何档位下文字都必须可见 */
.lv-badge{display:inline-block;position:relative;font-weight:700;font-size:12px;line-height:1.5;
  padding:0 2px;margin-left:6px;vertical-align:middle;font-style:normal;
  color:var(--lvc,#9ca3af);
  text-shadow:0 0 calc(var(--lvr,0px)*.5) var(--lvg,transparent),0 1px 1px rgba(0,0,0,.14);}

/* 4. 渐变文字公共规则（tint 及以上档位）
   背景裁剪 + 描边并存：描边保证即使渐变异常，文字轮廓也不会消失 */
.lv-badge.lv-eff-tint,.lv-badge.lv-eff-glow,.lv-badge.lv-eff-shine,.lv-badge.lv-eff-breathe,
.lv-badge.lv-eff-pulse,.lv-badge.lv-eff-float,.lv-badge.lv-eff-neon,.lv-badge.lv-eff-holo,
.lv-badge.lv-eff-flow,.lv-badge.lv-eff-flare,.lv-badge.lv-eff-aurora,.lv-badge.lv-eff-legend,
.u-lvname.u-grad,.u-lvname.u-grad a{
  background-image:linear-gradient(100deg,var(--lvc),var(--lvt),var(--lvs),var(--lvt),var(--lvc));
  background-size:300% 100%;background-repeat:repeat;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.6px var(--lvsd,var(--lvs));
  paint-order:stroke fill;}
.lv-badge.lv-eff-tint,.lv-badge.lv-eff-glow,.lv-badge.lv-eff-shine,.lv-badge.lv-eff-breathe,
.lv-badge.lv-eff-pulse,.lv-badge.lv-eff-float,.lv-badge.lv-eff-neon,.lv-badge.lv-eff-holo,
.lv-badge.lv-eff-flow,.lv-badge.lv-eff-flare,.lv-badge.lv-eff-aurora,.lv-badge.lv-eff-legend{text-shadow:none;}

/* 5. 徽章 13 档特效：动画种类各不相同，越高级叠加越多 */
.lv-badge.lv-eff-plain{font-weight:600;}
.lv-badge.lv-eff-tint{font-weight:700;}
.lv-badge.lv-eff-glow{filter:drop-shadow(0 0 var(--lvr) var(--lvg));}
/* 流光扫过 */
.lv-badge.lv-eff-shine{filter:drop-shadow(0 0 var(--lvr) var(--lvg));
  animation:lv-sheen calc(var(--lvd)*1.8) linear infinite;}
/* 呼吸辉光 */
.lv-badge.lv-eff-breathe{animation:lv-breathe var(--lvd) ease-in-out infinite;}
/* 脉冲缩放 + 外圈扩散 */
.lv-badge.lv-eff-pulse{animation:lv-pulse var(--lvd) ease-in-out infinite;}
.lv-badge.lv-eff-pulse::after{content:'';position:absolute;left:-4px;right:-4px;top:-3px;bottom:-3px;
  border:1px solid var(--lvs);border-radius:999px;pointer-events:none;
  animation:lv-ring calc(var(--lvd)*1.5) ease-out infinite;}
/* 上下浮动 + 呼吸 */
.lv-badge.lv-eff-float{animation:lv-float calc(var(--lvd)*1.4) ease-in-out infinite,
  lv-breathe calc(var(--lvd)*2) ease-in-out infinite;}
/* 霓虹闪烁 + 描边色循环 */
.lv-badge.lv-eff-neon{animation:lv-neon calc(var(--lvd)*1.6) ease-in-out infinite,
  lv-stroke calc(var(--lvd)*2.6) linear infinite;}
/* 全息色相旋转 + 流光 */
.lv-badge.lv-eff-holo{animation:lv-holo calc(var(--lvd)*2.6) linear infinite,
  lv-sheen calc(var(--lvd)*2.2) linear infinite;}
/* 三色渐变加速流动 + 色相微移 */
.lv-badge.lv-eff-flow{animation:lv-sheen calc(var(--lvd)*1.1) linear infinite,
  lv-flowhue calc(var(--lvd)*3.2) linear infinite;}
/* 强光爆闪 + 心跳 */
.lv-badge.lv-eff-flare{animation:lv-flare calc(var(--lvd)*1.5) ease-in-out infinite,
  lv-heartbeat calc(var(--lvd)*2.2) ease-in-out infinite;}
/* 极光：色相旋转 + 扫光 + 浮动 */
.lv-badge.lv-eff-aurora{animation:lv-holo calc(var(--lvd)*2) linear infinite,
  lv-sheen calc(var(--lvd)*1.5) linear infinite,
  lv-float calc(var(--lvd)*1.8) ease-in-out infinite;}
/* 满级圣辉：全特效叠加 + 外圈扩散 */
.lv-badge.lv-eff-legend{font-weight:800;letter-spacing:.3px;
  animation:lv-holo calc(var(--lvd)*1.6) linear infinite,
  lv-sheen calc(var(--lvd)*1.1) linear infinite,
  lv-pulse calc(var(--lvd)*1.3) ease-in-out infinite,
  lv-stroke calc(var(--lvd)*2) linear infinite;}
.lv-badge.lv-eff-legend::after{content:'';position:absolute;left:-5px;right:-5px;top:-4px;bottom:-4px;
  border:1px solid var(--lvs);border-radius:999px;pointer-events:none;
  box-shadow:0 0 calc(var(--lvr)*.8) var(--lvg);
  animation:lv-ring calc(var(--lvd)*1.2) ease-out infinite;}

/* 6. 用户名档位特效：同色系 + 同档位动态
   用户名不做背景裁剪，用 --lvc 实色 + 多层 text-shadow，
   保证在深色卡片/浅色背景上都清晰可读 */
/* color 用 !important：站内多处用 .xxx span / .rank-name 之类的选择器把用户名写死成 #333/#444，
   优先级高于本类，导致「用户名不跟随等级变色」。此处强制以等级色为准。
   注意：本类只被 text-shadow / filter 类关键帧驱动（lv-utext 动 text-shadow、lv-ucolor 动 filter），
   color 无关键帧，因此加 !important 不会压掉任何动画。 */
.u-lvname{color:var(--lvc,inherit)!important;
  text-shadow:0 0 calc(var(--lvr,0px)*.45) var(--lvg,transparent),0 1px 2px rgba(0,0,0,.16);}
/* 压过站内各处 .xxx a:hover 的固定色，用户名一律以等级色为准 */
.u-lvname a,.u-lvname a:link,.u-lvname a:visited,.u-lvname a:hover{color:inherit!important;text-shadow:inherit;}
.u-lvname.lv-eff-plain{font-weight:400;}
.u-lvname.lv-eff-tint{font-weight:600;}
.u-lvname.lv-eff-glow{font-weight:600;filter:drop-shadow(0 0 calc(var(--lvr)*.6) var(--lvg));}
.u-lvname.lv-eff-shine{font-weight:700;animation:lv-ubright calc(var(--lvd)*1.8) ease-in-out infinite;}
.u-lvname.lv-eff-breathe{font-weight:700;animation:lv-utext var(--lvd) ease-in-out infinite;}
.u-lvname.lv-eff-pulse{font-weight:700;animation:lv-utext var(--lvd) ease-in-out infinite,
  lv-ubright calc(var(--lvd)*1.4) ease-in-out infinite;}
.u-lvname.lv-eff-float{font-weight:700;animation:lv-float calc(var(--lvd)*1.5) ease-in-out infinite,
  lv-utext calc(var(--lvd)*2) ease-in-out infinite;}
.u-lvname.lv-eff-neon{font-weight:800;animation:lv-utext calc(var(--lvd)*1.2) ease-in-out infinite,
  lv-ucolor calc(var(--lvd)*3) linear infinite;}
.u-lvname.lv-eff-holo{font-weight:800;animation:lv-ucolor calc(var(--lvd)*2.4) linear infinite;}
.u-lvname.lv-eff-flow{font-weight:800;animation:lv-ucolor calc(var(--lvd)*1.6) linear infinite,
  lv-ubright calc(var(--lvd)*1.3) ease-in-out infinite;}
.u-lvname.lv-eff-flare{font-weight:800;animation:lv-utext calc(var(--lvd)*1.4) ease-in-out infinite,
  lv-ubright calc(var(--lvd)*1.7) ease-in-out infinite;}
.u-lvname.lv-eff-aurora{font-weight:800;animation:lv-ucolor calc(var(--lvd)*1.8) linear infinite,
  lv-utext calc(var(--lvd)*1.5) ease-in-out infinite;}
.u-lvname.lv-eff-legend{font-weight:800;letter-spacing:.2px;
  animation:lv-ucolor calc(var(--lvd)*1.4) linear infinite,
  lv-utext calc(var(--lvd)*.8) ease-in-out infinite;}

/* 7. 关键帧 */
@keyframes lv-sheen{0%{background-position:0% 50%;}100%{background-position:300% 50%;}}
@keyframes lv-breathe{
  0%,100%{filter:drop-shadow(0 0 calc(var(--lvr)*.4) var(--lvg)) brightness(1);}
  50%{filter:drop-shadow(0 0 calc(var(--lvr)*1.9) var(--lvg)) brightness(1.14);}}
@keyframes lv-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.13);}}
@keyframes lv-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-2px);}}
@keyframes lv-heartbeat{
  0%,100%{transform:scale(1);}16%{transform:scale(1.14);}30%{transform:scale(1.02);}
  46%{transform:scale(1.09);}62%{transform:scale(1);}}
@keyframes lv-holo{
  0%{filter:drop-shadow(0 0 var(--lvr) var(--lvg)) hue-rotate(0deg);}
  100%{filter:drop-shadow(0 0 var(--lvr) var(--lvg)) hue-rotate(360deg);}}
@keyframes lv-flowhue{0%{filter:hue-rotate(0deg);}100%{filter:hue-rotate(44deg);}}
@keyframes lv-neon{
  0%,100%{filter:drop-shadow(0 0 calc(var(--lvr)*.6) var(--lvg)) brightness(1);}
  44%{filter:drop-shadow(0 0 calc(var(--lvr)*1.6) var(--lvg)) brightness(1.28);}
  52%{filter:drop-shadow(0 0 calc(var(--lvr)*.9) var(--lvg)) brightness(1.08);}}
@keyframes lv-flare{
  0%,100%{filter:drop-shadow(0 0 calc(var(--lvr)*.7) var(--lvg)) brightness(1);}
  42%{filter:drop-shadow(0 0 calc(var(--lvr)*2.6) var(--lvg)) brightness(1.5);}}
@keyframes lv-stroke{
  0%,100%{-webkit-text-stroke-color:var(--lvsd);}
  50%{-webkit-text-stroke-color:var(--lvt);}}
@keyframes lv-ring{0%{transform:scale(.86);opacity:.6;}100%{transform:scale(1.55);opacity:0;}}
/* 用户名用：不改变字体重量的光效（避免文字变形/重排） */
@keyframes lv-utext{
  0%,100%{text-shadow:0 0 calc(var(--lvr)*.3) var(--lvg),0 1px 2px rgba(0,0,0,.16);}
  50%{text-shadow:0 0 calc(var(--lvr)*1.2) var(--lvg),0 1px 2px rgba(0,0,0,.16);}}
@keyframes lv-ubright{0%,100%{filter:brightness(1);}50%{filter:brightness(1.22);}}
@keyframes lv-ucolor{0%{filter:hue-rotate(0deg);}100%{filter:hue-rotate(360deg);}}

/* 8. 等级规则页：我的等级卡 + 10 段位分组网格 */
.lv-mycard{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid var(--c-line,#e8e8e8);border-radius:14px;padding:18px;margin-bottom:18px;background:var(--c-card,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--lvc,#9ca3af) 22%,transparent) inset,0 6px 20px color-mix(in srgb,var(--lvc,#9ca3af) 14%,transparent);}
.lv-mycard-badge{flex:0 0 auto;}
.lv-mycard-badge .lv-badge{font-size:22px;line-height:1.2;margin-left:0;}
.lv-mycard-info{flex:1;min-width:220px;}
.lv-mycard-name{font-size:17px;font-weight:700;margin-bottom:4px;}
.lv-mycard-tier{font-size:12px;color:var(--c-text-3,#999);margin-bottom:8px;}
.lv-mycard-exp{font-size:13px;color:var(--c-text-2,#808080);margin-bottom:6px;}
.lv-mycard-exp b{color:var(--lvc,#9ca3af);font-weight:700;}
.lv-bar{height:8px;background:var(--c-bg-soft,#f5f7fb);border-radius:5px;overflow:hidden;}
.lv-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--lvc,#9ca3af),var(--lvs,#d1d5db));transition:width .4s;}

.lv-rule-tip{margin:0 0 16px;padding:12px 16px;background:var(--c-bg-soft,#f6f7fb);border-radius:10px;color:var(--c-text-2,#666);font-size:13px;line-height:2;}
.lv-rule-tip strong{color:var(--c-text-1,#333);}
.lv-group{border:1px solid var(--c-line,#e8e8e8);border-radius:14px;padding:14px 16px;margin-bottom:14px;background:var(--c-card,#fff);}
.lv-group-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px dashed var(--c-line,#e8e8e8);}
.lv-group-name{font-size:15px;font-weight:700;color:var(--ta,#333);}
.lv-group-range{font-size:12px;color:var(--ta,#333);background:color-mix(in srgb,var(--ta,#888) 12%,transparent);border:1px solid color-mix(in srgb,var(--ta,#888) 35%,transparent);border-radius:10px;padding:1px 10px;}
.lv-group-desc{font-size:12px;color:var(--c-text-3,#999);margin-left:auto;}
.lv-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;}
.lv-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 2px;border-radius:10px;background:var(--c-bg-soft,#f7f7f7);text-align:center;}
.lv-cell .lv-badge{font-size:12px;min-width:0;margin-left:0;-webkit-text-stroke:0.01rem;}
.lv-cell-need{font-size:11px;color:var(--c-text-3,#999);white-space:nowrap;}
.lv-cell-tag{position:absolute;top:-7px;right:-3px;font-size:10px;line-height:1.5;padding:0 5px;border-radius:8px;background:var(--ta,#888);color:#fff;}
.lv-cell.is-me{background:color-mix(in srgb,var(--lvc,#9ca3af) 16%,transparent);box-shadow:0 0 0 1px var(--lvc,#9ca3af) inset;}

@media (max-width:900px){.lv-grid{grid-template-columns:repeat(5,1fr);}}
@media (max-width:520px){.lv-grid{grid-template-columns:repeat(4,1fr);}.lv-group-desc{margin-left:0;width:100%;}}

/* 9. 可见性与降级兜底 */
/* 不支持背景裁剪时：直接回落到实色文字（描边保留），文字一定可见 */
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .lv-badge.lv-eff-tint,.lv-badge.lv-eff-glow,.lv-badge.lv-eff-shine,.lv-badge.lv-eff-breathe,
  .lv-badge.lv-eff-pulse,.lv-badge.lv-eff-float,.lv-badge.lv-eff-neon,.lv-badge.lv-eff-holo,
  .lv-badge.lv-eff-flow,.lv-badge.lv-eff-flare,.lv-badge.lv-eff-aurora,.lv-badge.lv-eff-legend,
  .u-lvname.u-grad,.u-lvname.u-grad a{
    background-image:none;-webkit-text-fill-color:var(--lvc);color:var(--lvc);}
}
/* 系统强制色彩模式：放弃全部装饰，保证可读 */
@media (forced-colors: active){
  .lv-badge,.u-lvname,.u-lvname a{background-image:none!important;-webkit-text-fill-color:currentColor!important;
    -webkit-text-stroke:0!important;color:var(--lvc,currentColor)!important;filter:none!important;}
}
/* 降低动效偏好 / 低端机：关动画但保留颜色与描边 */
@media (prefers-reduced-motion: reduce){
  .lv-badge,.lv-badge::after,.u-lvname,.u-lvname a{animation:none!important;transform:none!important;}
}
@media (max-width:640px){
  .lv-badge.lv-eff-holo,.lv-badge.lv-eff-aurora,.lv-badge.lv-eff-flare,.lv-badge.lv-eff-legend{
    animation-duration:calc(var(--lvd)*1.8);}
  .u-lvname.lv-eff-holo,.u-lvname.lv-eff-aurora,.u-lvname.lv-eff-flare,.u-lvname.lv-eff-legend{
    animation-duration:calc(var(--lvd)*1.8);}
}
