/* =========================================================
   星穹邮箱 · Glassmorphism v3.3 · 40 主题版
   ========================================================= */

/* ============ 主题变量（默认 aurora）============ */
:root {
  --bg-grad: linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%);
  --accent:#667eea; --accent-2:#764ba2; --accent-3:#f093fb;
  --accent-glow: rgba(102,126,234,.5);
  --glass-bg: rgba(255,255,255,.4);
  --glass-bg-strong: rgba(255,255,255,.7);
  --glass-bg-soft: rgba(255,255,255,.22);
  --glass-border: rgba(255,255,255,.5);
  --glass-shadow: 0 8px 28px rgba(31,38,135,.18);
  --text-main:#1a1a2e;
  --footer-text:#ffffff;
  --footer-shadow: 0 2px 12px rgba(0,0,0,.6);
}

/* ── 老 10 套 ── */
html[data-theme="aurora-real"]{ --bg-grad: linear-gradient(160deg,#0b1e3f,#1a4d6e,#2e8b8b,#0b1e3f); --accent:#7ee8fa; --accent-2:#80ff72; --accent-3:#eec0c6; --accent-glow:rgba(126,232,250,.55); --glass-bg:rgba(255,255,255,.14); --glass-bg-strong:rgba(255,255,255,.24); --glass-bg-soft:rgba(255,255,255,.1); --glass-border:rgba(255,255,255,.28); --text-main:#e6f4ff; }
html[data-theme="lava"]{ --bg-grad: linear-gradient(160deg,#1a0202,#5e0000,#ff4500,#ffaa00); --accent:#ff6b00; --accent-2:#ff0040; --accent-3:#ffd700; --accent-glow:rgba(255,107,0,.6); --glass-bg:rgba(40,10,0,.48); --glass-bg-strong:rgba(40,10,0,.78); --glass-bg-soft:rgba(255,200,100,.15); --glass-border:rgba(255,180,60,.45); --text-main:#fff7e6; }
html[data-theme="quantum"]{ --bg-grad: linear-gradient(135deg,#000428,#004e92,#000428); --accent:#00ffff; --accent-2:#ff00ff; --accent-3:#ffff00; --accent-glow:rgba(0,255,255,.6); --glass-bg:rgba(0,30,60,.42); --glass-bg-strong:rgba(0,30,60,.82); --glass-bg-soft:rgba(0,255,255,.08); --glass-border:rgba(0,255,255,.4); --text-main:#e0f7ff; }
html[data-theme="jade"]{ --bg-grad: linear-gradient(135deg,#0f3443,#34e89e); --accent:#00ffa3; --accent-2:#00b89c; --accent-3:#a8ff78; --accent-glow:rgba(0,255,163,.45); --text-main:#0a2e2e; }
html[data-theme="ocean"]{ --bg-grad: linear-gradient(135deg,#4facfe,#00f2fe,#43e97b); --accent:#0077b6; --accent-2:#00b4d8; --accent-glow:rgba(0,180,216,.5); }
html[data-theme="sunset"]{ --bg-grad: linear-gradient(135deg,#ff9a9e,#fad0c4,#ffecd2); --accent:#ee5a6f; --accent-2:#f0894c; --accent-glow:rgba(238,90,111,.5); --text-main:#2c1810; }
html[data-theme="sakura"]{ --bg-grad: linear-gradient(135deg,#ffafbd,#ffc3a0,#fbd3e9); --accent:#e91e63; --accent-2:#f06292; --accent-glow:rgba(233,30,99,.5); --text-main:#3a1e2e; }
html[data-theme="midnight"]{ --bg-grad: linear-gradient(135deg,#0f0c29,#302b63,#24243e); --accent:#7c3aed; --accent-2:#2563eb; --accent-glow:rgba(124,58,237,.55); --glass-bg:rgba(30,30,60,.5); --glass-bg-strong:rgba(30,30,60,.85); --glass-bg-soft:rgba(30,30,60,.3); --glass-border:rgba(255,255,255,.18); --text-main:#e2e8f0; }
html[data-theme="galaxy"]{ --bg-grad: linear-gradient(135deg,#0a0014,#3d0066,#6f0066,#000814); --accent:#ff4081; --accent-2:#b388ff; --accent-3:#80d8ff; --accent-glow:rgba(255,64,129,.55); --glass-bg:rgba(40,20,60,.45); --glass-bg-strong:rgba(40,20,60,.8); --glass-border:rgba(255,255,255,.22); --text-main:#fff; }

/* ── v3.2 第二批 10 套 ── */
html[data-theme="inari"]{ --bg-grad: linear-gradient(160deg,#3d0000,#c8102e,#ff6b35,#ffd700); --accent:#ffd700; --accent-2:#ff6b35; --accent-3:#fff5a5; --accent-glow:rgba(255,215,0,.6); --glass-bg:rgba(255,240,180,.18); --glass-bg-strong:rgba(255,240,180,.45); --glass-border:rgba(255,215,0,.45); --text-main:#fff7e0; }
html[data-theme="lavender"]{ --bg-grad: linear-gradient(135deg,#c2c0ff,#a78bfa,#8b5cf6,#c084fc); --accent:#7c3aed; --accent-2:#a78bfa; --accent-3:#e0c3fc; --accent-glow:rgba(124,58,237,.5); --text-main:#2c1a4d; }
html[data-theme="vaporwave"]{ --bg-grad: linear-gradient(135deg,#ff71ce,#b967ff,#01cdfe,#05ffa1); --accent:#ff71ce; --accent-2:#01cdfe; --accent-3:#fffb96; --accent-glow:rgba(255,113,206,.55); --glass-bg:rgba(255,255,255,.35); --glass-border:rgba(255,255,255,.6); --text-main:#2e0e3a; }
html[data-theme="polar-night"]{ --bg-grad: linear-gradient(135deg,#000,#0a0e27,#1a1a3e); --accent:#4361ee; --accent-2:#7209b7; --accent-3:#f72585; --accent-glow:rgba(67,97,238,.7); --glass-bg:rgba(20,25,55,.45); --glass-bg-strong:rgba(20,25,55,.8); --glass-bg-soft:rgba(67,97,238,.1); --glass-border:rgba(67,97,238,.35); --text-main:#cdd6f4; }
html[data-theme="gold-noir"]{ --bg-grad: linear-gradient(135deg,#000,#1a1408,#3d2c00); --accent:#ffd700; --accent-2:#d4a017; --accent-3:#ff8c00; --accent-glow:rgba(255,215,0,.55); --glass-bg:rgba(40,30,5,.5); --glass-bg-strong:rgba(40,30,5,.82); --glass-bg-soft:rgba(255,215,0,.1); --glass-border:rgba(255,215,0,.4); --text-main:#fef3c7; }
html[data-theme="moss"]{ --bg-grad: linear-gradient(135deg,#1a2e1a,#2d4a2b,#5a7a3a,#8a9a5b); --accent:#a8c66c; --accent-2:#6b8e23; --accent-3:#d4e09b; --accent-glow:rgba(168,198,108,.5); --glass-bg:rgba(255,255,255,.18); --glass-border:rgba(200,220,150,.45); --text-main:#f0f5e0; }
html[data-theme="peach"]{ --bg-grad: linear-gradient(135deg,#ffeaa7,#fab1a0,#fd79a8); --accent:#e84393; --accent-2:#fdcb6e; --accent-3:#ff7675; --accent-glow:rgba(232,67,147,.45); --glass-bg:rgba(255,255,255,.5); --glass-border:rgba(255,255,255,.7); --text-main:#5d2a3a; }
html[data-theme="steel"]{ --bg-grad: linear-gradient(135deg,#1e2a3a,#34495e,#7f8c8d); --accent:#ff6348; --accent-2:#3498db; --accent-3:#f1c40f; --accent-glow:rgba(255,99,72,.55); --glass-bg:rgba(30,40,55,.55); --glass-bg-strong:rgba(30,40,55,.82); --glass-bg-soft:rgba(255,255,255,.06); --glass-border:rgba(255,255,255,.25); --text-main:#ecf0f1; }
html[data-theme="rainbow"]{ --bg-grad: linear-gradient(135deg,#ff0080,#ff8c00 14%,#ffee00 28%,#00ff66 42%,#00ddff 57%,#0066ff 71%,#aa00ff 85%,#ff00aa); --accent:#ff00aa; --accent-2:#00ddff; --accent-3:#ffee00; --accent-glow:rgba(255,0,170,.55); --glass-bg:rgba(255,255,255,.35); --glass-border:rgba(255,255,255,.7); --text-main:#1a1a2e; }
html[data-theme="minimal"]{ --bg-grad: linear-gradient(135deg,#f5f7fa,#e9ecef,#dee2e6); --accent:#2d3436; --accent-2:#636e72; --accent-3:#74b9ff; --accent-glow:rgba(116,185,255,.4); --glass-bg:rgba(255,255,255,.7); --glass-bg-strong:rgba(255,255,255,.9); --glass-bg-soft:rgba(0,0,0,.04); --glass-border:rgba(0,0,0,.08); --glass-shadow:0 4px 20px rgba(0,0,0,.06); --text-main:#1a1a2e; --footer-text:#2d3436; --footer-shadow:none; }

/* ── v3.3 新增 20 套 ── */
html[data-theme="cyberpunk"]{ /* 赛博朋克 */
  --bg-grad: linear-gradient(135deg,#0d0221 0%,#190b3b 30%,#3a015c 60%,#11001c 100%);
  --accent:#ff2a6d; --accent-2:#05d9e8; --accent-3:#fffc00;
  --accent-glow: rgba(255,42,109,.7);
  --glass-bg:rgba(20,5,40,.5); --glass-bg-strong:rgba(20,5,40,.85);
  --glass-bg-soft:rgba(5,217,232,.08); --glass-border:rgba(255,42,109,.5);
  --text-main:#d1f7ff;
}
html[data-theme="bloodmoon"]{ /* 血月 */
  --bg-grad: radial-gradient(circle at 30% 30%,#660000 0%,#1a0000 70%,#000 100%);
  --accent:#ff003c; --accent-2:#8b0000; --accent-3:#ff6b6b;
  --accent-glow: rgba(255,0,60,.6);
  --glass-bg:rgba(40,0,0,.55); --glass-bg-strong:rgba(40,0,0,.85);
  --glass-bg-soft:rgba(255,0,60,.1); --glass-border:rgba(255,0,60,.4);
  --text-main:#ffd0d0;
}
html[data-theme="emerald"]{ /* 翡翠 */
  --bg-grad: linear-gradient(135deg,#001a0e,#004d29,#00805a,#00b894);
  --accent:#00d68f; --accent-2:#00805a; --accent-3:#80ffcc;
  --accent-glow: rgba(0,214,143,.55);
  --glass-bg:rgba(0,30,20,.45); --glass-bg-strong:rgba(0,30,20,.8);
  --glass-border:rgba(0,214,143,.4); --text-main:#d0fff0;
}
html[data-theme="coral"]{ /* 珊瑚 */
  --bg-grad: linear-gradient(135deg,#ff7e5f,#feb47b,#ffd3b6);
  --accent:#ff5252; --accent-2:#ff7e5f; --accent-3:#ffd3b6;
  --accent-glow: rgba(255,82,82,.45);
  --glass-bg:rgba(255,255,255,.45); --glass-border:rgba(255,255,255,.7);
  --text-main:#4a1f0c;
}
html[data-theme="mint"]{ /* 薄荷 */
  --bg-grad: linear-gradient(135deg,#a8e6cf,#dcedc1,#ffd3b6);
  --accent:#00c9a7; --accent-2:#52b788; --accent-3:#a8e6cf;
  --accent-glow: rgba(0,201,167,.45);
  --glass-bg:rgba(255,255,255,.55); --glass-border:rgba(255,255,255,.75);
  --text-main:#1e3a2f;
}
html[data-theme="indigo"]{ /* 靛蓝 */
  --bg-grad: linear-gradient(135deg,#0f0c4d,#1a1864,#3730a3);
  --accent:#818cf8; --accent-2:#a78bfa; --accent-3:#c4b5fd;
  --accent-glow: rgba(129,140,248,.6);
  --glass-bg:rgba(30,25,80,.5); --glass-bg-strong:rgba(30,25,80,.82);
  --glass-bg-soft:rgba(129,140,248,.08); --glass-border:rgba(129,140,248,.35);
  --text-main:#e0e7ff;
}
html[data-theme="bronze"]{ /* 古铜 */
  --bg-grad: linear-gradient(135deg,#2d1810,#5d2f0f,#8b4513,#cd7f32);
  --accent:#cd7f32; --accent-2:#8b4513; --accent-3:#daa520;
  --accent-glow: rgba(205,127,50,.55);
  --glass-bg:rgba(60,30,15,.5); --glass-bg-strong:rgba(60,30,15,.82);
  --glass-border:rgba(205,127,50,.45); --text-main:#fff0d6;
}
html[data-theme="glacier"]{ /* 冰川 */
  --bg-grad: linear-gradient(135deg,#c1eef5,#7ec8e3,#5dade2);
  --accent:#1c7ba1; --accent-2:#5dade2; --accent-3:#a3d5e8;
  --accent-glow: rgba(28,123,161,.5);
  --glass-bg:rgba(255,255,255,.55); --glass-border:rgba(255,255,255,.8);
  --text-main:#0a3552;
}
html[data-theme="dusk"]{ /* 黄昏 */
  --bg-grad: linear-gradient(135deg,#1a0033,#4a0066,#cc3366,#ff9966);
  --accent:#ff6b9d; --accent-2:#c44569; --accent-3:#ffa366;
  --accent-glow: rgba(255,107,157,.55);
  --glass-bg:rgba(40,15,60,.45); --glass-bg-strong:rgba(40,15,60,.8);
  --glass-border:rgba(255,107,157,.4); --text-main:#ffe0eb;
}
html[data-theme="matrix"]{ /* 矩阵 */
  --bg-grad: linear-gradient(135deg,#000,#001a0a,#003319);
  --accent:#00ff41; --accent-2:#008f11; --accent-3:#5fff8f;
  --accent-glow: rgba(0,255,65,.6);
  --glass-bg:rgba(0,30,15,.55); --glass-bg-strong:rgba(0,30,15,.85);
  --glass-bg-soft:rgba(0,255,65,.06); --glass-border:rgba(0,255,65,.4);
  --text-main:#5fff8f;
}
html[data-theme="strawberry"]{ /* 草莓 */
  --bg-grad: linear-gradient(135deg,#ffd3e0,#ff8fa3,#dc143c);
  --accent:#dc143c; --accent-2:#ff6b8b; --accent-3:#ffd3e0;
  --accent-glow: rgba(220,20,60,.5);
  --glass-bg:rgba(255,255,255,.5); --glass-border:rgba(255,255,255,.75);
  --text-main:#4a0820;
}
html[data-theme="navy-gold"]{ /* 海军金 */
  --bg-grad: linear-gradient(135deg,#001f3f,#003366,#001f3f);
  --accent:#ffd700; --accent-2:#daa520; --accent-3:#fff5a5;
  --accent-glow: rgba(255,215,0,.55);
  --glass-bg:rgba(0,30,60,.55); --glass-bg-strong:rgba(0,30,60,.85);
  --glass-bg-soft:rgba(255,215,0,.08); --glass-border:rgba(255,215,0,.4);
  --text-main:#fff5a5;
}
html[data-theme="monochrome"]{ /* 纯灰阶 */
  --bg-grad: linear-gradient(135deg,#1a1a1a,#3d3d3d,#5a5a5a);
  --accent:#fafafa; --accent-2:#a0a0a0; --accent-3:#d0d0d0;
  --accent-glow: rgba(255,255,255,.3);
  --glass-bg:rgba(255,255,255,.08); --glass-bg-strong:rgba(255,255,255,.18);
  --glass-bg-soft:rgba(255,255,255,.05); --glass-border:rgba(255,255,255,.2);
  --text-main:#f0f0f0;
}
html[data-theme="magma"]{ /* 岩浆 */
  --bg-grad: radial-gradient(ellipse at 50% 80%,#ff3c00 0%,#8b0000 30%,#1a0000 70%,#000 100%);
  --accent:#ff6b35; --accent-2:#ff3c00; --accent-3:#ffaa00;
  --accent-glow: rgba(255,60,0,.6);
  --glass-bg:rgba(40,10,0,.55); --glass-bg-strong:rgba(40,10,0,.85);
  --glass-border:rgba(255,60,0,.4); --text-main:#ffe0c0;
}
html[data-theme="lemon"]{ /* 柠檬 */
  --bg-grad: linear-gradient(135deg,#fff9c4,#fff176,#ffeb3b);
  --accent:#f57f17; --accent-2:#ff9800; --accent-3:#ffeb3b;
  --accent-glow: rgba(245,127,23,.5);
  --glass-bg:rgba(255,255,255,.55); --glass-border:rgba(255,255,255,.8);
  --text-main:#3e2723;
}
html[data-theme="violet"]{ /* 紫罗兰 */
  --bg-grad: linear-gradient(135deg,#1a0033,#3d0066,#660099);
  --accent:#ba55d3; --accent-2:#9370db; --accent-3:#dda0dd;
  --accent-glow: rgba(186,85,211,.55);
  --glass-bg:rgba(40,10,60,.5); --glass-bg-strong:rgba(40,10,60,.82);
  --glass-border:rgba(186,85,211,.4); --text-main:#f0d0ff;
}
html[data-theme="obsidian"]{ /* 黑曜石 */
  --bg-grad: linear-gradient(135deg,#000,#0a0a0a,#1a1a2e,#0a0a0a);
  --accent:#9d4edd; --accent-2:#5a189a; --accent-3:#c77dff;
  --accent-glow: rgba(157,78,221,.6);
  --glass-bg:rgba(15,15,25,.6); --glass-bg-strong:rgba(15,15,25,.88);
  --glass-bg-soft:rgba(157,78,221,.06); --glass-border:rgba(157,78,221,.3);
  --text-main:#e0d0ff;
}
html[data-theme="neon-tokyo"]{ /* 东京霓虹 */
  --bg-grad: linear-gradient(135deg,#000428,#1a0033,#2d004d,#000428);
  --accent:#ff0080; --accent-2:#00ffff; --accent-3:#ffff00;
  --accent-glow: rgba(255,0,128,.7);
  --glass-bg:rgba(10,5,30,.55); --glass-bg-strong:rgba(10,5,30,.85);
  --glass-bg-soft:rgba(0,255,255,.06); --glass-border:rgba(255,0,128,.5);
  --text-main:#e0f7ff;
}
html[data-theme="dreamy"]{ /* 梦幻 */
  --bg-grad: linear-gradient(135deg,#fad0c4,#a18cd1,#fbc2eb,#a6c1ee);
  --accent:#9c27b0; --accent-2:#e91e63; --accent-3:#3f51b5;
  --accent-glow: rgba(156,39,176,.4);
  --glass-bg:rgba(255,255,255,.45); --glass-border:rgba(255,255,255,.7);
  --text-main:#2d1b4d;
}
html[data-theme="sun-flare"]{ /* 烈日 */
  --bg-grad: radial-gradient(circle at 50% 0%,#ffff00 0%,#ff8800 30%,#ff4400 60%,#aa1100 100%);
  --accent:#ffff00; --accent-2:#ff8800; --accent-3:#fff200;
  --accent-glow: rgba(255,255,0,.7);
  --glass-bg:rgba(80,30,0,.4); --glass-bg-strong:rgba(80,30,0,.75);
  --glass-border:rgba(255,255,0,.45); --text-main:#fff8d0;
}

/* Naive 暗色 */
html.dark:not([data-theme]),
html.dark[data-theme="aurora"]{
  --glass-bg:rgba(30,30,50,.5); --glass-bg-strong:rgba(30,30,50,.85);
  --glass-bg-soft:rgba(30,30,50,.3); --glass-border:rgba(255,255,255,.15);
  --text-main:#e2e8f0;
}

/* ============ 背景 ============ */
html, body, #app { min-height: 100vh; }
body {
  background: var(--bg-grad);
  background-size: 200% 200%;
  animation: bgShift 30s ease-in-out infinite;
  position: relative;
  color: var(--text-main);
  overflow-x: hidden;
}
@keyframes bgShift { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }

body::after {
  content:""; position: fixed;
  width: 50vw; height: 50vw; left: -10vw; top: -10vw;
  border-radius: 50%;
  background: radial-gradient(circle, var(--accent) 0%, transparent 70%);
  opacity: .35;
  pointer-events: none; z-index: 0;
  animation: blobMove 35s ease-in-out infinite;
  will-change: transform;
}
@keyframes blobMove { 0%,100%{transform:translate(0,0)} 50%{transform:translate(60vw,30vh)} }

#app { position: relative; z-index: 2; }
.n-config-provider,.n-layout,.n-layout-content,.n-layout-header,.n-layout-footer,.n-layout-scroll-container { background: transparent !important; }

/* ============ 顶栏 ============ */
[data-topnav="true"] {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid var(--glass-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--glass-shadow) !important;
}
[data-topnav="true"] .n-button,
[data-topnav="true"] .n-button.n-button--default-type {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  height: 36px !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
  color: var(--text-main) !important;
  transition: background .2s, color .2s !important;
}
[data-topnav="true"] .n-button::after { display: none !important; }
[data-topnav="true"] .n-button:hover {
  background: var(--glass-bg-soft) !important;
  color: var(--accent) !important;
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}
[data-topnav="true"] strong,[data-topnav="true"] h1,
.n-layout-header strong,.n-layout-header h1 {
  background: linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent));
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text;
  color: transparent !important; -webkit-text-fill-color: transparent;
  animation: shimmer 4s linear infinite;
  font-weight: 800 !important;
  filter: drop-shadow(0 1px 4px var(--accent-glow));
}
@keyframes shimmer { to { background-position: 200% center; } }

/* ============ 玻璃面板 ============ */
.n-card {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow) !important;
  border-radius: 18px !important;
  position: relative;
  contain: layout style;
  animation: fadeIn .4s ease both;
  transition: box-shadow .25s, transform .25s !important;
}
.n-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
  pointer-events:none;
}
.n-card:hover { transform: translateY(-2px); box-shadow: 0 14px 40px rgba(0,0,0,.18), 0 0 0 1px var(--accent-glow) !important; }
@keyframes fadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

.n-alert { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; }

/* ====== Tabs ====== */
.n-tabs .n-tabs-rail,
.n-tabs .n-tabs-nav,
.n-tabs .n-tabs-nav-scroll-wrapper {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.n-tabs .n-tabs-tab,
.n-tabs .n-tabs-tab.n-tabs-tab {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--text-main) !important;
  opacity: .55;
  font-weight: 500 !important;
  padding: 8px 20px !important;
  border-radius: 10px !important;
  transition: opacity .2s, color .2s, background .2s, transform .2s !important;
}
.n-tabs .n-tabs-tab:hover { opacity: 1; color: var(--accent) !important; background: var(--glass-bg-soft) !important; }
.n-tabs .n-tabs-tab--active { opacity: 1 !important; color: var(--accent) !important; font-weight: 700 !important; background: transparent !important; }
.n-tabs.n-tabs--segment-type .n-tabs-tab--active,
.n-tabs--segment-type .n-tabs-tab.n-tabs-tab--active {
  background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px var(--accent-glow) !important;
  transform: translateY(-1px);
}
.n-tabs-bar,.n-tabs .n-tabs-bar {
  background: linear-gradient(90deg, var(--accent), var(--accent-2)) !important;
  height: 3px !important; border-radius: 3px !important;
  box-shadow: 0 0 10px var(--accent-glow);
}

/* ============ 表格 ============ */
.n-data-table-wrapper,.n-data-table .n-data-table-base-table,
.n-data-table .n-data-table-thead,.n-data-table .n-data-table-th,
.n-data-table .n-data-table-td { background: transparent !important; }
.n-data-table .n-data-table-th { border-bottom: 1px solid var(--glass-border) !important; font-weight: 700; }
.n-data-table .n-data-table-tr:hover .n-data-table-td { background: var(--glass-bg-soft) !important; }

/* ============ 输入框 ============ */
.n-input,.n-base-selection,.n-input-number { background: var(--glass-bg) !important; border-radius: 12px !important; transition: box-shadow .2s; }
.n-input--focus,.n-base-selection--focus { box-shadow: 0 0 0 3px var(--accent-glow) !important; }

/* ============ 按钮 ============ */
.n-button { border-radius: 12px !important; transition: transform .2s, box-shadow .2s, filter .2s !important; }
.n-button.n-button--default-type { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; color: var(--text-main) !important; }
.n-button:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.15), 0 0 12px var(--accent-glow); }
.n-button.n-button--primary-type { background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important; border: none !important; color: #fff !important; box-shadow: 0 4px 14px var(--accent-glow); }
.n-button.n-button--success-type { background: linear-gradient(135deg,#43e97b,#38f9d7) !important; border: none !important; }
.n-button.n-button--error-type { background: linear-gradient(135deg,#ff6b6b,#ee0979) !important; border: none !important; }

/* ============ 弹窗 ============ */
.n-modal-container .n-card,.n-modal,.n-drawer-content,.n-dialog {
  background: var(--glass-bg-strong) !important;
  backdrop-filter: blur(28px) saturate(200%);
  -webkit-backdrop-filter: blur(28px) saturate(200%);
  border-radius: 18px !important;
}

/* ============ 分页 ============ */
.n-pagination .n-pagination-item { background: var(--glass-bg) !important; border-radius: 10px !important; border: 1px solid var(--glass-border) !important; }
.n-pagination .n-pagination-item--active { background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important; color:#fff !important; border:none !important; }

/* ============ 滚动条 ============ */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: linear-gradient(var(--accent), var(--accent-2)); border-radius: 10px; }

/* ============ 页脚 / 空状态 ============ */
.n-layout-footer,.n-layout-footer * { color: var(--footer-text) !important; text-shadow: var(--footer-shadow); font-weight: 600; letter-spacing: .8px; }
.n-empty .n-empty-icon { animation: floaty 3.5s ease-in-out infinite; }
@keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

/* ============ 特效层 ============ */
#network-fx { position: fixed; inset: 0; pointer-events: none; z-index: 1; }
#cursor-fx  { position: fixed; inset: 0; pointer-events: none; z-index: 9998; }

.click-ripple {
  position: fixed; pointer-events: none; z-index: 9997;
  width: 0; height: 0; border-radius: 50%;
  border: 2px solid var(--accent);
  transform: translate(-50%,-50%);
  animation: ripple .7s ease-out forwards;
}
@keyframes ripple { to { width: 140px; height: 140px; opacity: 0; border-width: 1px; } }

html.perf-low #cursor-fx,
html.perf-low #network-fx,
html.perf-low body::after { display: none !important; }
html.perf-low body { animation: none !important; }

/* ============ 主题面板 ============ */
#theme-switcher { position: fixed; bottom: 28px; right: 28px; z-index: 9999; display:flex; flex-direction:column-reverse; align-items:flex-end; gap:12px; }
#theme-switcher .ts-toggle {
  width: 52px; height: 52px; border-radius: 50%;
  border: 1px solid var(--glass-border);
  background: var(--glass-bg-strong);
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  box-shadow: 0 8px 24px rgba(0,0,0,.25), 0 0 18px var(--accent-glow);
  cursor: pointer; font-size: 22px;
  display:flex; align-items:center; justify-content:center;
  transition: transform .3s; color: var(--text-main);
}
#theme-switcher .ts-toggle:hover { transform: rotate(90deg) scale(1.08); }
#theme-switcher .ts-panel {
  display: none; flex-direction: column; gap: 4px; padding: 10px;
  background: var(--glass-bg-strong);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid var(--glass-border);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
  min-width: 220px; max-height: 75vh; overflow-y: auto;
}
#theme-switcher.open .ts-panel { display:flex; }
#theme-switcher .ts-section { font-size: 11px; opacity: .6; padding: 8px 12px 2px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-main); }
#theme-switcher .ts-item {
  display:flex; align-items:center; gap:10px;
  padding: 8px 12px; border-radius: 10px; cursor: pointer;
  color: var(--text-main); font-size: 14px;
  transition: background .15s, transform .15s;
}
#theme-switcher .ts-item:hover { background: var(--glass-bg-soft); transform: translateX(-2px); }
#theme-switcher .ts-item .swatch {
  width: 22px; height: 22px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.5);
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
  flex-shrink: 0;
}
#theme-switcher .ts-divider { height: 1px; background: var(--glass-border); margin: 6px 4px; }
#theme-switcher .ts-row {
  display:flex; align-items:center; justify-content:space-between;
  padding: 8px 12px; border-radius: 10px; font-size: 13px;
  color: var(--text-main); cursor: pointer; transition: background .15s;
}
#theme-switcher .ts-row:hover { background: var(--glass-bg-soft); }
#theme-switcher .ts-row .dot {
  width: 30px; height: 16px; border-radius: 10px;
  background: rgba(0,0,0,.2); position: relative; transition: background .2s;
}
#theme-switcher .ts-row .dot::after {
  content:""; position:absolute; left:2px; top:2px;
  width:12px; height:12px; border-radius:50%;
  background:#fff; transition: transform .2s;
}
html.perf-low #theme-switcher .ts-row[data-key="perf"] .dot { background: var(--accent); }
html.perf-low #theme-switcher .ts-row[data-key="perf"] .dot::after { transform: translateX(14px); }

/* ============ 原作者模式按钮 ============ */
#xt-restore {
  position: fixed; bottom: 20px; right: 20px; z-index: 99999;
  padding: 10px 18px;
  border: 1px solid #d0d0d0; background: #fff; color: #333;
  border-radius: 20px; cursor: pointer; font-size: 13px;
  box-shadow: 0 4px 14px rgba(0,0,0,.15);
  font-family: system-ui, sans-serif;
  transition: transform .2s, box-shadow .2s;
}
#xt-restore:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.2); }