/* LIMS 加载页动画 · 随 5 套主题（body.ui-v1~v5）切换 */
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{font-family:"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;}

#loading-container{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ld-anim{position:relative;}
.ld-anim .ring{position:absolute;border-radius:50%;}
.ld-bar{width:min(320px,70vw);height:6px;border-radius:6px;overflow:hidden;margin-top:56px;}
.ld-bar i{display:block;height:100%;width:100%;border-radius:6px;transform-origin:left center;animation:barfill 2.2s ease-in-out infinite;}

@keyframes rot{to{transform:rotate(360deg)}}
@keyframes rot-rev{to{transform:rotate(-360deg)}}
@keyframes barfill{0%{transform:scaleX(0)}55%{transform:scaleX(1)}100%{transform:scaleX(1)}}
@keyframes gold{0%{background-position:0% 0}100%{background-position:200% 0}}
@keyframes twinkle{0%,100%{opacity:.5}50%{opacity:1}}

/* —— V1 深色科技风（默认） —— */
body{background:radial-gradient(1100px 620px at 50% 40%,#0e2238 0%,#070b15 62%);background-color:#070b15;color:#e6edf7;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(59,130,246,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.08) 1px,transparent 1px);
  background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at 50% 44%,#000 12%,transparent 70%);mask-image:radial-gradient(circle at 50% 44%,#000 12%,transparent 70%);}
.ld-anim{width:250px;height:250px;}
.ld-anim .ring.r1{inset:22px;border:3px dashed rgba(34,211,238,.55);animation:rot 16s linear infinite;}
.ld-anim .ring.r2{inset:48px;border:4px solid transparent;border-top-color:#3b82f6;border-right-color:rgba(59,130,246,.35);animation:rot-rev 1.1s linear infinite;filter:drop-shadow(0 0 8px rgba(59,130,246,.8));}
.ld-anim .ring.r3{inset:74px;border:3px solid rgba(56,189,248,.22);border-bottom-color:#22d3ee;animation:rot 2.4s linear infinite;}
.ld-bar{background:rgba(148,163,184,.18);}
.ld-bar i{background:linear-gradient(90deg,#3b82f6,#22d3ee);box-shadow:0 0 12px rgba(34,211,238,.6);}

/* —— V2 简约亮色风 —— */
body.ui-v2{background:linear-gradient(180deg,#fbfcfe 0%,#f5f7fb 100%);background-color:#f5f7fb;color:#0f172a;}
body.ui-v2::before{opacity:1;-webkit-mask-image:none;mask-image:none;background:radial-gradient(760px 420px at 50% 40%,rgba(37,99,235,.06),transparent 65%);}
body.ui-v2 .ld-anim{width:200px;height:200px;}
body.ui-v2 .ld-anim .ring.r1{inset:14px;border:5px solid #e9eef5;border-top-color:#2563eb;animation:rot .9s linear infinite;}
body.ui-v2 .ld-anim .ring.r2{inset:40px;border:4px solid transparent;border-top-color:#0ea5e9;animation:rot-rev 1.4s linear infinite;filter:none;}
body.ui-v2 .ld-anim .ring.r3{display:none;}
body.ui-v2 .ld-bar{background:#eef2f7;}
body.ui-v2 .ld-bar i{background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);box-shadow:none;}

/* —— V3 黑金高端风 —— */
body.ui-v3{background:radial-gradient(900px 520px at 50% 40%,rgba(212,175,55,.10) 0%,#0a0a0c 60%);background-color:#0a0a0c;color:#f5f1e6;}
body.ui-v3::before{display:none;}
body.ui-v3 .ld-anim{width:240px;height:240px;}
body.ui-v3 .ld-anim .ring.r1{inset:20px;border:3px solid rgba(212,175,55,.22);border-top-color:#e8c76a;animation:rot 2.6s linear infinite;}
body.ui-v3 .ld-anim .ring.r2{inset:44px;border:3px solid transparent;border-top-color:#c9a227;border-right-color:rgba(212,175,55,.4);animation:rot-rev 1.3s linear infinite;filter:none;}
body.ui-v3 .ld-anim .ring.r3{inset:68px;border:2px dashed rgba(212,175,55,.45);animation:rot 11s linear infinite;}
body.ui-v3 .ld-bar{background:rgba(212,175,55,.16);}
body.ui-v3 .ld-bar i{background:linear-gradient(90deg,#c9a227,#f6e7b4,#c9a227);background-size:200% 100%;box-shadow:none;animation:barfill 2.2s ease-in-out infinite,gold 1.4s linear infinite;}

/* —— V4 青绿薄荷风 —— */
body.ui-v4{background:radial-gradient(760px 420px at 50% 40%,rgba(52,211,153,.12) 0%,#eef7f3 70%);background-color:#eef7f3;color:#0f1f1b;}
body.ui-v4::before{display:none;}
body.ui-v4 .ld-anim{width:230px;height:230px;}
body.ui-v4 .ld-anim .ring.r1{inset:16px;border:5px solid #dff0ea;border-top-color:#0d9488;animation:rot 1s linear infinite;}
body.ui-v4 .ld-anim .ring.r2{inset:40px;border:4px solid transparent;border-top-color:#34d399;animation:rot-rev 1.6s linear infinite;filter:none;}
body.ui-v4 .ld-anim .ring.r3{inset:64px;border:3px solid rgba(13,148,136,.18);border-bottom-color:#14b8a6;animation:rot 3s linear infinite;}
body.ui-v4 .ld-bar{background:#e6f3ee;}
body.ui-v4 .ld-bar i{background:linear-gradient(90deg,#0d9488,#34d399);box-shadow:none;}

/* —— V5 蓝紫渐变风 —— */
body.ui-v5{background:radial-gradient(900px 520px at 50% 40%,rgba(139,92,246,.18) 0%,#0b0a1a 62%);background-color:#0b0a1a;color:#ece9fa;}
body.ui-v5::before{opacity:1;-webkit-mask-image:none;mask-image:none;background-size:auto;
  background-image:radial-gradient(3px 3px at 18% 28%,#c084fc,transparent),radial-gradient(3px 3px at 72% 18%,#8b5cf6,transparent),
    radial-gradient(3px 3px at 42% 72%,#c084fc,transparent),radial-gradient(3px 3px at 86% 62%,#8b5cf6,transparent),
    radial-gradient(3px 3px at 10% 82%,#a78bfa,transparent),radial-gradient(3px 3px at 55% 12%,#a78bfa,transparent);
  animation:twinkle 3s ease-in-out infinite;}
body.ui-v5 .ld-anim{width:240px;height:240px;}
body.ui-v5 .ld-anim .ring.r1{inset:18px;border:4px solid transparent;border-top-color:#4f46e5;border-right-color:rgba(79,70,229,.4);animation:rot 1.2s linear infinite;filter:drop-shadow(0 0 10px rgba(99,102,241,.6));}
body.ui-v5 .ld-anim .ring.r2{inset:42px;border:4px solid transparent;border-top-color:#8b5cf6;border-left-color:rgba(139,92,246,.4);animation:rot-rev 1.7s linear infinite;filter:drop-shadow(0 0 10px rgba(139,92,246,.6));}
body.ui-v5 .ld-anim .ring.r3{inset:66px;border:4px solid transparent;border-top-color:#c084fc;animation:rot 2.2s linear infinite;filter:drop-shadow(0 0 10px rgba(192,132,252,.5));}
body.ui-v5 .ld-bar{background:rgba(148,140,220,.20);}
body.ui-v5 .ld-bar i{background:linear-gradient(90deg,#4f46e5,#8b5cf6,#c084fc);box-shadow:none;}
