/* 智慧基层 · 界面皮肤库 v1.0 —— 18 套主题
   用法：<html data-theme="主题id">，由 web/app.js 的换肤面板切换并写入 localStorage
   本文件由 _gen_themes.py 生成，改配色请改脚本后重跑，勿手改本文件 */

/* 切换瞬间给一次平滑过渡（避免常驻 transition 拖累渲染） */
html.zjc-theming, html.zjc-theming * {
  transition: background-color .28s ease, border-color .28s ease, color .28s ease, box-shadow .28s ease !important;
}

/* ===== 🎋 青竹翠 ===== */
:root,
[data-theme="bamboo"] {
  color-scheme: light;
  --primary: #07c160;
  --primary-dark: #06ad56;
  --primary-deep: #0a7f43;
  --primary-bg: #e8f9f0;
  --primary-soft: rgba(7, 193, 96, 0.12);
  --blue: #1677ff;
  --bg: #f0f2f5;
  --card: #ffffff;
  --surface: #fafbfc;
  --hover-bg: #f5f7f8;
  --border: #e5e8eb;
  --text: #1f2329;
  --text-sub: #3f4a44;
  --muted: #8f959e;
  --danger: #fa5151;
  --warn: #ff9f1a;
  --danger-bg: #fdeeee;
  --danger-text: #a13a3a;
  --danger-border: #f5caca;
  --warn-bg: #fff7e8;
  --warn-text: #a3620a;
  --warn-border: #ffe4b3;
  --side-bg: #1d2a22;
  --side-bg2: #16211a;
  --side-text: #cfd8d2;
  --side-nav: #b8c4bc;
  --side-muted: #6f7f74;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #07c160;
  --side-active-text: #ffffff;
  --side-foot-text: #5f6e64;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #8a998f;
  --login-bg1: #0d241a;
  --login-bg2: #143a26;
  --login-bg3: #0f2d1f;
  --login-hero: #eaf5ee;
  --login-hero-sub: #9fc7ad;
  --login-point: #cfe6d7;
  --login-point-line: rgba(159, 199, 173, 0.18);
  --login-accent: #ffe9a8;
  --login-link: #bfe8cf;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(127, 219, 160, 0.5);
  --login-glass-line2: rgba(127, 219, 160, 0.35);
  --login-yixn: #dcefe3;
  --login-card: #ffffff;
  --login-tab-bg: #f2f5f3;
  --login-tab-text: #6b7a71;
  --login-label: #4d5c53;
  --login-input-bg: #fbfcfb;
  --login-input-border: #d9e0dc;
  --login-tip: #9aa8a0;
  --login-divider: #e8ece9;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #2b372f 0%, #1d2a22 58%, #19422c 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M24.0 210.0 C23.1 153.9 25.2 97.8 21.0 49.7' stroke='%236fdba3' stroke-width='2.4' fill='none' opacity='.5' stroke-linecap='round'/><path d='M21.2 174.7 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M23.3 174.7 Q31.8 173.6 39.0 165.0 Q30.6 166.1 23.3 174.7Z' fill='%23ffe9a8' opacity='0.43'/><path d='M20.5 137.9 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M22.6 137.9 Q16.3 129.2 2.3 126.4 Q8.7 135.0 22.6 137.9Z' fill='%23ffe9a8' opacity='0.59'/><path d='M22.6 137.9 Q29.8 135.5 34.6 126.8 Q27.5 129.2 22.6 137.9Z' fill='%23ffe9a8' opacity='0.40'/><path d='M19.8 101.0 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M22.0 101.0 Q16.4 94.9 5.4 93.9 Q11.0 100.0 22.0 101.0Z' fill='%23ffe9a8' opacity='0.41'/><path d='M19.2 68.9 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M21.4 68.9 Q16.1 62.1 4.9 60.0 Q10.1 66.9 21.4 68.9Z' fill='%23ffe9a8' opacity='0.51'/><path d='M21.4 68.9 Q31.7 67.3 40.4 56.5 Q30.1 58.1 21.4 68.9Z' fill='%23ffe9a8' opacity='0.38'/><path d='M75.0 210.0 C75.9 154.6 73.8 99.2 78.0 51.8' stroke='%236fdba3' stroke-width='2.4' fill='none' opacity='.5' stroke-linecap='round'/><path d='M73.5 175.2 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M75.7 175.2 Q69.7 168.7 58.1 167.8 Q64.1 174.2 75.7 175.2Z' fill='%23ffe9a8' opacity='0.51'/><path d='M75.7 175.2 Q85.5 176.1 96.0 168.2 Q86.1 167.3 75.7 175.2Z' fill='%23ffe9a8' opacity='0.36'/><path d='M74.2 138.8 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M76.3 138.8 Q71.9 130.7 60.3 126.8 Q64.8 134.9 76.3 138.8Z' fill='%23ffe9a8' opacity='0.58'/><path d='M74.9 102.4 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M77.0 102.4 Q86.9 101.5 95.7 91.7 Q85.8 92.7 77.0 102.4Z' fill='%23ffe9a8' opacity='0.50'/><path d='M75.5 70.8 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M77.6 70.8 Q73.6 62.4 62.2 57.8 Q66.2 66.2 77.6 70.8Z' fill='%23ffe9a8' opacity='0.34'/><path d='M77.6 70.8 Q88.7 71.2 100.0 61.6 Q88.8 61.2 77.6 70.8Z' fill='%23ffe9a8' opacity='0.64'/><path d='M126.0 210.0 C125.1 161.4 127.2 112.7 123.0 71.1' stroke='%236fdba3' stroke-width='2.4' fill='none' opacity='.5' stroke-linecap='round'/><path d='M123.2 179.4 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M125.3 179.4 Q119.3 172.4 107.1 171.0 Q113.1 178.0 125.3 179.4Z' fill='%23ffe9a8' opacity='0.46'/><path d='M122.5 147.5 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M124.7 147.5 Q119.2 141.1 108.3 139.7 Q113.7 146.1 124.7 147.5Z' fill='%23ffe9a8' opacity='0.62'/><path d='M121.8 115.5 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M124.0 115.5 Q118.6 108.8 107.3 107.0 Q112.7 113.8 124.0 115.5Z' fill='%23ffe9a8' opacity='0.36'/><path d='M124.0 115.5 Q131.0 115.1 137.5 108.4 Q130.4 108.8 124.0 115.5Z' fill='%23ffe9a8' opacity='0.37'/><path d='M121.2 87.7 h4.3' stroke='%236fdba3' stroke-width='2.0' opacity='.62' stroke-linecap='round'/><path d='M123.4 87.7 Q119.2 81.2 109.3 78.6 Q113.4 85.1 123.4 87.7Z' fill='%23ffe9a8' opacity='0.56'/><path d='M123.4 87.7 Q133.5 86.4 142.2 76.0 Q132.0 77.4 123.4 87.7Z' fill='%23ffe9a8' opacity='0.60'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%236fdba3' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%236fdba3' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(131, 224, 176, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M67.2 420.0 C65.4 306.1 69.6 192.1 61.2 94.4' stroke='%236fdba3' stroke-width='3.2' fill='none' opacity='.5' stroke-linecap='round'/><path d='M63.0 348.4 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M65.9 348.4 Q55.8 339.4 37.9 339.6 Q48.0 348.6 65.9 348.4Z' fill='%23ffe9a8' opacity='0.43'/><path d='M65.9 348.4 Q79.7 346.9 91.9 333.2 Q78.1 334.6 65.9 348.4Z' fill='%23ffe9a8' opacity='0.38'/><path d='M61.6 273.5 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M64.5 273.5 Q58.7 259.8 40.8 251.7 Q46.6 265.4 64.5 273.5Z' fill='%23ffe9a8' opacity='0.51'/><path d='M64.5 273.5 Q78.4 274.1 92.4 262.2 Q78.5 261.7 64.5 273.5Z' fill='%23ffe9a8' opacity='0.64'/><path d='M60.2 198.6 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M63.1 198.6 Q54.7 185.2 34.4 179.7 Q42.9 193.1 63.1 198.6Z' fill='%23ffe9a8' opacity='0.35'/><path d='M59.0 133.5 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M61.9 133.5 Q51.7 121.7 31.1 119.4 Q41.4 131.2 61.9 133.5Z' fill='%23ffe9a8' opacity='0.42'/><path d='M138.6 420.0 C140.4 327.8 136.2 235.7 144.6 156.7' stroke='%236fdba3' stroke-width='3.2' fill='none' opacity='.5' stroke-linecap='round'/><path d='M137.0 362.1 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M139.9 362.1 Q129.2 349.9 107.8 347.6 Q118.6 359.8 139.9 362.1Z' fill='%23ffe9a8' opacity='0.43'/><path d='M139.9 362.1 Q153.3 362.2 166.5 350.3 Q153.1 350.2 139.9 362.1Z' fill='%23ffe9a8' opacity='0.38'/><path d='M138.4 301.5 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M141.3 301.5 Q130.5 289.8 109.4 288.0 Q120.3 299.8 141.3 301.5Z' fill='%23ffe9a8' opacity='0.58'/><path d='M141.3 301.5 Q151.9 298.3 159.3 285.8 Q148.8 289.0 141.3 301.5Z' fill='%23ffe9a8' opacity='0.42'/><path d='M139.8 241.0 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M142.7 241.0 Q136.3 229.0 119.3 223.0 Q125.7 235.0 142.7 241.0Z' fill='%23ffe9a8' opacity='0.40'/><path d='M142.7 241.0 Q153.0 239.4 161.7 228.7 Q151.4 230.3 142.7 241.0Z' fill='%23ffe9a8' opacity='0.36'/><path d='M141.0 188.3 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M143.9 188.3 Q136.1 180.3 121.4 179.4 Q129.1 187.4 143.9 188.3Z' fill='%23ffe9a8' opacity='0.51'/><path d='M210.0 420.0 C208.2 315.6 212.4 211.3 204.0 121.8' stroke='%236fdba3' stroke-width='3.2' fill='none' opacity='.5' stroke-linecap='round'/><path d='M205.8 354.4 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M208.7 354.4 Q198.8 341.6 177.7 337.8 Q187.6 350.7 208.7 354.4Z' fill='%23ffe9a8' opacity='0.57'/><path d='M208.7 354.4 Q220.3 353.7 231.0 342.6 Q219.4 343.3 208.7 354.4Z' fill='%23ffe9a8' opacity='0.44'/><path d='M204.4 285.8 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M207.3 285.8 Q196.7 275.0 176.6 273.8 Q187.2 284.7 207.3 285.8Z' fill='%23ffe9a8' opacity='0.59'/><path d='M203.0 217.2 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M205.9 217.2 Q197.9 204.4 178.5 199.0 Q186.6 211.9 205.9 217.2Z' fill='%23ffe9a8' opacity='0.37'/><path d='M205.9 217.2 Q219.7 216.6 232.6 203.5 Q218.8 204.2 205.9 217.2Z' fill='%23ffe9a8' opacity='0.59'/><path d='M201.8 157.6 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M204.7 157.6 Q197.8 144.3 179.1 137.4 Q186.0 150.8 204.7 157.6Z' fill='%23ffe9a8' opacity='0.41'/><path d='M204.7 157.6 Q215.0 157.4 224.8 148.0 Q214.5 148.3 204.7 157.6Z' fill='%23ffe9a8' opacity='0.46'/><path d='M281.4 420.0 C283.2 321.3 279.0 222.7 287.4 138.1' stroke='%236fdba3' stroke-width='3.2' fill='none' opacity='.5' stroke-linecap='round'/><path d='M279.8 358.0 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M282.7 358.0 Q273.4 344.5 252.2 339.7 Q261.5 353.2 282.7 358.0Z' fill='%23ffe9a8' opacity='0.46'/><path d='M282.7 358.0 Q297.1 354.4 307.8 338.0 Q293.5 341.7 282.7 358.0Z' fill='%23ffe9a8' opacity='0.55'/><path d='M281.2 293.2 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M284.1 293.2 Q279.2 283.3 265.7 278.1 Q270.5 287.9 284.1 293.2Z' fill='%23ffe9a8' opacity='0.37'/><path d='M284.1 293.2 Q300.4 292.0 315.2 276.3 Q298.9 277.4 284.1 293.2Z' fill='%23ffe9a8' opacity='0.52'/><path d='M282.6 228.3 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M285.5 228.3 Q275.4 216.8 255.2 214.7 Q265.3 226.2 285.5 228.3Z' fill='%23ffe9a8' opacity='0.54'/><path d='M285.5 228.3 Q301.6 225.3 314.6 207.9 Q298.5 211.0 285.5 228.3Z' fill='%23ffe9a8' opacity='0.54'/><path d='M283.8 172.0 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M286.7 172.0 Q279.3 159.9 261.4 154.8 Q268.8 166.8 286.7 172.0Z' fill='%23ffe9a8' opacity='0.57'/><path d='M352.8 420.0 C351.0 301.4 355.2 182.8 346.8 81.2' stroke='%236fdba3' stroke-width='3.2' fill='none' opacity='.5' stroke-linecap='round'/><path d='M348.6 345.5 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M347.2 267.5 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M350.1 267.5 Q339.1 255.2 317.3 253.1 Q328.3 265.4 350.1 267.5Z' fill='%23ffe9a8' opacity='0.41'/><path d='M345.8 189.6 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/><path d='M348.7 189.6 Q342.9 176.3 325.4 168.5 Q331.2 181.8 348.7 189.6Z' fill='%23ffe9a8' opacity='0.41'/><path d='M344.6 121.8 h5.8' stroke='%236fdba3' stroke-width='2.7' opacity='.62' stroke-linecap='round'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(7, 193, 96, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(255, 233, 168, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(7, 193, 96, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: 100% 52%;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #eefbf4 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(7, 193, 96, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(255, 233, 168, 0.08), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🖤 墨韵黑 ===== */
[data-theme="ink"] {
  color-scheme: dark;
  --primary: #d4a24a;
  --primary-dark: #b8863a;
  --primary-deep: #9d7837;
  --primary-bg: rgba(212,162,74,0.14);
  --primary-soft: rgba(212, 162, 74, 0.18);
  --blue: #6ba4ff;
  --bg: #14161a;
  --card: #292b2e;
  --surface: #222427;
  --hover-bg: #222428;
  --border: #444649;
  --text: #e8eaed;
  --text-sub: #ced1d5;
  --muted: #8b9099;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #433335;
  --danger-text: #ff9f9f;
  --danger-border: #855355;
  --warn-bg: #433b30;
  --warn-text: #ffca79;
  --warn-border: #8f7245;
  --side-bg: #0f1115;
  --side-bg2: #0d0f12;
  --side-text: #d9d9da;
  --side-nav: #bcbcbd;
  --side-muted: #828385;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #d4a24a;
  --side-active-text: #101418;
  --side-foot-text: #747577;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9a9b9d;
  --login-bg1: #0a0b0e;
  --login-bg2: #16181d;
  --login-bg3: #101216;
  --login-hero: #e8e8e8;
  --login-hero-sub: #909193;
  --login-point: #b6b6b7;
  --login-point-line: rgba(144, 145, 147, 0.18);
  --login-accent: #f0cf94;
  --login-link: #e2d4bc;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(227, 195, 137, 0.5);
  --login-glass-line2: rgba(227, 195, 137, 0.35);
  --login-yixn: #c6c7c8;
  --login-card: #292b2e;
  --login-tab-bg: #1e2024;
  --login-tab-text: #a7abb2;
  --login-label: #ced1d5;
  --login-input-bg: #212326;
  --login-input-border: #444649;
  --login-tip: #8b9099;
  --login-divider: #444649;
  --input-bg: #292b2e;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #1d1f23 0%, #0f1115 58%, #2f281d 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0 210.0 L0.0 109.2 L30.0 80.1 L60.0 86.6 L90.0 103.9 L120.0 78.6 L150.0 80.8 L150.0 210.0 Z' fill='%23e6c996' opacity='0.20'/><path d='M0 210.0 L0.0 118.9 L30.0 136.2 L60.0 109.2 L90.0 123.9 L120.0 129.2 L150.0 113.5 L150.0 210.0 Z' fill='%23e6c996' opacity='0.40'/><path d='M0 210.0 L0.0 159.2 L30.0 168.0 L60.0 166.4 L90.0 156.3 L120.0 167.8 L150.0 163.0 L150.0 210.0 Z' fill='%23e6c996' opacity='0.64'/><circle cx='30.6' cy='124.4' r='19.0' fill='%23f0cf94' opacity='.10'/><circle cx='30.6' cy='124.4' r='10.5' fill='%23f0cf94' opacity='.08'/><circle cx='124.5' cy='59.4' r='24.8' fill='%23f0cf94' opacity='.10'/><circle cx='124.5' cy='59.4' r='13.6' fill='%23f0cf94' opacity='.08'/><path d='M0.0 159.2 L5.4 159.1 L10.7 158.5 L16.1 157.5 L21.4 156.4 L26.8 155.4 L32.1 154.6 L37.5 154.2 L42.9 154.4 L48.2 155.0 L53.6 155.9 L58.9 157.0 L64.3 158.1 L69.6 158.9 L75.0 159.2 L80.4 159.1 L85.7 158.5 L91.1 157.5 L96.4 156.4 L101.8 155.4 L107.1 154.6 L112.5 154.2 L117.9 154.4 L123.2 155.0 L128.6 155.9 L133.9 157.0 L139.3 158.1 L144.6 158.9 L150.0 159.2' stroke='%23f0cf94' stroke-width='1.2' fill='none' opacity='.22' stroke-linecap='round'/><path d='M0.0 172.1 L5.4 171.1 L10.7 170.0 L16.1 169.0 L21.4 168.3 L26.8 168.0 L32.1 168.3 L37.5 169.0 L42.9 170.0 L48.2 171.1 L53.6 172.1 L58.9 172.8 L64.3 173.1 L69.6 172.8 L75.0 172.1 L80.4 171.1 L85.7 170.0 L91.1 169.0 L96.4 168.3 L101.8 168.0 L107.1 168.3 L112.5 169.0 L117.9 170.0 L123.2 171.1 L128.6 172.1 L133.9 172.8 L139.3 173.1 L144.6 172.8 L150.0 172.1' stroke='%23f0cf94' stroke-width='1.2' fill='none' opacity='.22' stroke-linecap='round'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%23e6c996' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%23e6c996' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(234, 208, 164, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0 420.0 L0.0 218.4 L60.0 152.9 L120.0 158.7 L180.0 209.6 L240.0 137.4 L300.0 175.1 L360.0 195.4 L420.0 149.0 L420.0 420.0 Z' fill='%23e6c996' opacity='0.20'/><path d='M0 420.0 L0.0 247.9 L60.0 269.9 L120.0 237.3 L180.0 253.6 L240.0 258.2 L300.0 228.6 L360.0 252.2 L420.0 258.9 L420.0 420.0 Z' fill='%23e6c996' opacity='0.40'/><path d='M0 420.0 L0.0 320.9 L60.0 331.9 L120.0 333.8 L180.0 309.9 L240.0 339.6 L300.0 326.0 L360.0 322.2 L420.0 343.5 L420.0 420.0 Z' fill='%23e6c996' opacity='0.64'/><circle cx='134.2' cy='131.7' r='20.2' fill='%23f0cf94' opacity='.10'/><circle cx='134.2' cy='131.7' r='11.1' fill='%23f0cf94' opacity='.08'/><circle cx='65.2' cy='193.9' r='18.3' fill='%23f0cf94' opacity='.10'/><circle cx='65.2' cy='193.9' r='10.1' fill='%23f0cf94' opacity='.08'/><circle cx='312.3' cy='203.1' r='38.6' fill='%23f0cf94' opacity='.10'/><circle cx='312.3' cy='203.1' r='21.2' fill='%23f0cf94' opacity='.08'/><circle cx='221.5' cy='187.0' r='44.0' fill='%23f0cf94' opacity='.10'/><circle cx='221.5' cy='187.0' r='24.2' fill='%23f0cf94' opacity='.08'/><path d='M0.0 331.1 L15.0 333.1 L30.0 334.4 L45.0 334.8 L60.0 334.2 L75.0 332.8 L90.0 330.7 L105.0 328.5 L120.0 326.5 L135.0 325.1 L150.0 324.7 L165.0 325.3 L180.0 326.8 L195.0 328.8 L210.0 331.1 L225.0 333.1 L240.0 334.4 L255.0 334.8 L270.0 334.2 L285.0 332.8 L300.0 330.7 L315.0 328.5 L330.0 326.5 L345.0 325.1 L360.0 324.7 L375.0 325.3 L390.0 326.8 L405.0 328.8 L420.0 331.1 L435.0 333.1' stroke='%23f0cf94' stroke-width='1.8' fill='none' opacity='.22' stroke-linecap='round'/><path d='M0.0 308.7 L15.0 306.7 L30.0 304.4 L45.0 302.5 L60.0 301.2 L75.0 300.8 L90.0 301.4 L105.0 302.9 L120.0 304.9 L135.0 307.2 L150.0 309.1 L165.0 310.5 L180.0 310.8 L195.0 310.2 L210.0 308.7 L225.0 306.7 L240.0 304.4 L255.0 302.5 L270.0 301.2 L285.0 300.8 L300.0 301.4 L315.0 302.9 L330.0 304.9 L345.0 307.2 L360.0 309.1 L375.0 310.5 L390.0 310.8 L405.0 310.2 L420.0 308.7 L435.0 306.7' stroke='%23f0cf94' stroke-width='1.8' fill='none' opacity='.22' stroke-linecap='round'/><path d='M0.0 347.2 L15.0 345.9 L30.0 344.0 L45.0 341.8 L60.0 339.7 L75.0 338.1 L90.0 337.4 L105.0 337.8 L120.0 339.0 L135.0 340.9 L150.0 343.2 L165.0 345.3 L180.0 346.8 L195.0 347.5 L210.0 347.2 L225.0 345.9 L240.0 344.0 L255.0 341.8 L270.0 339.7 L285.0 338.1 L300.0 337.4 L315.0 337.8 L330.0 339.0 L345.0 340.9 L360.0 343.2 L375.0 345.3 L390.0 346.8 L405.0 347.5 L420.0 347.2 L435.0 345.9' stroke='%23f0cf94' stroke-width='1.8' fill='none' opacity='.22' stroke-linecap='round'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(212, 162, 74, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(240, 207, 148, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(212, 162, 74, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #292b2e 0%, #3a3731 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(212, 162, 74, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(240, 207, 148, 0.13), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #494b4f;
  --tint-blue-bd: #6c7383;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #4a4b4f;
  --tint-purple-bd: #757080;
  --tint-purple-tx: #b097d9;
  --tint-teal: #484c4e;
  --tint-teal-bd: #677b7a;
  --tint-teal-tx: #7db9b0;
  --tint-green: #484c4d;
  --tint-green-bd: #6a7a6d;
  --tint-green-tx: #85b795;
  --tint-gray: #4a4b4e;
  --tint-gray-bd: #73767b;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #4b4b4b;
  --tint-orange-bd: #80756a;
  --tint-orange-tx: #cca680;
  --tint-red: #4b4a4c;
  --tint-red-bd: #807072;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #4b4c4b;
  --tint-yellow-bd: #807867;
  --tint-yellow-tx: #c0af80;
}

/* ===== 🌌 午夜蓝 ===== */
[data-theme="midnight"] {
  color-scheme: light;
  --primary: #2f6fed;
  --primary-dark: #2559c4;
  --primary-deep: #2962d1;
  --primary-bg: #eaf1ff;
  --primary-soft: rgba(47, 111, 237, 0.12);
  --blue: #1677ff;
  --bg: #f2f4f8;
  --card: #ffffff;
  --surface: #fafbfd;
  --hover-bg: #f3f4f8;
  --border: #e2e7f0;
  --text: #1b2230;
  --text-sub: #3a4251;
  --muted: #8a93a6;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e3afb7;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #eacd9e;
  --side-bg: #16203a;
  --side-bg2: #131c32;
  --side-text: #dadbdf;
  --side-nav: #bec1c8;
  --side-muted: #868b99;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #2f6fed;
  --side-active-text: #ffffff;
  --side-foot-text: #787e8d;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9da1ac;
  --login-bg1: #0d1526;
  --login-bg2: #1a2540;
  --login-bg3: #121b30;
  --login-hero: #e8e9ec;
  --login-hero-sub: #9197a4;
  --login-point: #b7bac3;
  --login-point-line: rgba(145, 151, 164, 0.18);
  --login-accent: #a9c6ff;
  --login-link: #b4c7ec;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(120, 161, 243, 0.5);
  --login-glass-line2: rgba(120, 161, 243, 0.35);
  --login-yixn: #c7cad0;
  --login-card: #ffffff;
  --login-tab-bg: #f8fafc;
  --login-tab-text: #697183;
  --login-label: #3a4251;
  --login-input-bg: #fafbfc;
  --login-input-border: #e2e7f0;
  --login-tip: #8a93a6;
  --login-divider: #e2e7f0;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #242d46 0%, #16203a 58%, #1a2d57 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><circle cx='62.0' cy='169.1' r='0.97' fill='%23a9c6ff' opacity='0.62'/><circle cx='85.9' cy='123.5' r='1.45' fill='%2386abf5' opacity='0.56'/><circle cx='142.7' cy='33.6' r='1.55' fill='%2386abf5' opacity='0.47'/><circle cx='89.5' cy='104.9' r='1.68' fill='%2386abf5' opacity='0.31'/><circle cx='46.9' cy='162.0' r='1.42' fill='%2386abf5' opacity='0.55'/><circle cx='110.0' cy='168.9' r='1.14' fill='%23a9c6ff' opacity='0.71'/><circle cx='118.9' cy='82.0' r='1.39' fill='%2386abf5' opacity='0.69'/><circle cx='49.8' cy='138.2' r='0.94' fill='%2386abf5' opacity='0.29'/><circle cx='98.6' cy='115.7' r='1.31' fill='%2386abf5' opacity='0.56'/><circle cx='135.3' cy='61.4' r='0.94' fill='%2386abf5' opacity='0.32'/><circle cx='43.2' cy='151.4' r='1.08' fill='%2386abf5' opacity='0.30'/><circle cx='68.4' cy='142.5' r='1.73' fill='%2386abf5' opacity='0.88'/><circle cx='115.1' cy='9.9' r='1.75' fill='%2386abf5' opacity='0.29'/><circle cx='61.4' cy='159.9' r='1.72' fill='%2386abf5' opacity='0.77'/><circle cx='51.4' cy='145.3' r='0.80' fill='%23a9c6ff' opacity='0.72'/><circle cx='61.3' cy='166.8' r='1.82' fill='%2386abf5' opacity='0.52'/><circle cx='109.9' cy='94.6' r='1.44' fill='%2386abf5' opacity='0.30'/><circle cx='105.3' cy='114.5' r='1.36' fill='%2386abf5' opacity='0.53'/><circle cx='119.0' cy='148.6' r='1.78' fill='%2386abf5' opacity='0.71'/><circle cx='98.6' cy='84.9' r='0.88' fill='%2386abf5' opacity='0.68'/><circle cx='14.7' cy='25.7' r='1.90' fill='%2386abf5' opacity='0.83'/><circle cx='94.2' cy='27.1' r='1.57' fill='%2386abf5' opacity='0.82'/><circle cx='70.8' cy='11.9' r='0.60' fill='%2386abf5' opacity='0.60'/><circle cx='115.9' cy='65.1' r='0.82' fill='%2386abf5' opacity='0.67'/><circle cx='72.0' cy='13.7' r='1.04' fill='%2386abf5' opacity='0.40'/><circle cx='84.2' cy='31.9' r='1.26' fill='%2386abf5' opacity='0.27'/><circle cx='132.5' cy='162.1' r='0.98' fill='%2386abf5' opacity='0.74'/><circle cx='99.5' cy='100.8' r='1.63' fill='%2386abf5' opacity='0.83'/><circle cx='23.0' cy='28.7' r='1.72' fill='%2386abf5' opacity='0.59'/><circle cx='84.7' cy='178.6' r='1.55' fill='%23a9c6ff' opacity='0.55'/><circle cx='140.5' cy='178.2' r='0.69' fill='%2386abf5' opacity='0.30'/><circle cx='2.5' cy='111.0' r='1.79' fill='%2386abf5' opacity='0.74'/><circle cx='30.0' cy='0.9' r='1.02' fill='%2386abf5' opacity='0.69'/><circle cx='77.5' cy='171.9' r='1.16' fill='%23a9c6ff' opacity='0.27'/><path d='M37.9 19.3 L38.8 23.7 L43.2 24.6 L38.8 25.4Z M37.9 29.8 L37.1 25.4 L32.7 24.6 L37.1 23.7Z' fill='%23a9c6ff' opacity='0.64'/><path d='M40.5 64.8 L41.5 69.9 L46.6 70.9 L41.5 71.9Z M40.5 77.0 L39.5 71.9 L34.4 70.9 L39.5 69.9Z' fill='%23a9c6ff' opacity='0.63'/><path d='M98.1 28.7 L117.7 37.7' stroke='%23a9c6ff' stroke-width='1.0' opacity='.5' stroke-linecap='round'/><circle cx='117.7' cy='37.7' r='1.4' fill='%23a9c6ff' opacity='.8'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='10' cy='10' r='1.2' fill='%2386abf5' opacity='0.25'/><circle cx='30' cy='24' r='0.9' fill='%2386abf5' opacity='0.17'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(151, 183, 246, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><circle cx='166.5' cy='19.5' r='1.12' fill='%23a9c6ff' opacity='0.37'/><circle cx='283.3' cy='300.3' r='0.62' fill='%2386abf5' opacity='0.36'/><circle cx='25.8' cy='79.6' r='1.61' fill='%23a9c6ff' opacity='0.76'/><circle cx='265.8' cy='339.8' r='1.00' fill='%2386abf5' opacity='0.47'/><circle cx='206.8' cy='340.7' r='1.69' fill='%2386abf5' opacity='0.71'/><circle cx='350.8' cy='180.7' r='1.18' fill='%2386abf5' opacity='0.35'/><circle cx='407.9' cy='46.2' r='0.62' fill='%23a9c6ff' opacity='0.79'/><circle cx='82.2' cy='345.9' r='1.14' fill='%2386abf5' opacity='0.34'/><circle cx='81.3' cy='189.6' r='1.38' fill='%23a9c6ff' opacity='0.73'/><circle cx='231.0' cy='223.5' r='1.59' fill='%2386abf5' opacity='0.67'/><circle cx='179.1' cy='312.7' r='1.87' fill='%2386abf5' opacity='0.44'/><circle cx='314.1' cy='188.3' r='1.63' fill='%2386abf5' opacity='0.26'/><circle cx='354.2' cy='172.7' r='1.81' fill='%23a9c6ff' opacity='0.64'/><circle cx='5.9' cy='150.5' r='1.48' fill='%2386abf5' opacity='0.40'/><circle cx='121.5' cy='262.7' r='1.02' fill='%23a9c6ff' opacity='0.55'/><circle cx='182.7' cy='152.2' r='1.35' fill='%2386abf5' opacity='0.90'/><circle cx='260.8' cy='326.1' r='1.42' fill='%2386abf5' opacity='0.90'/><circle cx='343.8' cy='178.4' r='0.72' fill='%2386abf5' opacity='0.50'/><circle cx='246.2' cy='292.3' r='1.82' fill='%23a9c6ff' opacity='0.40'/><circle cx='195.6' cy='79.8' r='0.75' fill='%2386abf5' opacity='0.87'/><circle cx='101.7' cy='313.5' r='1.40' fill='%23a9c6ff' opacity='0.66'/><circle cx='309.9' cy='200.2' r='1.58' fill='%2386abf5' opacity='0.26'/><circle cx='8.8' cy='56.5' r='1.27' fill='%2386abf5' opacity='0.72'/><circle cx='26.7' cy='177.3' r='1.37' fill='%2386abf5' opacity='0.62'/><circle cx='222.7' cy='106.4' r='0.94' fill='%2386abf5' opacity='0.81'/><circle cx='116.9' cy='177.9' r='0.98' fill='%2386abf5' opacity='0.47'/><circle cx='69.6' cy='189.3' r='0.74' fill='%2386abf5' opacity='0.83'/><circle cx='348.6' cy='56.1' r='0.61' fill='%2386abf5' opacity='0.75'/><circle cx='177.4' cy='87.5' r='1.51' fill='%23a9c6ff' opacity='0.75'/><circle cx='33.5' cy='133.3' r='1.52' fill='%2386abf5' opacity='0.82'/><circle cx='126.8' cy='18.1' r='0.94' fill='%23a9c6ff' opacity='0.50'/><circle cx='353.1' cy='345.0' r='1.49' fill='%23a9c6ff' opacity='0.85'/><circle cx='261.2' cy='95.3' r='1.40' fill='%2386abf5' opacity='0.41'/><circle cx='24.9' cy='249.9' r='0.76' fill='%2386abf5' opacity='0.81'/><circle cx='158.0' cy='211.3' r='1.74' fill='%2386abf5' opacity='0.75'/><circle cx='112.5' cy='190.2' r='1.44' fill='%2386abf5' opacity='0.81'/><circle cx='333.2' cy='280.0' r='1.28' fill='%2386abf5' opacity='0.38'/><circle cx='250.5' cy='38.6' r='0.69' fill='%2386abf5' opacity='0.37'/><circle cx='133.0' cy='247.8' r='1.61' fill='%23a9c6ff' opacity='0.59'/><circle cx='219.6' cy='119.9' r='1.14' fill='%2386abf5' opacity='0.51'/><circle cx='98.2' cy='239.5' r='1.83' fill='%2386abf5' opacity='0.86'/><circle cx='344.8' cy='96.1' r='1.23' fill='%2386abf5' opacity='0.39'/><circle cx='192.3' cy='270.2' r='1.08' fill='%23a9c6ff' opacity='0.80'/><circle cx='334.6' cy='248.9' r='0.91' fill='%23a9c6ff' opacity='0.50'/><circle cx='43.5' cy='184.7' r='1.17' fill='%2386abf5' opacity='0.75'/><circle cx='279.9' cy='63.6' r='1.85' fill='%2386abf5' opacity='0.90'/><circle cx='25.8' cy='178.3' r='1.64' fill='%2386abf5' opacity='0.63'/><circle cx='135.3' cy='329.0' r='1.10' fill='%2386abf5' opacity='0.44'/><circle cx='287.2' cy='172.9' r='1.44' fill='%2386abf5' opacity='0.72'/><circle cx='407.4' cy='275.9' r='1.76' fill='%23a9c6ff' opacity='0.85'/><circle cx='7.5' cy='128.7' r='1.65' fill='%2386abf5' opacity='0.54'/><circle cx='108.3' cy='322.3' r='1.54' fill='%23a9c6ff' opacity='0.87'/><circle cx='342.6' cy='356.5' r='1.60' fill='%2386abf5' opacity='0.31'/><circle cx='218.8' cy='289.7' r='1.57' fill='%2386abf5' opacity='0.77'/><circle cx='313.9' cy='288.2' r='1.05' fill='%2386abf5' opacity='0.65'/><circle cx='302.1' cy='316.5' r='1.32' fill='%2386abf5' opacity='0.89'/><circle cx='68.9' cy='279.6' r='1.35' fill='%2386abf5' opacity='0.38'/><circle cx='40.0' cy='299.7' r='1.12' fill='%2386abf5' opacity='0.38'/><circle cx='222.6' cy='49.0' r='0.72' fill='%2386abf5' opacity='0.49'/><circle cx='298.3' cy='66.9' r='1.67' fill='%2386abf5' opacity='0.67'/><circle cx='350.4' cy='255.7' r='0.75' fill='%23a9c6ff' opacity='0.58'/><circle cx='267.3' cy='117.1' r='1.60' fill='%2386abf5' opacity='0.31'/><path d='M82.9 19.3 L84.3 26.6 L91.6 28.0 L84.3 29.3Z M82.9 36.6 L81.5 29.3 L74.2 28.0 L81.5 26.6Z' fill='%23a9c6ff' opacity='0.59'/><path d='M64.2 38.6 L65.8 46.7 L74.0 48.3 L65.8 49.9Z M64.2 58.1 L62.6 49.9 L54.5 48.3 L62.6 46.7Z' fill='%23a9c6ff' opacity='0.74'/><path d='M246.9 99.8 L248.2 106.7 L255.1 108.0 L248.2 109.3Z M246.9 116.3 L245.6 109.3 L238.6 108.0 L245.6 106.7Z' fill='%23a9c6ff' opacity='0.88'/><path d='M82.9 36.1 L84.3 43.2 L91.4 44.6 L84.3 46.0Z M82.9 53.1 L81.5 46.0 L74.4 44.6 L81.5 43.2Z' fill='%23a9c6ff' opacity='0.90'/><path d='M281.3 47.7 L318.1 79.8' stroke='%23a9c6ff' stroke-width='1.5' opacity='.5' stroke-linecap='round'/><circle cx='318.1' cy='79.8' r='2.0' fill='%23a9c6ff' opacity='.8'/><path d='M267.2 124.0 L304.6 140.8' stroke='%23a9c6ff' stroke-width='1.5' opacity='.5' stroke-linecap='round'/><circle cx='304.6' cy='140.8' r='2.0' fill='%23a9c6ff' opacity='.8'/><path d='M185.9 108.3 L228.0 138.1' stroke='%23a9c6ff' stroke-width='1.5' opacity='.5' stroke-linecap='round'/><circle cx='228.0' cy='138.1' r='2.0' fill='%23a9c6ff' opacity='.8'/><path d='M234.2 235.9 L150.8 143.6 L205.1 192.8 L234.7 226.7 L159.2 253.3 L345.2 152.0' stroke='%2386abf5' stroke-width='.8' fill='none' opacity='.28'/><circle cx='234.2' cy='235.9' r='2.4' fill='%23a9c6ff' opacity='.7'/><circle cx='150.8' cy='143.6' r='2.4' fill='%23a9c6ff' opacity='.7'/><circle cx='205.1' cy='192.8' r='2.4' fill='%23a9c6ff' opacity='.7'/><circle cx='234.7' cy='226.7' r='2.4' fill='%23a9c6ff' opacity='.7'/><circle cx='159.2' cy='253.3' r='2.4' fill='%23a9c6ff' opacity='.7'/><circle cx='345.2' cy='152.0' r='2.4' fill='%23a9c6ff' opacity='.7'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(47, 111, 237, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(169, 198, 255, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(47, 111, 237, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f0f5fe 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(47, 111, 237, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(169, 198, 255, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 72px 74px, rgba(168, 195, 247, 0.44) 0, rgba(168, 195, 247, 0.33) 1.4px, transparent 2.1px), radial-gradient(circle at 72px 74px, rgba(168, 195, 247, 0.13) 0, transparent 5.4px), radial-gradient(circle at 86px 91px, rgba(168, 195, 247, 0.39) 0, rgba(168, 195, 247, 0.29) 1.6px, transparent 2.3px), radial-gradient(circle at 86px 91px, rgba(168, 195, 247, 0.12) 0, transparent 6.0px), radial-gradient(circle at 52px 21px, rgba(168, 195, 247, 0.44) 0, rgba(168, 195, 247, 0.33) 1.1px, transparent 1.8px), radial-gradient(circle at 52px 21px, rgba(168, 195, 247, 0.13) 0, transparent 7.5px), radial-gradient(circle at 58px 82px, rgba(168, 195, 247, 0.60) 0, rgba(168, 195, 247, 0.45) 1.6px, transparent 2.3px), radial-gradient(circle at 58px 82px, rgba(168, 195, 247, 0.18) 0, transparent 4.9px), radial-gradient(circle at 37px 40px, rgba(168, 195, 247, 0.60) 0, rgba(168, 195, 247, 0.45) 0.9px, transparent 1.6px), radial-gradient(circle at 37px 40px, rgba(168, 195, 247, 0.18) 0, transparent 7.6px), radial-gradient(circle at 109px 60px, rgba(168, 195, 247, 0.55) 0, rgba(168, 195, 247, 0.41) 0.9px, transparent 1.6px), radial-gradient(circle at 109px 60px, rgba(168, 195, 247, 0.16) 0, transparent 7.5px), radial-gradient(circle at 82px 59px, rgba(168, 195, 247, 0.56) 0, rgba(168, 195, 247, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 82px 59px, rgba(168, 195, 247, 0.17) 0, transparent 5.8px), radial-gradient(circle at 20px 16px, rgba(168, 195, 247, 0.46) 0, rgba(168, 195, 247, 0.35) 1.6px, transparent 2.3px), radial-gradient(circle at 20px 16px, rgba(168, 195, 247, 0.14) 0, transparent 5.0px), radial-gradient(circle at 68px 129px, rgba(168, 195, 247, 0.50) 0, rgba(168, 195, 247, 0.37) 1.5px, transparent 2.2px), radial-gradient(circle at 68px 129px, rgba(168, 195, 247, 0.15) 0, transparent 5.8px), radial-gradient(circle at 120px 71px, rgba(168, 195, 247, 0.52) 0, rgba(168, 195, 247, 0.39) 1.1px, transparent 1.8px), radial-gradient(circle at 120px 71px, rgba(168, 195, 247, 0.16) 0, transparent 4.7px), radial-gradient(circle at 13px 108px, rgba(168, 195, 247, 0.56) 0, rgba(168, 195, 247, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 13px 108px, rgba(168, 195, 247, 0.17) 0, transparent 5.7px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 32s;
  --drift-op: 0.60;
  --glow-dur: 24s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌅 晨曦橙 ===== */
[data-theme="dawn"] {
  color-scheme: light;
  --primary: #f0813c;
  --primary-dark: #d96a26;
  --primary-deep: #b25f2c;
  --primary-bg: #fff2e8;
  --primary-soft: rgba(240, 129, 60, 0.12);
  --blue: #1677ff;
  --bg: #faf7f4;
  --card: #ffffff;
  --surface: #fdfcfb;
  --hover-bg: #faf7f4;
  --border: #efe6dd;
  --text: #2b2320;
  --text-sub: #493f3a;
  --muted: #97887e;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #ecafab;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #f1cc93;
  --side-bg: #33241a;
  --side-bg2: #2c1f16;
  --side-text: #dedcda;
  --side-nav: #c6c2bf;
  --side-muted: #958d88;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #f0813c;
  --side-active-text: #ffffff;
  --side-foot-text: #89807a;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a9a39f;
  --login-bg1: #2a1a10;
  --login-bg2: #42291a;
  --login-bg3: #33200f;
  --login-hero: #eceae8;
  --login-hero-sub: #a59991;
  --login-point: #c3bcb7;
  --login-point-line: rgba(165, 153, 145, 0.18);
  --login-accent: #ffd7a8;
  --login-link: #edcdb8;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(245, 173, 128, 0.5);
  --login-glass-line2: rgba(245, 173, 128, 0.35);
  --login-yixn: #d1cbc7;
  --login-card: #ffffff;
  --login-tab-bg: #fcfbfa;
  --login-tab-text: #776a62;
  --login-label: #493f3a;
  --login-input-bg: #fdfcfb;
  --login-input-border: #efe6dd;
  --login-tip: #97887e;
  --login-divider: #efe6dd;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3f3128 0%, #33241a 58%, #51331f 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><circle cx='99.0' cy='130.2' r='26.0' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.30'/><circle cx='99.0' cy='130.2' r='34.8' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.26'/><circle cx='99.0' cy='130.2' r='43.7' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.21'/><circle cx='99.0' cy='130.2' r='52.5' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.16'/><circle cx='99.0' cy='130.2' r='61.4' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.12'/><circle cx='99.0' cy='130.2' r='26.0' fill='%23f6b68e' opacity='.26'/><circle cx='99.0' cy='130.2' r='16.1' fill='%23ffd7a8' opacity='.18'/><path d='M139.1 134.4 L148.1 135.4' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M131.6 153.9 L139.0 159.2' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M115.4 167.0 L119.1 175.3' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M94.8 170.3 L93.8 179.3' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M75.3 162.8 L70.0 170.2' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M62.2 146.6 L53.9 150.3' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M58.9 126.0 L49.9 125.0' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M66.4 106.5 L59.0 101.2' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M0.0 60.7 L5.8 60.8 L11.5 61.9 L17.3 63.9 L23.1 66.2 L28.8 68.2 L34.6 69.5 L40.4 69.8 L46.2 68.9 L51.9 67.1 L57.7 64.8 L63.5 62.6 L69.2 61.1 L75.0 60.6 L80.8 61.2 L86.5 62.8 L92.3 65.0 L98.1 67.2 L103.8 69.0 L109.6 69.8 L115.4 69.5 L121.2 68.1 L126.9 66.0 L132.7 63.7 L138.5 61.8 L144.2 60.7 L150.0 60.7' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.20' stroke-linecap='round'/><path d='M0.0 88.8 L5.8 89.9 L11.5 89.9 L17.3 88.8 L23.1 86.9 L28.8 84.6 L34.6 82.5 L40.4 81.1 L46.2 80.8 L51.9 81.6 L57.7 83.3 L63.5 85.5 L69.2 87.7 L75.0 89.3 L80.8 90.0 L86.5 89.6 L92.3 88.1 L98.1 86.0 L103.8 83.7 L109.6 81.9 L115.4 80.9 L121.2 81.0 L126.9 82.1 L132.7 84.1 L138.5 86.4 L144.2 88.4 L150.0 89.7' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.16' stroke-linecap='round'/><path d='M0.0 102.3 L5.8 100.5 L11.5 99.5 L17.3 99.7 L23.1 101.0 L28.8 103.0 L34.6 105.3 L40.4 107.3 L46.2 108.5 L51.9 108.6 L57.7 107.6 L63.5 105.7 L69.2 103.4 L75.0 101.3 L80.8 99.9 L86.5 99.5 L92.3 100.2 L98.1 101.9 L103.8 104.1 L109.6 106.3 L115.4 108.0 L121.2 108.7 L126.9 108.2 L132.7 106.7 L138.5 104.6 L144.2 102.3 L150.0 100.5' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.17' stroke-linecap='round'/><path d='M0.0 132.9 L5.8 132.2 L11.5 130.4 L17.3 128.1 L23.1 125.9 L28.8 124.2 L34.6 123.7 L40.4 124.3 L46.2 126.0 L51.9 128.2 L57.7 130.5 L63.5 132.2 L69.2 132.9 L75.0 132.4 L80.8 130.8 L86.5 128.5 L92.3 126.2 L98.1 124.5 L103.8 123.7 L109.6 124.1 L115.4 125.6 L121.2 127.8 L126.9 130.1 L132.7 132.0 L138.5 132.9 L144.2 132.6 L150.0 131.1' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.26' stroke-linecap='round'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%23f6b68e' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(248, 192, 158, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><circle cx='277.2' cy='260.4' r='26.0' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.30'/><circle cx='277.2' cy='260.4' r='34.8' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.26'/><circle cx='277.2' cy='260.4' r='43.7' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.21'/><circle cx='277.2' cy='260.4' r='52.5' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.16'/><circle cx='277.2' cy='260.4' r='61.4' fill='none' stroke='%23ffd7a8' stroke-width='1.1' opacity='0.12'/><circle cx='277.2' cy='260.4' r='26.0' fill='%23f6b68e' opacity='.26'/><circle cx='277.2' cy='260.4' r='16.1' fill='%23ffd7a8' opacity='.18'/><path d='M317.3 264.6 L326.3 265.6' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M309.8 284.1 L317.2 289.4' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M293.6 297.2 L297.3 305.5' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M273.0 300.5 L272.0 309.5' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M253.5 293.0 L248.2 300.4' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M240.4 276.8 L232.1 280.5' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M237.1 256.2 L228.1 255.2' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M244.6 236.7 L237.2 231.4' stroke='%23ffd7a8' stroke-width='1.0' opacity='.2' stroke-linecap='round'/><path d='M0.0 122.7 L16.2 127.2 L32.3 130.0 L48.5 130.1 L64.6 127.7 L80.8 123.3 L96.9 118.3 L113.1 114.1 L129.2 112.0 L145.4 112.6 L161.5 115.7 L177.7 120.4 L193.8 125.3 L210.0 129.0 L226.2 130.4 L242.3 129.1 L258.5 125.4 L274.6 120.5 L290.8 115.8 L306.9 112.7 L323.1 112.0 L339.2 114.1 L355.4 118.2 L371.5 123.2 L387.7 127.6 L403.8 130.1 L420.0 130.0 L436.2 127.3' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.23' stroke-linecap='round'/><path d='M0.0 157.3 L16.2 159.1 L32.3 162.7 L48.5 167.1 L64.6 171.4 L80.8 174.5 L96.9 175.7 L113.1 174.7 L129.2 171.7 L145.4 167.5 L161.5 163.0 L177.7 159.3 L193.8 157.4 L210.0 157.6 L226.2 159.9 L242.3 163.8 L258.5 168.3 L274.6 172.4 L290.8 175.0 L306.9 175.6 L323.1 174.0 L339.2 170.6 L355.4 166.2 L371.5 161.9 L387.7 158.6 L403.8 157.2 L420.0 158.1 L436.2 160.9' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.20' stroke-linecap='round'/><path d='M0.0 215.2 L16.2 217.3 L32.3 221.3 L48.5 226.0 L64.6 230.2 L80.8 232.9 L96.9 233.3 L113.1 231.3 L129.2 227.5 L145.4 222.9 L161.5 218.5 L177.7 215.7 L193.8 215.0 L210.0 216.7 L226.2 220.3 L242.3 224.9 L258.5 229.3 L274.6 232.4 L290.8 233.4 L306.9 232.0 L323.1 228.5 L339.2 223.9 L355.4 219.4 L371.5 216.1 L387.7 214.9 L403.8 216.1 L420.0 219.3 L436.2 223.8' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.25' stroke-linecap='round'/><path d='M0.0 257.1 L16.2 254.1 L32.3 253.3 L48.5 254.8 L64.6 258.2 L80.8 262.8 L96.9 267.2 L113.1 270.5 L129.2 271.8 L145.4 270.7 L161.5 267.6 L177.7 263.2 L193.8 258.6 L210.0 255.0 L226.2 253.3 L242.3 254.0 L258.5 256.7 L274.6 261.0 L290.8 265.6 L306.9 269.4 L323.1 271.5 L339.2 271.4 L355.4 269.0 L371.5 264.9 L387.7 260.3 L403.8 256.2 L420.0 253.7 L436.2 253.4' stroke='%23ffd7a8' stroke-width='1.4' fill='none' opacity='0.24' stroke-linecap='round'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(240, 129, 60, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(255, 215, 168, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(240, 129, 60, 0.16), transparent 56%);
  --login-art-pos: 30% 26%;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #fef6f1 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(240, 129, 60, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(255, 215, 168, 0.08), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🪷 藕荷紫 ===== */
[data-theme="lotus"] {
  color-scheme: light;
  --primary: #8b5cf6;
  --primary-dark: #7449e0;
  --primary-deep: #7a51d8;
  --primary-bg: #f3edff;
  --primary-soft: rgba(139, 92, 246, 0.12);
  --blue: #1677ff;
  --bg: #f7f5fb;
  --card: #ffffff;
  --surface: #fcfcfe;
  --hover-bg: #f7f5fb;
  --border: #e9e4f5;
  --text: #241f33;
  --text-sub: #423c52;
  --muted: #8f88a3;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e8adba;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #eecba1;
  --side-bg: #241a3d;
  --side-bg2: #1f1634;
  --side-text: #dcdae0;
  --side-nav: #c2bfc9;
  --side-muted: #8d889a;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #8b5cf6;
  --side-active-text: #ffffff;
  --side-foot-text: #807a8e;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a39fae;
  --login-bg1: #1a1130;
  --login-bg2: #2a1e4d;
  --login-bg3: #20163a;
  --login-hero: #eae8ed;
  --login-hero-sub: #9993aa;
  --login-point: #bcb8c7;
  --login-point-line: rgba(153, 147, 170, 0.18);
  --login-accent: #d9c4ff;
  --login-link: #cfc1f0;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(180, 149, 249, 0.5);
  --login-glass-line2: rgba(180, 149, 249, 0.35);
  --login-yixn: #cbc8d3;
  --login-card: #ffffff;
  --login-tab-bg: #fbfafd;
  --login-tab-text: #6f6881;
  --login-label: #423c52;
  --login-input-bg: #fcfbfd;
  --login-input-border: #e9e4f5;
  --login-tip: #8f88a3;
  --login-divider: #e9e4f5;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #312849 0%, #241a3d 58%, #34255b 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0.0 138.6 L6.8 140.4 L13.6 141.7 L20.5 141.9 L27.3 141.1 L34.1 139.5 L40.9 137.7 L47.7 136.1 L54.5 135.3 L61.4 135.5 L68.2 136.8 L75.0 138.6 L81.8 140.4 L88.6 141.7 L95.5 141.9 L102.3 141.1 L109.1 139.5 L115.9 137.7 L122.7 136.1 L129.5 135.3 L136.4 135.5 L143.2 136.8 L150.0 138.6 L156.8 140.4' stroke='%23d9c4ff' stroke-width='0.9' fill='none' opacity='0.24' stroke-linecap='round'/><path d='M0.0 153.6 L6.8 154.5 L13.6 154.3 L20.5 153.2 L27.3 151.4 L34.1 149.5 L40.9 148.2 L47.7 147.9 L54.5 148.5 L61.4 150.1 L68.2 152.0 L75.0 153.6 L81.8 154.5 L88.6 154.3 L95.5 153.2 L102.3 151.4 L109.1 149.5 L115.9 148.2 L122.7 147.9 L129.5 148.5 L136.4 150.1 L143.2 152.0 L150.0 153.6 L156.8 154.5' stroke='%23d9c4ff' stroke-width='0.9' fill='none' opacity='0.21' stroke-linecap='round'/><path d='M0.0 167.2 L6.8 166.6 L13.6 165.1 L20.5 163.2 L27.3 161.5 L34.1 160.5 L40.9 160.6 L47.7 161.7 L54.5 163.4 L61.4 165.3 L68.2 166.7 L75.0 167.2 L81.8 166.6 L88.6 165.1 L95.5 163.2 L102.3 161.5 L109.1 160.5 L115.9 160.6 L122.7 161.7 L129.5 163.4 L136.4 165.3 L143.2 166.7 L150.0 167.2 L156.8 166.6' stroke='%23d9c4ff' stroke-width='0.9' fill='none' opacity='0.18' stroke-linecap='round'/><path d='M51.0 180.7 A14.3 14.3 0 1 1 46.6 178.4 L55.5 167.1 Z' fill='%23bca0fa' opacity='.13'/><path d='M54.6 155.8 A18.9 18.9 0 1 1 57.2 161.8 L38.8 166.2 Z' fill='%23bca0fa' opacity='.13'/><path d='M51.4 66.4 Q57.5 56.5 50.5 47.2 Q44.4 57.1 51.4 66.4Z' fill='%23bca0fa' opacity='0.22'/><path d='M51.4 66.4 Q63.0 65.2 66.1 54.0 Q54.5 55.2 51.4 66.4Z' fill='%23bca0fa' opacity='0.30'/><path d='M51.4 66.4 Q61.4 72.4 70.6 65.3 Q60.6 59.3 51.4 66.4Z' fill='%23bca0fa' opacity='0.22'/><path d='M51.4 66.4 Q54.6 77.6 66.2 78.7 Q63.0 67.5 51.4 66.4Z' fill='%23bca0fa' opacity='0.30'/><path d='M51.4 66.4 Q45.5 76.4 52.6 85.6 Q58.5 75.6 51.4 66.4Z' fill='%23bca0fa' opacity='0.22'/><path d='M51.4 66.4 Q40.0 68.4 37.6 79.8 Q49.1 77.8 51.4 66.4Z' fill='%23bca0fa' opacity='0.30'/><path d='M51.4 66.4 Q41.3 60.6 32.2 67.8 Q42.3 73.6 51.4 66.4Z' fill='%23bca0fa' opacity='0.22'/><path d='M51.4 66.4 Q48.8 55.1 37.3 53.3 Q39.9 64.7 51.4 66.4Z' fill='%23bca0fa' opacity='0.30'/><circle cx='51.4' cy='66.4' r='3.3' fill='%23d9c4ff' opacity='.4'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%23bca0fa' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(197, 174, 250, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0.0 277.2 L19.1 280.8 L38.2 283.3 L57.3 283.9 L76.4 282.3 L95.5 279.1 L114.5 275.3 L133.6 272.1 L152.7 270.5 L171.8 271.1 L190.9 273.6 L210.0 277.2 L229.1 280.8 L248.2 283.3 L267.3 283.9 L286.4 282.3 L305.5 279.1 L324.5 275.3 L343.6 272.1 L362.7 270.5 L381.8 271.1 L400.9 273.6 L420.0 277.2 L439.1 280.8' stroke='%23d9c4ff' stroke-width='0.9' fill='none' opacity='0.24' stroke-linecap='round'/><path d='M0.0 307.2 L19.1 309.0 L38.2 308.7 L57.3 306.3 L76.4 302.8 L95.5 299.1 L114.5 296.5 L133.6 295.7 L152.7 297.1 L171.8 300.1 L190.9 303.9 L210.0 307.2 L229.1 309.0 L248.2 308.7 L267.3 306.3 L286.4 302.8 L305.5 299.1 L324.5 296.5 L343.6 295.7 L362.7 297.1 L381.8 300.1 L400.9 303.9 L420.0 307.2 L439.1 309.0' stroke='%23d9c4ff' stroke-width='0.9' fill='none' opacity='0.21' stroke-linecap='round'/><path d='M0.0 334.3 L19.1 333.1 L38.2 330.2 L57.3 326.4 L76.4 323.1 L95.5 321.1 L114.5 321.2 L133.6 323.3 L152.7 326.8 L171.8 330.6 L190.9 333.4 L210.0 334.3 L229.1 333.1 L248.2 330.2 L267.3 326.4 L286.4 323.1 L305.5 321.1 L324.5 321.2 L343.6 323.3 L362.7 326.8 L381.8 330.6 L400.9 333.4 L420.0 334.3 L439.1 333.1' stroke='%23d9c4ff' stroke-width='0.9' fill='none' opacity='0.18' stroke-linecap='round'/><path d='M127.4 296.8 A23.8 23.8 0 1 1 130.4 289.1 L150.8 301.4 Z' fill='%23bca0fa' opacity='.13'/><path d='M111.3 277.1 A23.1 23.1 0 1 1 114.0 284.7 L91.2 288.6 Z' fill='%23bca0fa' opacity='.13'/><path d='M165.2 191.0 Q173.2 180.0 165.9 168.5 Q157.9 179.5 165.2 191.0Z' fill='%23bca0fa' opacity='0.22'/><path d='M165.2 191.0 Q178.6 188.6 181.3 175.2 Q167.9 177.6 165.2 191.0Z' fill='%23bca0fa' opacity='0.30'/><path d='M165.2 191.0 Q176.1 199.1 187.7 191.9 Q176.8 183.8 165.2 191.0Z' fill='%23bca0fa' opacity='0.22'/><path d='M165.2 191.0 Q168.4 204.2 181.9 206.1 Q178.7 192.9 165.2 191.0Z' fill='%23bca0fa' opacity='0.30'/><path d='M165.2 191.0 Q158.6 202.9 167.3 213.4 Q173.9 201.5 165.2 191.0Z' fill='%23bca0fa' opacity='0.22'/><path d='M165.2 191.0 Q151.7 192.8 148.4 206.0 Q161.9 204.2 165.2 191.0Z' fill='%23bca0fa' opacity='0.30'/><path d='M165.2 191.0 Q154.0 183.3 142.7 190.8 Q153.9 198.6 165.2 191.0Z' fill='%23bca0fa' opacity='0.22'/><path d='M165.2 191.0 Q163.6 177.5 150.5 173.9 Q152.1 187.5 165.2 191.0Z' fill='%23bca0fa' opacity='0.30'/><circle cx='165.2' cy='191.0' r='3.8' fill='%23d9c4ff' opacity='.4'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(139, 92, 246, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(217, 196, 255, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(139, 92, 246, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f7f4fe 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(139, 92, 246, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(217, 196, 255, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(206, 187, 251, 0.41) 0, rgba(206, 187, 251, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(206, 187, 251, 0.42) 0, rgba(206, 187, 251, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(206, 187, 251, 0.37) 0, rgba(206, 187, 251, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(206, 187, 251, 0.36) 0, rgba(206, 187, 251, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(206, 187, 251, 0.52) 0, rgba(206, 187, 251, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(206, 187, 251, 0.29) 0, rgba(206, 187, 251, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(206, 187, 251, 0.28) 0, rgba(206, 187, 251, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(206, 187, 251, 0.40) 0, rgba(206, 187, 251, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(206, 187, 251, 0.30) 0, rgba(206, 187, 251, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(206, 187, 251, 0.31) 0, rgba(206, 187, 251, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(206, 187, 251, 0.52) 0, rgba(206, 187, 251, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(206, 187, 251, 0.49) 0, rgba(206, 187, 251, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(206, 187, 251, 0.43) 0, rgba(206, 187, 251, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(206, 187, 251, 0.32) 0, rgba(206, 187, 251, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(206, 187, 251, 0.39) 0, rgba(206, 187, 251, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(206, 187, 251, 0.41) 0, rgba(206, 187, 251, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(206, 187, 251, 0.51) 0, rgba(206, 187, 251, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(206, 187, 251, 0.50) 0, rgba(206, 187, 251, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(206, 187, 251, 0.44) 0, rgba(206, 187, 251, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(206, 187, 251, 0.44) 0, rgba(206, 187, 251, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(206, 187, 251, 0.39) 0, rgba(206, 187, 251, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(206, 187, 251, 0.32) 0, rgba(206, 187, 251, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 33s;
  --drift-op: 0.60;
  --glow-dur: 25s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🏮 朱砂红 ===== */
[data-theme="cinnabar"] {
  color-scheme: light;
  --primary: #d93a3a;
  --primary-dark: #bf2c2c;
  --primary-deep: #bf3333;
  --primary-bg: #fdeceb;
  --primary-soft: rgba(217, 58, 58, 0.12);
  --blue: #1677ff;
  --bg: #faf6f5;
  --card: #ffffff;
  --surface: #fdfcfc;
  --hover-bg: #faf6f5;
  --border: #f0e2e0;
  --text: #2b1f1f;
  --text-sub: #4a3c3c;
  --muted: #9a8785;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #ecacad;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #f2ca95;
  --side-bg: #33191a;
  --side-bg2: #2c1616;
  --side-text: #dedada;
  --side-nav: #c6bfbf;
  --side-muted: #958788;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #d93a3a;
  --side-active-text: #ffffff;
  --side-foot-text: #897a7a;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a99e9f;
  --login-bg1: #2a1012;
  --login-bg2: #421a1c;
  --login-bg3: #331315;
  --login-hero: #ece8e8;
  --login-hero-sub: #a59192;
  --login-point: #c3b7b7;
  --login-point-line: rgba(165, 145, 146, 0.18);
  --login-accent: #ffc9a8;
  --login-link: #e7b7b7;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(230, 127, 127, 0.5);
  --login-glass-line2: rgba(230, 127, 127, 0.35);
  --login-yixn: #d1c7c7;
  --login-card: #ffffff;
  --login-tab-bg: #fcfafa;
  --login-tab-text: #796866;
  --login-label: #4a3c3c;
  --login-input-bg: #fdfbfb;
  --login-input-border: #f0e2e0;
  --login-tip: #9a8785;
  --login-divider: #f0e2e0;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3f2728 0%, #33191a 58%, #4e1e1f 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M-17.0 24.5 L7.5 24.5 L7.5 0.0 L-12.9 0.0 L-12.9 20.4 L3.4 20.4 L3.4 8.2 L-8.8 8.2 L-8.8 16.3' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M17.0 24.5 L41.5 24.5 L41.5 0.0 L21.1 0.0 L21.1 20.4 L37.4 20.4 L37.4 8.2 L25.2 8.2 L25.2 16.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M51.0 24.5 L75.5 24.5 L75.5 0.0 L55.1 0.0 L55.1 20.4 L71.4 20.4 L71.4 8.2 L59.2 8.2 L59.2 16.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M85.0 24.5 L109.5 24.5 L109.5 0.0 L89.1 0.0 L89.1 20.4 L105.4 20.4 L105.4 8.2 L93.2 8.2 L93.2 16.3' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M119.0 24.5 L143.5 24.5 L143.5 0.0 L123.1 0.0 L123.1 20.4 L139.4 20.4 L139.4 8.2 L127.2 8.2 L127.2 16.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M153.0 24.5 L177.5 24.5 L177.5 0.0 L157.1 0.0 L157.1 20.4 L173.4 20.4 L173.4 8.2 L161.2 8.2 L161.2 16.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M0.0 53.7 L24.5 53.7 L24.5 29.2 L4.1 29.2 L4.1 49.6 L20.4 49.6 L20.4 37.4 L8.2 37.4 L8.2 45.6' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M34.0 53.7 L58.5 53.7 L58.5 29.2 L38.1 29.2 L38.1 49.6 L54.4 49.6 L54.4 37.4 L42.2 37.4 L42.2 45.6' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M68.0 53.7 L92.5 53.7 L92.5 29.2 L72.1 29.2 L72.1 49.6 L88.4 49.6 L88.4 37.4 L76.2 37.4 L76.2 45.6' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M102.0 53.7 L126.5 53.7 L126.5 29.2 L106.1 29.2 L106.1 49.6 L122.4 49.6 L122.4 37.4 L110.2 37.4 L110.2 45.6' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M136.0 53.7 L160.5 53.7 L160.5 29.2 L140.1 29.2 L140.1 49.6 L156.4 49.6 L156.4 37.4 L144.2 37.4 L144.2 45.6' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M170.0 53.7 L194.5 53.7 L194.5 29.2 L174.1 29.2 L174.1 49.6 L190.4 49.6 L190.4 37.4 L178.2 37.4 L178.2 45.6' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M-17.0 83.0 L7.5 83.0 L7.5 58.5 L-12.9 58.5 L-12.9 78.9 L3.4 78.9 L3.4 66.6 L-8.8 66.6 L-8.8 74.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M17.0 83.0 L41.5 83.0 L41.5 58.5 L21.1 58.5 L21.1 78.9 L37.4 78.9 L37.4 66.6 L25.2 66.6 L25.2 74.8' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M51.0 83.0 L75.5 83.0 L75.5 58.5 L55.1 58.5 L55.1 78.9 L71.4 78.9 L71.4 66.6 L59.2 66.6 L59.2 74.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M85.0 83.0 L109.5 83.0 L109.5 58.5 L89.1 58.5 L89.1 78.9 L105.4 78.9 L105.4 66.6 L93.2 66.6 L93.2 74.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M119.0 83.0 L143.5 83.0 L143.5 58.5 L123.1 58.5 L123.1 78.9 L139.4 78.9 L139.4 66.6 L127.2 66.6 L127.2 74.8' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M153.0 83.0 L177.5 83.0 L177.5 58.5 L157.1 58.5 L157.1 78.9 L173.4 78.9 L173.4 66.6 L161.2 66.6 L161.2 74.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M0.0 112.2 L24.5 112.2 L24.5 87.7 L4.1 87.7 L4.1 108.1 L20.4 108.1 L20.4 95.9 L8.2 95.9 L8.2 104.0' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M34.0 112.2 L58.5 112.2 L58.5 87.7 L38.1 87.7 L38.1 108.1 L54.4 108.1 L54.4 95.9 L42.2 95.9 L42.2 104.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M68.0 112.2 L92.5 112.2 L92.5 87.7 L72.1 87.7 L72.1 108.1 L88.4 108.1 L88.4 95.9 L76.2 95.9 L76.2 104.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M102.0 112.2 L126.5 112.2 L126.5 87.7 L106.1 87.7 L106.1 108.1 L122.4 108.1 L122.4 95.9 L110.2 95.9 L110.2 104.0' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M136.0 112.2 L160.5 112.2 L160.5 87.7 L140.1 87.7 L140.1 108.1 L156.4 108.1 L156.4 95.9 L144.2 95.9 L144.2 104.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M170.0 112.2 L194.5 112.2 L194.5 87.7 L174.1 87.7 L174.1 108.1 L190.4 108.1 L190.4 95.9 L178.2 95.9 L178.2 104.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M-17.0 141.4 L7.5 141.4 L7.5 117.0 L-12.9 117.0 L-12.9 137.4 L3.4 137.4 L3.4 125.1 L-8.8 125.1 L-8.8 133.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M17.0 141.4 L41.5 141.4 L41.5 117.0 L21.1 117.0 L21.1 137.4 L37.4 137.4 L37.4 125.1 L25.2 125.1 L25.2 133.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M51.0 141.4 L75.5 141.4 L75.5 117.0 L55.1 117.0 L55.1 137.4 L71.4 137.4 L71.4 125.1 L59.2 125.1 L59.2 133.3' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M85.0 141.4 L109.5 141.4 L109.5 117.0 L89.1 117.0 L89.1 137.4 L105.4 137.4 L105.4 125.1 L93.2 125.1 L93.2 133.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M119.0 141.4 L143.5 141.4 L143.5 117.0 L123.1 117.0 L123.1 137.4 L139.4 137.4 L139.4 125.1 L127.2 125.1 L127.2 133.3' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M153.0 141.4 L177.5 141.4 L177.5 117.0 L157.1 117.0 L157.1 137.4 L173.4 137.4 L173.4 125.1 L161.2 125.1 L161.2 133.3' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M0.0 170.7 L24.5 170.7 L24.5 146.2 L4.1 146.2 L4.1 166.6 L20.4 166.6 L20.4 154.4 L8.2 154.4 L8.2 162.5' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M34.0 170.7 L58.5 170.7 L58.5 146.2 L38.1 146.2 L38.1 166.6 L54.4 166.6 L54.4 154.4 L42.2 154.4 L42.2 162.5' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M68.0 170.7 L92.5 170.7 L92.5 146.2 L72.1 146.2 L72.1 166.6 L88.4 166.6 L88.4 154.4 L76.2 154.4 L76.2 162.5' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M102.0 170.7 L126.5 170.7 L126.5 146.2 L106.1 146.2 L106.1 166.6 L122.4 166.6 L122.4 154.4 L110.2 154.4 L110.2 162.5' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M136.0 170.7 L160.5 170.7 L160.5 146.2 L140.1 146.2 L140.1 166.6 L156.4 166.6 L156.4 154.4 L144.2 154.4 L144.2 162.5' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M170.0 170.7 L194.5 170.7 L194.5 146.2 L174.1 146.2 L174.1 166.6 L190.4 166.6 L190.4 154.4 L178.2 154.4 L178.2 162.5' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M-17.0 199.9 L7.5 199.9 L7.5 175.4 L-12.9 175.4 L-12.9 195.8 L3.4 195.8 L3.4 183.6 L-8.8 183.6 L-8.8 191.8' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M17.0 199.9 L41.5 199.9 L41.5 175.4 L21.1 175.4 L21.1 195.8 L37.4 195.8 L37.4 183.6 L25.2 183.6 L25.2 191.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M51.0 199.9 L75.5 199.9 L75.5 175.4 L55.1 175.4 L55.1 195.8 L71.4 195.8 L71.4 183.6 L59.2 183.6 L59.2 191.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M85.0 199.9 L109.5 199.9 L109.5 175.4 L89.1 175.4 L89.1 195.8 L105.4 195.8 L105.4 183.6 L93.2 183.6 L93.2 191.8' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M119.0 199.9 L143.5 199.9 L143.5 175.4 L123.1 175.4 L123.1 195.8 L139.4 195.8 L139.4 183.6 L127.2 183.6 L127.2 191.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M153.0 199.9 L177.5 199.9 L177.5 175.4 L157.1 175.4 L157.1 195.8 L173.4 195.8 L173.4 183.6 L161.2 183.6 L161.2 191.8' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M0.0 229.2 L24.5 229.2 L24.5 204.7 L4.1 204.7 L4.1 225.1 L20.4 225.1 L20.4 212.8 L8.2 212.8 L8.2 221.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M34.0 229.2 L58.5 229.2 L58.5 204.7 L38.1 204.7 L38.1 225.1 L54.4 225.1 L54.4 212.8 L42.2 212.8 L42.2 221.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M68.0 229.2 L92.5 229.2 L92.5 204.7 L72.1 204.7 L72.1 225.1 L88.4 225.1 L88.4 212.8 L76.2 212.8 L76.2 221.0' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M102.0 229.2 L126.5 229.2 L126.5 204.7 L106.1 204.7 L106.1 225.1 L122.4 225.1 L122.4 212.8 L110.2 212.8 L110.2 221.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M136.0 229.2 L160.5 229.2 L160.5 204.7 L140.1 204.7 L140.1 225.1 L156.4 225.1 L156.4 212.8 L144.2 212.8 L144.2 221.0' stroke='%23e98d8d' stroke-width='1.0' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M170.0 229.2 L194.5 229.2 L194.5 204.7 L174.1 204.7 L174.1 225.1 L190.4 225.1 L190.4 212.8 L178.2 212.8 L178.2 221.0' stroke='%23ffc9a8' stroke-width='1.0' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><rect x='9.5' y='9.5' width='131.0' height='191.0' fill='none' stroke='%23ffc9a8' stroke-width='0.9' opacity='.22'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 0 H40 M0 0 V40' stroke='%23e98d8d' stroke-width='1' opacity='0.11'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(236, 156, 156, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M-37.0 53.3 L16.3 53.3 L16.3 0.0 L-28.1 0.0 L-28.1 44.4 L7.4 44.4 L7.4 17.8 L-19.2 17.8 L-19.2 35.5' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M37.0 53.3 L90.3 53.3 L90.3 0.0 L45.9 0.0 L45.9 44.4 L81.4 44.4 L81.4 17.8 L54.8 17.8 L54.8 35.5' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M111.0 53.3 L164.3 53.3 L164.3 0.0 L119.9 0.0 L119.9 44.4 L155.4 44.4 L155.4 17.8 L128.8 17.8 L128.8 35.5' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M185.0 53.3 L238.3 53.3 L238.3 0.0 L193.9 0.0 L193.9 44.4 L229.4 44.4 L229.4 17.8 L202.8 17.8 L202.8 35.5' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M259.0 53.3 L312.3 53.3 L312.3 0.0 L267.9 0.0 L267.9 44.4 L303.4 44.4 L303.4 17.8 L276.8 17.8 L276.8 35.5' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M333.0 53.3 L386.3 53.3 L386.3 0.0 L341.9 0.0 L341.9 44.4 L377.4 44.4 L377.4 17.8 L350.8 17.8 L350.8 35.5' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M407.0 53.3 L460.3 53.3 L460.3 0.0 L415.9 0.0 L415.9 44.4 L451.4 44.4 L451.4 17.8 L424.8 17.8 L424.8 35.5' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M0.0 116.9 L53.3 116.9 L53.3 63.6 L8.9 63.6 L8.9 108.0 L44.4 108.0 L44.4 81.4 L17.8 81.4 L17.8 99.2' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M74.0 116.9 L127.3 116.9 L127.3 63.6 L82.9 63.6 L82.9 108.0 L118.4 108.0 L118.4 81.4 L91.8 81.4 L91.8 99.2' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M148.0 116.9 L201.3 116.9 L201.3 63.6 L156.9 63.6 L156.9 108.0 L192.4 108.0 L192.4 81.4 L165.8 81.4 L165.8 99.2' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M222.0 116.9 L275.3 116.9 L275.3 63.6 L230.9 63.6 L230.9 108.0 L266.4 108.0 L266.4 81.4 L239.8 81.4 L239.8 99.2' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M296.0 116.9 L349.3 116.9 L349.3 63.6 L304.9 63.6 L304.9 108.0 L340.4 108.0 L340.4 81.4 L313.8 81.4 L313.8 99.2' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M370.0 116.9 L423.3 116.9 L423.3 63.6 L378.9 63.6 L378.9 108.0 L414.4 108.0 L414.4 81.4 L387.8 81.4 L387.8 99.2' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M444.0 116.9 L497.3 116.9 L497.3 63.6 L452.9 63.6 L452.9 108.0 L488.4 108.0 L488.4 81.4 L461.8 81.4 L461.8 99.2' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M-37.0 180.6 L16.3 180.6 L16.3 127.3 L-28.1 127.3 L-28.1 171.7 L7.4 171.7 L7.4 145.0 L-19.2 145.0 L-19.2 162.8' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M37.0 180.6 L90.3 180.6 L90.3 127.3 L45.9 127.3 L45.9 171.7 L81.4 171.7 L81.4 145.0 L54.8 145.0 L54.8 162.8' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M111.0 180.6 L164.3 180.6 L164.3 127.3 L119.9 127.3 L119.9 171.7 L155.4 171.7 L155.4 145.0 L128.8 145.0 L128.8 162.8' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M185.0 180.6 L238.3 180.6 L238.3 127.3 L193.9 127.3 L193.9 171.7 L229.4 171.7 L229.4 145.0 L202.8 145.0 L202.8 162.8' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M259.0 180.6 L312.3 180.6 L312.3 127.3 L267.9 127.3 L267.9 171.7 L303.4 171.7 L303.4 145.0 L276.8 145.0 L276.8 162.8' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M333.0 180.6 L386.3 180.6 L386.3 127.3 L341.9 127.3 L341.9 171.7 L377.4 171.7 L377.4 145.0 L350.8 145.0 L350.8 162.8' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M407.0 180.6 L460.3 180.6 L460.3 127.3 L415.9 127.3 L415.9 171.7 L451.4 171.7 L451.4 145.0 L424.8 145.0 L424.8 162.8' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M0.0 244.2 L53.3 244.2 L53.3 190.9 L8.9 190.9 L8.9 235.3 L44.4 235.3 L44.4 208.7 L17.8 208.7 L17.8 226.4' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M74.0 244.2 L127.3 244.2 L127.3 190.9 L82.9 190.9 L82.9 235.3 L118.4 235.3 L118.4 208.7 L91.8 208.7 L91.8 226.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M148.0 244.2 L201.3 244.2 L201.3 190.9 L156.9 190.9 L156.9 235.3 L192.4 235.3 L192.4 208.7 L165.8 208.7 L165.8 226.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M222.0 244.2 L275.3 244.2 L275.3 190.9 L230.9 190.9 L230.9 235.3 L266.4 235.3 L266.4 208.7 L239.8 208.7 L239.8 226.4' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M296.0 244.2 L349.3 244.2 L349.3 190.9 L304.9 190.9 L304.9 235.3 L340.4 235.3 L340.4 208.7 L313.8 208.7 L313.8 226.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M370.0 244.2 L423.3 244.2 L423.3 190.9 L378.9 190.9 L378.9 235.3 L414.4 235.3 L414.4 208.7 L387.8 208.7 L387.8 226.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M444.0 244.2 L497.3 244.2 L497.3 190.9 L452.9 190.9 L452.9 235.3 L488.4 235.3 L488.4 208.7 L461.8 208.7 L461.8 226.4' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M-37.0 307.8 L16.3 307.8 L16.3 254.6 L-28.1 254.6 L-28.1 299.0 L7.4 299.0 L7.4 272.3 L-19.2 272.3 L-19.2 290.1' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M37.0 307.8 L90.3 307.8 L90.3 254.6 L45.9 254.6 L45.9 299.0 L81.4 299.0 L81.4 272.3 L54.8 272.3 L54.8 290.1' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M111.0 307.8 L164.3 307.8 L164.3 254.6 L119.9 254.6 L119.9 299.0 L155.4 299.0 L155.4 272.3 L128.8 272.3 L128.8 290.1' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M185.0 307.8 L238.3 307.8 L238.3 254.6 L193.9 254.6 L193.9 299.0 L229.4 299.0 L229.4 272.3 L202.8 272.3 L202.8 290.1' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M259.0 307.8 L312.3 307.8 L312.3 254.6 L267.9 254.6 L267.9 299.0 L303.4 299.0 L303.4 272.3 L276.8 272.3 L276.8 290.1' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M333.0 307.8 L386.3 307.8 L386.3 254.6 L341.9 254.6 L341.9 299.0 L377.4 299.0 L377.4 272.3 L350.8 272.3 L350.8 290.1' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M407.0 307.8 L460.3 307.8 L460.3 254.6 L415.9 254.6 L415.9 299.0 L451.4 299.0 L451.4 272.3 L424.8 272.3 L424.8 290.1' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M0.0 371.5 L53.3 371.5 L53.3 318.2 L8.9 318.2 L8.9 362.6 L44.4 362.6 L44.4 336.0 L17.8 336.0 L17.8 353.7' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M74.0 371.5 L127.3 371.5 L127.3 318.2 L82.9 318.2 L82.9 362.6 L118.4 362.6 L118.4 336.0 L91.8 336.0 L91.8 353.7' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M148.0 371.5 L201.3 371.5 L201.3 318.2 L156.9 318.2 L156.9 362.6 L192.4 362.6 L192.4 336.0 L165.8 336.0 L165.8 353.7' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M222.0 371.5 L275.3 371.5 L275.3 318.2 L230.9 318.2 L230.9 362.6 L266.4 362.6 L266.4 336.0 L239.8 336.0 L239.8 353.7' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M296.0 371.5 L349.3 371.5 L349.3 318.2 L304.9 318.2 L304.9 362.6 L340.4 362.6 L340.4 336.0 L313.8 336.0 L313.8 353.7' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M370.0 371.5 L423.3 371.5 L423.3 318.2 L378.9 318.2 L378.9 362.6 L414.4 362.6 L414.4 336.0 L387.8 336.0 L387.8 353.7' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M444.0 371.5 L497.3 371.5 L497.3 318.2 L452.9 318.2 L452.9 362.6 L488.4 362.6 L488.4 336.0 L461.8 336.0 L461.8 353.7' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M-37.0 435.1 L16.3 435.1 L16.3 381.8 L-28.1 381.8 L-28.1 426.2 L7.4 426.2 L7.4 399.6 L-19.2 399.6 L-19.2 417.4' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M37.0 435.1 L90.3 435.1 L90.3 381.8 L45.9 381.8 L45.9 426.2 L81.4 426.2 L81.4 399.6 L54.8 399.6 L54.8 417.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M111.0 435.1 L164.3 435.1 L164.3 381.8 L119.9 381.8 L119.9 426.2 L155.4 426.2 L155.4 399.6 L128.8 399.6 L128.8 417.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M185.0 435.1 L238.3 435.1 L238.3 381.8 L193.9 381.8 L193.9 426.2 L229.4 426.2 L229.4 399.6 L202.8 399.6 L202.8 417.4' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M259.0 435.1 L312.3 435.1 L312.3 381.8 L267.9 381.8 L267.9 426.2 L303.4 426.2 L303.4 399.6 L276.8 399.6 L276.8 417.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><path d='M333.0 435.1 L386.3 435.1 L386.3 381.8 L341.9 381.8 L341.9 426.2 L377.4 426.2 L377.4 399.6 L350.8 399.6 L350.8 417.4' stroke='%23e98d8d' stroke-width='1.5' fill='none' opacity='0.18' stroke-linejoin='miter' stroke-linecap='square'/><path d='M407.0 435.1 L460.3 435.1 L460.3 381.8 L415.9 381.8 L415.9 426.2 L451.4 426.2 L451.4 399.6 L424.8 399.6 L424.8 417.4' stroke='%23ffc9a8' stroke-width='1.5' fill='none' opacity='0.30' stroke-linejoin='miter' stroke-linecap='square'/><rect x='20.7' y='20.7' width='378.6' height='378.6' fill='none' stroke='%23ffc9a8' stroke-width='1.4' opacity='.22'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(217, 58, 58, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(255, 201, 168, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(217, 58, 58, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 560px 560px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #fcf1f1 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(217, 58, 58, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(255, 201, 168, 0.08), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🏺 青花瓷 ===== */
[data-theme="porcelain"] {
  color-scheme: light;
  --primary: #1f5fb0;
  --primary-dark: #17498c;
  --primary-deep: #1b549b;
  --primary-bg: #eef3ff;
  --primary-soft: rgba(31, 95, 176, 0.12);
  --blue: #1677ff;
  --bg: #f4f7fa;
  --card: #ffffff;
  --surface: #fbfcfd;
  --hover-bg: #f4f7fa;
  --border: #dfe7f0;
  --text: #1c2634;
  --text-sub: #3a4554;
  --muted: #8695a8;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e1afb7;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #e8cd9e;
  --side-bg: #17324f;
  --side-bg2: #142b44;
  --side-text: #dadee3;
  --side-nav: #bec6ce;
  --side-muted: #8694a3;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #1f5fb0;
  --side-active-text: #ffffff;
  --side-foot-text: #788899;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9ea9b5;
  --login-bg1: #0e2136;
  --login-bg2: #1a3550;
  --login-bg3: #122a42;
  --login-hero: #e8ebee;
  --login-hero-sub: #919fac;
  --login-point: #b7bfc8;
  --login-point-line: rgba(145, 159, 172, 0.18);
  --login-accent: #bcd9ff;
  --login-link: #b0c4dd;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(109, 151, 204, 0.5);
  --login-glass-line2: rgba(109, 151, 204, 0.35);
  --login-yixn: #c7ced5;
  --login-card: #ffffff;
  --login-tab-bg: #fafbfc;
  --login-tab-text: #667485;
  --login-label: #3a4554;
  --login-input-bg: #fbfcfd;
  --login-input-border: #dfe7f0;
  --login-tip: #8695a8;
  --login-divider: #dfe7f0;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #253e5a 0%, #17324f 58%, #18395f 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M114.3 116.0 L115.5 116.3 L116.6 117.0 L117.3 118.2 L117.6 119.7 L117.3 121.3 L116.5 123.0 L115.1 124.5 L113.1 125.7 L110.7 126.4 L108.0 126.4 L105.1 125.7 L102.3 124.2 L99.7 122.0 L97.6 119.0 L96.1 115.3 L95.5 111.2 L95.9 106.8 L97.3 102.4 L99.8 98.2 L103.3 94.4 L107.8 91.4 L113.1 89.4 L118.9 88.5 L125.1 89.0 L131.2 90.8 L137.0 94.1 L142.2 98.7 L146.3 104.5 L149.2 111.4 L150.7 118.9 L150.4 126.8 L148.4 134.8 L144.6 142.3 L139.1 149.1 L132.1 154.6 L123.9 158.7 L114.7 161.0 L105.0 161.2 L95.2 159.4 L85.8 155.3' stroke='%237da2d1' stroke-width='1.3' fill='none' opacity='0.42' stroke-linecap='round'/><path d='M116.8 122.5 Q111.9 121.4 107.6 126.0 Q112.4 127.2 116.8 122.5Z' fill='%23bcd9ff' opacity='0.35'/><path d='M103.9 125.2 Q103.8 120.8 98.6 119.1 Q98.7 123.5 103.9 125.2Z' fill='%23bcd9ff' opacity='0.47'/><path d='M96.0 106.2 Q100.8 103.2 101.6 95.8 Q96.8 98.9 96.0 106.2Z' fill='%23bcd9ff' opacity='0.31'/><path d='M74.0 99.0 L75.2 99.2 L76.2 100.0 L77.0 101.2 L77.3 102.7 L77.0 104.4 L76.2 106.1 L74.7 107.6 L72.7 108.8 L70.3 109.5 L67.5 109.5 L64.6 108.8 L61.7 107.3 L59.1 105.0 L56.9 101.9 L55.4 98.2 L54.8 94.0 L55.2 89.6 L56.6 85.0 L59.1 80.7 L62.7 76.9 L67.3 73.9 L72.7 71.8 L78.7 70.9 L84.9 71.4 L91.2 73.2 L97.1 76.6 L102.3 81.3 L106.6 87.2 L109.5 94.2 L111.0 101.9 L110.7 110.0 L108.7 118.0 L104.8 125.7 L99.2 132.6 L92.1 138.3 L83.7 142.4 L74.3 144.8 L64.4 145.0 L54.5 143.1 L44.9 139.0' stroke='%237da2d1' stroke-width='1.3' fill='none' opacity='0.42' stroke-linecap='round'/><path d='M76.5 105.6 Q70.7 104.8 65.1 109.8 Q70.9 110.7 76.5 105.6Z' fill='%23bcd9ff' opacity='0.34'/><path d='M63.3 108.3 Q63.1 103.7 57.7 101.8 Q57.9 106.4 63.3 108.3Z' fill='%23bcd9ff' opacity='0.48'/><path d='M55.3 88.9 Q59.7 86.6 60.0 80.2 Q55.6 82.5 55.3 88.9Z' fill='%23bcd9ff' opacity='0.48'/><path d='M89.8 103.9 Q94.3 98.8 89.8 93.7 Q85.4 98.8 89.8 103.9Z' fill='%237da2d1' opacity='0.22'/><path d='M89.8 103.9 Q96.5 105.2 98.7 98.8 Q92.0 97.5 89.8 103.9Z' fill='%237da2d1' opacity='0.22'/><path d='M89.8 103.9 Q92.0 110.3 98.7 109.0 Q96.5 102.6 89.8 103.9Z' fill='%237da2d1' opacity='0.22'/><path d='M89.8 103.9 Q85.4 109.0 89.8 114.1 Q94.3 109.0 89.8 103.9Z' fill='%237da2d1' opacity='0.22'/><path d='M89.8 103.9 Q83.2 102.6 81.0 109.0 Q87.7 110.3 89.8 103.9Z' fill='%237da2d1' opacity='0.22'/><path d='M89.8 103.9 Q87.7 97.5 81.0 98.8 Q83.2 105.2 89.8 103.9Z' fill='%237da2d1' opacity='0.22'/><circle cx='89.8' cy='103.9' r='3.1' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/><path d='M28.2 167.7 Q33.1 162.2 28.2 156.6 Q23.4 162.2 28.2 167.7Z' fill='%237da2d1' opacity='0.22'/><path d='M28.2 167.7 Q35.4 169.1 37.8 162.2 Q30.6 160.7 28.2 167.7Z' fill='%237da2d1' opacity='0.22'/><path d='M28.2 167.7 Q30.6 174.6 37.8 173.2 Q35.4 166.2 28.2 167.7Z' fill='%237da2d1' opacity='0.22'/><path d='M28.2 167.7 Q23.4 173.2 28.2 178.7 Q33.1 173.2 28.2 167.7Z' fill='%237da2d1' opacity='0.22'/><path d='M28.2 167.7 Q21.0 166.2 18.6 173.2 Q25.9 174.6 28.2 167.7Z' fill='%237da2d1' opacity='0.22'/><path d='M28.2 167.7 Q25.9 160.7 18.6 162.2 Q21.0 169.1 28.2 167.7Z' fill='%237da2d1' opacity='0.22'/><circle cx='28.2' cy='167.7' r='3.3' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/><path d='M63.3 47.8 Q67.5 43.0 63.3 38.2 Q59.1 43.0 63.3 47.8Z' fill='%237da2d1' opacity='0.22'/><path d='M63.3 47.8 Q69.6 49.1 71.6 43.0 Q65.3 41.7 63.3 47.8Z' fill='%237da2d1' opacity='0.22'/><path d='M63.3 47.8 Q65.3 53.9 71.6 52.6 Q69.6 46.5 63.3 47.8Z' fill='%237da2d1' opacity='0.22'/><path d='M63.3 47.8 Q59.1 52.6 63.3 57.4 Q67.5 52.6 63.3 47.8Z' fill='%237da2d1' opacity='0.22'/><path d='M63.3 47.8 Q57.0 46.5 55.0 52.6 Q61.2 53.9 63.3 47.8Z' fill='%237da2d1' opacity='0.22'/><path d='M63.3 47.8 Q61.2 41.7 55.0 43.0 Q57.0 49.1 63.3 47.8Z' fill='%237da2d1' opacity='0.22'/><circle cx='63.3' cy='47.8' r='2.9' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M20 12 V28 M12 20 H28' stroke='%237da2d1' stroke-width='1.4' opacity='0.15' stroke-linecap='round'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(143, 175, 216, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M159.5 156.7 L161.7 157.2 L163.6 158.5 L164.9 160.7 L165.4 163.4 L165.0 166.4 L163.4 169.5 L160.9 172.3 L157.3 174.4 L152.9 175.6 L147.9 175.7 L142.6 174.5 L137.4 171.8 L132.6 167.6 L128.7 162.1 L126.1 155.4 L124.9 147.8 L125.6 139.8 L128.2 131.6 L132.8 123.8 L139.3 117.0 L147.5 111.4 L157.2 107.7 L167.9 106.1 L179.2 106.9 L190.5 110.3 L201.2 116.4 L210.6 124.8 L218.3 135.6 L223.6 148.1 L226.2 162.0 L225.8 176.5 L222.1 191.1 L215.1 204.9 L205.0 217.3 L192.2 227.6 L177.0 235.1 L160.2 239.2 L142.3 239.7 L124.3 236.3 L107.1 228.9' stroke='%237da2d1' stroke-width='2.0' fill='none' opacity='0.42' stroke-linecap='round'/><path d='M164.0 168.6 Q157.7 166.5 152.5 173.0 Q158.8 175.1 164.0 168.6Z' fill='%23bcd9ff' opacity='0.39'/><path d='M140.3 173.5 Q139.2 165.8 130.0 161.7 Q131.2 169.4 140.3 173.5Z' fill='%23bcd9ff' opacity='0.40'/><path d='M125.8 138.6 Q132.0 136.0 131.7 127.7 Q125.5 130.3 125.8 138.6Z' fill='%23bcd9ff' opacity='0.37'/><path d='M166.4 106.2 Q172.6 111.3 182.6 108.4 Q176.3 103.3 166.4 106.2Z' fill='%23bcd9ff' opacity='0.36'/><path d='M108.9 254.8 L110.6 255.1 L112.0 256.2 L113.0 257.8 L113.4 259.8 L113.0 262.1 L111.9 264.4 L109.9 266.5 L107.2 268.1 L103.9 269.1 L100.1 269.1 L96.1 268.2 L92.2 266.1 L88.6 263.0 L85.7 258.8 L83.7 253.8 L82.8 248.1 L83.3 242.0 L85.2 235.8 L88.7 229.9 L93.6 224.7 L99.8 220.6 L107.2 217.7 L115.3 216.5 L123.8 217.2 L132.3 219.7 L140.4 224.3 L147.5 230.7 L153.3 238.8 L157.3 248.3 L159.3 258.7 L159.0 269.7 L156.2 280.7 L150.9 291.2 L143.3 300.6 L133.6 308.3 L122.1 314.0 L109.4 317.1 L95.9 317.5 L82.3 314.9 L69.3 309.3' stroke='%237da2d1' stroke-width='2.0' fill='none' opacity='0.42' stroke-linecap='round'/><path d='M112.3 263.8 Q104.9 262.1 98.1 269.1 Q105.5 270.8 112.3 263.8Z' fill='%23bcd9ff' opacity='0.43'/><path d='M94.4 267.4 Q93.1 259.5 83.7 255.2 Q85.0 263.1 94.4 267.4Z' fill='%23bcd9ff' opacity='0.30'/><path d='M83.5 241.1 Q90.2 237.5 90.7 227.7 Q84.0 231.3 83.5 241.1Z' fill='%23bcd9ff' opacity='0.37'/><path d='M114.1 216.6 Q121.0 221.8 132.0 219.0 Q125.0 213.9 114.1 216.6Z' fill='%23bcd9ff' opacity='0.46'/><path d='M315.9 105.5 Q322.5 97.9 315.9 90.3 Q309.2 97.9 315.9 105.5Z' fill='%237da2d1' opacity='0.22'/><path d='M315.9 105.5 Q325.8 107.5 329.0 97.9 Q319.1 95.9 315.9 105.5Z' fill='%237da2d1' opacity='0.22'/><path d='M315.9 105.5 Q319.1 115.1 329.0 113.1 Q325.8 103.5 315.9 105.5Z' fill='%237da2d1' opacity='0.22'/><path d='M315.9 105.5 Q309.2 113.1 315.9 120.7 Q322.5 113.1 315.9 105.5Z' fill='%237da2d1' opacity='0.22'/><path d='M315.9 105.5 Q305.9 103.5 302.7 113.1 Q312.6 115.1 315.9 105.5Z' fill='%237da2d1' opacity='0.22'/><path d='M315.9 105.5 Q312.6 95.9 302.7 97.9 Q305.9 107.5 315.9 105.5Z' fill='%237da2d1' opacity='0.22'/><circle cx='315.9' cy='105.5' r='4.6' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/><path d='M249.0 359.0 Q257.5 349.3 249.0 339.6 Q240.4 349.3 249.0 359.0Z' fill='%237da2d1' opacity='0.22'/><path d='M249.0 359.0 Q261.7 361.6 265.8 349.3 Q253.1 346.8 249.0 359.0Z' fill='%237da2d1' opacity='0.22'/><path d='M249.0 359.0 Q253.1 371.3 265.8 368.8 Q261.7 356.5 249.0 359.0Z' fill='%237da2d1' opacity='0.22'/><path d='M249.0 359.0 Q240.4 368.8 249.0 378.5 Q257.5 368.8 249.0 359.0Z' fill='%237da2d1' opacity='0.22'/><path d='M249.0 359.0 Q236.3 356.5 232.1 368.8 Q244.8 371.3 249.0 359.0Z' fill='%237da2d1' opacity='0.22'/><path d='M249.0 359.0 Q244.8 346.8 232.1 349.3 Q236.3 361.6 249.0 359.0Z' fill='%237da2d1' opacity='0.22'/><circle cx='249.0' cy='359.0' r='5.8' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/><path d='M202.4 160.9 Q209.8 152.5 202.4 144.1 Q195.0 152.5 202.4 160.9Z' fill='%237da2d1' opacity='0.22'/><path d='M202.4 160.9 Q213.4 163.2 217.0 152.5 Q206.0 150.3 202.4 160.9Z' fill='%237da2d1' opacity='0.22'/><path d='M202.4 160.9 Q206.0 171.6 217.0 169.4 Q213.4 158.7 202.4 160.9Z' fill='%237da2d1' opacity='0.22'/><path d='M202.4 160.9 Q195.0 169.4 202.4 177.8 Q209.8 169.4 202.4 160.9Z' fill='%237da2d1' opacity='0.22'/><path d='M202.4 160.9 Q191.4 158.7 187.8 169.4 Q198.8 171.6 202.4 160.9Z' fill='%237da2d1' opacity='0.22'/><path d='M202.4 160.9 Q198.8 150.3 187.8 152.5 Q191.4 163.2 202.4 160.9Z' fill='%237da2d1' opacity='0.22'/><circle cx='202.4' cy='160.9' r='5.1' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/><path d='M61.2 112.8 Q70.7 102.1 61.2 91.3 Q51.8 102.1 61.2 112.8Z' fill='%237da2d1' opacity='0.22'/><path d='M61.2 112.8 Q75.3 115.6 79.8 102.1 Q65.8 99.2 61.2 112.8Z' fill='%237da2d1' opacity='0.22'/><path d='M61.2 112.8 Q65.8 126.4 79.8 123.5 Q75.3 110.0 61.2 112.8Z' fill='%237da2d1' opacity='0.22'/><path d='M61.2 112.8 Q51.8 123.5 61.2 134.3 Q70.7 123.5 61.2 112.8Z' fill='%237da2d1' opacity='0.22'/><path d='M61.2 112.8 Q47.2 110.0 42.6 123.5 Q56.7 126.4 61.2 112.8Z' fill='%237da2d1' opacity='0.22'/><path d='M61.2 112.8 Q56.7 99.2 42.6 102.1 Q47.2 115.6 61.2 112.8Z' fill='%237da2d1' opacity='0.22'/><circle cx='61.2' cy='112.8' r='6.4' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/><path d='M242.5 237.4 Q250.6 228.1 242.5 218.8 Q234.3 228.1 242.5 237.4Z' fill='%237da2d1' opacity='0.22'/><path d='M242.5 237.4 Q254.6 239.8 258.6 228.1 Q246.4 225.7 242.5 237.4Z' fill='%237da2d1' opacity='0.22'/><path d='M242.5 237.4 Q246.4 249.1 258.6 246.7 Q254.6 235.0 242.5 237.4Z' fill='%237da2d1' opacity='0.22'/><path d='M242.5 237.4 Q234.3 246.7 242.5 256.0 Q250.6 246.7 242.5 237.4Z' fill='%237da2d1' opacity='0.22'/><path d='M242.5 237.4 Q230.3 235.0 226.3 246.7 Q238.5 249.1 242.5 237.4Z' fill='%237da2d1' opacity='0.22'/><path d='M242.5 237.4 Q238.5 225.7 226.3 228.1 Q230.3 239.8 242.5 237.4Z' fill='%237da2d1' opacity='0.22'/><circle cx='242.5' cy='237.4' r='5.6' fill='none' stroke='%23bcd9ff' stroke-width='1.2' opacity='.38'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(31, 95, 176, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(188, 217, 255, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(31, 95, 176, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 620px 620px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #eff4f9 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(31, 95, 176, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(188, 217, 255, 0.08), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🍵 茶褐棕 ===== */
[data-theme="tea"] {
  color-scheme: light;
  --primary: #8a6a45;
  --primary-dark: #71563a;
  --primary-deep: #795d3d;
  --primary-bg: #f7f0e6;
  --primary-soft: rgba(138, 106, 69, 0.12);
  --blue: #1677ff;
  --bg: #f8f5ef;
  --card: #fffdfa;
  --surface: #fdfaf6;
  --hover-bg: #f8f5f0;
  --border: #e8dfd0;
  --text: #2e2620;
  --text-sub: #4b4139;
  --muted: #948779;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e7aaa2;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #edc88b;
  --side-bg: #2e241a;
  --side-bg2: #281f16;
  --side-text: #dedcda;
  --side-nav: #c4c2bf;
  --side-muted: #928d88;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #8a6a45;
  --side-active-text: #ffffff;
  --side-foot-text: #86807a;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a7a39f;
  --login-bg1: #241b12;
  --login-bg2: #3a2c1e;
  --login-bg3: #2c2116;
  --login-hero: #ebeae8;
  --login-hero-sub: #a19a93;
  --login-point: #c1bcb8;
  --login-point-line: rgba(161, 154, 147, 0.18);
  --login-accent: #e8cfa0;
  --login-link: #d0c6ba;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(179, 158, 134, 0.5);
  --login-glass-line2: rgba(179, 158, 134, 0.35);
  --login-yixn: #cfccc8;
  --login-card: #ffffff;
  --login-tab-bg: #fcfaf7;
  --login-tab-text: #756a5e;
  --login-label: #4b4139;
  --login-input-bg: #fcfbf9;
  --login-input-border: #e8dfd0;
  --login-tip: #948779;
  --login-divider: #e8dfd0;
  --input-bg: #fffdfa;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3b3128 0%, #2e241a 58%, #3d2f21 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0 0.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 9.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 18.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 27.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 36.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 45.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 54.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 63.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 72.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 81.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 90.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 99.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 108.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 117.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 126.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 135.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 144.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 153.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 162.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 171.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 180.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 189.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 198.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 207.0 H150.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M9.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M18.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M27.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M36.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M45.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M54.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M63.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M72.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M81.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M90.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M99.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M108.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M117.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M126.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M135.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M144.0 0 V210.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M18.1 60.2 Q20.4 68.2 30.8 70.2 Q28.4 62.2 18.1 60.2Z' fill='%23e8cfa0' opacity='0.26'/><path d='M18.1 60.2 L29.8 69.4' stroke='%23bba993' stroke-width='0.7' opacity='.3' stroke-linecap='round'/><path d='M53.7 88.0 Q64.8 88.9 72.2 77.0 Q61.1 76.0 53.7 88.0Z' fill='%23e8cfa0' opacity='0.26'/><path d='M53.7 88.0 L70.7 77.8' stroke='%23bba993' stroke-width='0.7' opacity='.3' stroke-linecap='round'/><path d='M106.8 181.6 Q115.6 182.6 121.7 173.3 Q112.9 172.3 106.8 181.6Z' fill='%23e8cfa0' opacity='0.26'/><path d='M106.8 181.6 L120.5 174.0' stroke='%23bba993' stroke-width='0.7' opacity='.3' stroke-linecap='round'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 0 H40 M0 0 V40' stroke='%23bba993' stroke-width='1' opacity='0.11'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(196, 180, 162, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0 0.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 9.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 18.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 27.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 36.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 45.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 54.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 63.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 72.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 81.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 90.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 99.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 108.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 117.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 126.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 135.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 144.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 153.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 162.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 171.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 180.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 189.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 198.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 207.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 216.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 225.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 234.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 243.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 252.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 261.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 270.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 279.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 288.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 297.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 306.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 315.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 324.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 333.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 342.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 351.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 360.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 369.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 378.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 387.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 396.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 405.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0 414.0 H420.0' stroke='%23bba993' stroke-width='0.8' opacity='.13'/><path d='M0.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M9.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M18.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M27.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M36.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M45.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M54.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M63.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M72.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M81.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M90.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M99.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M108.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M117.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M126.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M135.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M144.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M153.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M162.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M171.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M180.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M189.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M198.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M207.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M216.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M225.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M234.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M243.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M252.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M261.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M270.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M279.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M288.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M297.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M306.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M315.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M324.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M333.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M342.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M351.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M360.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M369.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M378.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M387.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M396.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M405.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M414.0 0 V420.0' stroke='%23bba993' stroke-width='0.8' opacity='.10'/><path d='M327.2 328.0 Q331.0 339.6 346.2 341.9 Q342.4 330.4 327.2 328.0Z' fill='%23e8cfa0' opacity='0.26'/><path d='M327.2 328.0 L344.7 340.8' stroke='%23bba993' stroke-width='0.7' opacity='.3' stroke-linecap='round'/><path d='M366.2 160.6 Q374.2 163.1 381.7 155.5 Q373.7 153.0 366.2 160.6Z' fill='%23e8cfa0' opacity='0.26'/><path d='M366.2 160.6 L380.5 155.9' stroke='%23bba993' stroke-width='0.7' opacity='.3' stroke-linecap='round'/><path d='M343.7 143.8 Q350.0 152.1 363.0 149.9 Q356.7 141.6 343.7 143.8Z' fill='%23e8cfa0' opacity='0.26'/><path d='M343.7 143.8 L361.4 149.4' stroke='%23bba993' stroke-width='0.7' opacity='.3' stroke-linecap='round'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(138, 106, 69, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(232, 207, 160, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(138, 106, 69, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 460px 460px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #fffdfa 0%, #f7f3ed 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(138, 106, 69, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(232, 207, 160, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(206, 192, 177, 0.41) 0, rgba(206, 192, 177, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(206, 192, 177, 0.42) 0, rgba(206, 192, 177, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(206, 192, 177, 0.37) 0, rgba(206, 192, 177, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(206, 192, 177, 0.36) 0, rgba(206, 192, 177, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(206, 192, 177, 0.52) 0, rgba(206, 192, 177, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(206, 192, 177, 0.29) 0, rgba(206, 192, 177, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(206, 192, 177, 0.28) 0, rgba(206, 192, 177, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(206, 192, 177, 0.40) 0, rgba(206, 192, 177, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(206, 192, 177, 0.30) 0, rgba(206, 192, 177, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(206, 192, 177, 0.31) 0, rgba(206, 192, 177, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(206, 192, 177, 0.52) 0, rgba(206, 192, 177, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(206, 192, 177, 0.49) 0, rgba(206, 192, 177, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(206, 192, 177, 0.43) 0, rgba(206, 192, 177, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(206, 192, 177, 0.32) 0, rgba(206, 192, 177, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(206, 192, 177, 0.39) 0, rgba(206, 192, 177, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(206, 192, 177, 0.41) 0, rgba(206, 192, 177, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(206, 192, 177, 0.51) 0, rgba(206, 192, 177, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(206, 192, 177, 0.50) 0, rgba(206, 192, 177, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(206, 192, 177, 0.44) 0, rgba(206, 192, 177, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(206, 192, 177, 0.44) 0, rgba(206, 192, 177, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(206, 192, 177, 0.39) 0, rgba(206, 192, 177, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(206, 192, 177, 0.32) 0, rgba(206, 192, 177, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 36s;
  --drift-op: 0.60;
  --glow-dur: 28s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🧊 薄荷冰 ===== */
[data-theme="mint"] {
  color-scheme: light;
  --primary: #12b3a0;
  --primary-dark: #0e9686;
  --primary-deep: #109e8d;
  --primary-bg: #e6f8f5;
  --primary-soft: rgba(18, 179, 160, 0.12);
  --blue: #1677ff;
  --bg: #f2f7f6;
  --card: #ffffff;
  --surface: #fafcfc;
  --hover-bg: #f3f7f6;
  --border: #e0ecea;
  --text: #1a2b29;
  --text-sub: #374c49;
  --muted: #83a09c;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e2b3b3;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #e8d09b;
  --side-bg: #123330;
  --side-bg2: #0f2c29;
  --side-text: #d9dede;
  --side-nav: #bdc6c5;
  --side-muted: #849593;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #12b3a0;
  --side-active-text: #ffffff;
  --side-foot-text: #768987;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9ba9a8;
  --login-bg1: #0a2422;
  --login-bg2: #133a36;
  --login-bg3: #0e2c29;
  --login-hero: #e7ebeb;
  --login-hero-sub: #8ea19f;
  --login-point: #b4c1c0;
  --login-point-line: rgba(142, 161, 159, 0.18);
  --login-accent: #a8f0e4;
  --login-link: #abdbd6;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(101, 206, 193, 0.5);
  --login-glass-line2: rgba(101, 206, 193, 0.35);
  --login-yixn: #c5cfce;
  --login-card: #ffffff;
  --login-tab-bg: #f8fbfa;
  --login-tab-text: #647d7a;
  --login-label: #374c49;
  --login-input-bg: #fafcfb;
  --login-input-border: #e0ecea;
  --login-tip: #83a09c;
  --login-divider: #e0ecea;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #203f3c 0%, #123330 58%, #124742 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><g stroke='%23a8f0e4' stroke-width='1.0' fill='none' opacity='0.48' stroke-linecap='round'><path d='M74.5 165.4 L87.2 165.4'/><path d='M80.2 165.4 L82.7 162.5'/><path d='M80.2 165.4 L82.7 168.2'/><path d='M83.6 165.4 L86.2 162.5'/><path d='M83.6 165.4 L86.2 168.2'/><path d='M74.5 165.4 L80.8 176.4'/><path d='M77.3 170.3 L81.1 171.1'/><path d='M77.3 170.3 L76.2 173.9'/><path d='M79.1 173.3 L82.8 174.1'/><path d='M79.1 173.3 L77.9 176.9'/><path d='M74.5 165.4 L68.1 176.4'/><path d='M71.6 170.3 L72.8 173.9'/><path d='M71.6 170.3 L67.9 171.1'/><path d='M69.9 173.3 L71.1 176.9'/><path d='M69.9 173.3 L66.2 174.1'/><path d='M74.5 165.4 L61.8 165.4'/><path d='M68.7 165.4 L66.2 168.2'/><path d='M68.7 165.4 L66.2 162.5'/><path d='M65.3 165.4 L62.8 168.2'/><path d='M65.3 165.4 L62.8 162.5'/><path d='M74.5 165.4 L68.1 154.3'/><path d='M71.6 160.4 L67.9 159.6'/><path d='M71.6 160.4 L72.8 156.8'/><path d='M69.9 157.4 L66.2 156.6'/><path d='M69.9 157.4 L71.1 153.8'/><path d='M74.5 165.4 L80.8 154.3'/><path d='M77.3 160.4 L76.2 156.8'/><path d='M77.3 160.4 L81.1 159.6'/><path d='M79.1 157.4 L77.9 153.8'/><path d='M79.1 157.4 L82.8 156.6'/></g><g stroke='%2376d3c8' stroke-width='1.0' fill='none' opacity='0.50' stroke-linecap='round'><path d='M135.2 172.9 L157.9 172.9'/><path d='M145.4 172.9 L150.0 167.8'/><path d='M145.4 172.9 L150.0 177.9'/><path d='M151.6 172.9 L156.1 167.8'/><path d='M151.6 172.9 L156.1 177.9'/><path d='M135.2 172.9 L146.6 192.5'/><path d='M140.3 181.7 L147.0 183.1'/><path d='M140.3 181.7 L138.2 188.2'/><path d='M143.4 187.0 L150.0 188.4'/><path d='M143.4 187.0 L141.3 193.5'/><path d='M135.2 172.9 L123.9 192.5'/><path d='M130.1 181.7 L132.2 188.2'/><path d='M130.1 181.7 L123.5 183.1'/><path d='M127.1 187.0 L129.2 193.5'/><path d='M127.1 187.0 L120.4 188.4'/><path d='M135.2 172.9 L112.6 172.9'/><path d='M125.0 172.9 L120.5 177.9'/><path d='M125.0 172.9 L120.5 167.8'/><path d='M118.9 172.9 L114.4 177.9'/><path d='M118.9 172.9 L114.4 167.8'/><path d='M135.2 172.9 L123.9 153.2'/><path d='M130.1 164.0 L123.5 162.6'/><path d='M130.1 164.0 L132.2 157.6'/><path d='M127.1 158.7 L120.4 157.3'/><path d='M127.1 158.7 L129.2 152.3'/><path d='M135.2 172.9 L146.6 153.2'/><path d='M140.3 164.0 L138.2 157.6'/><path d='M140.3 164.0 L147.0 162.6'/><path d='M143.4 158.7 L141.3 152.3'/><path d='M143.4 158.7 L150.0 157.3'/></g><g stroke='%23a8f0e4' stroke-width='1.0' fill='none' opacity='0.53' stroke-linecap='round'><path d='M30.5 54.7 L41.7 54.7'/><path d='M35.6 54.7 L37.8 52.2'/><path d='M35.6 54.7 L37.8 57.2'/><path d='M38.6 54.7 L40.8 52.2'/><path d='M38.6 54.7 L40.8 57.2'/><path d='M30.5 54.7 L36.1 64.4'/><path d='M33.1 59.1 L36.3 59.7'/><path d='M33.1 59.1 L32.0 62.2'/><path d='M34.6 61.7 L37.9 62.4'/><path d='M34.6 61.7 L33.5 64.9'/><path d='M30.5 54.7 L24.9 64.4'/><path d='M28.0 59.1 L29.1 62.2'/><path d='M28.0 59.1 L24.7 59.7'/><path d='M26.5 61.7 L27.5 64.9'/><path d='M26.5 61.7 L23.2 62.4'/><path d='M30.5 54.7 L19.3 54.7'/><path d='M25.5 54.7 L23.3 57.2'/><path d='M25.5 54.7 L23.3 52.2'/><path d='M22.5 54.7 L20.2 57.2'/><path d='M22.5 54.7 L20.2 52.2'/><path d='M30.5 54.7 L24.9 45.0'/><path d='M28.0 50.3 L24.7 49.6'/><path d='M28.0 50.3 L29.1 47.1'/><path d='M26.5 47.7 L23.2 47.0'/><path d='M26.5 47.7 L27.5 44.5'/><path d='M30.5 54.7 L36.1 45.0'/><path d='M33.1 50.3 L32.0 47.1'/><path d='M33.1 50.3 L36.3 49.6'/><path d='M34.6 47.7 L33.5 44.5'/><path d='M34.6 47.7 L37.9 47.0'/></g><path d='M15.2 162.1 L46.9 159.2' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M28.8 143.8 L75.8 -66.3' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M67.2 177.0 L106.4 97.4' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M19.3 59.4 L46.9 55.4' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M92.8 188.3 L116.6 135.2' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><circle cx='86.9' cy='45.4' r='1.1' fill='%2376d3c8' opacity='0.27'/><circle cx='83.5' cy='79.4' r='0.9' fill='%2376d3c8' opacity='0.32'/><circle cx='43.6' cy='89.8' r='1.4' fill='%2376d3c8' opacity='0.22'/><circle cx='2.6' cy='110.4' r='0.7' fill='%2376d3c8' opacity='0.35'/><circle cx='21.8' cy='35.9' r='1.0' fill='%2376d3c8' opacity='0.24'/><circle cx='93.0' cy='121.0' r='1.3' fill='%2376d3c8' opacity='0.27'/><circle cx='94.0' cy='2.6' r='1.3' fill='%2376d3c8' opacity='0.40'/><circle cx='35.6' cy='28.3' r='0.8' fill='%2376d3c8' opacity='0.32'/><circle cx='144.4' cy='193.7' r='1.4' fill='%2376d3c8' opacity='0.32'/><circle cx='112.5' cy='106.8' r='1.4' fill='%2376d3c8' opacity='0.41'/><circle cx='91.4' cy='176.8' r='1.0' fill='%2376d3c8' opacity='0.37'/><circle cx='85.9' cy='107.1' r='0.8' fill='%2376d3c8' opacity='0.54'/><circle cx='94.5' cy='100.7' r='1.4' fill='%2376d3c8' opacity='0.45'/><circle cx='2.8' cy='9.3' r='0.7' fill='%2376d3c8' opacity='0.49'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M20 8 L29 13 V23 L20 28 L11 23 V13 Z' fill='none' stroke='%2376d3c8' stroke-width='1.1' opacity='0.14'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(136, 217, 208, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><g stroke='%23a8f0e4' stroke-width='1.0' fill='none' opacity='0.34' stroke-linecap='round'><path d='M255.1 130.3 L268.6 130.3'/><path d='M261.1 130.3 L263.8 127.3'/><path d='M261.1 130.3 L263.8 133.3'/><path d='M264.8 130.3 L267.5 127.3'/><path d='M264.8 130.3 L267.5 133.3'/><path d='M255.1 130.3 L261.8 142.0'/><path d='M258.1 135.6 L262.1 136.4'/><path d='M258.1 135.6 L256.8 139.4'/><path d='M259.9 138.7 L263.9 139.6'/><path d='M259.9 138.7 L258.7 142.6'/><path d='M255.1 130.3 L248.3 142.0'/><path d='M252.0 135.6 L253.3 139.4'/><path d='M252.0 135.6 L248.0 136.4'/><path d='M250.2 138.7 L251.4 142.6'/><path d='M250.2 138.7 L246.2 139.6'/><path d='M255.1 130.3 L241.5 130.3'/><path d='M249.0 130.3 L246.3 133.3'/><path d='M249.0 130.3 L246.3 127.3'/><path d='M245.3 130.3 L242.6 133.3'/><path d='M245.3 130.3 L242.6 127.3'/><path d='M255.1 130.3 L248.3 118.6'/><path d='M252.0 125.0 L248.0 124.2'/><path d='M252.0 125.0 L253.3 121.2'/><path d='M250.2 121.9 L246.2 121.0'/><path d='M250.2 121.9 L251.4 118.0'/><path d='M255.1 130.3 L261.8 118.6'/><path d='M258.1 125.0 L256.8 121.2'/><path d='M258.1 125.0 L262.1 124.2'/><path d='M259.9 121.9 L258.7 118.0'/><path d='M259.9 121.9 L263.9 121.0'/></g><g stroke='%2376d3c8' stroke-width='1.0' fill='none' opacity='0.39' stroke-linecap='round'><path d='M135.6 56.8 L150.6 56.8'/><path d='M142.4 56.8 L145.4 53.4'/><path d='M142.4 56.8 L145.4 60.1'/><path d='M146.4 56.8 L149.4 53.4'/><path d='M146.4 56.8 L149.4 60.1'/><path d='M135.6 56.8 L143.1 69.7'/><path d='M139.0 62.6 L143.4 63.5'/><path d='M139.0 62.6 L137.6 66.9'/><path d='M141.0 66.1 L145.4 67.0'/><path d='M141.0 66.1 L139.6 70.4'/><path d='M135.6 56.8 L128.2 69.7'/><path d='M132.3 62.6 L133.7 66.9'/><path d='M132.3 62.6 L127.9 63.5'/><path d='M130.3 66.1 L131.6 70.4'/><path d='M130.3 66.1 L125.9 67.0'/><path d='M135.6 56.8 L120.7 56.8'/><path d='M128.9 56.8 L125.9 60.1'/><path d='M128.9 56.8 L125.9 53.4'/><path d='M124.9 56.8 L121.9 60.1'/><path d='M124.9 56.8 L121.9 53.4'/><path d='M135.6 56.8 L128.2 43.8'/><path d='M132.3 50.9 L127.9 50.0'/><path d='M132.3 50.9 L133.7 46.7'/><path d='M130.3 47.4 L125.9 46.5'/><path d='M130.3 47.4 L131.6 43.2'/><path d='M135.6 56.8 L143.1 43.8'/><path d='M139.0 50.9 L137.6 46.7'/><path d='M139.0 50.9 L143.4 50.0'/><path d='M141.0 47.4 L139.6 43.2'/><path d='M141.0 47.4 L145.4 46.5'/></g><g stroke='%23a8f0e4' stroke-width='1.0' fill='none' opacity='0.44' stroke-linecap='round'><path d='M329.8 238.0 L350.5 238.0'/><path d='M339.1 238.0 L343.3 233.4'/><path d='M339.1 238.0 L343.3 242.6'/><path d='M344.7 238.0 L348.9 233.4'/><path d='M344.7 238.0 L348.9 242.6'/><path d='M329.8 238.0 L340.1 256.0'/><path d='M334.4 246.1 L340.5 247.4'/><path d='M334.4 246.1 L332.5 252.0'/><path d='M337.2 251.0 L343.3 252.3'/><path d='M337.2 251.0 L335.3 256.9'/><path d='M329.8 238.0 L319.4 256.0'/><path d='M325.1 246.1 L327.0 252.0'/><path d='M325.1 246.1 L319.0 247.4'/><path d='M322.3 251.0 L324.2 256.9'/><path d='M322.3 251.0 L316.2 252.3'/><path d='M329.8 238.0 L309.0 238.0'/><path d='M320.4 238.0 L316.2 242.6'/><path d='M320.4 238.0 L316.2 233.4'/><path d='M314.8 238.0 L310.6 242.6'/><path d='M314.8 238.0 L310.6 233.4'/><path d='M329.8 238.0 L319.4 220.0'/><path d='M325.1 229.9 L319.0 228.6'/><path d='M325.1 229.9 L327.0 224.0'/><path d='M322.3 225.0 L316.2 223.7'/><path d='M322.3 225.0 L324.2 219.1'/><path d='M329.8 238.0 L340.1 220.0'/><path d='M334.4 229.9 L332.5 224.0'/><path d='M334.4 229.9 L340.5 228.6'/><path d='M337.2 225.0 L335.3 219.1'/><path d='M337.2 225.0 L343.3 223.7'/></g><path d='M228.5 29.0 L338.8 -133.5' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M184.6 227.6 L288.3 244.8' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M155.2 325.2 L200.4 120.9' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M363.0 148.2 L405.8 300.0' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><path d='M30.9 85.5 L93.4 238.0' stroke='%23a8f0e4' stroke-width='0.8' opacity='.2' stroke-linecap='round'/><circle cx='72.6' cy='358.0' r='1.3' fill='%2376d3c8' opacity='0.27'/><circle cx='160.4' cy='79.4' r='1.5' fill='%2376d3c8' opacity='0.41'/><circle cx='331.1' cy='185.2' r='1.1' fill='%2376d3c8' opacity='0.49'/><circle cx='341.7' cy='4.0' r='0.7' fill='%2376d3c8' opacity='0.32'/><circle cx='138.6' cy='190.4' r='1.3' fill='%2376d3c8' opacity='0.23'/><circle cx='275.0' cy='284.5' r='1.6' fill='%2376d3c8' opacity='0.40'/><circle cx='373.5' cy='173.2' r='0.8' fill='%2376d3c8' opacity='0.26'/><circle cx='327.2' cy='92.7' r='1.4' fill='%2376d3c8' opacity='0.21'/><circle cx='199.2' cy='3.2' r='1.3' fill='%2376d3c8' opacity='0.56'/><circle cx='5.2' cy='367.4' r='0.9' fill='%2376d3c8' opacity='0.38'/><circle cx='165.3' cy='125.2' r='0.7' fill='%2376d3c8' opacity='0.42'/><circle cx='376.0' cy='372.7' r='0.7' fill='%2376d3c8' opacity='0.60'/><circle cx='6.5' cy='177.6' r='0.7' fill='%2376d3c8' opacity='0.45'/><circle cx='349.6' cy='318.3' r='1.7' fill='%2376d3c8' opacity='0.41'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(18, 179, 160, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(168, 240, 228, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(18, 179, 160, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #eefaf8 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(18, 179, 160, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(168, 240, 228, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 53px 145px, transparent 1.7px, rgba(155, 223, 215, 0.48) 2.5px, transparent 3.1px), radial-gradient(circle at 51px 143px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 52px 58px, transparent 3.4px, rgba(155, 223, 215, 0.55) 5.0px, transparent 6.2px), radial-gradient(circle at 51px 56px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 61px 33px, transparent 2.4px, rgba(155, 223, 215, 0.55) 3.5px, transparent 4.3px), radial-gradient(circle at 60px 32px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 138px 30px, transparent 3.3px, rgba(155, 223, 215, 0.39) 4.8px, transparent 6.0px), radial-gradient(circle at 136px 28px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 129px 141px, transparent 1.9px, rgba(155, 223, 215, 0.58) 2.8px, transparent 3.5px), radial-gradient(circle at 128px 140px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 14px 115px, transparent 2.6px, rgba(155, 223, 215, 0.40) 3.9px, transparent 4.8px), radial-gradient(circle at 13px 114px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 30px 91px, transparent 2.8px, rgba(155, 223, 215, 0.52) 4.1px, transparent 5.1px), radial-gradient(circle at 28px 90px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 88px 54px, transparent 1.7px, rgba(155, 223, 215, 0.44) 2.5px, transparent 3.1px), radial-gradient(circle at 87px 53px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 37px 137px, transparent 2.1px, rgba(155, 223, 215, 0.48) 3.1px, transparent 3.9px), radial-gradient(circle at 35px 136px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 41px 54px, transparent 3.0px, rgba(155, 223, 215, 0.59) 4.4px, transparent 5.5px), radial-gradient(circle at 40px 53px, rgba(155, 223, 215, 0.48) 0, rgba(155, 223, 215, 0.36) 0.9px, transparent 1.4px);
  --drift-size: 150px;
  --drift-dir: -150px;
  --drift-dur: 28s;
  --drift-op: 0.60;
  --glow-dur: 20s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌹 玫瑰粉 ===== */
[data-theme="rose"] {
  color-scheme: light;
  --primary: #e0558a;
  --primary-dark: #c94376;
  --primary-deep: #c54b79;
  --primary-bg: #fdecf3;
  --primary-soft: rgba(224, 85, 138, 0.12);
  --blue: #1677ff;
  --bg: #faf6f8;
  --card: #ffffff;
  --surface: #fdfcfd;
  --hover-bg: #faf6f8;
  --border: #f2e3ea;
  --text: #2c2026;
  --text-sub: #4c3d45;
  --muted: #a08693;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #edadb3;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #f3ca9b;
  --side-bg: #331a26;
  --side-bg2: #2c1621;
  --side-text: #dedadc;
  --side-nav: #c6bfc2;
  --side-muted: #95888e;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #e0558a;
  --side-active-text: #ffffff;
  --side-foot-text: #897a81;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a99fa4;
  --login-bg1: #2a101c;
  --login-bg2: #421a2d;
  --login-bg3: #331322;
  --login-hero: #ece8ea;
  --login-hero-sub: #a5919b;
  --login-point: #c3b7bd;
  --login-point-line: rgba(165, 145, 155, 0.18);
  --login-accent: #ffc4dc;
  --login-link: #e9bfcf;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(235, 144, 179, 0.5);
  --login-glass-line2: rgba(235, 144, 179, 0.35);
  --login-yixn: #d1c7cc;
  --login-card: #ffffff;
  --login-tab-bg: #fcfafc;
  --login-tab-text: #7d6772;
  --login-label: #4c3d45;
  --login-input-bg: #fdfbfc;
  --login-input-border: #f2e3ea;
  --login-tip: #a08693;
  --login-divider: #f2e3ea;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3f2833 0%, #331a26 58%, #4f2336 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M119.2 169.3 Q130.6 158.3 119.2 147.4 Q107.8 158.3 119.2 169.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M119.2 169.3 Q134.4 173.7 138.1 158.3 Q123.0 153.9 119.2 169.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M119.2 169.3 Q123.0 184.6 138.1 180.2 Q134.4 164.9 119.2 169.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M119.2 169.3 Q107.8 180.2 119.2 191.2 Q130.6 180.2 119.2 169.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M119.2 169.3 Q104.0 164.9 100.2 180.2 Q115.4 184.6 119.2 169.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M119.2 169.3 Q115.4 153.9 100.2 158.3 Q104.0 173.7 119.2 169.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M119.2 169.3 Q130.1 163.0 123.4 152.3 Q112.4 158.6 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q131.4 172.6 134.2 160.3 Q122.0 157.0 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q125.5 180.3 136.2 173.5 Q129.9 162.6 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q115.9 181.5 128.2 184.3 Q131.5 172.1 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q108.2 175.6 114.9 186.3 Q125.9 180.0 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q107.0 166.0 104.1 178.3 Q116.3 181.6 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q112.9 158.3 102.2 165.1 Q108.5 176.0 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q122.5 157.1 110.1 154.3 Q106.8 166.5 119.2 169.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M119.2 169.3 Q128.3 166.7 125.3 157.7 Q116.2 160.3 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q128.1 172.6 131.0 163.5 Q122.1 160.3 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q124.5 177.2 132.1 171.6 Q126.8 163.7 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q118.8 178.8 128.3 178.8 Q128.7 169.3 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q113.3 176.8 121.0 182.3 Q126.9 174.9 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q110.0 171.9 113.0 180.9 Q122.1 178.3 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q110.3 166.0 107.3 175.1 Q116.3 178.3 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q113.9 161.4 106.2 167.0 Q111.5 174.9 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q119.5 159.8 110.0 159.8 Q109.7 169.3 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q125.0 161.8 117.3 156.3 Q111.5 163.7 119.2 169.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M119.2 169.3 Q125.5 169.1 125.0 162.8 Q118.7 163.0 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q124.7 172.3 127.5 166.6 Q121.9 163.6 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q122.5 174.7 127.7 171.1 Q124.4 165.7 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q119.4 175.6 125.7 175.2 Q125.5 168.8 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q116.2 174.9 121.9 177.6 Q124.9 172.1 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q113.8 172.6 117.3 177.9 Q122.7 174.5 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q112.8 169.5 113.3 175.8 Q119.6 175.6 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q113.6 166.3 110.8 172.0 Q116.4 175.0 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q115.8 163.9 110.6 167.5 Q113.9 172.8 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q119.0 163.0 112.7 163.4 Q112.9 169.7 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q122.1 163.7 116.5 161.0 Q113.5 166.5 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M119.2 169.3 Q124.5 166.0 121.0 160.7 Q115.6 164.1 119.2 169.3Z' fill='%23ffc4dc' opacity='0.28'/><circle cx='119.2' cy='169.3' r='2.6' fill='%23ffc4dc' opacity='.3'/><path d='M94.5 102.9 Q104.6 93.1 94.5 83.4 Q84.3 93.1 94.5 102.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M94.5 102.9 Q108.0 106.8 111.4 93.1 Q97.8 89.2 94.5 102.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M94.5 102.9 Q97.8 116.6 111.4 112.7 Q108.0 99.0 94.5 102.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M94.5 102.9 Q84.3 112.7 94.5 122.5 Q104.6 112.7 94.5 102.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M94.5 102.9 Q80.9 99.0 77.5 112.7 Q91.1 116.6 94.5 102.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M94.5 102.9 Q91.1 89.2 77.5 93.1 Q80.9 106.8 94.5 102.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M94.5 102.9 Q104.2 97.3 98.2 87.7 Q88.5 93.4 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q105.3 105.9 107.9 94.9 Q97.0 91.9 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q100.1 112.7 109.6 106.7 Q104.0 96.9 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q91.5 113.8 102.5 116.3 Q105.5 105.4 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q84.7 108.5 90.7 118.1 Q100.5 112.5 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q83.6 100.0 81.1 111.0 Q91.9 113.9 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q88.8 93.1 79.3 99.1 Q84.9 108.9 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q97.4 92.0 86.4 89.5 Q83.5 100.4 94.5 102.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M94.5 102.9 Q102.6 100.6 100.0 92.6 Q91.8 94.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q102.4 105.8 105.0 97.8 Q97.1 94.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q99.2 109.9 106.0 104.9 Q101.3 97.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q94.1 111.4 102.6 111.3 Q102.9 102.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q89.2 109.6 96.1 114.5 Q101.3 107.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q86.3 105.2 89.0 113.3 Q97.1 110.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q86.5 100.0 83.9 108.1 Q91.9 111.0 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q89.7 95.9 82.9 100.9 Q87.6 107.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q94.8 94.5 86.3 94.5 Q86.0 102.9 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q99.7 96.3 92.8 91.3 Q87.6 98.0 94.5 102.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M94.5 102.9 Q100.1 102.7 99.7 97.1 Q94.1 97.3 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q99.4 105.6 101.9 100.5 Q96.9 97.8 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q97.4 107.7 102.1 104.5 Q99.1 99.7 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q94.6 108.5 100.3 108.1 Q100.1 102.5 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q91.8 107.9 96.9 110.3 Q99.5 105.4 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q89.7 105.9 92.8 110.6 Q97.6 107.6 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q88.8 103.1 89.2 108.7 Q94.9 108.5 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q89.5 100.3 87.0 105.3 Q92.0 108.0 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q91.5 98.1 86.8 101.3 Q89.8 106.1 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q94.3 97.3 88.6 97.7 Q88.8 103.3 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q97.1 97.9 92.0 95.5 Q89.4 100.4 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M94.5 102.9 Q99.2 99.9 96.1 95.3 Q91.3 98.2 94.5 102.9Z' fill='%23ffc4dc' opacity='0.28'/><circle cx='94.5' cy='102.9' r='2.3' fill='%23ffc4dc' opacity='.3'/><path d='M75.2 61.7 Q81.7 60.8 82.4 52.7 Q75.9 53.7 75.2 61.7Z' fill='%23ffc4dc' opacity='0.18'/><path d='M114.2 123.1 Q118.3 118.9 113.4 114.1 Q109.3 118.3 114.2 123.1Z' fill='%23ffc4dc' opacity='0.18'/><path d='M42.8 95.1 Q39.9 89.0 31.7 90.4 Q34.6 96.5 42.8 95.1Z' fill='%23ffc4dc' opacity='0.18'/><path d='M63.2 76.0 Q69.6 75.7 70.7 68.1 Q64.3 68.3 63.2 76.0Z' fill='%23ffc4dc' opacity='0.18'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%23ed9cbb' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%23ed9cbb' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(240, 170, 196, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M125.5 316.3 Q139.4 303.0 125.5 289.7 Q111.7 303.0 125.5 316.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M125.5 316.3 Q144.0 321.6 148.6 303.0 Q130.1 297.7 125.5 316.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M125.5 316.3 Q130.1 334.9 148.6 329.6 Q144.0 311.0 125.5 316.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M125.5 316.3 Q111.7 329.6 125.5 342.8 Q139.4 329.6 125.5 316.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M125.5 316.3 Q107.1 311.0 102.5 329.6 Q120.9 334.9 125.5 316.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M125.5 316.3 Q120.9 297.7 102.5 303.0 Q107.1 321.6 125.5 316.3Z' fill='%23ed9cbb' opacity='0.14'/><path d='M125.5 316.3 Q138.8 308.6 130.7 295.7 Q117.4 303.3 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q140.3 320.3 143.8 305.3 Q129.0 301.3 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q133.2 329.6 146.2 321.4 Q138.5 308.1 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q121.5 331.1 136.5 334.5 Q140.5 319.7 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q112.3 323.9 120.4 336.9 Q133.7 329.3 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q110.7 312.3 107.3 327.2 Q122.1 331.2 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q117.9 303.0 104.9 311.1 Q112.6 324.4 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q129.5 301.5 114.6 298.1 Q110.6 312.9 125.5 316.3Z' fill='%23ffc4dc' opacity='0.18'/><path d='M125.5 316.3 Q136.6 313.1 133.0 302.2 Q122.0 305.3 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q136.3 320.2 139.9 309.3 Q129.1 305.3 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q132.0 325.8 141.2 319.0 Q134.8 309.5 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q125.1 327.8 136.6 327.7 Q137.0 316.2 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q118.4 325.3 127.8 332.1 Q134.9 323.0 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q114.5 319.4 118.1 330.3 Q129.1 327.2 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q114.7 312.3 111.2 323.3 Q122.0 327.2 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q119.1 306.7 109.8 313.5 Q116.3 323.1 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q126.0 304.8 114.5 304.8 Q114.0 316.3 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q132.6 307.2 123.3 300.5 Q116.2 309.5 125.5 316.3Z' fill='%23ed9cbb' opacity='0.23'/><path d='M125.5 316.3 Q133.2 316.0 132.7 308.4 Q125.0 308.6 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q132.3 319.9 135.7 313.0 Q128.9 309.4 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q129.6 322.8 135.9 318.5 Q131.9 312.0 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q125.8 323.9 133.4 323.4 Q133.2 315.7 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q121.9 323.0 128.8 326.4 Q132.4 319.6 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q119.0 320.3 123.3 326.7 Q129.8 322.6 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q117.9 316.5 118.4 324.2 Q126.1 323.9 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q118.8 312.7 115.4 319.6 Q122.2 323.2 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q121.5 309.8 115.2 314.1 Q119.2 320.6 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q125.3 308.6 117.6 309.2 Q117.9 316.8 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q129.2 309.5 122.3 306.2 Q118.6 312.9 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><path d='M125.5 316.3 Q132.1 312.2 127.8 305.9 Q121.2 309.9 125.5 316.3Z' fill='%23ffc4dc' opacity='0.28'/><circle cx='125.5' cy='316.3' r='3.2' fill='%23ffc4dc' opacity='.3'/><path d='M344.0 184.9 Q358.4 171.1 344.0 157.4 Q329.7 171.1 344.0 184.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M344.0 184.9 Q363.1 190.4 367.9 171.1 Q348.8 165.6 344.0 184.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M344.0 184.9 Q348.8 204.2 367.9 198.7 Q363.1 179.4 344.0 184.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M344.0 184.9 Q329.7 198.7 344.0 212.5 Q358.4 198.7 344.0 184.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M344.0 184.9 Q324.9 179.4 320.2 198.7 Q339.3 204.2 344.0 184.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M344.0 184.9 Q339.3 165.6 320.2 171.1 Q324.9 190.4 344.0 184.9Z' fill='%23ed9cbb' opacity='0.14'/><path d='M344.0 184.9 Q357.8 177.0 349.4 163.5 Q335.6 171.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q359.4 189.1 362.9 173.6 Q347.6 169.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q351.9 198.7 365.4 190.2 Q357.5 176.5 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q339.9 200.3 355.4 203.8 Q359.5 188.5 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q330.2 192.8 338.7 206.3 Q352.5 198.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q328.7 180.8 325.1 196.3 Q340.5 200.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q336.1 171.1 322.6 179.6 Q330.6 193.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q348.2 169.6 332.7 166.0 Q328.5 181.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.18'/><path d='M344.0 184.9 Q355.5 181.6 351.8 170.3 Q340.3 173.6 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q355.2 189.0 358.9 177.7 Q347.7 173.6 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q350.7 194.8 360.3 187.8 Q353.7 177.9 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q343.6 196.8 355.5 196.8 Q355.9 184.9 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q336.7 194.3 346.3 201.3 Q353.7 191.9 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q332.6 188.2 336.3 199.5 Q347.7 196.2 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q332.8 180.8 329.2 192.2 Q340.4 196.3 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q337.4 175.0 327.7 182.0 Q334.4 191.9 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q344.5 173.0 332.5 173.0 Q332.1 184.9 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q351.4 175.5 341.7 168.5 Q334.4 177.9 344.0 184.9Z' fill='%23ed9cbb' opacity='0.23'/><path d='M344.0 184.9 Q352.0 184.7 351.4 176.7 Q343.5 177.0 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q351.0 188.7 354.5 181.5 Q347.5 177.8 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q348.2 191.7 354.8 187.2 Q350.6 180.5 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q344.3 192.9 352.2 192.3 Q352.0 184.3 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q340.3 191.9 347.4 195.4 Q351.2 188.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q337.3 189.1 341.7 195.7 Q348.5 191.5 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q336.1 185.2 336.7 193.1 Q344.6 192.8 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q337.0 181.2 333.5 188.3 Q340.6 192.1 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q339.8 178.2 333.2 182.6 Q337.4 189.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q343.8 177.0 335.8 177.5 Q336.1 185.5 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q347.8 177.9 340.6 174.4 Q336.9 181.4 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><path d='M344.0 184.9 Q350.8 180.7 346.3 174.1 Q339.6 178.3 344.0 184.9Z' fill='%23ffc4dc' opacity='0.28'/><circle cx='344.0' cy='184.9' r='3.3' fill='%23ffc4dc' opacity='.3'/><path d='M77.2 332.2 Q81.4 337.6 89.2 334.5 Q85.0 329.1 77.2 332.2Z' fill='%23ffc4dc' opacity='0.18'/><path d='M328.6 225.1 Q323.1 223.4 321.7 229.9 Q327.2 231.6 328.6 225.1Z' fill='%23ffc4dc' opacity='0.18'/><path d='M250.3 131.1 Q248.3 138.0 255.5 143.4 Q257.5 136.5 250.3 131.1Z' fill='%23ffc4dc' opacity='0.18'/><path d='M357.9 251.9 Q364.7 254.8 371.6 248.4 Q364.8 245.5 357.9 251.9Z' fill='%23ffc4dc' opacity='0.18'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(224, 85, 138, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(255, 196, 220, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(224, 85, 138, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #fdf3f7 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(224, 85, 138, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(255, 196, 220, 0.08), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌲 松柏墨绿 ===== */
[data-theme="pine"] {
  color-scheme: dark;
  --primary: #4caf7d;
  --primary-dark: #3d9067;
  --primary-deep: #439a6e;
  --primary-bg: rgba(76,175,125,0.14);
  --primary-soft: rgba(76, 175, 125, 0.18);
  --blue: #6ba4ff;
  --bg: #121815;
  --card: #272c2a;
  --surface: #202523;
  --hover-bg: #202623;
  --border: #434745;
  --text: #e4ece7;
  --text-sub: #cad5ce;
  --muted: #87998f;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #413432;
  --danger-text: #ff9f9f;
  --danger-border: #855452;
  --warn-bg: #413c2d;
  --warn-text: #ffca79;
  --warn-border: #8e7243;
  --side-bg: #0d130f;
  --side-bg2: #0b100d;
  --side-text: #d8d9d9;
  --side-nav: #bbbdbc;
  --side-muted: #818482;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #4caf7d;
  --side-active-text: #ffffff;
  --side-foot-text: #737674;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #999c9a;
  --login-bg1: #08120c;
  --login-bg2: #0f1d15;
  --login-bg3: #0b1610;
  --login-hero: #e7e8e8;
  --login-hero-sub: #8c938f;
  --login-point: #b3b7b5;
  --login-point-line: rgba(140, 147, 143, 0.18);
  --login-accent: #bfe8cf;
  --login-link: #bcd8ca;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(139, 203, 170, 0.5);
  --login-glass-line2: rgba(139, 203, 170, 0.35);
  --login-yixn: #c4c8c6;
  --login-card: #272c2a;
  --login-tab-bg: #1c2220;
  --login-tab-text: #a3b2a9;
  --login-label: #cad5ce;
  --login-input-bg: #1f2422;
  --login-input-border: #434745;
  --login-tip: #87998f;
  --login-divider: #434745;
  --input-bg: #272c2a;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #1c211d 0%, #0d130f 58%, #172c21 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M26.1 113.1 Q61.6 109.2 97.2 81.3' stroke='%2397d1b4' stroke-width='1.6' fill='none' opacity='.42' stroke-linecap='round'/><path d='M40.3 110.1 L25.3 108.6' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.23' stroke-linecap='round'/><path d='M40.3 110.1 L26.2 104.8' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.41' stroke-linecap='round'/><path d='M40.3 110.1 L28.1 101.3' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.38' stroke-linecap='round'/><path d='M40.3 110.1 L30.8 98.5' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.34' stroke-linecap='round'/><path d='M40.3 110.1 L34.2 96.4' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.24' stroke-linecap='round'/><path d='M40.3 110.1 L37.9 95.3' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.41' stroke-linecap='round'/><path d='M40.3 110.1 L41.8 95.2' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.30' stroke-linecap='round'/><path d='M64.0 102.2 L50.6 100.8' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.23' stroke-linecap='round'/><path d='M64.0 102.2 L51.5 97.4' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.38' stroke-linecap='round'/><path d='M64.0 102.2 L53.1 94.3' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.27' stroke-linecap='round'/><path d='M64.0 102.2 L55.5 91.7' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.29' stroke-linecap='round'/><path d='M64.0 102.2 L58.5 89.9' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.34' stroke-linecap='round'/><path d='M64.0 102.2 L61.9 88.9' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.29' stroke-linecap='round'/><path d='M64.0 102.2 L65.4 88.8' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.35' stroke-linecap='round'/><path d='M87.7 88.6 L75.9 87.4' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.39' stroke-linecap='round'/><path d='M87.7 88.6 L76.7 84.4' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.38' stroke-linecap='round'/><path d='M87.7 88.6 L78.1 81.7' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.31' stroke-linecap='round'/><path d='M87.7 88.6 L80.3 79.5' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.23' stroke-linecap='round'/><path d='M87.7 88.6 L82.9 77.8' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.41' stroke-linecap='round'/><path d='M87.7 88.6 L85.9 77.0' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.36' stroke-linecap='round'/><path d='M87.7 88.6 L88.9 76.9' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.29' stroke-linecap='round'/><path d='M30.7 109.1 Q58.8 129.0 86.9 124.9' stroke='%2397d1b4' stroke-width='1.6' fill='none' opacity='.42' stroke-linecap='round'/><path d='M41.9 115.6 L31.4 104.9' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.33' stroke-linecap='round'/><path d='M41.9 115.6 L34.6 102.5' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.32' stroke-linecap='round'/><path d='M41.9 115.6 L38.2 101.1' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.33' stroke-linecap='round'/><path d='M41.9 115.6 L42.1 100.6' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.36' stroke-linecap='round'/><path d='M41.9 115.6 L46.0 101.2' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.39' stroke-linecap='round'/><path d='M41.9 115.6 L49.6 102.7' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.40' stroke-linecap='round'/><path d='M41.9 115.6 L52.7 105.1' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.24' stroke-linecap='round'/><path d='M60.7 123.5 L51.3 113.9' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.29' stroke-linecap='round'/><path d='M60.7 123.5 L54.1 111.8' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.26' stroke-linecap='round'/><path d='M60.7 123.5 L57.4 110.5' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.42' stroke-linecap='round'/><path d='M60.7 123.5 L60.8 110.1' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.30' stroke-linecap='round'/><path d='M60.7 123.5 L64.3 110.6' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.41' stroke-linecap='round'/><path d='M60.7 123.5 L67.5 112.0' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.41' stroke-linecap='round'/><path d='M60.7 123.5 L70.3 114.2' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.31' stroke-linecap='round'/><path d='M79.4 125.9 L71.1 117.4' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.36' stroke-linecap='round'/><path d='M79.4 125.9 L73.6 115.6' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.37' stroke-linecap='round'/><path d='M79.4 125.9 L76.5 114.4' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.29' stroke-linecap='round'/><path d='M79.4 125.9 L79.5 114.1' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.31' stroke-linecap='round'/><path d='M79.4 125.9 L82.6 114.5' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.29' stroke-linecap='round'/><path d='M79.4 125.9 L85.4 115.7' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.32' stroke-linecap='round'/><path d='M79.4 125.9 L87.9 117.7' stroke='%23bfe8cf' stroke-width='0.8' opacity='0.36' stroke-linecap='round'/><ellipse cx='131.8' cy='133.0' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-33 131.8 136.4)'/><ellipse cx='131.8' cy='133.0' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-11 131.8 136.4)'/><ellipse cx='131.8' cy='133.0' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(11 131.8 136.4)'/><ellipse cx='131.8' cy='133.0' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(33 131.8 136.4)'/><ellipse cx='131.8' cy='135.4' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-33 131.8 136.4)'/><ellipse cx='131.8' cy='135.4' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-11 131.8 136.4)'/><ellipse cx='131.8' cy='135.4' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(11 131.8 136.4)'/><ellipse cx='131.8' cy='135.4' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(33 131.8 136.4)'/><ellipse cx='131.8' cy='137.8' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-33 131.8 136.4)'/><ellipse cx='131.8' cy='137.8' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-11 131.8 136.4)'/><ellipse cx='131.8' cy='137.8' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(11 131.8 136.4)'/><ellipse cx='131.8' cy='137.8' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(33 131.8 136.4)'/><ellipse cx='131.8' cy='140.2' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-33 131.8 136.4)'/><ellipse cx='131.8' cy='140.2' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-11 131.8 136.4)'/><ellipse cx='131.8' cy='140.2' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(11 131.8 136.4)'/><ellipse cx='131.8' cy='140.2' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(33 131.8 136.4)'/><ellipse cx='131.8' cy='142.5' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-33 131.8 136.4)'/><ellipse cx='131.8' cy='142.5' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(-11 131.8 136.4)'/><ellipse cx='131.8' cy='142.5' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(11 131.8 136.4)'/><ellipse cx='131.8' cy='142.5' rx='1.4' ry='2.2' fill='%2397d1b4' opacity='.2' transform='rotate(33 131.8 136.4)'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%2397d1b4' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%2397d1b4' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(166, 215, 190, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M81.4 166.5 Q129.0 168.0 176.7 145.6' stroke='%2397d1b4' stroke-width='2.4' fill='none' opacity='.42' stroke-linecap='round'/><path d='M92.9 166.1 L69.0 158.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.35' stroke-linecap='round'/><path d='M92.9 166.1 L71.8 152.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M92.9 166.1 L76.0 147.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M92.9 166.1 L81.3 143.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.37' stroke-linecap='round'/><path d='M92.9 166.1 L87.5 141.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M92.9 166.1 L94.0 141.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.24' stroke-linecap='round'/><path d='M92.9 166.1 L100.5 142.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M111.9 164.7 L89.5 157.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.39' stroke-linecap='round'/><path d='M111.9 164.7 L92.1 152.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.32' stroke-linecap='round'/><path d='M111.9 164.7 L96.1 147.3' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M111.9 164.7 L101.1 143.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.28' stroke-linecap='round'/><path d='M111.9 164.7 L106.9 141.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.29' stroke-linecap='round'/><path d='M111.9 164.7 L113.0 141.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.24' stroke-linecap='round'/><path d='M111.9 164.7 L119.0 142.3' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.26' stroke-linecap='round'/><path d='M131.0 161.6 L110.0 155.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.41' stroke-linecap='round'/><path d='M131.0 161.6 L112.5 149.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.39' stroke-linecap='round'/><path d='M131.0 161.6 L116.2 145.4' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.27' stroke-linecap='round'/><path d='M131.0 161.6 L120.9 142.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M131.0 161.6 L126.3 140.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M131.0 161.6 L132.0 139.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.32' stroke-linecap='round'/><path d='M131.0 161.6 L137.6 140.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.37' stroke-linecap='round'/><path d='M150.0 156.4 L130.6 150.3' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.37' stroke-linecap='round'/><path d='M150.0 156.4 L132.8 145.4' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.35' stroke-linecap='round'/><path d='M150.0 156.4 L136.3 141.4' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.29' stroke-linecap='round'/><path d='M150.0 156.4 L140.6 138.3' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M150.0 156.4 L145.6 136.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.33' stroke-linecap='round'/><path d='M150.0 156.4 L150.9 136.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M150.0 156.4 L156.2 137.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.37' stroke-linecap='round'/><path d='M169.0 149.5 L151.1 143.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.41' stroke-linecap='round'/><path d='M169.0 149.5 L153.2 139.3' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><path d='M169.0 149.5 L156.4 135.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M169.0 149.5 L160.4 132.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.28' stroke-linecap='round'/><path d='M169.0 149.5 L165.0 131.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.26' stroke-linecap='round'/><path d='M169.0 149.5 L169.9 130.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.34' stroke-linecap='round'/><path d='M169.0 149.5 L174.7 131.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M22.9 170.0 Q84.8 198.1 146.8 202.2' stroke='%2397d1b4' stroke-width='2.4' fill='none' opacity='.42' stroke-linecap='round'/><path d='M37.7 176.0 L19.9 158.4' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M37.7 176.0 L25.1 154.4' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M37.7 176.0 L31.1 151.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.32' stroke-linecap='round'/><path d='M37.7 176.0 L37.6 150.9' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.33' stroke-linecap='round'/><path d='M37.7 176.0 L44.1 151.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.33' stroke-linecap='round'/><path d='M37.7 176.0 L50.1 154.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.27' stroke-linecap='round'/><path d='M37.7 176.0 L55.3 158.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M62.5 185.2 L45.8 168.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M62.5 185.2 L50.6 165.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.33' stroke-linecap='round'/><path d='M62.5 185.2 L56.3 162.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.32' stroke-linecap='round'/><path d='M62.5 185.2 L62.4 161.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><path d='M62.5 185.2 L68.4 162.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M62.5 185.2 L74.1 164.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.27' stroke-linecap='round'/><path d='M62.5 185.2 L79.0 168.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.28' stroke-linecap='round'/><path d='M87.3 192.8 L71.7 177.4' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><path d='M87.3 192.8 L76.2 173.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.39' stroke-linecap='round'/><path d='M87.3 192.8 L81.5 171.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.37' stroke-linecap='round'/><path d='M87.3 192.8 L87.2 170.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.22' stroke-linecap='round'/><path d='M87.3 192.8 L92.8 171.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.30' stroke-linecap='round'/><path d='M87.3 192.8 L98.2 173.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><path d='M87.3 192.8 L102.7 177.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><path d='M112.1 198.2 L97.6 183.9' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.26' stroke-linecap='round'/><path d='M112.1 198.2 L101.8 180.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.37' stroke-linecap='round'/><path d='M112.1 198.2 L106.7 178.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.36' stroke-linecap='round'/><path d='M112.1 198.2 L112.0 177.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.29' stroke-linecap='round'/><path d='M112.1 198.2 L117.2 178.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.28' stroke-linecap='round'/><path d='M112.1 198.2 L122.2 180.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.42' stroke-linecap='round'/><path d='M112.1 198.2 L126.4 183.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.37' stroke-linecap='round'/><path d='M136.9 201.9 L123.5 188.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.27' stroke-linecap='round'/><path d='M136.9 201.9 L127.4 185.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M136.9 201.9 L131.9 183.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.29' stroke-linecap='round'/><path d='M136.9 201.9 L136.8 183.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.32' stroke-linecap='round'/><path d='M136.9 201.9 L141.6 183.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.27' stroke-linecap='round'/><path d='M136.9 201.9 L146.2 185.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.23' stroke-linecap='round'/><path d='M136.9 201.9 L150.1 188.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><path d='M82.6 231.1 Q140.2 220.2 197.8 185.4' stroke='%2397d1b4' stroke-width='2.4' fill='none' opacity='.42' stroke-linecap='round'/><path d='M96.4 227.7 L71.6 224.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.30' stroke-linecap='round'/><path d='M96.4 227.7 L73.4 217.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.24' stroke-linecap='round'/><path d='M96.4 227.7 L76.8 212.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M96.4 227.7 L81.5 207.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.33' stroke-linecap='round'/><path d='M96.4 227.7 L87.2 204.4' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.24' stroke-linecap='round'/><path d='M96.4 227.7 L93.5 202.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M96.4 227.7 L100.1 202.9' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.41' stroke-linecap='round'/><path d='M119.5 221.4 L96.2 218.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><path d='M119.5 221.4 L97.9 212.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.32' stroke-linecap='round'/><path d='M119.5 221.4 L101.0 206.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.32' stroke-linecap='round'/><path d='M119.5 221.4 L105.4 202.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.41' stroke-linecap='round'/><path d='M119.5 221.4 L110.8 199.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.29' stroke-linecap='round'/><path d='M119.5 221.4 L116.8 198.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.33' stroke-linecap='round'/><path d='M119.5 221.4 L122.9 198.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.41' stroke-linecap='round'/><path d='M142.5 213.3 L120.8 210.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.24' stroke-linecap='round'/><path d='M142.5 213.3 L122.4 204.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.39' stroke-linecap='round'/><path d='M142.5 213.3 L125.3 199.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.25' stroke-linecap='round'/><path d='M142.5 213.3 L129.4 195.7' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M142.5 213.3 L134.4 192.9' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.36' stroke-linecap='round'/><path d='M142.5 213.3 L140.0 191.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.24' stroke-linecap='round'/><path d='M142.5 213.3 L145.7 191.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M165.6 203.2 L145.4 200.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M165.6 203.2 L146.8 195.1' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.34' stroke-linecap='round'/><path d='M165.6 203.2 L149.6 190.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.36' stroke-linecap='round'/><path d='M165.6 203.2 L153.4 186.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.26' stroke-linecap='round'/><path d='M165.6 203.2 L158.0 184.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.34' stroke-linecap='round'/><path d='M165.6 203.2 L163.2 182.9' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.42' stroke-linecap='round'/><path d='M165.6 203.2 L168.5 183.0' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.38' stroke-linecap='round'/><path d='M188.6 191.3 L170.0 188.5' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.23' stroke-linecap='round'/><path d='M188.6 191.3 L171.3 183.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.41' stroke-linecap='round'/><path d='M188.6 191.3 L173.8 179.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M188.6 191.3 L177.4 176.2' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.29' stroke-linecap='round'/><path d='M188.6 191.3 L181.7 173.8' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.40' stroke-linecap='round'/><path d='M188.6 191.3 L186.4 172.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.39' stroke-linecap='round'/><path d='M188.6 191.3 L191.3 172.6' stroke='%23bfe8cf' stroke-width='1.2' opacity='0.31' stroke-linecap='round'/><ellipse cx='345.4' cy='318.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-33 345.4 324.3)'/><ellipse cx='345.4' cy='318.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-11 345.4 324.3)'/><ellipse cx='345.4' cy='318.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(11 345.4 324.3)'/><ellipse cx='345.4' cy='318.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(33 345.4 324.3)'/><ellipse cx='345.4' cy='322.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-33 345.4 324.3)'/><ellipse cx='345.4' cy='322.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-11 345.4 324.3)'/><ellipse cx='345.4' cy='322.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(11 345.4 324.3)'/><ellipse cx='345.4' cy='322.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(33 345.4 324.3)'/><ellipse cx='345.4' cy='326.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-33 345.4 324.3)'/><ellipse cx='345.4' cy='326.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-11 345.4 324.3)'/><ellipse cx='345.4' cy='326.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(11 345.4 324.3)'/><ellipse cx='345.4' cy='326.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(33 345.4 324.3)'/><ellipse cx='345.4' cy='330.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-33 345.4 324.3)'/><ellipse cx='345.4' cy='330.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-11 345.4 324.3)'/><ellipse cx='345.4' cy='330.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(11 345.4 324.3)'/><ellipse cx='345.4' cy='330.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(33 345.4 324.3)'/><ellipse cx='345.4' cy='334.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-33 345.4 324.3)'/><ellipse cx='345.4' cy='334.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(-11 345.4 324.3)'/><ellipse cx='345.4' cy='334.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(11 345.4 324.3)'/><ellipse cx='345.4' cy='334.6' rx='2.3' ry='3.7' fill='%2397d1b4' opacity='.2' transform='rotate(33 345.4 324.3)'/><ellipse cx='364.6' cy='287.0' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-33 364.6 291.9)'/><ellipse cx='364.6' cy='287.0' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-11 364.6 291.9)'/><ellipse cx='364.6' cy='287.0' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(11 364.6 291.9)'/><ellipse cx='364.6' cy='287.0' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(33 364.6 291.9)'/><ellipse cx='364.6' cy='290.4' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-33 364.6 291.9)'/><ellipse cx='364.6' cy='290.4' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-11 364.6 291.9)'/><ellipse cx='364.6' cy='290.4' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(11 364.6 291.9)'/><ellipse cx='364.6' cy='290.4' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(33 364.6 291.9)'/><ellipse cx='364.6' cy='293.8' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-33 364.6 291.9)'/><ellipse cx='364.6' cy='293.8' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-11 364.6 291.9)'/><ellipse cx='364.6' cy='293.8' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(11 364.6 291.9)'/><ellipse cx='364.6' cy='293.8' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(33 364.6 291.9)'/><ellipse cx='364.6' cy='297.2' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-33 364.6 291.9)'/><ellipse cx='364.6' cy='297.2' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-11 364.6 291.9)'/><ellipse cx='364.6' cy='297.2' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(11 364.6 291.9)'/><ellipse cx='364.6' cy='297.2' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(33 364.6 291.9)'/><ellipse cx='364.6' cy='300.5' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-33 364.6 291.9)'/><ellipse cx='364.6' cy='300.5' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(-11 364.6 291.9)'/><ellipse cx='364.6' cy='300.5' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(11 364.6 291.9)'/><ellipse cx='364.6' cy='300.5' rx='1.9' ry='3.1' fill='%2397d1b4' opacity='.2' transform='rotate(33 364.6 291.9)'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(76, 175, 125, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(191, 232, 207, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(76, 175, 125, 0.16), transparent 56%);
  --login-art-pos: right bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #272c2a 0%, #2b3932 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(76, 175, 125, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(191, 232, 207, 0.13), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(180, 221, 200, 0.41) 0, rgba(180, 221, 200, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(180, 221, 200, 0.42) 0, rgba(180, 221, 200, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(180, 221, 200, 0.37) 0, rgba(180, 221, 200, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(180, 221, 200, 0.36) 0, rgba(180, 221, 200, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(180, 221, 200, 0.52) 0, rgba(180, 221, 200, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(180, 221, 200, 0.29) 0, rgba(180, 221, 200, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(180, 221, 200, 0.28) 0, rgba(180, 221, 200, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(180, 221, 200, 0.40) 0, rgba(180, 221, 200, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(180, 221, 200, 0.30) 0, rgba(180, 221, 200, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(180, 221, 200, 0.31) 0, rgba(180, 221, 200, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(180, 221, 200, 0.52) 0, rgba(180, 221, 200, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(180, 221, 200, 0.49) 0, rgba(180, 221, 200, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(180, 221, 200, 0.43) 0, rgba(180, 221, 200, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(180, 221, 200, 0.32) 0, rgba(180, 221, 200, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(180, 221, 200, 0.39) 0, rgba(180, 221, 200, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(180, 221, 200, 0.41) 0, rgba(180, 221, 200, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(180, 221, 200, 0.51) 0, rgba(180, 221, 200, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(180, 221, 200, 0.50) 0, rgba(180, 221, 200, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(180, 221, 200, 0.44) 0, rgba(180, 221, 200, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(180, 221, 200, 0.44) 0, rgba(180, 221, 200, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(180, 221, 200, 0.39) 0, rgba(180, 221, 200, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(180, 221, 200, 0.32) 0, rgba(180, 221, 200, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 34s;
  --drift-op: 0.60;
  --glow-dur: 26s;
  --tint-blue: #474c4c;
  --tint-blue-bd: #6b7481;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #484b4c;
  --tint-purple-bd: #74707d;
  --tint-purple-tx: #b097d9;
  --tint-teal: #474d4b;
  --tint-teal-bd: #667b77;
  --tint-teal-tx: #7db9b0;
  --tint-green: #474c49;
  --tint-green-bd: #6a7b6b;
  --tint-green-tx: #85b795;
  --tint-gray: #484c4b;
  --tint-gray-bd: #737778;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #4a4c48;
  --tint-orange-bd: #7f7667;
  --tint-orange-tx: #cca680;
  --tint-red: #4a4b49;
  --tint-red-bd: #7f716f;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #4a4c48;
  --tint-yellow-bd: #7f7864;
  --tint-yellow-tx: #c0af80;
}

/* ===== 🟡 琥珀金 ===== */
[data-theme="amber"] {
  color-scheme: light;
  --primary: #c98a12;
  --primary-dark: #a9720d;
  --primary-deep: #95660d;
  --primary-bg: #fdf5e3;
  --primary-soft: rgba(201, 138, 18, 0.12);
  --blue: #1677ff;
  --bg: #fbf8f1;
  --card: #fffefb;
  --surface: #fefcf8;
  --hover-bg: #fbf8f2;
  --border: #eee4cd;
  --text: #2b2519;
  --text-sub: #494131;
  --muted: #968a6f;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #ebada0;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #f1cb89;
  --side-bg: #332913;
  --side-bg2: #2c2310;
  --side-text: #deddd9;
  --side-nav: #c6c3bd;
  --side-muted: #959084;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #c98a12;
  --side-active-text: #ffffff;
  --side-foot-text: #898376;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a9a59c;
  --login-bg1: #261d0a;
  --login-bg2: #3d3014;
  --login-bg3: #2f240e;
  --login-hero: #eceae8;
  --login-hero-sub: #a29c8f;
  --login-point: #c2bdb5;
  --login-point-line: rgba(162, 156, 143, 0.18);
  --login-accent: #ffe6a3;
  --login-link: #e2cfac;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(220, 179, 101, 0.5);
  --login-glass-line2: rgba(220, 179, 101, 0.35);
  --login-yixn: #d0ccc6;
  --login-card: #ffffff;
  --login-tab-bg: #fdfcf8;
  --login-tab-text: #766c55;
  --login-label: #494131;
  --login-input-bg: #fdfcf9;
  --login-input-border: #eee4cd;
  --login-tip: #968a6f;
  --login-divider: #eee4cd;
  --input-bg: #fffefb;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3f3621 0%, #332913 58%, #4b3913 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M101.7 18.6 L90.6 40.0 L70.9 35.5 L52.9 27.7 L70.1 7.5 L96.2 -0.5 Z' fill='%23e0bb76' opacity='0.088'/><path d='M101.2 89.6 L94.0 102.1 L84.7 99.6 L75.1 94.1 L84.6 84.4 L95.0 74.9 Z' fill='%23e0bb76' opacity='0.162'/><path d='M171.9 70.5 L150.1 83.7 L133.8 86.2 L128.3 66.5 L131.7 48.9 L159.6 38.8 Z' fill='%23e0bb76' opacity='0.185'/><path d='M117.8 148.7 L116.7 165.5 L77.8 168.0 L71.6 143.7 L83.2 131.5 L112.7 134.7 Z' fill='%23e0bb76' opacity='0.120'/><path d='M137.9 55.9 L197.0 50.2' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M130.8 78.3 L181.6 121.6' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M106.3 88.8 L100.6 190.0' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M86.1 79.3 L8.8 151.4' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M78.0 57.7 L10.9 55.3' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M87.0 37.4 L28.8 -22.0' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M110.2 28.9 L118.1 -77.0' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M127.5 36.0 L190.3 -37.5' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><circle cx='88.9' cy='63.5' r='0.9' fill='%23ffe6a3' opacity='0.52'/><circle cx='143.9' cy='173.0' r='1.9' fill='%23ffe6a3' opacity='0.28'/><circle cx='78.9' cy='38.5' r='1.9' fill='%23ffe6a3' opacity='0.59'/><circle cx='30.4' cy='207.6' r='1.3' fill='%23ffe6a3' opacity='0.22'/><circle cx='36.7' cy='12.6' r='2.0' fill='%23ffe6a3' opacity='0.59'/><circle cx='116.7' cy='130.8' r='1.2' fill='%23ffe6a3' opacity='0.24'/><circle cx='39.3' cy='106.7' r='1.8' fill='%23ffe6a3' opacity='0.22'/><circle cx='67.4' cy='98.1' r='1.1' fill='%23ffe6a3' opacity='0.57'/><circle cx='14.7' cy='21.4' r='1.7' fill='%23ffe6a3' opacity='0.64'/><circle cx='65.9' cy='201.9' r='1.7' fill='%23ffe6a3' opacity='0.58'/><circle cx='101.1' cy='38.9' r='2.0' fill='%23ffe6a3' opacity='0.55'/><circle cx='8.0' cy='200.2' r='1.5' fill='%23ffe6a3' opacity='0.39'/><circle cx='131.9' cy='140.3' r='1.7' fill='%23ffe6a3' opacity='0.35'/><circle cx='115.8' cy='162.8' r='1.4' fill='%23ffe6a3' opacity='0.30'/><circle cx='112.7' cy='32.7' r='1.8' fill='%23ffe6a3' opacity='0.44'/><circle cx='38.9' cy='114.0' r='1.2' fill='%23ffe6a3' opacity='0.36'/><circle cx='116.8' cy='66.5' r='1.7' fill='%23ffe6a3' opacity='0.39'/><circle cx='98.9' cy='97.7' r='1.9' fill='%23ffe6a3' opacity='0.39'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='10' cy='10' r='1.2' fill='%23e0bb76' opacity='0.25'/><circle cx='30' cy='24' r='0.9' fill='%23e0bb76' opacity='0.17'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(228, 196, 136, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M217.9 391.5 L205.9 409.9 L194.7 405.7 L186.5 393.5 L192.9 374.4 L204.2 382.6 Z' fill='%23e0bb76' opacity='0.143'/><path d='M367.8 61.8 L364.7 72.5 L348.8 72.3 L345.2 63.1 L352.3 49.1 L362.7 55.5 Z' fill='%23e0bb76' opacity='0.184'/><path d='M244.1 376.3 L235.0 392.1 L213.2 386.9 L202.3 376.2 L217.4 357.6 L231.7 354.4 Z' fill='%23e0bb76' opacity='0.144'/><path d='M305.0 71.1 L297.9 83.1 L271.6 92.1 L264.7 61.7 L270.8 49.0 L299.1 49.9 Z' fill='%23e0bb76' opacity='0.095'/><path d='M332.3 115.2 L395.6 110.2' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M322.0 140.3 L361.4 186.1' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M303.7 147.6 L306.3 206.9' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M281.7 139.3 L212.6 211.8' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M272.4 118.8 L183.5 122.3' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M283.5 94.3 L238.6 38.9' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M299.6 87.7 L294.3 32.5' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><path d='M322.0 94.9 L381.4 25.9' stroke='%23ffe6a3' stroke-width='1.2' opacity='.13' stroke-linecap='round'/><circle cx='200.6' cy='6.3' r='1.0' fill='%23ffe6a3' opacity='0.60'/><circle cx='378.3' cy='149.5' r='1.8' fill='%23ffe6a3' opacity='0.68'/><circle cx='16.4' cy='157.5' r='1.2' fill='%23ffe6a3' opacity='0.47'/><circle cx='189.6' cy='260.7' r='1.5' fill='%23ffe6a3' opacity='0.44'/><circle cx='119.7' cy='259.4' r='1.3' fill='%23ffe6a3' opacity='0.52'/><circle cx='93.9' cy='30.2' r='1.5' fill='%23ffe6a3' opacity='0.33'/><circle cx='408.2' cy='358.9' r='1.2' fill='%23ffe6a3' opacity='0.32'/><circle cx='413.8' cy='347.8' r='1.3' fill='%23ffe6a3' opacity='0.35'/><circle cx='175.5' cy='283.3' r='1.2' fill='%23ffe6a3' opacity='0.37'/><circle cx='102.5' cy='135.4' r='1.4' fill='%23ffe6a3' opacity='0.70'/><circle cx='270.5' cy='82.7' r='1.0' fill='%23ffe6a3' opacity='0.53'/><circle cx='398.7' cy='42.8' r='1.8' fill='%23ffe6a3' opacity='0.44'/><circle cx='376.0' cy='336.2' r='1.5' fill='%23ffe6a3' opacity='0.60'/><circle cx='149.2' cy='261.1' r='1.9' fill='%23ffe6a3' opacity='0.49'/><circle cx='299.4' cy='224.9' r='1.2' fill='%23ffe6a3' opacity='0.61'/><circle cx='273.1' cy='102.4' r='1.8' fill='%23ffe6a3' opacity='0.43'/><circle cx='41.9' cy='314.9' r='1.1' fill='%23ffe6a3' opacity='0.21'/><circle cx='135.9' cy='411.3' r='0.8' fill='%23ffe6a3' opacity='0.26'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(201, 138, 18, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(255, 230, 163, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(201, 138, 18, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #fffefb 0%, #fbf6eb 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(201, 138, 18, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(255, 230, 163, 0.08), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🔵 靛青 ===== */
[data-theme="indigo"] {
  color-scheme: dark;
  --primary: #5b7cfa;
  --primary-dark: #4364e0;
  --primary-deep: #506ddc;
  --primary-bg: rgba(91,124,250,0.15);
  --primary-soft: rgba(91, 124, 250, 0.18);
  --blue: #6ba4ff;
  --bg: #131620;
  --card: #282b34;
  --surface: #21242d;
  --hover-bg: #21242d;
  --border: #43464e;
  --text: #e6e9f2;
  --text-sub: #ccd0dc;
  --muted: #8a90a3;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #42333b;
  --danger-text: #ff9f9f;
  --danger-border: #855358;
  --warn-bg: #423b35;
  --warn-text: #ffca79;
  --warn-border: #8e7248;
  --side-bg: #0e1018;
  --side-bg2: #0c0e15;
  --side-text: #d8d9da;
  --side-nav: #bcbcbe;
  --side-muted: #828387;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #5b7cfa;
  --side-active-text: #ffffff;
  --side-foot-text: #737479;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9a9b9e;
  --login-bg1: #090b12;
  --login-bg2: #141827;
  --login-bg3: #0f121d;
  --login-hero: #e8e8e9;
  --login-hero-sub: #8f9198;
  --login-point: #b5b6ba;
  --login-point-line: rgba(143, 145, 152, 0.18);
  --login-accent: #b9c6ff;
  --login-link: #c1caee;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(148, 170, 252, 0.5);
  --login-glass-line2: rgba(148, 170, 252, 0.35);
  --login-yixn: #c6c7ca;
  --login-card: #282b34;
  --login-tab-bg: #1e202a;
  --login-tab-text: #a6abbb;
  --login-label: #ccd0dc;
  --login-input-bg: #20232c;
  --login-input-border: #43464e;
  --login-tip: #8a90a3;
  --login-divider: #43464e;
  --input-bg: #282b34;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #1c1e26 0%, #0e1018 58%, #1a213c 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><circle cx='90.5' cy='160.7' r='19.0' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.26'/><circle cx='90.5' cy='160.7' r='15.8' fill='none' stroke='%23a0b3fc' stroke-width='1.1' opacity='0.23'/><circle cx='90.5' cy='160.7' r='12.6' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.19'/><circle cx='90.5' cy='160.7' r='9.3' fill='none' stroke='%23a0b3fc' stroke-width='1.1' opacity='0.15'/><circle cx='90.5' cy='160.7' r='6.1' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.12'/><circle cx='90.5' cy='160.7' r='3.8' fill='%23b9c6ff' opacity='.12'/><circle cx='31.6' cy='65.6' r='24.2' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.26'/><circle cx='31.6' cy='65.6' r='20.1' fill='none' stroke='%23a0b3fc' stroke-width='1.1' opacity='0.23'/><circle cx='31.6' cy='65.6' r='16.0' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.19'/><circle cx='31.6' cy='65.6' r='11.8' fill='none' stroke='%23a0b3fc' stroke-width='1.1' opacity='0.15'/><circle cx='31.6' cy='65.6' r='7.7' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.12'/><circle cx='31.6' cy='65.6' r='4.8' fill='%23b9c6ff' opacity='.12'/><circle cx='62.6' cy='25.0' r='20.6' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.26'/><circle cx='62.6' cy='25.0' r='17.1' fill='none' stroke='%23a0b3fc' stroke-width='1.1' opacity='0.23'/><circle cx='62.6' cy='25.0' r='13.6' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.19'/><circle cx='62.6' cy='25.0' r='10.1' fill='none' stroke='%23a0b3fc' stroke-width='1.1' opacity='0.15'/><circle cx='62.6' cy='25.0' r='6.6' fill='none' stroke='%23b9c6ff' stroke-width='1.1' opacity='0.12'/><circle cx='62.6' cy='25.0' r='4.1' fill='%23b9c6ff' opacity='.12'/><circle cx='87.4' cy='174.5' r='1.9' fill='%23a0b3fc' opacity='0.34'/><circle cx='139.4' cy='63.8' r='1.8' fill='%23a0b3fc' opacity='0.29'/><circle cx='119.7' cy='78.9' r='1.7' fill='%23a0b3fc' opacity='0.31'/><circle cx='7.3' cy='42.9' r='1.3' fill='%23a0b3fc' opacity='0.50'/><circle cx='81.2' cy='182.3' r='1.7' fill='%23a0b3fc' opacity='0.49'/><circle cx='97.3' cy='135.4' r='1.1' fill='%23a0b3fc' opacity='0.34'/><circle cx='105.9' cy='130.0' r='0.9' fill='%23a0b3fc' opacity='0.42'/><circle cx='77.0' cy='72.3' r='1.6' fill='%23a0b3fc' opacity='0.24'/><circle cx='73.9' cy='181.1' r='1.3' fill='%23a0b3fc' opacity='0.42'/><circle cx='9.8' cy='44.0' r='1.0' fill='%23a0b3fc' opacity='0.24'/><circle cx='17.5' cy='158.4' r='1.4' fill='%23a0b3fc' opacity='0.48'/><circle cx='52.8' cy='209.9' r='1.6' fill='%23a0b3fc' opacity='0.47'/><circle cx='113.8' cy='90.0' r='1.2' fill='%23a0b3fc' opacity='0.22'/><circle cx='37.8' cy='13.6' r='1.8' fill='%23a0b3fc' opacity='0.31'/><circle cx='97.5' cy='166.8' r='1.4' fill='%23a0b3fc' opacity='0.22'/><circle cx='28.1' cy='38.3' r='1.5' fill='%23a0b3fc' opacity='0.27'/><circle cx='135.2' cy='67.5' r='1.3' fill='%23a0b3fc' opacity='0.43'/><circle cx='23.4' cy='192.7' r='1.0' fill='%23a0b3fc' opacity='0.20'/><circle cx='37.1' cy='129.5' r='1.6' fill='%23a0b3fc' opacity='0.46'/><circle cx='60.9' cy='61.6' r='1.1' fill='%23a0b3fc' opacity='0.49'/><circle cx='142.7' cy='67.3' r='1.3' fill='%23a0b3fc' opacity='0.41'/><circle cx='117.1' cy='43.8' r='1.2' fill='%23a0b3fc' opacity='0.24'/><path d='M0.0 165.0 L6.2 162.1 L12.5 157.7 L18.8 154.0 L25.0 152.8 L31.2 154.9 L37.5 159.1 L43.8 163.3 L50.0 165.4 L56.2 164.3 L62.5 160.6 L68.8 156.2 L75.0 153.2 L81.2 153.2 L87.5 156.2 L93.8 160.7 L100.0 164.3 L106.2 165.3 L112.5 163.2 L118.8 159.0 L125.0 154.8 L131.2 152.8 L137.5 154.0 L143.8 157.8 L150.0 162.2 L156.2 165.1' stroke='%23b9c6ff' stroke-width='1.0' fill='none' opacity='.16' stroke-linecap='round'/><path d='M0.0 149.7 L6.2 149.3 L12.5 146.1 L18.8 141.7 L25.0 138.2 L31.2 137.5 L37.5 139.8 L43.8 144.2 L50.0 148.2 L56.2 149.9 L62.5 148.5 L68.8 144.6 L75.0 140.2 L81.2 137.5 L87.5 138.0 L93.8 141.3 L100.0 145.8 L106.2 149.2 L112.5 149.8 L118.8 147.3 L125.0 142.9 L131.2 138.9 L137.5 137.3 L143.8 138.9 L150.0 142.9 L156.2 147.2' stroke='%23b9c6ff' stroke-width='1.0' fill='none' opacity='.16' stroke-linecap='round'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%23a0b3fc' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%23a0b3fc' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(173, 190, 252, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><circle cx='193.4' cy='200.3' r='51.5' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.26'/><circle cx='193.4' cy='200.3' r='42.8' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.23'/><circle cx='193.4' cy='200.3' r='34.0' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.19'/><circle cx='193.4' cy='200.3' r='25.2' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.15'/><circle cx='193.4' cy='200.3' r='16.5' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.12'/><circle cx='193.4' cy='200.3' r='10.3' fill='%23b9c6ff' opacity='.12'/><circle cx='348.2' cy='231.6' r='59.7' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.26'/><circle cx='348.2' cy='231.6' r='49.5' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.23'/><circle cx='348.2' cy='231.6' r='39.4' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.19'/><circle cx='348.2' cy='231.6' r='29.2' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.15'/><circle cx='348.2' cy='231.6' r='19.1' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.12'/><circle cx='348.2' cy='231.6' r='11.9' fill='%23b9c6ff' opacity='.12'/><circle cx='116.1' cy='128.9' r='59.7' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.26'/><circle cx='116.1' cy='128.9' r='49.5' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.23'/><circle cx='116.1' cy='128.9' r='39.4' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.19'/><circle cx='116.1' cy='128.9' r='29.2' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.15'/><circle cx='116.1' cy='128.9' r='19.1' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.12'/><circle cx='116.1' cy='128.9' r='11.9' fill='%23b9c6ff' opacity='.12'/><circle cx='95.5' cy='299.0' r='46.2' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.26'/><circle cx='95.5' cy='299.0' r='38.3' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.23'/><circle cx='95.5' cy='299.0' r='30.5' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.19'/><circle cx='95.5' cy='299.0' r='22.6' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.15'/><circle cx='95.5' cy='299.0' r='14.8' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.12'/><circle cx='95.5' cy='299.0' r='9.2' fill='%23b9c6ff' opacity='.12'/><circle cx='355.0' cy='95.0' r='56.3' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.26'/><circle cx='355.0' cy='95.0' r='46.7' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.23'/><circle cx='355.0' cy='95.0' r='37.1' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.19'/><circle cx='355.0' cy='95.0' r='27.6' fill='none' stroke='%23a0b3fc' stroke-width='1.8' opacity='0.15'/><circle cx='355.0' cy='95.0' r='18.0' fill='none' stroke='%23b9c6ff' stroke-width='1.8' opacity='0.12'/><circle cx='355.0' cy='95.0' r='11.3' fill='%23b9c6ff' opacity='.12'/><circle cx='326.0' cy='274.0' r='1.9' fill='%23a0b3fc' opacity='0.23'/><circle cx='254.1' cy='345.2' r='1.6' fill='%23a0b3fc' opacity='0.34'/><circle cx='324.9' cy='345.8' r='1.7' fill='%23a0b3fc' opacity='0.24'/><circle cx='419.3' cy='169.6' r='1.1' fill='%23a0b3fc' opacity='0.23'/><circle cx='198.9' cy='339.8' r='1.8' fill='%23a0b3fc' opacity='0.33'/><circle cx='269.9' cy='408.6' r='1.3' fill='%23a0b3fc' opacity='0.20'/><circle cx='350.0' cy='28.2' r='1.9' fill='%23a0b3fc' opacity='0.38'/><circle cx='407.6' cy='84.8' r='0.8' fill='%23a0b3fc' opacity='0.26'/><circle cx='118.1' cy='312.3' r='1.5' fill='%23a0b3fc' opacity='0.24'/><circle cx='140.4' cy='166.2' r='1.6' fill='%23a0b3fc' opacity='0.17'/><circle cx='119.1' cy='226.9' r='1.9' fill='%23a0b3fc' opacity='0.16'/><circle cx='41.3' cy='74.6' r='1.2' fill='%23a0b3fc' opacity='0.28'/><circle cx='40.7' cy='214.0' r='1.0' fill='%23a0b3fc' opacity='0.19'/><circle cx='10.3' cy='161.9' r='1.5' fill='%23a0b3fc' opacity='0.43'/><circle cx='31.5' cy='329.4' r='1.1' fill='%23a0b3fc' opacity='0.34'/><circle cx='68.7' cy='129.5' r='1.9' fill='%23a0b3fc' opacity='0.17'/><circle cx='9.7' cy='411.3' r='2.0' fill='%23a0b3fc' opacity='0.29'/><circle cx='24.6' cy='91.5' r='1.8' fill='%23a0b3fc' opacity='0.22'/><circle cx='15.5' cy='185.6' r='0.9' fill='%23a0b3fc' opacity='0.22'/><circle cx='9.1' cy='228.7' r='0.9' fill='%23a0b3fc' opacity='0.38'/><circle cx='298.8' cy='373.7' r='1.4' fill='%23a0b3fc' opacity='0.50'/><circle cx='203.8' cy='184.5' r='1.8' fill='%23a0b3fc' opacity='0.33'/><circle cx='230.5' cy='363.2' r='1.0' fill='%23a0b3fc' opacity='0.42'/><circle cx='101.4' cy='192.2' r='1.4' fill='%23a0b3fc' opacity='0.21'/><circle cx='140.3' cy='310.5' r='1.9' fill='%23a0b3fc' opacity='0.28'/><circle cx='39.1' cy='73.6' r='1.5' fill='%23a0b3fc' opacity='0.19'/><circle cx='268.3' cy='167.6' r='1.8' fill='%23a0b3fc' opacity='0.29'/><circle cx='417.5' cy='308.8' r='1.6' fill='%23a0b3fc' opacity='0.27'/><circle cx='185.7' cy='200.2' r='1.1' fill='%23a0b3fc' opacity='0.43'/><circle cx='162.8' cy='203.1' r='0.9' fill='%23a0b3fc' opacity='0.20'/><circle cx='402.4' cy='231.4' r='1.5' fill='%23a0b3fc' opacity='0.21'/><circle cx='77.3' cy='270.1' r='1.3' fill='%23a0b3fc' opacity='0.33'/><circle cx='259.7' cy='233.1' r='1.8' fill='%23a0b3fc' opacity='0.37'/><circle cx='282.0' cy='286.0' r='1.0' fill='%23a0b3fc' opacity='0.31'/><circle cx='308.0' cy='348.4' r='1.6' fill='%23a0b3fc' opacity='0.48'/><circle cx='419.7' cy='245.3' r='1.2' fill='%23a0b3fc' opacity='0.49'/><circle cx='345.9' cy='54.9' r='1.1' fill='%23a0b3fc' opacity='0.28'/><circle cx='370.4' cy='75.8' r='1.8' fill='%23a0b3fc' opacity='0.28'/><circle cx='253.4' cy='164.9' r='1.2' fill='%23a0b3fc' opacity='0.43'/><circle cx='82.3' cy='23.6' r='1.5' fill='%23a0b3fc' opacity='0.45'/><path d='M0.0 305.9 L17.5 298.5 L35.0 296.4 L52.5 300.6 L70.0 308.9 L87.5 317.3 L105.0 321.4 L122.5 319.2 L140.0 311.7 L157.5 302.9 L175.0 297.0 L192.5 297.2 L210.0 303.3 L227.5 312.2 L245.0 319.4 L262.5 321.4 L280.0 317.0 L297.5 308.5 L315.0 300.2 L332.5 296.3 L350.0 298.8 L367.5 306.4 L385.0 315.2 L402.5 320.9 L420.0 320.4 L437.5 314.2' stroke='%23b9c6ff' stroke-width='1.6' fill='none' opacity='.16' stroke-linecap='round'/><path d='M0.0 198.6 L17.5 190.1 L35.0 181.9 L52.5 178.2 L70.0 180.8 L87.5 188.5 L105.0 197.3 L122.5 202.8 L140.0 202.2 L157.5 195.8 L175.0 186.9 L192.5 179.9 L210.0 178.4 L227.5 183.2 L245.0 191.8 L262.5 199.9 L280.0 203.4 L297.5 200.5 L315.0 192.7 L332.5 183.9 L350.0 178.6 L367.5 179.5 L385.0 186.1 L402.5 195.0 L420.0 201.8 L437.5 203.0' stroke='%23b9c6ff' stroke-width='1.6' fill='none' opacity='.16' stroke-linecap='round'/><path d='M0.0 346.8 L17.5 354.7 L35.0 357.7 L52.5 354.4 L70.0 346.4 L87.5 337.7 L105.0 332.8 L122.5 334.2 L140.0 341.1 L157.5 350.0 L175.0 356.5 L192.5 357.3 L210.0 351.9 L227.5 343.1 L245.0 335.3 L262.5 332.6 L280.0 336.1 L297.5 344.3 L315.0 352.9 L332.5 357.5 L350.0 355.9 L367.5 348.9 L385.0 339.9 L402.5 333.6 L420.0 333.1 L437.5 338.7' stroke='%23b9c6ff' stroke-width='1.6' fill='none' opacity='.16' stroke-linecap='round'/><path d='M0.0 209.2 L17.5 215.6 L35.0 216.2 L52.5 210.6 L70.0 201.8 L87.5 194.2 L105.0 191.6 L122.5 195.3 L140.0 203.5 L157.5 212.1 L175.0 216.6 L192.5 214.8 L210.0 207.6 L227.5 198.7 L245.0 192.5 L262.5 192.2 L280.0 197.9 L297.5 206.8 L315.0 214.3 L332.5 216.7 L350.0 212.7 L367.5 204.4 L385.0 195.9 L402.5 191.6 L420.0 193.7 L437.5 201.0' stroke='%23b9c6ff' stroke-width='1.6' fill='none' opacity='.16' stroke-linecap='round'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(91, 124, 250, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(185, 198, 255, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(91, 124, 250, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 760px 760px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #282b34 0%, #2d3348 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(91, 124, 250, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(185, 198, 255, 0.13), transparent 40%);
  --drift: radial-gradient(circle at 72px 74px, rgba(186, 200, 253, 0.44) 0, rgba(186, 200, 253, 0.33) 1.4px, transparent 2.1px), radial-gradient(circle at 72px 74px, rgba(186, 200, 253, 0.13) 0, transparent 5.4px), radial-gradient(circle at 86px 91px, rgba(186, 200, 253, 0.39) 0, rgba(186, 200, 253, 0.29) 1.6px, transparent 2.3px), radial-gradient(circle at 86px 91px, rgba(186, 200, 253, 0.12) 0, transparent 6.0px), radial-gradient(circle at 52px 21px, rgba(186, 200, 253, 0.44) 0, rgba(186, 200, 253, 0.33) 1.1px, transparent 1.8px), radial-gradient(circle at 52px 21px, rgba(186, 200, 253, 0.13) 0, transparent 7.5px), radial-gradient(circle at 58px 82px, rgba(186, 200, 253, 0.60) 0, rgba(186, 200, 253, 0.45) 1.6px, transparent 2.3px), radial-gradient(circle at 58px 82px, rgba(186, 200, 253, 0.18) 0, transparent 4.9px), radial-gradient(circle at 37px 40px, rgba(186, 200, 253, 0.60) 0, rgba(186, 200, 253, 0.45) 0.9px, transparent 1.6px), radial-gradient(circle at 37px 40px, rgba(186, 200, 253, 0.18) 0, transparent 7.6px), radial-gradient(circle at 109px 60px, rgba(186, 200, 253, 0.55) 0, rgba(186, 200, 253, 0.41) 0.9px, transparent 1.6px), radial-gradient(circle at 109px 60px, rgba(186, 200, 253, 0.16) 0, transparent 7.5px), radial-gradient(circle at 82px 59px, rgba(186, 200, 253, 0.56) 0, rgba(186, 200, 253, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 82px 59px, rgba(186, 200, 253, 0.17) 0, transparent 5.8px), radial-gradient(circle at 20px 16px, rgba(186, 200, 253, 0.46) 0, rgba(186, 200, 253, 0.35) 1.6px, transparent 2.3px), radial-gradient(circle at 20px 16px, rgba(186, 200, 253, 0.14) 0, transparent 5.0px), radial-gradient(circle at 68px 129px, rgba(186, 200, 253, 0.50) 0, rgba(186, 200, 253, 0.37) 1.5px, transparent 2.2px), radial-gradient(circle at 68px 129px, rgba(186, 200, 253, 0.15) 0, transparent 5.8px), radial-gradient(circle at 120px 71px, rgba(186, 200, 253, 0.52) 0, rgba(186, 200, 253, 0.39) 1.1px, transparent 1.8px), radial-gradient(circle at 120px 71px, rgba(186, 200, 253, 0.16) 0, transparent 4.7px), radial-gradient(circle at 13px 108px, rgba(186, 200, 253, 0.56) 0, rgba(186, 200, 253, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 13px 108px, rgba(186, 200, 253, 0.17) 0, transparent 5.7px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 34s;
  --drift-op: 0.60;
  --glow-dur: 26s;
  --tint-blue: #484b54;
  --tint-blue-bd: #6b7387;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #494b54;
  --tint-purple-bd: #747083;
  --tint-purple-tx: #b097d9;
  --tint-teal: #484c53;
  --tint-teal-bd: #667b7d;
  --tint-teal-tx: #7db9b0;
  --tint-green: #484c52;
  --tint-green-bd: #6a7a71;
  --tint-green-tx: #85b795;
  --tint-gray: #494b53;
  --tint-gray-bd: #73767e;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #4a4b50;
  --tint-orange-bd: #7f756d;
  --tint-orange-tx: #cca680;
  --tint-red: #4a4a51;
  --tint-red-bd: #7f7075;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #4a4c50;
  --tint-yellow-bd: #7f786a;
  --tint-yellow-tx: #c0af80;
}

/* ===== 🌸 樱雪 ===== */
[data-theme="sakura"] {
  color-scheme: light;
  --primary: #6b7f8f;
  --primary-dark: #566a78;
  --primary-deep: #5e707e;
  --primary-bg: #eff3f6;
  --primary-soft: rgba(107, 127, 143, 0.12);
  --blue: #1677ff;
  --bg: #f7f8f9;
  --card: #ffffff;
  --surface: #fcfdfd;
  --hover-bg: #f7f8f9;
  --border: #e6e9ec;
  --text: #22272e;
  --text-sub: #40464d;
  --muted: #8d949c;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e6b1b4;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #ecce9c;
  --side-bg: #2b3138;
  --side-bg2: #252a30;
  --side-text: #dddedf;
  --side-nav: #c4c5c7;
  --side-muted: #919498;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #6b7f8f;
  --side-active-text: #ffffff;
  --side-foot-text: #84888c;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a6a8ab;
  --login-bg1: #1c2227;
  --login-bg2: #2c343b;
  --login-bg3: #232a30;
  --login-hero: #eaebeb;
  --login-hero-sub: #9a9ea1;
  --login-point: #bcbfc1;
  --login-point-line: rgba(154, 158, 161, 0.18);
  --login-accent: #dbe4ea;
  --login-link: #c6cdd1;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(159, 172, 182, 0.5);
  --login-glass-line2: rgba(159, 172, 182, 0.35);
  --login-yixn: #cccecf;
  --login-card: #ffffff;
  --login-tab-bg: #fbfcfc;
  --login-tab-text: #6d737b;
  --login-label: #40464d;
  --login-input-bg: #fcfcfd;
  --login-input-border: #e6e9ec;
  --login-tip: #8d949c;
  --login-divider: #e6e9ec;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #383d44 0%, #2b3138 58%, #353d46 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><circle cx='72.3' cy='23.8' r='0.7' fill='%23dbe4ea' opacity='0.22'/><circle cx='32.3' cy='152.2' r='1.6' fill='%23dbe4ea' opacity='0.25'/><circle cx='144.8' cy='154.2' r='1.2' fill='%23dbe4ea' opacity='0.19'/><circle cx='33.2' cy='149.8' r='1.2' fill='%23dbe4ea' opacity='0.40'/><circle cx='105.9' cy='99.7' r='0.9' fill='%23dbe4ea' opacity='0.54'/><circle cx='99.4' cy='127.3' r='0.9' fill='%23dbe4ea' opacity='0.51'/><circle cx='93.1' cy='38.5' r='1.4' fill='%23dbe4ea' opacity='0.31'/><circle cx='13.2' cy='14.7' r='0.7' fill='%23dbe4ea' opacity='0.45'/><circle cx='59.0' cy='177.9' r='0.7' fill='%23dbe4ea' opacity='0.30'/><circle cx='89.0' cy='138.1' r='1.0' fill='%23dbe4ea' opacity='0.36'/><circle cx='16.8' cy='197.9' r='1.0' fill='%23dbe4ea' opacity='0.41'/><circle cx='101.4' cy='88.3' r='0.7' fill='%23dbe4ea' opacity='0.37'/><circle cx='110.9' cy='169.2' r='0.8' fill='%23dbe4ea' opacity='0.52'/><circle cx='133.5' cy='78.1' r='0.9' fill='%23dbe4ea' opacity='0.39'/><circle cx='27.6' cy='85.3' r='1.3' fill='%23dbe4ea' opacity='0.24'/><circle cx='76.4' cy='60.3' r='1.3' fill='%23dbe4ea' opacity='0.46'/><circle cx='137.0' cy='141.1' r='0.6' fill='%23dbe4ea' opacity='0.45'/><circle cx='104.6' cy='63.3' r='1.4' fill='%23dbe4ea' opacity='0.45'/><circle cx='81.2' cy='108.0' r='0.7' fill='%23dbe4ea' opacity='0.26'/><circle cx='105.7' cy='142.7' r='1.5' fill='%23dbe4ea' opacity='0.27'/><path d='M22.1 160.8 Q28.0 159.7 25.6 154.2 Q19.8 155.3 22.1 160.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M22.1 160.8 Q25.0 166.1 29.5 162.2 Q26.6 156.9 22.1 160.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M22.1 160.8 Q18.0 165.2 23.1 168.3 Q27.2 163.9 22.1 160.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M22.1 160.8 Q16.7 158.3 15.3 164.1 Q20.7 166.6 22.1 160.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M22.1 160.8 Q22.9 154.9 16.9 155.4 Q16.1 161.3 22.1 160.8Z' fill='%23a9b5be' opacity='0.30'/><circle cx='22.1' cy='160.8' r='1.2' fill='%23dbe4ea' opacity='.5'/><path d='M22.1 160.8 L23.7 157.9' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M22.1 160.8 L25.4 161.4' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M22.1 160.8 L22.5 164.2' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M22.1 160.8 L19.1 162.3' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M22.1 160.8 L19.8 158.4' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M93.4 27.8 Q90.9 36.9 100.4 37.4 Q102.9 28.3 93.4 27.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M93.4 27.8 Q84.0 28.2 86.4 37.3 Q95.9 36.9 93.4 27.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M93.4 27.8 Q90.1 18.9 82.2 24.0 Q85.5 32.9 93.4 27.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M93.4 27.8 Q100.8 21.9 93.5 15.9 Q86.1 21.8 93.4 27.8Z' fill='%23a9b5be' opacity='0.30'/><path d='M93.4 27.8 Q101.3 33.0 104.8 24.2 Q96.9 18.9 93.4 27.8Z' fill='%23a9b5be' opacity='0.30'/><circle cx='93.4' cy='27.8' r='1.9' fill='%23dbe4ea' opacity='.5'/><path d='M93.4 27.8 L96.6 32.1' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M93.4 27.8 L90.3 32.1' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M93.4 27.8 L88.4 26.1' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M93.4 27.8 L93.5 22.4' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M93.4 27.8 L98.5 26.1' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M45.1 56.5 Q37.9 55.6 38.5 62.9 Q45.7 63.8 45.1 56.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M45.1 56.5 Q43.8 49.3 37.0 52.2 Q38.4 59.4 45.1 56.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M45.1 56.5 Q51.5 53.0 46.8 47.5 Q40.3 51.0 45.1 56.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M45.1 56.5 Q50.4 61.5 54.2 55.3 Q48.9 50.3 45.1 56.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M45.1 56.5 Q42.0 63.1 49.1 64.8 Q52.2 58.2 45.1 56.5Z' fill='%23a9b5be' opacity='0.30'/><circle cx='45.1' cy='56.5' r='1.5' fill='%23dbe4ea' opacity='.5'/><path d='M45.1 56.5 L42.1 59.4' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M45.1 56.5 L41.5 54.6' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M45.1 56.5 L45.9 52.5' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M45.1 56.5 L49.2 56.0' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M45.1 56.5 L46.9 60.2' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M68.1 82.2 Q64.5 79.8 62.4 83.6 Q65.9 86.0 68.1 82.2Z' fill='%23a9b5be' opacity='0.26'/><path d='M104.5 145.0 Q106.9 148.3 109.7 145.2 Q107.2 141.9 104.5 145.0Z' fill='%23a9b5be' opacity='0.34'/><path d='M132.5 189.8 Q133.3 193.8 137.2 192.3 Q136.3 188.2 132.5 189.8Z' fill='%23a9b5be' opacity='0.24'/><path d='M91.5 177.0 Q95.1 174.8 92.5 171.5 Q88.8 173.7 91.5 177.0Z' fill='%23a9b5be' opacity='0.30'/><path d='M49.7 20.9 Q45.4 21.3 46.2 25.5 Q50.5 25.1 49.7 20.9Z' fill='%23a9b5be' opacity='0.19'/><path d='M79.4 178.7 Q81.5 183.2 86.3 182.0 Q84.3 177.5 79.4 178.7Z' fill='%23a9b5be' opacity='0.18'/><path d='M114.6 24.5 Q110.6 25.3 112.2 29.1 Q116.2 28.3 114.6 24.5Z' fill='%23a9b5be' opacity='0.29'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='10' cy='10' r='1.2' fill='%23a9b5be' opacity='0.25'/><circle cx='30' cy='24' r='0.9' fill='%23a9b5be' opacity='0.17'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(181, 191, 199, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><circle cx='216.6' cy='170.7' r='0.8' fill='%23dbe4ea' opacity='0.30'/><circle cx='408.3' cy='348.8' r='1.3' fill='%23dbe4ea' opacity='0.32'/><circle cx='71.3' cy='272.0' r='1.1' fill='%23dbe4ea' opacity='0.29'/><circle cx='345.4' cy='342.7' r='1.1' fill='%23dbe4ea' opacity='0.38'/><circle cx='304.2' cy='280.7' r='1.4' fill='%23dbe4ea' opacity='0.54'/><circle cx='16.4' cy='221.1' r='0.7' fill='%23dbe4ea' opacity='0.45'/><circle cx='7.2' cy='51.3' r='1.0' fill='%23dbe4ea' opacity='0.50'/><circle cx='285.6' cy='129.1' r='1.1' fill='%23dbe4ea' opacity='0.19'/><circle cx='282.0' cy='334.6' r='1.3' fill='%23dbe4ea' opacity='0.50'/><circle cx='69.0' cy='354.2' r='1.4' fill='%23dbe4ea' opacity='0.30'/><circle cx='344.8' cy='45.0' r='1.0' fill='%23dbe4ea' opacity='0.42'/><circle cx='288.4' cy='292.0' r='0.9' fill='%23dbe4ea' opacity='0.42'/><circle cx='359.5' cy='200.0' r='1.5' fill='%23dbe4ea' opacity='0.51'/><circle cx='294.9' cy='378.9' r='1.0' fill='%23dbe4ea' opacity='0.49'/><circle cx='24.9' cy='379.9' r='0.9' fill='%23dbe4ea' opacity='0.33'/><circle cx='368.7' cy='412.6' r='1.1' fill='%23dbe4ea' opacity='0.47'/><circle cx='396.7' cy='53.9' r='0.6' fill='%23dbe4ea' opacity='0.32'/><circle cx='377.8' cy='64.0' r='1.2' fill='%23dbe4ea' opacity='0.46'/><circle cx='358.1' cy='215.3' r='1.1' fill='%23dbe4ea' opacity='0.39'/><circle cx='292.9' cy='409.5' r='1.4' fill='%23dbe4ea' opacity='0.22'/><path d='M117.5 319.7 Q119.3 311.4 110.8 311.3 Q109.0 319.7 117.5 319.7Z' fill='%23a9b5be' opacity='0.30'/><path d='M117.5 319.7 Q126.0 318.8 123.4 310.8 Q114.9 311.6 117.5 319.7Z' fill='%23a9b5be' opacity='0.30'/><path d='M117.5 319.7 Q120.9 327.5 127.8 322.5 Q124.4 314.7 117.5 319.7Z' fill='%23a9b5be' opacity='0.30'/><path d='M117.5 319.7 Q111.1 325.3 118.0 330.3 Q124.4 324.7 117.5 319.7Z' fill='%23a9b5be' opacity='0.30'/><path d='M117.5 319.7 Q110.2 315.4 107.5 323.5 Q114.8 327.8 117.5 319.7Z' fill='%23a9b5be' opacity='0.30'/><circle cx='117.5' cy='319.7' r='1.7' fill='%23dbe4ea' opacity='.5'/><path d='M117.5 319.7 L114.5 315.9' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M117.5 319.7 L120.1 315.7' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M117.5 319.7 L122.1 320.9' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M117.5 319.7 L117.7 324.5' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M117.5 319.7 L113.0 321.4' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M152.1 116.1 Q150.1 126.0 160.2 125.8 Q162.2 116.0 152.1 116.1Z' fill='%23a9b5be' opacity='0.30'/><path d='M152.1 116.1 Q142.1 117.3 145.4 126.8 Q155.4 125.7 152.1 116.1Z' fill='%23a9b5be' opacity='0.30'/><path d='M152.1 116.1 Q148.0 107.0 139.9 113.0 Q144.1 122.2 152.1 116.1Z' fill='%23a9b5be' opacity='0.30'/><path d='M152.1 116.1 Q159.5 109.3 151.3 103.6 Q143.9 110.4 152.1 116.1Z' fill='%23a9b5be' opacity='0.30'/><path d='M152.1 116.1 Q160.9 121.1 163.9 111.5 Q155.1 106.5 152.1 116.1Z' fill='%23a9b5be' opacity='0.30'/><circle cx='152.1' cy='116.1' r='2.0' fill='%23dbe4ea' opacity='.5'/><path d='M152.1 116.1 L155.8 120.5' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M152.1 116.1 L149.1 120.9' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M152.1 116.1 L146.6 114.7' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M152.1 116.1 L151.8 110.5' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M152.1 116.1 L157.4 114.0' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M207.0 354.5 Q200.5 360.4 207.6 365.5 Q214.2 359.6 207.0 354.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M207.0 354.5 Q199.4 350.1 196.7 358.5 Q204.3 362.9 207.0 354.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M207.0 354.5 Q208.8 345.9 200.0 345.9 Q198.2 354.5 207.0 354.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M207.0 354.5 Q215.8 353.6 213.0 345.2 Q204.2 346.1 207.0 354.5Z' fill='%23a9b5be' opacity='0.30'/><path d='M207.0 354.5 Q210.6 362.5 217.7 357.3 Q214.1 349.3 207.0 354.5Z' fill='%23a9b5be' opacity='0.30'/><circle cx='207.0' cy='354.5' r='1.8' fill='%23dbe4ea' opacity='.5'/><path d='M207.0 354.5 L207.3 359.5' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M207.0 354.5 L202.4 356.3' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M207.0 354.5 L203.9 350.6' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M207.0 354.5 L209.7 350.3' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M207.0 354.5 L211.8 355.8' stroke='%23dbe4ea' stroke-width='0.6' opacity='.3' stroke-linecap='round'/><path d='M86.9 7.5 Q89.8 2.8 86.4 -1.5 Q83.4 3.2 86.9 7.5Z' fill='%23a9b5be' opacity='0.26'/><path d='M148.1 103.8 Q149.5 99.9 145.4 99.4 Q144.1 103.3 148.1 103.8Z' fill='%23a9b5be' opacity='0.24'/><path d='M1.5 342.3 Q1.7 337.3 -3.2 335.9 Q-3.4 341.0 1.5 342.3Z' fill='%23a9b5be' opacity='0.25'/><path d='M54.0 58.7 Q58.1 61.1 60.8 57.2 Q56.7 54.9 54.0 58.7Z' fill='%23a9b5be' opacity='0.17'/><path d='M415.5 300.3 Q414.1 295.8 409.6 296.9 Q410.9 301.4 415.5 300.3Z' fill='%23a9b5be' opacity='0.25'/><path d='M91.6 260.5 Q87.7 262.0 90.0 265.5 Q93.8 264.0 91.6 260.5Z' fill='%23a9b5be' opacity='0.33'/><path d='M378.1 51.8 Q379.4 46.6 374.9 43.8 Q373.5 49.0 378.1 51.8Z' fill='%23a9b5be' opacity='0.23'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(107, 127, 143, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(219, 228, 234, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(107, 127, 143, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f5f6f7 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(107, 127, 143, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(219, 228, 234, 0.08), transparent 40%);
  --drift: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'><path d='M53.4 90.0 L56.4 90.2 L58.2 89.8 L59.1 88.9 L59.3 87.6 L58.7 85.9 L56.8 83.5 L56.8 83.5 L53.7 83.3 L52.0 83.8 L51.1 84.7 L50.9 85.9 L51.5 87.6 L53.4 90.0 Z' fill='rgb(193, 201, 208)' opacity='0.60'/><path d='M143.2 39.1 L146.0 41.1 L147.9 41.7 L149.3 41.4 L150.3 40.3 L150.7 38.3 L150.2 34.9 L150.2 34.9 L147.4 32.9 L145.5 32.3 L144.1 32.6 L143.1 33.8 L142.7 35.7 L143.2 39.1 Z' fill='rgb(193, 201, 208)' opacity='0.60'/><path d='M129.5 66.3 L131.1 67.8 L132.3 68.3 L133.2 68.3 L133.9 67.6 L134.3 66.4 L134.3 64.3 L134.3 64.3 L132.8 62.8 L131.6 62.3 L130.7 62.3 L130.0 62.9 L129.6 64.1 L129.5 66.3 Z' fill='rgb(193, 201, 208)' opacity='0.60'/><path d='M71.9 26.9 L69.1 28.1 L67.7 29.2 L67.3 30.5 L67.6 31.7 L68.9 33.0 L71.7 34.3 L71.7 34.3 L74.6 33.2 L75.9 32.0 L76.4 30.8 L76.0 29.5 L74.7 28.2 L71.9 26.9 Z' fill='rgb(193, 201, 208)' opacity='0.60'/><path d='M33.6 149.0 L35.7 149.8 L37.0 149.9 L37.9 149.5 L38.3 148.7 L38.3 147.4 L37.5 145.3 L37.5 145.3 L35.4 144.4 L34.1 144.3 L33.3 144.7 L32.8 145.6 L32.9 146.9 L33.6 149.0 Z' fill='rgb(193, 201, 208)' opacity='0.60'/><path d='M22.9 63.7 L24.8 62.8 L25.6 62.0 L25.9 61.2 L25.6 60.3 L24.7 59.5 L22.7 58.8 L22.7 58.8 L20.9 59.7 L20.0 60.5 L19.7 61.4 L20.1 62.2 L21.0 63.0 L22.9 63.7 Z' fill='rgb(193, 201, 208)' opacity='0.60'/><path d='M55.8 21.9 L53.0 22.1 L51.4 22.7 L50.7 23.6 L50.7 24.8 L51.4 26.3 L53.5 28.2 L53.5 28.2 L56.3 28.0 L57.8 27.4 L58.6 26.5 L58.6 25.3 L57.8 23.8 L55.8 21.9 Z' fill='rgb(193, 201, 208)' opacity='0.60'/></svg>");
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 26s;
  --drift-op: 0.60;
  --glow-dur: 18s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🔮 星夜紫 ===== */
[data-theme="nebula"] {
  color-scheme: dark;
  --primary: #a97bf5;
  --primary-dark: #8f5fe0;
  --primary-deep: #7d5bb5;
  --primary-bg: rgba(169,123,245,0.15);
  --primary-soft: rgba(169, 123, 245, 0.18);
  --blue: #6ba4ff;
  --bg: #15121d;
  --card: #2a2731;
  --surface: #23202a;
  --hover-bg: #23202b;
  --border: #45434b;
  --text: #eae6f2;
  --text-sub: #d2cddd;
  --muted: #948ba6;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #442f38;
  --danger-text: #ff9f9f;
  --danger-border: #865156;
  --warn-bg: #443833;
  --warn-text: #ffca79;
  --warn-border: #8f7047;
  --side-bg: #100d17;
  --side-bg2: #0e0b14;
  --side-text: #d9d8da;
  --side-nav: #bcbbbe;
  --side-muted: #838186;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #a97bf5;
  --side-active-text: #ffffff;
  --side-foot-text: #747378;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9b999e;
  --login-bg1: #0b0912;
  --login-bg2: #171322;
  --login-bg3: #110e1a;
  --login-hero: #e8e7e9;
  --login-hero-sub: #908e95;
  --login-point: #b6b4b9;
  --login-point-line: rgba(144, 142, 149, 0.18);
  --login-accent: #d9c2ff;
  --login-link: #d6c9ec;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(199, 169, 248, 0.5);
  --login-glass-line2: rgba(199, 169, 248, 0.35);
  --login-yixn: #c7c5c9;
  --login-card: #2a2731;
  --login-tab-bg: #201c27;
  --login-tab-text: #aea6bd;
  --login-label: #d2cddd;
  --login-input-bg: #221f29;
  --login-input-border: #45434b;
  --login-tip: #948ba6;
  --login-divider: #45434b;
  --input-bg: #2a2731;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #1e1c25 0%, #100d17 58%, #281f3b 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><circle cx='63.3' cy='16.5' r='41.1' fill='%23d9c2ff' opacity='.10'/><circle cx='75.7' cy='6.2' r='24.7' fill='%23cdb2f9' opacity='.08'/><circle cx='86.9' cy='33.1' r='33.1' fill='%23cdb2f9' opacity='.10'/><circle cx='96.8' cy='24.9' r='19.9' fill='%23d9c2ff' opacity='.08'/><circle cx='52.9' cy='22.8' r='55.3' fill='%23d9c2ff' opacity='.10'/><circle cx='69.5' cy='9.0' r='33.2' fill='%23cdb2f9' opacity='.08'/><circle cx='76.8' cy='144.4' r='50.5' fill='%23cdb2f9' opacity='.10'/><circle cx='92.0' cy='131.7' r='30.3' fill='%23d9c2ff' opacity='.08'/><circle cx='109.8' cy='138.6' r='37.6' fill='%23d9c2ff' opacity='.10'/><circle cx='121.1' cy='129.2' r='22.6' fill='%23cdb2f9' opacity='.08'/><circle cx='82.9' cy='90.3' r='1.0' fill='%23d9c2ff' opacity='0.29'/><circle cx='79.1' cy='149.7' r='0.5' fill='%23d9c2ff' opacity='0.72'/><circle cx='120.4' cy='166.9' r='0.9' fill='%23d9c2ff' opacity='0.46'/><circle cx='115.6' cy='201.1' r='0.9' fill='%23d9c2ff' opacity='0.44'/><circle cx='63.1' cy='10.4' r='1.6' fill='%23d9c2ff' opacity='0.30'/><circle cx='56.4' cy='174.3' r='1.8' fill='%23d9c2ff' opacity='0.33'/><circle cx='145.1' cy='119.4' r='1.4' fill='%23cdb2f9' opacity='0.58'/><circle cx='127.7' cy='156.0' r='1.0' fill='%23cdb2f9' opacity='0.74'/><circle cx='57.5' cy='74.5' r='1.2' fill='%23cdb2f9' opacity='0.55'/><circle cx='26.1' cy='43.0' r='0.9' fill='%23d9c2ff' opacity='0.43'/><circle cx='145.1' cy='142.0' r='1.8' fill='%23cdb2f9' opacity='0.22'/><circle cx='23.9' cy='92.5' r='0.8' fill='%23d9c2ff' opacity='0.38'/><circle cx='17.7' cy='174.5' r='1.7' fill='%23d9c2ff' opacity='0.58'/><circle cx='82.8' cy='191.3' r='1.3' fill='%23d9c2ff' opacity='0.35'/><circle cx='18.6' cy='83.5' r='0.8' fill='%23cdb2f9' opacity='0.66'/><circle cx='139.0' cy='1.2' r='0.9' fill='%23d9c2ff' opacity='0.35'/><circle cx='23.1' cy='45.5' r='0.7' fill='%23cdb2f9' opacity='0.77'/><circle cx='94.1' cy='43.8' r='0.9' fill='%23d9c2ff' opacity='0.45'/><circle cx='56.8' cy='168.7' r='1.0' fill='%23cdb2f9' opacity='0.20'/><circle cx='31.5' cy='133.1' r='1.5' fill='%23cdb2f9' opacity='0.29'/><circle cx='1.7' cy='185.0' r='1.0' fill='%23cdb2f9' opacity='0.49'/><circle cx='23.6' cy='41.6' r='1.1' fill='%23cdb2f9' opacity='0.52'/><circle cx='54.0' cy='12.8' r='1.3' fill='%23d9c2ff' opacity='0.54'/><circle cx='128.1' cy='156.0' r='0.7' fill='%23d9c2ff' opacity='0.39'/><circle cx='63.5' cy='183.6' r='1.7' fill='%23d9c2ff' opacity='0.49'/><circle cx='71.1' cy='140.0' r='0.6' fill='%23d9c2ff' opacity='0.70'/><circle cx='149.5' cy='23.0' r='0.8' fill='%23cdb2f9' opacity='0.36'/><circle cx='17.5' cy='52.8' r='1.7' fill='%23cdb2f9' opacity='0.48'/><circle cx='106.2' cy='118.0' r='1.3' fill='%23cdb2f9' opacity='0.58'/><circle cx='72.6' cy='99.2' r='1.7' fill='%23cdb2f9' opacity='0.84'/><path d='M-39.1 355.8 A114.1 114.1 0 0 1 189.1 355.8' stroke='%23d9c2ff' stroke-width='0.9' fill='none' opacity='.15' stroke-linecap='round'/><path d='M-77.6 297.2 A152.6 152.6 0 0 1 227.6 297.2' stroke='%23d9c2ff' stroke-width='0.9' fill='none' opacity='.15' stroke-linecap='round'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='10' cy='10' r='1.2' fill='%23cdb2f9' opacity='0.25'/><circle cx='30' cy='24' r='0.9' fill='%23cdb2f9' opacity='0.17'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(212, 189, 250, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><circle cx='301.0' cy='327.1' r='47.5' fill='%23d9c2ff' opacity='.10'/><circle cx='315.2' cy='315.3' r='28.5' fill='%23cdb2f9' opacity='.08'/><circle cx='373.8' cy='350.3' r='40.6' fill='%23cdb2f9' opacity='.10'/><circle cx='386.0' cy='340.2' r='24.3' fill='%23d9c2ff' opacity='.08'/><circle cx='375.2' cy='252.0' r='24.1' fill='%23d9c2ff' opacity='.10'/><circle cx='382.4' cy='246.0' r='14.5' fill='%23cdb2f9' opacity='.08'/><circle cx='105.6' cy='277.0' r='36.5' fill='%23cdb2f9' opacity='.10'/><circle cx='116.6' cy='267.9' r='21.9' fill='%23d9c2ff' opacity='.08'/><circle cx='39.0' cy='260.6' r='55.9' fill='%23d9c2ff' opacity='.10'/><circle cx='55.7' cy='246.6' r='33.5' fill='%23cdb2f9' opacity='.08'/><circle cx='313.0' cy='153.0' r='0.8' fill='%23d9c2ff' opacity='0.79'/><circle cx='94.0' cy='28.7' r='0.7' fill='%23cdb2f9' opacity='0.76'/><circle cx='136.4' cy='161.8' r='0.7' fill='%23d9c2ff' opacity='0.57'/><circle cx='53.1' cy='97.6' r='1.7' fill='%23cdb2f9' opacity='0.22'/><circle cx='167.9' cy='298.7' r='0.7' fill='%23cdb2f9' opacity='0.40'/><circle cx='105.3' cy='67.6' r='1.5' fill='%23cdb2f9' opacity='0.23'/><circle cx='222.5' cy='385.1' r='0.8' fill='%23d9c2ff' opacity='0.67'/><circle cx='299.6' cy='260.0' r='0.9' fill='%23d9c2ff' opacity='0.51'/><circle cx='320.0' cy='151.3' r='1.5' fill='%23cdb2f9' opacity='0.54'/><circle cx='376.4' cy='28.7' r='0.9' fill='%23cdb2f9' opacity='0.65'/><circle cx='295.0' cy='135.6' r='1.5' fill='%23cdb2f9' opacity='0.28'/><circle cx='46.1' cy='297.6' r='0.6' fill='%23cdb2f9' opacity='0.39'/><circle cx='102.5' cy='253.3' r='1.6' fill='%23cdb2f9' opacity='0.45'/><circle cx='125.2' cy='186.2' r='0.6' fill='%23d9c2ff' opacity='0.38'/><circle cx='33.4' cy='283.6' r='0.6' fill='%23d9c2ff' opacity='0.70'/><circle cx='40.3' cy='238.2' r='1.0' fill='%23d9c2ff' opacity='0.67'/><circle cx='398.5' cy='5.5' r='0.9' fill='%23d9c2ff' opacity='0.84'/><circle cx='40.4' cy='240.8' r='0.5' fill='%23d9c2ff' opacity='0.37'/><circle cx='75.6' cy='133.8' r='1.7' fill='%23cdb2f9' opacity='0.44'/><circle cx='361.5' cy='176.8' r='1.0' fill='%23cdb2f9' opacity='0.35'/><circle cx='233.3' cy='62.2' r='1.8' fill='%23cdb2f9' opacity='0.51'/><circle cx='264.2' cy='247.3' r='1.1' fill='%23cdb2f9' opacity='0.67'/><circle cx='144.9' cy='243.0' r='0.8' fill='%23d9c2ff' opacity='0.69'/><circle cx='401.6' cy='4.5' r='1.0' fill='%23d9c2ff' opacity='0.29'/><circle cx='214.3' cy='268.1' r='0.9' fill='%23cdb2f9' opacity='0.42'/><circle cx='94.4' cy='221.4' r='1.7' fill='%23d9c2ff' opacity='0.65'/><circle cx='336.6' cy='223.2' r='1.7' fill='%23d9c2ff' opacity='0.84'/><circle cx='105.3' cy='97.7' r='1.8' fill='%23cdb2f9' opacity='0.77'/><circle cx='364.2' cy='256.2' r='0.6' fill='%23d9c2ff' opacity='0.26'/><circle cx='46.7' cy='1.5' r='1.3' fill='%23d9c2ff' opacity='0.83'/><path d='M-136.3 628.4 A346.3 346.3 0 0 1 556.3 628.4' stroke='%23d9c2ff' stroke-width='0.9' fill='none' opacity='.15' stroke-linecap='round'/><path d='M-1.8 605.7 A211.8 211.8 0 0 1 421.8 605.7' stroke='%23d9c2ff' stroke-width='0.9' fill='none' opacity='.15' stroke-linecap='round'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(169, 123, 245, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(217, 194, 255, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(169, 123, 245, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #2a2731 0%, #372f45 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(169, 123, 245, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(217, 194, 255, 0.13), transparent 40%);
  --drift: radial-gradient(circle at 72px 74px, rgba(219, 200, 251, 0.44) 0, rgba(219, 200, 251, 0.33) 1.4px, transparent 2.1px), radial-gradient(circle at 72px 74px, rgba(219, 200, 251, 0.13) 0, transparent 5.4px), radial-gradient(circle at 86px 91px, rgba(219, 200, 251, 0.39) 0, rgba(219, 200, 251, 0.29) 1.6px, transparent 2.3px), radial-gradient(circle at 86px 91px, rgba(219, 200, 251, 0.12) 0, transparent 6.0px), radial-gradient(circle at 52px 21px, rgba(219, 200, 251, 0.44) 0, rgba(219, 200, 251, 0.33) 1.1px, transparent 1.8px), radial-gradient(circle at 52px 21px, rgba(219, 200, 251, 0.13) 0, transparent 7.5px), radial-gradient(circle at 58px 82px, rgba(219, 200, 251, 0.60) 0, rgba(219, 200, 251, 0.45) 1.6px, transparent 2.3px), radial-gradient(circle at 58px 82px, rgba(219, 200, 251, 0.18) 0, transparent 4.9px), radial-gradient(circle at 37px 40px, rgba(219, 200, 251, 0.60) 0, rgba(219, 200, 251, 0.45) 0.9px, transparent 1.6px), radial-gradient(circle at 37px 40px, rgba(219, 200, 251, 0.18) 0, transparent 7.6px), radial-gradient(circle at 109px 60px, rgba(219, 200, 251, 0.55) 0, rgba(219, 200, 251, 0.41) 0.9px, transparent 1.6px), radial-gradient(circle at 109px 60px, rgba(219, 200, 251, 0.16) 0, transparent 7.5px), radial-gradient(circle at 82px 59px, rgba(219, 200, 251, 0.56) 0, rgba(219, 200, 251, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 82px 59px, rgba(219, 200, 251, 0.17) 0, transparent 5.8px), radial-gradient(circle at 20px 16px, rgba(219, 200, 251, 0.46) 0, rgba(219, 200, 251, 0.35) 1.6px, transparent 2.3px), radial-gradient(circle at 20px 16px, rgba(219, 200, 251, 0.14) 0, transparent 5.0px), radial-gradient(circle at 68px 129px, rgba(219, 200, 251, 0.50) 0, rgba(219, 200, 251, 0.37) 1.5px, transparent 2.2px), radial-gradient(circle at 68px 129px, rgba(219, 200, 251, 0.15) 0, transparent 5.8px), radial-gradient(circle at 120px 71px, rgba(219, 200, 251, 0.52) 0, rgba(219, 200, 251, 0.39) 1.1px, transparent 1.8px), radial-gradient(circle at 120px 71px, rgba(219, 200, 251, 0.16) 0, transparent 4.7px), radial-gradient(circle at 13px 108px, rgba(219, 200, 251, 0.56) 0, rgba(219, 200, 251, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 13px 108px, rgba(219, 200, 251, 0.17) 0, transparent 5.7px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0.60;
  --glow-dur: 22s;
  --tint-blue: #4a4852;
  --tint-blue-bd: #6c7185;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #4b4752;
  --tint-purple-bd: #766e81;
  --tint-purple-tx: #b097d9;
  --tint-teal: #494951;
  --tint-teal-bd: #67797b;
  --tint-teal-tx: #7db9b0;
  --tint-green: #49484f;
  --tint-green-bd: #6b786f;
  --tint-green-tx: #85b795;
  --tint-gray: #4a4851;
  --tint-gray-bd: #74747c;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #4c484e;
  --tint-orange-bd: #81736b;
  --tint-orange-tx: #cca680;
  --tint-red: #4c474f;
  --tint-red-bd: #816e73;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #4c484e;
  --tint-yellow-bd: #817668;
  --tint-yellow-tx: #c0af80;
}

/* ===== 💧 湖光青 ===== */
[data-theme="lake"] {
  color-scheme: light;
  --primary: #1a9ecb;
  --primary-dark: #1485ac;
  --primary-deep: #178bb3;
  --primary-bg: #e7f5fa;
  --primary-soft: rgba(26, 158, 203, 0.12);
  --blue: #1677ff;
  --bg: #f3f7f9;
  --card: #ffffff;
  --surface: #fbfcfd;
  --hover-bg: #f3f7f9;
  --border: #e0eaf0;
  --text: #1a262c;
  --text-sub: #37464d;
  --muted: #8397a1;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e2b1b7;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #e8ce9e;
  --side-bg: #123341;
  --side-bg2: #0f2c38;
  --side-text: #d9dee1;
  --side-nav: #bdc6ca;
  --side-muted: #84959c;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #1a9ecb;
  --side-active-text: #ffffff;
  --side-foot-text: #768991;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9ba9af;
  --login-bg1: #0a2230;
  --login-bg2: #123546;
  --login-bg3: #0d2a38;
  --login-hero: #e7ebec;
  --login-hero-sub: #8e9fa6;
  --login-point: #b4bfc4;
  --login-point-line: rgba(142, 159, 166, 0.18);
  --login-accent: #a8e0f5;
  --login-link: #aed5e3;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(106, 192, 221, 0.5);
  --login-glass-line2: rgba(106, 192, 221, 0.35);
  --login-yixn: #c5ced1;
  --login-card: #ffffff;
  --login-tab-bg: #f9fbfc;
  --login-tab-text: #64757e;
  --login-label: #37464d;
  --login-input-bg: #fafcfd;
  --login-input-border: #e0eaf0;
  --login-tip: #8397a1;
  --login-divider: #e0eaf0;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #203f4c 0%, #123341 58%, #134457 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0.0 58.8 L5.0 61.6 L10.0 63.8 L15.0 65.0 L20.0 64.9 L25.0 63.6 L30.0 61.3 L35.0 58.5 L40.0 55.8 L45.0 53.7 L50.0 52.6 L55.0 52.8 L60.0 54.2 L65.0 56.6 L70.0 59.4 L75.0 62.1 L80.0 64.1 L85.0 65.1 L90.0 64.7 L95.0 63.2 L100.0 60.8 L105.0 57.9 L110.0 55.3 L115.0 53.3 L120.0 52.5 L125.0 53.0 L130.0 54.6 L135.0 57.1 L140.0 59.9 L145.0 62.5 L150.0 64.4 L155.0 65.1' stroke='%23a8e0f5' stroke-width='1.2' fill='none' opacity='0.30' stroke-linecap='round'/><path d='M0.0 79.2 L5.0 80.4 L10.0 80.2 L15.0 78.9 L20.0 76.5 L25.0 73.7 L30.0 71.1 L35.0 69.3 L40.0 68.6 L45.0 69.3 L50.0 71.1 L55.0 73.7 L60.0 76.5 L65.0 78.8 L70.0 80.2 L75.0 80.4 L80.0 79.2 L85.0 77.0 L90.0 74.3 L95.0 71.6 L100.0 69.6 L105.0 68.7 L110.0 69.0 L115.0 70.7 L120.0 73.1 L125.0 75.9 L130.0 78.4 L135.0 80.0 L140.0 80.4 L145.0 79.5 L150.0 77.5 L155.0 74.9' stroke='%237ac7e1' stroke-width='1.2' fill='none' opacity='0.28' stroke-linecap='round'/><path d='M0.0 95.7 L5.0 94.4 L10.0 92.2 L15.0 89.4 L20.0 86.9 L25.0 85.2 L30.0 84.8 L35.0 85.7 L40.0 87.7 L45.0 90.3 L50.0 93.0 L55.0 95.0 L60.0 95.8 L65.0 95.3 L70.0 93.6 L75.0 91.1 L80.0 88.4 L85.0 86.1 L90.0 84.9 L95.0 85.0 L100.0 86.3 L105.0 88.7 L110.0 91.4 L115.0 93.9 L120.0 95.5 L125.0 95.8 L130.0 94.8 L135.0 92.7 L140.0 90.0 L145.0 87.4 L150.0 85.5 L155.0 84.8' stroke='%23a8e0f5' stroke-width='1.2' fill='none' opacity='0.26' stroke-linecap='round'/><path d='M0.0 108.3 L5.0 105.6 L10.0 103.1 L15.0 101.4 L20.0 100.9 L25.0 101.8 L30.0 103.8 L35.0 106.5 L40.0 109.0 L45.0 110.7 L50.0 111.2 L55.0 110.3 L60.0 108.3 L65.0 105.6 L70.0 103.1 L75.0 101.4 L80.0 100.9 L85.0 101.8 L90.0 103.8 L95.0 106.5 L100.0 109.0 L105.0 110.7 L110.0 111.2 L115.0 110.3 L120.0 108.3 L125.0 105.6 L130.0 103.1 L135.0 101.4 L140.0 100.9 L145.0 101.8 L150.0 103.8 L155.0 106.5' stroke='%237ac7e1' stroke-width='1.2' fill='none' opacity='0.23' stroke-linecap='round'/><path d='M70.1 63.0 V81.3' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M10.6 63.0 V103.7' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M146.1 63.0 V79.0' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M134.5 63.0 V98.3' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M111.9 63.0 V89.4' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M8.7 63.0 V96.1' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M109.0 23.2 q3.4 -4.2 6.8 0 q3.4 -4.2 6.8 0' stroke='%237ac7e1' stroke-width='1.0' fill='none' opacity='.35' stroke-linecap='round'/><path d='M53.2 23.8 q3.7 -4.6 7.4 0 q3.7 -4.6 7.4 0' stroke='%237ac7e1' stroke-width='1.0' fill='none' opacity='.35' stroke-linecap='round'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%237ac7e1' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(140, 206, 229, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0.0 117.6 L14.0 123.1 L28.0 127.6 L42.0 129.9 L56.0 129.8 L70.0 127.2 L84.0 122.6 L98.0 117.0 L112.0 111.6 L126.0 107.3 L140.0 105.2 L154.0 105.5 L168.0 108.4 L182.0 113.1 L196.0 118.7 L210.0 124.1 L224.0 128.2 L238.0 130.1 L252.0 129.5 L266.0 126.4 L280.0 121.5 L294.0 115.9 L308.0 110.6 L322.0 106.7 L336.0 105.0 L350.0 105.9 L364.0 109.2 L378.0 114.2 L392.0 119.9 L406.0 125.1 L420.0 128.8 L434.0 130.2' stroke='%23a8e0f5' stroke-width='1.2' fill='none' opacity='0.30' stroke-linecap='round'/><path d='M0.0 158.4 L14.0 160.7 L28.0 160.5 L42.0 157.7 L56.0 153.0 L70.0 147.5 L84.0 142.3 L98.0 138.6 L112.0 137.3 L126.0 138.5 L140.0 142.2 L154.0 147.4 L168.0 152.9 L182.0 157.6 L196.0 160.4 L210.0 160.7 L224.0 158.4 L238.0 154.1 L252.0 148.6 L266.0 143.2 L280.0 139.2 L294.0 137.3 L308.0 138.1 L322.0 141.3 L336.0 146.3 L350.0 151.8 L364.0 156.8 L378.0 160.1 L392.0 160.9 L406.0 159.1 L420.0 155.1 L434.0 149.7' stroke='%237ac7e1' stroke-width='1.2' fill='none' opacity='0.28' stroke-linecap='round'/><path d='M0.0 191.4 L14.0 188.9 L28.0 184.3 L42.0 178.9 L56.0 173.9 L70.0 170.5 L84.0 169.5 L98.0 171.3 L112.0 175.3 L126.0 180.7 L140.0 185.9 L154.0 189.9 L168.0 191.7 L182.0 190.7 L196.0 187.3 L210.0 182.2 L224.0 176.8 L238.0 172.3 L252.0 169.8 L266.0 169.9 L280.0 172.7 L294.0 177.4 L308.0 182.8 L322.0 187.8 L336.0 190.9 L350.0 191.6 L364.0 189.6 L378.0 185.4 L392.0 180.0 L406.0 174.8 L420.0 171.0 L434.0 169.5' stroke='%23a8e0f5' stroke-width='1.2' fill='none' opacity='0.26' stroke-linecap='round'/><path d='M0.0 216.5 L14.0 211.3 L28.0 206.2 L42.0 202.8 L56.0 201.8 L70.0 203.6 L84.0 207.7 L98.0 212.9 L112.0 218.0 L126.0 221.4 L140.0 222.4 L154.0 220.6 L168.0 216.5 L182.0 211.3 L196.0 206.2 L210.0 202.8 L224.0 201.8 L238.0 203.6 L252.0 207.7 L266.0 212.9 L280.0 218.0 L294.0 221.4 L308.0 222.4 L322.0 220.6 L336.0 216.5 L350.0 211.3 L364.0 206.2 L378.0 202.8 L392.0 201.8 L406.0 203.6 L420.0 207.7 L434.0 212.9' stroke='%237ac7e1' stroke-width='1.2' fill='none' opacity='0.23' stroke-linecap='round'/><path d='M31.1 126.0 V197.5' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M30.7 126.0 V156.9' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M9.2 126.0 V204.6' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M354.4 126.0 V200.0' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M318.3 126.0 V208.9' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M122.5 126.0 V180.7' stroke='%23a8e0f5' stroke-width='1.0' opacity='.12'/><path d='M72.0 80.2 q3.3 -4.1 6.6 0 q3.3 -4.1 6.6 0' stroke='%237ac7e1' stroke-width='1.0' fill='none' opacity='.35' stroke-linecap='round'/><path d='M350.0 79.5 q3.4 -4.3 6.8 0 q3.4 -4.3 6.8 0' stroke='%237ac7e1' stroke-width='1.0' fill='none' opacity='.35' stroke-linecap='round'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(26, 158, 203, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(168, 224, 245, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(26, 158, 203, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #eff8fb 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(26, 158, 203, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(168, 224, 245, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 53px 145px, transparent 1.7px, rgba(159, 214, 233, 0.48) 2.5px, transparent 3.1px), radial-gradient(circle at 51px 143px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 52px 58px, transparent 3.4px, rgba(159, 214, 233, 0.55) 5.0px, transparent 6.2px), radial-gradient(circle at 51px 56px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 61px 33px, transparent 2.4px, rgba(159, 214, 233, 0.55) 3.5px, transparent 4.3px), radial-gradient(circle at 60px 32px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 138px 30px, transparent 3.3px, rgba(159, 214, 233, 0.39) 4.8px, transparent 6.0px), radial-gradient(circle at 136px 28px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 129px 141px, transparent 1.9px, rgba(159, 214, 233, 0.58) 2.8px, transparent 3.5px), radial-gradient(circle at 128px 140px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 14px 115px, transparent 2.6px, rgba(159, 214, 233, 0.40) 3.9px, transparent 4.8px), radial-gradient(circle at 13px 114px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 30px 91px, transparent 2.8px, rgba(159, 214, 233, 0.52) 4.1px, transparent 5.1px), radial-gradient(circle at 28px 90px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 88px 54px, transparent 1.7px, rgba(159, 214, 233, 0.44) 2.5px, transparent 3.1px), radial-gradient(circle at 87px 53px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 37px 137px, transparent 2.1px, rgba(159, 214, 233, 0.48) 3.1px, transparent 3.9px), radial-gradient(circle at 35px 136px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 41px 54px, transparent 3.0px, rgba(159, 214, 233, 0.59) 4.4px, transparent 5.5px), radial-gradient(circle at 40px 53px, rgba(159, 214, 233, 0.48) 0, rgba(159, 214, 233, 0.36) 0.9px, transparent 1.4px);
  --drift-size: 150px;
  --drift-dir: -150px;
  --drift-dur: 26s;
  --drift-op: 0.60;
  --glow-dur: 18s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌾 燕麦米 ===== */
[data-theme="oat"] {
  color-scheme: light;
  --primary: #9a8b6f;
  --primary-dark: #82735a;
  --primary-deep: #726752;
  --primary-bg: #f8f5ee;
  --primary-soft: rgba(154, 139, 111, 0.12);
  --blue: #1677ff;
  --bg: #faf8f4;
  --card: #fffefc;
  --surface: #fdfcf9;
  --hover-bg: #faf8f4;
  --border: #ece7dc;
  --text: #2c2823;
  --text-sub: #49443d;
  --muted: #948d80;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #eaafaa;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #f0cd92;
  --side-bg: #322c22;
  --side-bg2: #2b261d;
  --side-text: #dedddc;
  --side-nav: #c6c4c1;
  --side-muted: #94918c;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #9a8b6f;
  --side-active-text: #ffffff;
  --side-foot-text: #88857f;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a9a6a2;
  --login-bg1: #262017;
  --login-bg2: #3c3427;
  --login-bg3: #2e281d;
  --login-hero: #ecebe9;
  --login-hero-sub: #a29e98;
  --login-point: #c2bfba;
  --login-point-line: rgba(162, 158, 152, 0.18);
  --login-accent: #e6dcc4;
  --login-link: #d5d0c7;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(189, 180, 161, 0.5);
  --login-glass-line2: rgba(189, 180, 161, 0.35);
  --login-yixn: #d0ceca;
  --login-card: #ffffff;
  --login-tab-bg: #fcfcfa;
  --login-tab-text: #756f64;
  --login-label: #49443d;
  --login-input-bg: #fdfcfb;
  --login-input-border: #ece7dc;
  --login-tip: #948d80;
  --login-divider: #ece7dc;
  --input-bg: #fffefc;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3e392f 0%, #322c22 58%, #433b2e 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0 0.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 8.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 16.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 24.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 32.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 40.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 48.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 56.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 64.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 72.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 80.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 88.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 96.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 104.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 112.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 120.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 128.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 136.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 144.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 152.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 160.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 168.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 176.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 184.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 192.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 200.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 208.0 H150.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M8.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M16.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M24.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M32.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M40.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M48.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M56.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M64.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M72.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M80.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M88.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M96.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M104.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M112.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M120.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M128.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M136.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M144.0 0 V210.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M31.0 158.4 L40.1 126.8' stroke='%23c4bcab' stroke-width='1.0' opacity='.35' stroke-linecap='round'/><path d='M32.3 153.9 Q36.0 155.2 38.8 151.2 Q35.1 149.9 32.3 153.9Z' fill='%23e6dcc4' opacity='0.26'/><path d='M32.3 153.9 Q31.9 157.8 36.4 159.5 Q36.8 155.6 32.3 153.9Z' fill='%23e6dcc4' opacity='0.26'/><path d='M33.6 149.3 Q37.3 150.6 40.1 146.7 Q36.4 145.4 33.6 149.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M33.6 149.3 Q33.2 153.2 37.7 155.0 Q38.1 151.1 33.6 149.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M34.9 144.8 Q38.6 146.1 41.4 142.2 Q37.7 140.9 34.9 144.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M34.9 144.8 Q34.5 148.7 39.0 150.5 Q39.4 146.6 34.9 144.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M36.2 140.3 Q39.9 141.6 42.7 137.7 Q39.0 136.4 36.2 140.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M36.2 140.3 Q35.8 144.2 40.3 146.0 Q40.7 142.1 36.2 140.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M37.5 135.8 Q41.2 137.1 44.0 133.2 Q40.3 131.9 37.5 135.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M37.5 135.8 Q37.1 139.7 41.6 141.5 Q42.0 137.6 37.5 135.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M38.8 131.3 Q42.5 132.6 45.2 128.7 Q41.5 127.4 38.8 131.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M38.8 131.3 Q38.4 135.2 42.9 137.0 Q43.2 133.1 38.8 131.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M18.6 88.8 L32.0 57.7' stroke='%23c4bcab' stroke-width='1.0' opacity='.35' stroke-linecap='round'/><path d='M20.6 84.4 Q24.1 86.2 27.3 82.6 Q23.8 80.8 20.6 84.4Z' fill='%23e6dcc4' opacity='0.26'/><path d='M20.6 84.4 Q19.7 88.2 23.9 90.5 Q24.8 86.7 20.6 84.4Z' fill='%23e6dcc4' opacity='0.26'/><path d='M22.5 79.9 Q26.0 81.7 29.2 78.2 Q25.7 76.4 22.5 79.9Z' fill='%23e6dcc4' opacity='0.26'/><path d='M22.5 79.9 Q21.6 83.8 25.8 86.1 Q26.7 82.3 22.5 79.9Z' fill='%23e6dcc4' opacity='0.26'/><path d='M24.4 75.5 Q27.9 77.3 31.1 73.7 Q27.6 72.0 24.4 75.5Z' fill='%23e6dcc4' opacity='0.26'/><path d='M24.4 75.5 Q23.5 79.3 27.7 81.6 Q28.6 77.8 24.4 75.5Z' fill='%23e6dcc4' opacity='0.26'/><path d='M26.3 71.1 Q29.8 72.8 33.0 69.3 Q29.5 67.5 26.3 71.1Z' fill='%23e6dcc4' opacity='0.26'/><path d='M26.3 71.1 Q25.4 74.9 29.6 77.2 Q30.5 73.4 26.3 71.1Z' fill='%23e6dcc4' opacity='0.26'/><path d='M28.2 66.6 Q31.7 68.4 35.0 64.8 Q31.5 63.1 28.2 66.6Z' fill='%23e6dcc4' opacity='0.26'/><path d='M28.2 66.6 Q27.3 70.4 31.6 72.8 Q32.4 68.9 28.2 66.6Z' fill='%23e6dcc4' opacity='0.26'/><path d='M30.1 62.2 Q33.6 63.9 36.9 60.4 Q33.4 58.6 30.1 62.2Z' fill='%23e6dcc4' opacity='0.26'/><path d='M30.1 62.2 Q29.2 66.0 33.5 68.3 Q34.3 64.5 30.1 62.2Z' fill='%23e6dcc4' opacity='0.26'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M20 12 V28 M12 20 H28' stroke='%23c4bcab' stroke-width='1.4' opacity='0.15' stroke-linecap='round'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(204, 197, 183, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0 0.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 8.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 16.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 24.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 32.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 40.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 48.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 56.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 64.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 72.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 80.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 88.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 96.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 104.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 112.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 120.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 128.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 136.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 144.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 152.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 160.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 168.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 176.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 184.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 192.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 200.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 208.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 216.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 224.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 232.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 240.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 248.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 256.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 264.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 272.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 280.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 288.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 296.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 304.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 312.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 320.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 328.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 336.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 344.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 352.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 360.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 368.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 376.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 384.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 392.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 400.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 408.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0 416.0 H420.0' stroke='%23c4bcab' stroke-width='0.7' opacity='.11'/><path d='M0.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M8.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M16.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M24.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M32.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M40.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M48.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M56.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M64.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M72.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M80.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M88.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M96.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M104.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M112.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M120.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M128.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M136.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M144.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M152.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M160.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M168.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M176.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M184.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M192.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M200.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M208.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M216.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M224.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M232.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M240.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M248.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M256.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M264.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M272.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M280.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M288.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M296.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M304.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M312.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M320.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M328.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M336.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M344.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M352.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M360.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M368.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M376.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M384.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M392.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M400.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M408.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M416.0 0 V420.0' stroke='%23e6dcc4' stroke-width='0.7' opacity='.09'/><path d='M168.4 228.7 L169.1 204.4' stroke='%23c4bcab' stroke-width='1.0' opacity='.35' stroke-linecap='round'/><path d='M168.5 225.3 Q172.4 225.6 174.1 221.1 Q170.2 220.8 168.5 225.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.5 225.3 Q169.1 229.2 173.9 229.7 Q173.3 225.9 168.5 225.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.6 221.8 Q172.5 222.1 174.2 217.6 Q170.3 217.3 168.6 221.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.6 221.8 Q169.2 225.7 174.0 226.3 Q173.4 222.4 168.6 221.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.7 218.3 Q172.6 218.7 174.3 214.2 Q170.4 213.8 168.7 218.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.7 218.3 Q169.3 222.2 174.1 222.8 Q173.5 218.9 168.7 218.3Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.8 214.8 Q172.7 215.2 174.4 210.7 Q170.5 210.3 168.8 214.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.8 214.8 Q169.4 218.7 174.2 219.3 Q173.6 215.4 168.8 214.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.9 211.4 Q172.8 211.7 174.5 207.2 Q170.6 206.9 168.9 211.4Z' fill='%23e6dcc4' opacity='0.26'/><path d='M168.9 211.4 Q169.5 215.2 174.3 215.8 Q173.7 212.0 168.9 211.4Z' fill='%23e6dcc4' opacity='0.26'/><path d='M169.0 207.9 Q172.9 208.2 174.6 203.7 Q170.7 203.4 169.0 207.9Z' fill='%23e6dcc4' opacity='0.26'/><path d='M169.0 207.9 Q169.6 211.8 174.4 212.4 Q173.8 208.5 169.0 207.9Z' fill='%23e6dcc4' opacity='0.26'/><path d='M222.5 284.3 L225.1 249.9' stroke='%23c4bcab' stroke-width='1.0' opacity='.35' stroke-linecap='round'/><path d='M222.9 279.4 Q226.7 280.0 228.7 275.6 Q224.8 275.0 222.9 279.4Z' fill='%23e6dcc4' opacity='0.26'/><path d='M222.9 279.4 Q223.3 283.3 228.0 284.1 Q227.6 280.2 222.9 279.4Z' fill='%23e6dcc4' opacity='0.26'/><path d='M223.2 274.5 Q227.1 275.0 229.1 270.6 Q225.2 270.1 223.2 274.5Z' fill='%23e6dcc4' opacity='0.26'/><path d='M223.2 274.5 Q223.7 278.4 228.4 279.2 Q228.0 275.3 223.2 274.5Z' fill='%23e6dcc4' opacity='0.26'/><path d='M223.6 269.6 Q227.5 270.1 229.4 265.7 Q225.6 265.2 223.6 269.6Z' fill='%23e6dcc4' opacity='0.26'/><path d='M223.6 269.6 Q224.0 273.5 228.8 274.3 Q228.4 270.4 223.6 269.6Z' fill='%23e6dcc4' opacity='0.26'/><path d='M224.0 264.7 Q227.9 265.2 229.8 260.8 Q225.9 260.3 224.0 264.7Z' fill='%23e6dcc4' opacity='0.26'/><path d='M224.0 264.7 Q224.4 268.6 229.2 269.4 Q228.7 265.5 224.0 264.7Z' fill='%23e6dcc4' opacity='0.26'/><path d='M224.4 259.7 Q228.3 260.3 230.2 255.9 Q226.3 255.3 224.4 259.7Z' fill='%23e6dcc4' opacity='0.26'/><path d='M224.4 259.7 Q224.8 263.6 229.5 264.5 Q229.1 260.6 224.4 259.7Z' fill='%23e6dcc4' opacity='0.26'/><path d='M224.7 254.8 Q228.6 255.4 230.6 251.0 Q226.7 250.4 224.7 254.8Z' fill='%23e6dcc4' opacity='0.26'/><path d='M224.7 254.8 Q225.2 258.7 229.9 259.5 Q229.5 255.6 224.7 254.8Z' fill='%23e6dcc4' opacity='0.26'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(154, 139, 111, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(230, 220, 196, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(154, 139, 111, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 420px 420px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #fffefc 0%, #f8f6f2 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(154, 139, 111, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(230, 220, 196, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(213, 206, 195, 0.41) 0, rgba(213, 206, 195, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(213, 206, 195, 0.42) 0, rgba(213, 206, 195, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(213, 206, 195, 0.37) 0, rgba(213, 206, 195, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(213, 206, 195, 0.36) 0, rgba(213, 206, 195, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(213, 206, 195, 0.52) 0, rgba(213, 206, 195, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(213, 206, 195, 0.29) 0, rgba(213, 206, 195, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(213, 206, 195, 0.28) 0, rgba(213, 206, 195, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(213, 206, 195, 0.40) 0, rgba(213, 206, 195, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(213, 206, 195, 0.30) 0, rgba(213, 206, 195, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(213, 206, 195, 0.31) 0, rgba(213, 206, 195, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(213, 206, 195, 0.52) 0, rgba(213, 206, 195, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(213, 206, 195, 0.49) 0, rgba(213, 206, 195, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(213, 206, 195, 0.43) 0, rgba(213, 206, 195, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(213, 206, 195, 0.32) 0, rgba(213, 206, 195, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(213, 206, 195, 0.39) 0, rgba(213, 206, 195, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(213, 206, 195, 0.41) 0, rgba(213, 206, 195, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(213, 206, 195, 0.51) 0, rgba(213, 206, 195, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(213, 206, 195, 0.50) 0, rgba(213, 206, 195, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(213, 206, 195, 0.44) 0, rgba(213, 206, 195, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(213, 206, 195, 0.44) 0, rgba(213, 206, 195, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(213, 206, 195, 0.39) 0, rgba(213, 206, 195, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(213, 206, 195, 0.32) 0, rgba(213, 206, 195, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 35s;
  --drift-op: 0.60;
  --glow-dur: 27s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== ⬛ 石墨 ===== */
[data-theme="graphite"] {
  color-scheme: light;
  --primary: #3d4450;
  --primary-dark: #2e333c;
  --primary-deep: #363c46;
  --primary-bg: #eef0f2;
  --primary-soft: rgba(61, 68, 80, 0.12);
  --blue: #1677ff;
  --bg: #f5f6f7;
  --card: #ffffff;
  --surface: #fcfcfc;
  --hover-bg: #f5f6f7;
  --border: #e2e5e8;
  --text: #1a1d21;
  --text-sub: #383c41;
  --muted: #868c93;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e3aeb2;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #eacb9a;
  --side-bg: #191c20;
  --side-bg2: #16181c;
  --side-text: #dadbdb;
  --side-nav: #bfbfc1;
  --side-muted: #87898b;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #3d4450;
  --side-active-text: #ffffff;
  --side-foot-text: #7a7b7e;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9ea0a1;
  --login-bg1: #0f1114;
  --login-bg2: #1d2126;
  --login-bg3: #15181c;
  --login-hero: #e8e9e9;
  --login-hero-sub: #939597;
  --login-point: #b7b9ba;
  --login-point-line: rgba(147, 149, 151, 0.18);
  --login-accent: #cfd6dd;
  --login-link: #b8bbbe;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(129, 133, 141, 0.5);
  --login-glass-line2: rgba(129, 133, 141, 0.35);
  --login-yixn: #c8c9ca;
  --login-card: #ffffff;
  --login-tab-bg: #fafafb;
  --login-tab-text: #666b71;
  --login-label: #383c41;
  --login-input-bg: #fbfbfc;
  --login-input-border: #e2e5e8;
  --login-tip: #868c93;
  --login-divider: #e2e5e8;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #272a2d 0%, #191c20 58%, #1f2228 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M-11.0 0 L-221.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M0.0 0 L-210.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M11.0 0 L-199.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M22.0 0 L-188.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M33.0 0 L-177.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M44.0 0 L-166.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M55.0 0 L-155.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M66.0 0 L-144.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M77.0 0 L-133.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M88.0 0 L-122.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M99.0 0 L-111.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M110.0 0 L-100.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M121.0 0 L-89.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M132.0 0 L-78.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M143.0 0 L-67.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M154.0 0 L-56.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M165.0 0 L-45.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M176.0 0 L-34.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M187.0 0 L-23.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M198.0 0 L-12.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M209.0 0 L-1.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M220.0 0 L10.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M231.0 0 L21.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M242.0 0 L32.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M253.0 0 L43.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M264.0 0 L54.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M275.0 0 L65.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M286.0 0 L76.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M297.0 0 L87.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M308.0 0 L98.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M319.0 0 L109.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M330.0 0 L120.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M341.0 0 L131.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M352.0 0 L142.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M363.0 0 L153.0 210.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M-11.0 0 L199.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M0.0 0 L210.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M11.0 0 L221.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M22.0 0 L232.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M33.0 0 L243.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M44.0 0 L254.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M55.0 0 L265.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M66.0 0 L276.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M77.0 0 L287.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M88.0 0 L298.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M99.0 0 L309.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M110.0 0 L320.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M121.0 0 L331.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M132.0 0 L342.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M143.0 0 L353.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M154.0 0 L364.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M165.0 0 L375.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M176.0 0 L386.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M187.0 0 L397.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M198.0 0 L408.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M209.0 0 L419.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M220.0 0 L430.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M231.0 0 L441.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M242.0 0 L452.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M253.0 0 L463.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M264.0 0 L474.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M275.0 0 L485.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M286.0 0 L496.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M297.0 0 L507.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M308.0 0 L518.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M319.0 0 L529.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M330.0 0 L540.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M341.0 0 L551.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M352.0 0 L562.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M363.0 0 L573.0 210.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><circle cx='69.1' cy='155.2' r='1.4' fill='%238e939a' opacity='0.37'/><circle cx='131.4' cy='14.5' r='1.1' fill='%238e939a' opacity='0.22'/><circle cx='141.0' cy='62.7' r='1.0' fill='%238e939a' opacity='0.15'/><circle cx='50.3' cy='47.1' r='1.6' fill='%238e939a' opacity='0.27'/><circle cx='119.4' cy='204.7' r='1.2' fill='%238e939a' opacity='0.15'/><circle cx='108.8' cy='60.8' r='1.3' fill='%238e939a' opacity='0.23'/><circle cx='136.9' cy='80.0' r='1.7' fill='%238e939a' opacity='0.24'/><circle cx='20.6' cy='60.4' r='1.6' fill='%238e939a' opacity='0.26'/><circle cx='25.9' cy='56.1' r='0.9' fill='%238e939a' opacity='0.28'/><circle cx='116.7' cy='156.5' r='1.6' fill='%238e939a' opacity='0.13'/><circle cx='56.7' cy='140.7' r='1.4' fill='%238e939a' opacity='0.27'/><circle cx='42.6' cy='16.0' r='1.4' fill='%238e939a' opacity='0.13'/><circle cx='142.2' cy='102.6' r='1.2' fill='%238e939a' opacity='0.20'/><circle cx='81.0' cy='179.4' r='1.6' fill='%238e939a' opacity='0.21'/><circle cx='98.1' cy='149.3' r='1.6' fill='%238e939a' opacity='0.39'/><circle cx='6.0' cy='176.3' r='1.0' fill='%238e939a' opacity='0.16'/><circle cx='23.2' cy='99.3' r='1.0' fill='%238e939a' opacity='0.27'/><circle cx='62.4' cy='187.0' r='1.7' fill='%238e939a' opacity='0.17'/><circle cx='136.5' cy='157.0' r='0.9' fill='%238e939a' opacity='0.20'/><circle cx='8.8' cy='187.0' r='0.9' fill='%238e939a' opacity='0.36'/><circle cx='112.4' cy='95.1' r='1.3' fill='%238e939a' opacity='0.26'/><circle cx='64.4' cy='182.3' r='0.8' fill='%238e939a' opacity='0.20'/><circle cx='123.6' cy='182.7' r='0.9' fill='%238e939a' opacity='0.31'/><circle cx='101.8' cy='179.8' r='2.1' fill='%238e939a' opacity='0.21'/><circle cx='69.1' cy='123.3' r='1.2' fill='%238e939a' opacity='0.26'/><circle cx='9.0' cy='130.8' r='1.2' fill='%238e939a' opacity='0.12'/><circle cx='125.7' cy='31.8' r='1.5' fill='%238e939a' opacity='0.33'/><circle cx='34.2' cy='21.9' r='0.9' fill='%238e939a' opacity='0.13'/><rect x='78.6' y='25.1' width='15.3' height='15.3' fill='none' stroke='%23cfd6dd' stroke-width='0.9' opacity='.2' transform='rotate(3 78.6 25.1)'/><rect x='60.6' y='164.7' width='14.3' height='14.3' fill='none' stroke='%23cfd6dd' stroke-width='0.9' opacity='.2' transform='rotate(43 60.6 164.7)'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M-6 14 L14 -6 M6 34 L34 6 M26 46 L46 26' stroke='%238e939a' stroke-width='1.4' opacity='0.13'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(158, 162, 168, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M-11.0 0 L-431.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M0.0 0 L-420.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M11.0 0 L-409.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M22.0 0 L-398.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M33.0 0 L-387.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M44.0 0 L-376.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M55.0 0 L-365.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M66.0 0 L-354.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M77.0 0 L-343.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M88.0 0 L-332.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M99.0 0 L-321.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M110.0 0 L-310.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M121.0 0 L-299.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M132.0 0 L-288.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M143.0 0 L-277.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M154.0 0 L-266.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M165.0 0 L-255.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M176.0 0 L-244.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M187.0 0 L-233.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M198.0 0 L-222.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M209.0 0 L-211.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M220.0 0 L-200.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M231.0 0 L-189.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M242.0 0 L-178.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M253.0 0 L-167.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M264.0 0 L-156.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M275.0 0 L-145.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M286.0 0 L-134.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M297.0 0 L-123.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M308.0 0 L-112.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M319.0 0 L-101.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M330.0 0 L-90.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M341.0 0 L-79.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M352.0 0 L-68.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M363.0 0 L-57.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M374.0 0 L-46.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M385.0 0 L-35.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M396.0 0 L-24.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M407.0 0 L-13.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M418.0 0 L-2.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M429.0 0 L9.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M440.0 0 L20.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M451.0 0 L31.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M462.0 0 L42.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M473.0 0 L53.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M484.0 0 L64.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M495.0 0 L75.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M506.0 0 L86.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M517.0 0 L97.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M528.0 0 L108.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M539.0 0 L119.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M550.0 0 L130.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M561.0 0 L141.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M572.0 0 L152.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M583.0 0 L163.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M594.0 0 L174.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M605.0 0 L185.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M616.0 0 L196.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M627.0 0 L207.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M638.0 0 L218.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M649.0 0 L229.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M660.0 0 L240.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M671.0 0 L251.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M682.0 0 L262.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M693.0 0 L273.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M704.0 0 L284.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M715.0 0 L295.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M726.0 0 L306.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M737.0 0 L317.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M748.0 0 L328.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M759.0 0 L339.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M770.0 0 L350.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M781.0 0 L361.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M792.0 0 L372.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M803.0 0 L383.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M814.0 0 L394.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M825.0 0 L405.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M836.0 0 L416.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M847.0 0 L427.0 420.0' stroke='%238e939a' stroke-width='0.7' opacity='.10'/><path d='M-11.0 0 L409.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M0.0 0 L420.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M11.0 0 L431.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M22.0 0 L442.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M33.0 0 L453.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M44.0 0 L464.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M55.0 0 L475.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M66.0 0 L486.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M77.0 0 L497.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M88.0 0 L508.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M99.0 0 L519.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M110.0 0 L530.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M121.0 0 L541.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M132.0 0 L552.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M143.0 0 L563.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M154.0 0 L574.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M165.0 0 L585.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M176.0 0 L596.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M187.0 0 L607.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M198.0 0 L618.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M209.0 0 L629.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M220.0 0 L640.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M231.0 0 L651.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M242.0 0 L662.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M253.0 0 L673.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M264.0 0 L684.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M275.0 0 L695.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M286.0 0 L706.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M297.0 0 L717.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M308.0 0 L728.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M319.0 0 L739.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M330.0 0 L750.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M341.0 0 L761.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M352.0 0 L772.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M363.0 0 L783.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M374.0 0 L794.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M385.0 0 L805.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M396.0 0 L816.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M407.0 0 L827.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M418.0 0 L838.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M429.0 0 L849.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M440.0 0 L860.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M451.0 0 L871.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M462.0 0 L882.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M473.0 0 L893.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M484.0 0 L904.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M495.0 0 L915.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M506.0 0 L926.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M517.0 0 L937.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M528.0 0 L948.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M539.0 0 L959.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M550.0 0 L970.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M561.0 0 L981.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M572.0 0 L992.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M583.0 0 L1003.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M594.0 0 L1014.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M605.0 0 L1025.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M616.0 0 L1036.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M627.0 0 L1047.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M638.0 0 L1058.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M649.0 0 L1069.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M660.0 0 L1080.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M671.0 0 L1091.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M682.0 0 L1102.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M693.0 0 L1113.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M704.0 0 L1124.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M715.0 0 L1135.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M726.0 0 L1146.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M737.0 0 L1157.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M748.0 0 L1168.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M759.0 0 L1179.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M770.0 0 L1190.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M781.0 0 L1201.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M792.0 0 L1212.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M803.0 0 L1223.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M814.0 0 L1234.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M825.0 0 L1245.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M836.0 0 L1256.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><path d='M847.0 0 L1267.0 420.0' stroke='%23cfd6dd' stroke-width='0.7' opacity='.07'/><circle cx='153.6' cy='223.5' r='1.5' fill='%238e939a' opacity='0.32'/><circle cx='39.2' cy='344.3' r='1.2' fill='%238e939a' opacity='0.20'/><circle cx='291.0' cy='272.8' r='2.0' fill='%238e939a' opacity='0.30'/><circle cx='213.5' cy='66.5' r='1.8' fill='%238e939a' opacity='0.12'/><circle cx='407.1' cy='412.3' r='1.1' fill='%238e939a' opacity='0.14'/><circle cx='378.9' cy='139.9' r='1.5' fill='%238e939a' opacity='0.22'/><circle cx='228.5' cy='25.1' r='1.3' fill='%238e939a' opacity='0.30'/><circle cx='366.5' cy='341.0' r='0.9' fill='%238e939a' opacity='0.22'/><circle cx='64.4' cy='297.1' r='0.9' fill='%238e939a' opacity='0.32'/><circle cx='187.5' cy='214.0' r='1.0' fill='%238e939a' opacity='0.18'/><circle cx='25.2' cy='232.9' r='1.7' fill='%238e939a' opacity='0.25'/><circle cx='313.5' cy='136.4' r='1.9' fill='%238e939a' opacity='0.26'/><circle cx='375.9' cy='190.7' r='1.2' fill='%238e939a' opacity='0.25'/><circle cx='191.2' cy='35.0' r='1.4' fill='%238e939a' opacity='0.33'/><circle cx='283.9' cy='254.8' r='0.9' fill='%238e939a' opacity='0.26'/><circle cx='288.9' cy='207.1' r='1.5' fill='%238e939a' opacity='0.37'/><circle cx='283.9' cy='236.9' r='1.5' fill='%238e939a' opacity='0.15'/><circle cx='344.4' cy='189.8' r='1.9' fill='%238e939a' opacity='0.27'/><circle cx='11.6' cy='2.3' r='2.1' fill='%238e939a' opacity='0.22'/><circle cx='214.0' cy='149.0' r='1.9' fill='%238e939a' opacity='0.26'/><circle cx='71.1' cy='323.7' r='1.6' fill='%238e939a' opacity='0.14'/><circle cx='317.1' cy='45.2' r='1.5' fill='%238e939a' opacity='0.15'/><circle cx='246.3' cy='324.9' r='1.4' fill='%238e939a' opacity='0.19'/><circle cx='342.1' cy='117.3' r='0.9' fill='%238e939a' opacity='0.23'/><circle cx='251.3' cy='266.2' r='1.2' fill='%238e939a' opacity='0.36'/><circle cx='305.1' cy='204.2' r='1.9' fill='%238e939a' opacity='0.22'/><circle cx='375.0' cy='380.0' r='1.9' fill='%238e939a' opacity='0.38'/><circle cx='47.9' cy='211.5' r='2.0' fill='%238e939a' opacity='0.13'/><rect x='313.4' y='12.1' width='18.8' height='18.8' fill='none' stroke='%23cfd6dd' stroke-width='0.9' opacity='.2' transform='rotate(22 313.4 12.1)'/><rect x='198.6' y='260.4' width='18.5' height='18.5' fill='none' stroke='%23cfd6dd' stroke-width='0.9' opacity='.2' transform='rotate(29 198.6 260.4)'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(61, 68, 80, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(207, 214, 221, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(61, 68, 80, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 560px 560px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f1f2f3 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(61, 68, 80, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(207, 214, 221, 0.08), transparent 40%);
  --drift: none;
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌫️ 雾霭青 ===== */
[data-theme="mist"] {
  color-scheme: light;
  --primary: #6ba39c;
  --primary-dark: #578a84;
  --primary-deep: #4f7973;
  --primary-bg: #eaf4f3;
  --primary-soft: rgba(107, 163, 156, 0.12);
  --blue: #1677ff;
  --bg: #f4f7f7;
  --card: #ffffff;
  --surface: #fbfcfc;
  --hover-bg: #f4f7f7;
  --border: #e2eaed;
  --text: #1f2a2b;
  --text-sub: #3d494b;
  --muted: #8b9a9c;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e3b1b5;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #eace9d;
  --side-bg: #22383a;
  --side-bg2: #1d3032;
  --side-text: #dcdfdf;
  --side-nav: #c1c7c8;
  --side-muted: #8c9899;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #6ba39c;
  --side-active-text: #ffffff;
  --side-foot-text: #7f8c8d;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a2abac;
  --login-bg1: #14262a;
  --login-bg2: #1f3a3d;
  --login-bg3: #193033;
  --login-hero: #e9ebec;
  --login-hero-sub: #94a1a2;
  --login-point: #b9c1c2;
  --login-point-line: rgba(148, 161, 162, 0.18);
  --login-accent: #cfe9e4;
  --login-link: #c6d7d6;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(159, 195, 191, 0.5);
  --login-glass-line2: rgba(159, 195, 191, 0.35);
  --login-yixn: #c9cfd0;
  --login-card: #ffffff;
  --login-tab-bg: #fafbfb;
  --login-tab-text: #6b787a;
  --login-label: #3d494b;
  --login-input-bg: #fbfcfc;
  --login-input-border: #e2eaed;
  --login-tip: #8b9a9c;
  --login-divider: #e2eaed;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #2f4446 0%, #22383a 58%, #2e494a 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0 58.0 Q12.5 62.8 25.0 59.1 Q37.5 53.3 50.0 57.8 Q62.5 62.8 75.0 59.5 Q87.5 53.3 100.0 57.7 Q112.5 62.8 125.0 56.3 Q137.5 53.3 150.0 57.6' stroke='%23cfe9e4' stroke-width='1.1' fill='none' opacity='0.34' stroke-linecap='round'/><path d='M0 99.0 Q12.5 108.1 25.0 101.9 Q37.5 90.0 50.0 97.1 Q62.5 108.1 75.0 97.9 Q87.5 90.0 100.0 96.5 Q112.5 108.1 125.0 96.3 Q137.5 90.0 150.0 101.0' stroke='%23a9cac6' stroke-width='1.1' fill='none' opacity='0.30' stroke-linecap='round'/><path d='M0 132.6 Q12.5 140.1 25.0 135.2 Q37.5 125.1 50.0 135.1 Q62.5 140.1 75.0 134.1 Q87.5 125.1 100.0 135.3 Q112.5 140.1 125.0 133.1 Q137.5 125.1 150.0 133.3' stroke='%23cfe9e4' stroke-width='1.1' fill='none' opacity='0.26' stroke-linecap='round'/><path d='M0 130.2 Q18.8 117.7 37.5 126.7 Q56.2 121.1 75.0 129.1 Q93.8 121.2 112.5 128.5 Q131.2 119.8 150.0 129.9 L150.0 210.0 L0 210.0 Z' fill='%23a9cac6' opacity='0.12'/><path d='M0 151.2 Q18.8 133.6 37.5 149.6 Q56.2 136.2 75.0 148.4 Q93.8 138.4 112.5 149.1 Q131.2 139.9 150.0 148.7 L150.0 210.0 L0 210.0 Z' fill='%23a9cac6' opacity='0.09'/><path d='M0 172.2 Q18.8 163.7 37.5 171.5 Q56.2 163.9 75.0 168.3 Q93.8 165.2 112.5 169.1 Q131.2 161.5 150.0 171.4 L150.0 210.0 L0 210.0 Z' fill='%23a9cac6' opacity='0.06'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%23a9cac6' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(181, 209, 206, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0 127.7 Q35.0 142.6 70.0 123.3 Q105.0 112.8 140.0 130.7 Q175.0 142.6 210.0 127.8 Q245.0 112.8 280.0 133.5 Q315.0 142.6 350.0 132.4 Q385.0 112.8 420.0 124.1' stroke='%23cfe9e4' stroke-width='1.1' fill='none' opacity='0.34' stroke-linecap='round'/><path d='M0 194.2 Q35.0 206.0 70.0 193.3 Q105.0 182.3 140.0 196.5 Q175.0 206.0 210.0 191.4 Q245.0 182.3 280.0 194.8 Q315.0 206.0 350.0 193.3 Q385.0 182.3 420.0 193.7' stroke='%23a9cac6' stroke-width='1.1' fill='none' opacity='0.30' stroke-linecap='round'/><path d='M0 259.6 Q35.0 279.0 70.0 263.4 Q105.0 240.2 140.0 264.8 Q175.0 279.0 210.0 255.3 Q245.0 240.2 280.0 260.3 Q315.0 279.0 350.0 264.3 Q385.0 240.2 420.0 267.2' stroke='%23cfe9e4' stroke-width='1.1' fill='none' opacity='0.26' stroke-linecap='round'/><path d='M0 260.4 Q52.5 238.3 105.0 253.3 Q157.5 238.8 210.0 253.8 Q262.5 228.3 315.0 258.6 Q367.5 222.9 420.0 252.9 L420.0 420.0 L0 420.0 Z' fill='%23a9cac6' opacity='0.12'/><path d='M0 302.4 Q52.5 287.4 105.0 295.6 Q157.5 264.7 210.0 296.0 Q262.5 287.4 315.0 296.9 Q367.5 271.5 420.0 297.3 L420.0 420.0 L0 420.0 Z' fill='%23a9cac6' opacity='0.09'/><path d='M0 344.4 Q52.5 323.8 105.0 337.3 Q157.5 326.5 210.0 338.1 Q262.5 308.4 315.0 342.6 Q367.5 320.2 420.0 344.2 L420.0 420.0 L0 420.0 Z' fill='%23a9cac6' opacity='0.06'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(107, 163, 156, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(207, 233, 228, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(107, 163, 156, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f5f9f8 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(107, 163, 156, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(207, 233, 228, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(193, 216, 213, 0.41) 0, rgba(193, 216, 213, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(193, 216, 213, 0.42) 0, rgba(193, 216, 213, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(193, 216, 213, 0.37) 0, rgba(193, 216, 213, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(193, 216, 213, 0.36) 0, rgba(193, 216, 213, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(193, 216, 213, 0.52) 0, rgba(193, 216, 213, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(193, 216, 213, 0.29) 0, rgba(193, 216, 213, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(193, 216, 213, 0.28) 0, rgba(193, 216, 213, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(193, 216, 213, 0.40) 0, rgba(193, 216, 213, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(193, 216, 213, 0.30) 0, rgba(193, 216, 213, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(193, 216, 213, 0.31) 0, rgba(193, 216, 213, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(193, 216, 213, 0.52) 0, rgba(193, 216, 213, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(193, 216, 213, 0.49) 0, rgba(193, 216, 213, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(193, 216, 213, 0.43) 0, rgba(193, 216, 213, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(193, 216, 213, 0.32) 0, rgba(193, 216, 213, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(193, 216, 213, 0.39) 0, rgba(193, 216, 213, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(193, 216, 213, 0.41) 0, rgba(193, 216, 213, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(193, 216, 213, 0.51) 0, rgba(193, 216, 213, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(193, 216, 213, 0.50) 0, rgba(193, 216, 213, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(193, 216, 213, 0.44) 0, rgba(193, 216, 213, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(193, 216, 213, 0.44) 0, rgba(193, 216, 213, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(193, 216, 213, 0.39) 0, rgba(193, 216, 213, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(193, 216, 213, 0.32) 0, rgba(193, 216, 213, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 34s;
  --drift-op: 0.60;
  --glow-dur: 26s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🎆 极光 ===== */
[data-theme="aurora"] {
  color-scheme: dark;
  --primary: #4fd1b0;
  --primary-dark: #38b096;
  --primary-deep: #3a9b82;
  --primary-bg: rgba(79,209,176,0.15);
  --primary-soft: rgba(79, 209, 176, 0.18);
  --blue: #6ba4ff;
  --bg: #0e1a1c;
  --card: #232e30;
  --surface: #1c2729;
  --hover-bg: #1c282a;
  --border: #233c42;
  --text: #e2f2f0;
  --text-sub: #c8dcdb;
  --muted: #85a5a4;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #3d3537;
  --danger-text: #ff9f9f;
  --danger-border: #704c50;
  --warn-bg: #3d3e32;
  --warn-text: #ffca79;
  --warn-border: #7b6c41;
  --side-bg: #0a1416;
  --side-bg2: #091113;
  --side-text: #d8d9da;
  --side-nav: #babdbe;
  --side-muted: #808586;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #4fd1b0;
  --side-active-text: #101418;
  --side-foot-text: #717778;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #989c9d;
  --login-bg1: #071012;
  --login-bg2: #12262a;
  --login-bg3: #0d1c20;
  --login-hero: #e7e9ea;
  --login-hero-sub: #8e9799;
  --login-point: #b4babc;
  --login-point-line: rgba(142, 151, 153, 0.18);
  --login-accent: #a8f0dc;
  --login-link: #bce2da;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(141, 225, 204, 0.5);
  --login-glass-line2: rgba(141, 225, 204, 0.35);
  --login-yixn: #c5cacb;
  --login-card: #232e30;
  --login-tab-bg: #182426;
  --login-tab-text: #a1bcbb;
  --login-label: #c8dcdb;
  --login-input-bg: #1b2628;
  --login-input-border: #233c42;
  --login-tip: #85a5a4;
  --login-divider: #233c42;
  --input-bg: #232e30;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #192224 0%, #0a1416 58%, #15322f 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><defs><linearGradient id='ag' x1='0' y1='0' x2='0' y2='1'><stop offset='0%25' stop-color='%2399e4d1' stop-opacity='0'/><stop offset='38%25' stop-color='%2399e4d1' stop-opacity='.55'/><stop offset='100%25' stop-color='%23a8f0dc' stop-opacity='0'/></linearGradient></defs><path d='M4.2 15.5 Q8.4 17.5 8.7 35.0 Q9.4 52.5 5.7 70.0 Q6.5 87.5 0.3 105.0 Q1.9 122.5 1.4 140.0 Q-0.9 157.5 7.2 175.0 L16.1 193.2 Q12.9 157.5 20.2 175.0 Q11.6 122.5 17.4 140.0 Q13.7 87.5 12.4 105.0 Q17.6 52.5 13.5 70.0 Q20.3 17.5 18.9 35.0 Z' fill='url(%23ag)' opacity='0.50'/><path d='M46.0 32.7 Q51.0 17.5 49.1 35.0 Q47.8 52.5 43.3 70.0 Q43.3 87.5 42.1 105.0 Q40.8 122.5 47.5 140.0 Q42.3 157.5 50.5 175.0 L54.0 193.2 Q54.9 157.5 55.7 175.0 Q51.1 122.5 58.0 140.0 Q49.5 87.5 53.6 105.0 Q51.2 52.5 49.8 70.0 Q55.0 17.5 52.9 35.0 Z' fill='url(%23ag)' opacity='0.45'/><path d='M71.8 24.8 Q73.1 17.5 70.7 35.0 Q68.6 52.5 67.3 70.0 Q66.6 87.5 71.4 105.0 Q68.5 122.5 76.2 140.0 Q72.9 157.5 73.7 175.0 L87.8 193.2 Q92.1 157.5 85.6 175.0 Q89.2 122.5 90.9 140.0 Q85.4 87.5 91.2 105.0 Q83.4 52.5 85.9 70.0 Q84.7 17.5 83.8 35.0 Z' fill='url(%23ag)' opacity='0.40'/><path d='M78.8 21.6 Q75.2 17.5 74.5 35.0 Q73.6 52.5 76.7 70.0 Q75.9 87.5 82.4 105.0 Q80.4 122.5 82.1 140.0 Q83.7 157.5 76.3 175.0 L93.5 193.2 Q97.0 157.5 89.3 175.0 Q97.8 122.5 92.7 140.0 Q95.3 87.5 97.4 105.0 Q91.4 52.5 95.5 70.0 Q89.0 17.5 90.2 35.0 Z' fill='url(%23ag)' opacity='0.35'/><circle cx='56.2' cy='137.2' r='1.1' fill='%23a8f0dc' opacity='0.36'/><circle cx='145.5' cy='27.3' r='1.0' fill='%23a8f0dc' opacity='0.27'/><circle cx='11.3' cy='12.9' r='0.9' fill='%23a8f0dc' opacity='0.45'/><circle cx='106.6' cy='20.4' r='1.2' fill='%23a8f0dc' opacity='0.51'/><circle cx='28.1' cy='62.3' r='0.6' fill='%23a8f0dc' opacity='0.63'/><circle cx='78.3' cy='125.8' r='1.3' fill='%23a8f0dc' opacity='0.62'/><circle cx='1.4' cy='81.8' r='1.0' fill='%23a8f0dc' opacity='0.49'/><circle cx='84.4' cy='53.6' r='1.3' fill='%23a8f0dc' opacity='0.66'/><circle cx='134.3' cy='97.3' r='0.7' fill='%23a8f0dc' opacity='0.59'/><circle cx='72.1' cy='69.9' r='1.4' fill='%23a8f0dc' opacity='0.46'/><circle cx='139.3' cy='37.8' r='1.3' fill='%23a8f0dc' opacity='0.33'/><circle cx='133.3' cy='10.1' r='1.0' fill='%23a8f0dc' opacity='0.64'/><circle cx='24.2' cy='22.8' r='0.7' fill='%23a8f0dc' opacity='0.55'/><circle cx='88.2' cy='44.1' r='1.4' fill='%23a8f0dc' opacity='0.59'/><circle cx='66.0' cy='128.9' r='1.5' fill='%23a8f0dc' opacity='0.41'/><circle cx='16.0' cy='69.5' r='0.8' fill='%23a8f0dc' opacity='0.52'/><circle cx='78.9' cy='2.0' r='1.4' fill='%23a8f0dc' opacity='0.33'/><circle cx='43.5' cy='139.8' r='0.8' fill='%23a8f0dc' opacity='0.33'/><circle cx='41.4' cy='4.6' r='1.0' fill='%23a8f0dc' opacity='0.41'/><circle cx='55.9' cy='52.2' r='1.5' fill='%23a8f0dc' opacity='0.41'/><circle cx='87.2' cy='68.2' r='1.4' fill='%23a8f0dc' opacity='0.54'/><circle cx='67.6' cy='32.5' r='0.9' fill='%23a8f0dc' opacity='0.61'/><circle cx='101.2' cy='139.6' r='0.7' fill='%23a8f0dc' opacity='0.59'/><circle cx='2.9' cy='84.1' r='1.0' fill='%23a8f0dc' opacity='0.53'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='10' cy='10' r='1.2' fill='%2399e4d1' opacity='0.25'/><circle cx='30' cy='24' r='0.9' fill='%2399e4d1' opacity='0.17'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(167, 232, 216, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><defs><linearGradient id='ag' x1='0' y1='0' x2='0' y2='1'><stop offset='0%25' stop-color='%2399e4d1' stop-opacity='0'/><stop offset='38%25' stop-color='%2399e4d1' stop-opacity='.55'/><stop offset='100%25' stop-color='%23a8f0dc' stop-opacity='0'/></linearGradient></defs><path d='M28.8 54.5 Q40.3 35.0 41.2 70.0 Q43.1 105.0 33.0 140.0 Q35.1 175.0 17.8 210.0 Q22.3 245.0 20.9 280.0 Q14.5 315.0 37.1 350.0 L67.0 386.4 Q58.2 315.0 78.7 350.0 Q54.5 245.0 70.7 280.0 Q60.4 175.0 56.7 210.0 Q71.3 105.0 59.9 140.0 Q79.0 35.0 75.0 70.0 Z' fill='url(%23ag)' opacity='0.50'/><path d='M106.7 77.6 Q120.6 35.0 115.2 70.0 Q111.6 105.0 99.0 140.0 Q98.9 175.0 95.6 210.0 Q92.1 245.0 110.6 280.0 Q96.3 315.0 119.2 350.0 L138.0 386.4 Q140.7 315.0 142.8 350.0 Q130.0 245.0 149.4 280.0 Q125.4 175.0 137.0 210.0 Q130.3 105.0 126.3 140.0 Q141.0 35.0 135.0 70.0 Z' fill='url(%23ag)' opacity='0.45'/><path d='M178.2 80.6 Q181.7 35.0 175.0 70.0 Q169.2 105.0 165.7 140.0 Q163.5 175.0 177.2 210.0 Q169.0 245.0 190.4 280.0 Q181.4 315.0 183.4 350.0 L209.8 386.4 Q221.6 315.0 203.4 350.0 Q213.7 245.0 218.4 280.0 Q202.8 175.0 219.1 210.0 Q197.2 105.0 204.3 140.0 Q201.1 35.0 198.6 70.0 Z' fill='url(%23ag)' opacity='0.40'/><path d='M239.3 74.9 Q229.2 35.0 227.3 70.0 Q224.6 105.0 233.4 140.0 Q231.2 175.0 249.3 210.0 Q243.8 245.0 248.5 280.0 Q253.1 315.0 232.4 350.0 L279.2 386.4 Q289.2 315.0 267.4 350.0 Q291.4 245.0 277.1 280.0 Q284.3 175.0 290.2 210.0 Q273.3 105.0 285.0 140.0 Q266.8 35.0 270.1 70.0 Z' fill='url(%23ag)' opacity='0.35'/><path d='M325.4 67.8 Q311.0 35.0 315.7 70.0 Q318.6 105.0 331.7 140.0 Q331.4 175.0 337.3 210.0 Q339.7 245.0 323.2 280.0 Q337.2 315.0 312.8 350.0 L346.9 386.4 Q346.0 315.0 340.6 350.0 Q356.2 245.0 336.1 280.0 Q359.4 175.0 349.6 210.0 Q353.2 105.0 358.7 140.0 Q342.2 35.0 348.3 70.0 Z' fill='url(%23ag)' opacity='0.30'/><path d='M392.2 30.1 Q386.7 35.0 393.7 70.0 Q399.5 105.0 404.8 140.0 Q406.8 175.0 395.0 210.0 Q403.0 245.0 380.6 280.0 Q391.1 315.0 385.5 350.0 L416.8 386.4 Q405.7 315.0 421.7 350.0 Q414.6 245.0 407.1 280.0 Q425.2 175.0 408.6 210.0 Q429.4 105.0 423.7 140.0 Q424.1 35.0 427.4 70.0 Z' fill='url(%23ag)' opacity='0.25'/><circle cx='11.1' cy='154.4' r='0.7' fill='%23a8f0dc' opacity='0.39'/><circle cx='343.8' cy='108.7' r='0.6' fill='%23a8f0dc' opacity='0.55'/><circle cx='8.5' cy='211.2' r='1.3' fill='%23a8f0dc' opacity='0.37'/><circle cx='150.7' cy='177.1' r='1.1' fill='%23a8f0dc' opacity='0.29'/><circle cx='307.6' cy='88.2' r='1.1' fill='%23a8f0dc' opacity='0.27'/><circle cx='225.1' cy='168.5' r='0.8' fill='%23a8f0dc' opacity='0.35'/><circle cx='356.8' cy='7.3' r='1.3' fill='%23a8f0dc' opacity='0.26'/><circle cx='248.5' cy='253.7' r='1.2' fill='%23a8f0dc' opacity='0.54'/><circle cx='176.2' cy='38.5' r='0.9' fill='%23a8f0dc' opacity='0.28'/><circle cx='335.4' cy='114.5' r='1.0' fill='%23a8f0dc' opacity='0.66'/><circle cx='358.7' cy='195.9' r='0.9' fill='%23a8f0dc' opacity='0.28'/><circle cx='299.7' cy='5.4' r='0.6' fill='%23a8f0dc' opacity='0.62'/><circle cx='103.0' cy='110.4' r='1.3' fill='%23a8f0dc' opacity='0.54'/><circle cx='390.6' cy='177.7' r='1.0' fill='%23a8f0dc' opacity='0.62'/><circle cx='49.8' cy='82.6' r='1.4' fill='%23a8f0dc' opacity='0.59'/><circle cx='72.8' cy='47.8' r='1.0' fill='%23a8f0dc' opacity='0.64'/><circle cx='134.8' cy='13.1' r='0.5' fill='%23a8f0dc' opacity='0.50'/><circle cx='270.2' cy='203.8' r='1.3' fill='%23a8f0dc' opacity='0.54'/><circle cx='418.8' cy='218.9' r='0.6' fill='%23a8f0dc' opacity='0.59'/><circle cx='274.8' cy='216.0' r='0.6' fill='%23a8f0dc' opacity='0.36'/><circle cx='359.1' cy='88.1' r='0.9' fill='%23a8f0dc' opacity='0.68'/><circle cx='273.2' cy='132.9' r='1.0' fill='%23a8f0dc' opacity='0.68'/><circle cx='269.0' cy='208.8' r='0.8' fill='%23a8f0dc' opacity='0.28'/><circle cx='202.4' cy='227.0' r='0.6' fill='%23a8f0dc' opacity='0.56'/><circle cx='280.7' cy='43.0' r='1.3' fill='%23a8f0dc' opacity='0.45'/><circle cx='95.3' cy='102.1' r='0.7' fill='%23a8f0dc' opacity='0.68'/><circle cx='244.7' cy='160.0' r='1.5' fill='%23a8f0dc' opacity='0.39'/><circle cx='56.5' cy='273.6' r='0.7' fill='%23a8f0dc' opacity='0.41'/><circle cx='168.7' cy='94.0' r='1.1' fill='%23a8f0dc' opacity='0.70'/><circle cx='284.1' cy='244.0' r='0.7' fill='%23a8f0dc' opacity='0.50'/><circle cx='101.5' cy='176.3' r='0.9' fill='%23a8f0dc' opacity='0.35'/><circle cx='307.4' cy='288.2' r='0.6' fill='%23a8f0dc' opacity='0.68'/><circle cx='277.0' cy='73.0' r='0.7' fill='%23a8f0dc' opacity='0.65'/><circle cx='15.5' cy='67.5' r='0.9' fill='%23a8f0dc' opacity='0.33'/><circle cx='387.8' cy='78.4' r='0.8' fill='%23a8f0dc' opacity='0.61'/><circle cx='39.6' cy='284.8' r='0.6' fill='%23a8f0dc' opacity='0.62'/><circle cx='419.2' cy='93.7' r='1.2' fill='%23a8f0dc' opacity='0.38'/><circle cx='249.5' cy='141.1' r='1.2' fill='%23a8f0dc' opacity='0.68'/><circle cx='249.0' cy='139.2' r='0.9' fill='%23a8f0dc' opacity='0.35'/><circle cx='240.3' cy='227.8' r='1.2' fill='%23a8f0dc' opacity='0.61'/><circle cx='195.3' cy='116.6' r='0.5' fill='%23a8f0dc' opacity='0.52'/><circle cx='87.0' cy='51.2' r='0.5' fill='%23a8f0dc' opacity='0.34'/><circle cx='75.2' cy='260.5' r='1.3' fill='%23a8f0dc' opacity='0.57'/><circle cx='285.8' cy='135.3' r='0.9' fill='%23a8f0dc' opacity='0.46'/><circle cx='371.6' cy='187.0' r='1.5' fill='%23a8f0dc' opacity='0.28'/><circle cx='143.0' cy='236.4' r='1.2' fill='%23a8f0dc' opacity='0.54'/><circle cx='252.4' cy='154.6' r='1.4' fill='%23a8f0dc' opacity='0.66'/><circle cx='138.5' cy='85.3' r='0.7' fill='%23a8f0dc' opacity='0.51'/><circle cx='361.1' cy='216.7' r='0.5' fill='%23a8f0dc' opacity='0.60'/><circle cx='23.1' cy='220.0' r='1.5' fill='%23a8f0dc' opacity='0.27'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(79, 209, 176, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(168, 240, 220, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(79, 209, 176, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #232e30 0%, #273e3d 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(79, 209, 176, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(168, 240, 220, 0.13), transparent 40%);
  --drift: radial-gradient(circle at 72px 74px, rgba(181, 236, 222, 0.44) 0, rgba(181, 236, 222, 0.33) 1.4px, transparent 2.1px), radial-gradient(circle at 72px 74px, rgba(181, 236, 222, 0.13) 0, transparent 5.4px), radial-gradient(circle at 86px 91px, rgba(181, 236, 222, 0.39) 0, rgba(181, 236, 222, 0.29) 1.6px, transparent 2.3px), radial-gradient(circle at 86px 91px, rgba(181, 236, 222, 0.12) 0, transparent 6.0px), radial-gradient(circle at 52px 21px, rgba(181, 236, 222, 0.44) 0, rgba(181, 236, 222, 0.33) 1.1px, transparent 1.8px), radial-gradient(circle at 52px 21px, rgba(181, 236, 222, 0.13) 0, transparent 7.5px), radial-gradient(circle at 58px 82px, rgba(181, 236, 222, 0.60) 0, rgba(181, 236, 222, 0.45) 1.6px, transparent 2.3px), radial-gradient(circle at 58px 82px, rgba(181, 236, 222, 0.18) 0, transparent 4.9px), radial-gradient(circle at 37px 40px, rgba(181, 236, 222, 0.60) 0, rgba(181, 236, 222, 0.45) 0.9px, transparent 1.6px), radial-gradient(circle at 37px 40px, rgba(181, 236, 222, 0.18) 0, transparent 7.6px), radial-gradient(circle at 109px 60px, rgba(181, 236, 222, 0.55) 0, rgba(181, 236, 222, 0.41) 0.9px, transparent 1.6px), radial-gradient(circle at 109px 60px, rgba(181, 236, 222, 0.16) 0, transparent 7.5px), radial-gradient(circle at 82px 59px, rgba(181, 236, 222, 0.56) 0, rgba(181, 236, 222, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 82px 59px, rgba(181, 236, 222, 0.17) 0, transparent 5.8px), radial-gradient(circle at 20px 16px, rgba(181, 236, 222, 0.46) 0, rgba(181, 236, 222, 0.35) 1.6px, transparent 2.3px), radial-gradient(circle at 20px 16px, rgba(181, 236, 222, 0.14) 0, transparent 5.0px), radial-gradient(circle at 68px 129px, rgba(181, 236, 222, 0.50) 0, rgba(181, 236, 222, 0.37) 1.5px, transparent 2.2px), radial-gradient(circle at 68px 129px, rgba(181, 236, 222, 0.15) 0, transparent 5.8px), radial-gradient(circle at 120px 71px, rgba(181, 236, 222, 0.52) 0, rgba(181, 236, 222, 0.39) 1.1px, transparent 1.8px), radial-gradient(circle at 120px 71px, rgba(181, 236, 222, 0.16) 0, transparent 4.7px), radial-gradient(circle at 13px 108px, rgba(181, 236, 222, 0.56) 0, rgba(181, 236, 222, 0.42) 1.6px, transparent 2.3px), radial-gradient(circle at 13px 108px, rgba(181, 236, 222, 0.17) 0, transparent 5.7px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0.60;
  --glow-dur: 22s;
  --tint-blue: #444e51;
  --tint-blue-bd: #556d7e;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #454d51;
  --tint-purple-bd: #5f697b;
  --tint-purple-tx: #b097d9;
  --tint-teal: #434f50;
  --tint-teal-bd: #507475;
  --tint-teal-tx: #7db9b0;
  --tint-green: #434e4e;
  --tint-green-bd: #547369;
  --tint-green-tx: #85b795;
  --tint-gray: #454e50;
  --tint-gray-bd: #5d7076;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #464e4d;
  --tint-orange-bd: #696e65;
  --tint-orange-tx: #cca680;
  --tint-red: #464c4e;
  --tint-red-bd: #69696d;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #464e4d;
  --tint-yellow-bd: #697162;
  --tint-yellow-tx: #c0af80;
}

/* ===== 💜 薰衣草 ===== */
[data-theme="lavender"] {
  color-scheme: light;
  --primary: #9b86d8;
  --primary-dark: #836ec2;
  --primary-deep: #7363a0;
  --primary-bg: #f4f0ff;
  --primary-soft: rgba(155, 134, 216, 0.12);
  --blue: #1677ff;
  --bg: #f8f6fb;
  --card: #ffffff;
  --surface: #fdfcfe;
  --hover-bg: #f8f6fb;
  --border: #e8e2f4;
  --text: #262135;
  --text-sub: #433e55;
  --muted: #8f88a6;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e7acba;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #edcaa1;
  --side-bg: #332a4d;
  --side-bg2: #2c2442;
  --side-text: #dedde3;
  --side-nav: #c6c3cd;
  --side-muted: #9590a2;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #9b86d8;
  --side-active-text: #ffffff;
  --side-foot-text: #898398;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a9a6b4;
  --login-bg1: #221a38;
  --login-bg2: #352a56;
  --login-bg3: #2a2144;
  --login-hero: #ebeaee;
  --login-hero-sub: #9f99ae;
  --login-point: #bfbcca;
  --login-point-line: rgba(159, 153, 174, 0.18);
  --login-accent: #e0d4ff;
  --login-link: #d5cee8;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(190, 176, 230, 0.5);
  --login-glass-line2: rgba(190, 176, 230, 0.35);
  --login-yixn: #cecbd6;
  --login-card: #ffffff;
  --login-tab-bg: #fcfafd;
  --login-tab-text: #706984;
  --login-label: #433e55;
  --login-input-bg: #fcfbfd;
  --login-input-border: #e8e2f4;
  --login-tip: #8f88a6;
  --login-divider: #e8e2f4;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3f3758 0%, #332a4d 58%, #443963 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M3.2 88.2 Q1.0 66.3 4.4 51.7' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='3.8' cy='68.1' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='3.0' cy='64.1' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='1.8' cy='60.1' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M22.8 88.2 Q22.1 67.7 25.5 54.1' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='21.4' cy='69.4' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='22.5' cy='65.7' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='22.7' cy='61.9' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M58.0 88.2 Q55.1 69.6 55.7 57.2' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='56.5' cy='71.1' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='57.0' cy='67.7' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='56.7' cy='64.3' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M96.0 88.2 Q95.6 68.7 99.1 55.8' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='94.8' cy='70.4' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='94.5' cy='66.8' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='96.7' cy='63.2' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M125.9 88.2 Q123.8 65.0 126.4 49.6' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='125.4' cy='67.0' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='126.6' cy='62.7' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='126.7' cy='58.5' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M4.8 115.5 Q2.9 83.6 1.7 62.4' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='3.9' cy='86.3' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='5.7' cy='80.5' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='4.2' cy='74.6' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M25.7 115.5 Q28.5 95.9 24.1 82.9' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='25.7' cy='97.6' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='26.3' cy='94.0' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='25.4' cy='90.4' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M59.2 115.5 Q58.4 83.4 61.5 61.9' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='60.0' cy='86.0' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='60.0' cy='80.1' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='58.9' cy='74.2' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M84.8 115.5 Q83.5 86.4 83.8 66.9' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='85.4' cy='88.8' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='85.3' cy='83.5' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='83.6' cy='78.1' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M115.9 115.5 Q116.0 89.2 116.4 71.6' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='116.7' cy='91.4' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='116.0' cy='86.6' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='116.7' cy='81.7' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%23c5b9e8' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%23c5b9e8' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(205, 194, 236, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M5.4 176.4 Q2.8 116.2 7.0 76.1' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='5.1' cy='121.3' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='7.0' cy='110.2' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='6.0' cy='99.2' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M70.5 176.4 Q70.2 115.1 72.6 74.3' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='70.8' cy='120.2' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='71.5' cy='109.0' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='71.5' cy='97.8' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M181.1 176.4 Q183.8 132.4 180.9 103.0' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='180.3' cy='136.0' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='180.2' cy='128.0' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='181.8' cy='119.9' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M240.2 176.4 Q239.4 132.5 240.1 103.3' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='240.0' cy='136.2' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='240.2' cy='128.1' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='239.8' cy='120.1' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M333.9 176.4 Q333.9 133.8 331.5 105.4' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='333.3' cy='137.4' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='332.7' cy='129.6' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='335.0' cy='121.8' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M-18.0 231.0 Q-15.8 177.9 -20.7 142.5' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='-16.5' cy='182.3' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='-18.0' cy='172.6' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='-16.7' cy='162.8' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M69.9 231.0 Q72.7 187.8 71.0 159.0' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='70.9' cy='191.4' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='68.4' cy='183.5' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='69.9' cy='175.6' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M173.9 231.0 Q176.7 186.9 175.2 157.5' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='175.2' cy='190.6' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='173.9' cy='182.5' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='174.9' cy='174.4' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M268.3 231.0 Q266.2 178.8 268.4 144.0' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='268.4' cy='183.1' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='267.0' cy='173.6' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='269.0' cy='164.0' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/><path d='M338.9 231.0 Q336.7 189.6 335.1 162.0' stroke='%23e0d4ff' stroke-width='1' fill='none' opacity='.38'/><ellipse cx='337.8' cy='193.0' rx='2.0' ry='2.6' fill='%23c5b9e8' opacity='0.42'/><ellipse cx='339.3' cy='185.4' rx='1.9' ry='2.4' fill='%23c5b9e8' opacity='0.39'/><ellipse cx='337.7' cy='177.8' rx='1.7' ry='2.2' fill='%23c5b9e8' opacity='0.36'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(155, 134, 216, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(224, 212, 255, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(155, 134, 216, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f8f7fc 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(155, 134, 216, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(224, 212, 255, 0.08), transparent 40%);
  --drift: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'><path d='M53.4 90.0 L56.4 90.2 L58.2 89.8 L59.1 88.9 L59.3 87.6 L58.7 85.9 L56.8 83.5 L56.8 83.5 L53.7 83.3 L52.0 83.8 L51.1 84.7 L50.9 85.9 L51.5 87.6 L53.4 90.0 Z' fill='rgb(213, 204, 239)' opacity='0.60'/><path d='M143.2 39.1 L146.0 41.1 L147.9 41.7 L149.3 41.4 L150.3 40.3 L150.7 38.3 L150.2 34.9 L150.2 34.9 L147.4 32.9 L145.5 32.3 L144.1 32.6 L143.1 33.8 L142.7 35.7 L143.2 39.1 Z' fill='rgb(213, 204, 239)' opacity='0.60'/><path d='M129.5 66.3 L131.1 67.8 L132.3 68.3 L133.2 68.3 L133.9 67.6 L134.3 66.4 L134.3 64.3 L134.3 64.3 L132.8 62.8 L131.6 62.3 L130.7 62.3 L130.0 62.9 L129.6 64.1 L129.5 66.3 Z' fill='rgb(213, 204, 239)' opacity='0.60'/><path d='M71.9 26.9 L69.1 28.1 L67.7 29.2 L67.3 30.5 L67.6 31.7 L68.9 33.0 L71.7 34.3 L71.7 34.3 L74.6 33.2 L75.9 32.0 L76.4 30.8 L76.0 29.5 L74.7 28.2 L71.9 26.9 Z' fill='rgb(213, 204, 239)' opacity='0.60'/><path d='M33.6 149.0 L35.7 149.8 L37.0 149.9 L37.9 149.5 L38.3 148.7 L38.3 147.4 L37.5 145.3 L37.5 145.3 L35.4 144.4 L34.1 144.3 L33.3 144.7 L32.8 145.6 L32.9 146.9 L33.6 149.0 Z' fill='rgb(213, 204, 239)' opacity='0.60'/><path d='M22.9 63.7 L24.8 62.8 L25.6 62.0 L25.9 61.2 L25.6 60.3 L24.7 59.5 L22.7 58.8 L22.7 58.8 L20.9 59.7 L20.0 60.5 L19.7 61.4 L20.1 62.2 L21.0 63.0 L22.9 63.7 Z' fill='rgb(213, 204, 239)' opacity='0.60'/><path d='M55.8 21.9 L53.0 22.1 L51.4 22.7 L50.7 23.6 L50.7 24.8 L51.4 26.3 L53.5 28.2 L53.5 28.2 L56.3 28.0 L57.8 27.4 L58.6 26.5 L58.6 25.3 L57.8 23.8 L55.8 21.9 Z' fill='rgb(213, 204, 239)' opacity='0.60'/></svg>");
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 28s;
  --drift-op: 0.60;
  --glow-dur: 20s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🍵 抹茶 ===== */
[data-theme="matcha"] {
  color-scheme: light;
  --primary: #8a9a4f;
  --primary-dark: #74823f;
  --primary-deep: #66723a;
  --primary-bg: #f4f7e8;
  --primary-soft: rgba(138, 154, 79, 0.12);
  --blue: #1677ff;
  --bg: #f8f9f2;
  --card: #fffefb;
  --surface: #fdfcf8;
  --hover-bg: #f8f9f3;
  --border: #e8ebd8;
  --text: #2a2d20;
  --text-sub: #464939;
  --muted: #8d927a;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e7b2a7;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #edcf90;
  --side-bg: #2f3a1e;
  --side-bg2: #28321a;
  --side-text: #dedfdb;
  --side-nav: #c5c8c0;
  --side-muted: #93998a;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #8a9a4f;
  --side-active-text: #ffffff;
  --side-foot-text: #868d7c;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a8aca0;
  --login-bg1: #20280f;
  --login-bg2: #33401a;
  --login-bg3: #283314;
  --login-hero: #ebece8;
  --login-hero-sub: #9ea491;
  --login-point: #bfc3b7;
  --login-point-line: rgba(158, 164, 145, 0.18);
  --login-accent: #e2ebbc;
  --login-link: #d0d5bd;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(179, 189, 141, 0.5);
  --login-glass-line2: rgba(179, 189, 141, 0.35);
  --login-yixn: #ced0c7;
  --login-card: #ffffff;
  --login-tab-bg: #fcfcf8;
  --login-tab-text: #6f745f;
  --login-label: #464939;
  --login-input-bg: #fcfdfa;
  --login-input-border: #e8ebd8;
  --login-tip: #8d927a;
  --login-divider: #e8ebd8;
  --input-bg: #fffefb;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3b462c 0%, #2f3a1e 58%, #3e4926 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><ellipse cx='75.0' cy='115.5' rx='15.0' ry='10.8' fill='none' stroke='%23e2ebbc' stroke-width='1.2' opacity='0.30'/><ellipse cx='75.0' cy='115.5' rx='24.3' ry='17.5' fill='none' stroke='%23bbc499' stroke-width='1.2' opacity='0.27'/><ellipse cx='75.0' cy='115.5' rx='33.6' ry='24.2' fill='none' stroke='%23e2ebbc' stroke-width='1.2' opacity='0.24'/><ellipse cx='75.0' cy='115.5' rx='42.9' ry='30.9' fill='none' stroke='%23bbc499' stroke-width='1.2' opacity='0.21'/><ellipse cx='75.0' cy='115.5' rx='52.2' ry='37.6' fill='none' stroke='%23e2ebbc' stroke-width='1.2' opacity='0.18'/><circle cx='62.3' cy='109.1' r='2.0' fill='%23bbc499' opacity='0.28'/><circle cx='52.4' cy='119.2' r='2.8' fill='%23bbc499' opacity='0.28'/><circle cx='77.7' cy='135.8' r='1.2' fill='%23bbc499' opacity='0.25'/><circle cx='100.7' cy='146.9' r='1.5' fill='%23bbc499' opacity='0.30'/><circle cx='62.2' cy='152.0' r='2.7' fill='%23bbc499' opacity='0.31'/><circle cx='52.2' cy='107.4' r='2.2' fill='%23bbc499' opacity='0.17'/><circle cx='75.9' cy='154.3' r='1.6' fill='%23bbc499' opacity='0.17'/><circle cx='59.1' cy='106.8' r='1.8' fill='%23bbc499' opacity='0.31'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M20 8 L29 13 V23 L20 28 L11 23 V13 Z' fill='none' stroke='%23bbc499' stroke-width='1.1' opacity='0.14'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(196, 204, 167, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><ellipse cx='210.0' cy='231.0' rx='42.0' ry='30.2' fill='none' stroke='%23e2ebbc' stroke-width='1.2' opacity='0.30'/><ellipse cx='210.0' cy='231.0' rx='68.0' ry='49.0' fill='none' stroke='%23bbc499' stroke-width='1.2' opacity='0.27'/><ellipse cx='210.0' cy='231.0' rx='94.1' ry='67.7' fill='none' stroke='%23e2ebbc' stroke-width='1.2' opacity='0.24'/><ellipse cx='210.0' cy='231.0' rx='120.1' ry='86.5' fill='none' stroke='%23bbc499' stroke-width='1.2' opacity='0.21'/><ellipse cx='210.0' cy='231.0' rx='146.2' ry='105.2' fill='none' stroke='%23e2ebbc' stroke-width='1.2' opacity='0.18'/><circle cx='115.5' cy='177.9' r='1.8' fill='%23bbc499' opacity='0.19'/><circle cx='232.1' cy='226.0' r='2.5' fill='%23bbc499' opacity='0.25'/><circle cx='189.4' cy='218.1' r='1.3' fill='%23bbc499' opacity='0.21'/><circle cx='83.4' cy='256.9' r='1.8' fill='%23bbc499' opacity='0.34'/><circle cx='276.1' cy='216.7' r='2.2' fill='%23bbc499' opacity='0.31'/><circle cx='183.0' cy='225.3' r='2.8' fill='%23bbc499' opacity='0.25'/><circle cx='285.8' cy='268.5' r='2.8' fill='%23bbc499' opacity='0.25'/><circle cx='283.3' cy='261.7' r='2.4' fill='%23bbc499' opacity='0.23'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(138, 154, 79, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(226, 235, 188, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(138, 154, 79, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #fffefb 0%, #f7f7ef 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(138, 154, 79, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(226, 235, 188, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 53px 145px, transparent 1.7px, rgba(206, 213, 181, 0.48) 2.5px, transparent 3.1px), radial-gradient(circle at 51px 143px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 52px 58px, transparent 3.4px, rgba(206, 213, 181, 0.55) 5.0px, transparent 6.2px), radial-gradient(circle at 51px 56px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 61px 33px, transparent 2.4px, rgba(206, 213, 181, 0.55) 3.5px, transparent 4.3px), radial-gradient(circle at 60px 32px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 138px 30px, transparent 3.3px, rgba(206, 213, 181, 0.39) 4.8px, transparent 6.0px), radial-gradient(circle at 136px 28px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 129px 141px, transparent 1.9px, rgba(206, 213, 181, 0.58) 2.8px, transparent 3.5px), radial-gradient(circle at 128px 140px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 14px 115px, transparent 2.6px, rgba(206, 213, 181, 0.40) 3.9px, transparent 4.8px), radial-gradient(circle at 13px 114px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 30px 91px, transparent 2.8px, rgba(206, 213, 181, 0.52) 4.1px, transparent 5.1px), radial-gradient(circle at 28px 90px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 88px 54px, transparent 1.7px, rgba(206, 213, 181, 0.44) 2.5px, transparent 3.1px), radial-gradient(circle at 87px 53px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 37px 137px, transparent 2.1px, rgba(206, 213, 181, 0.48) 3.1px, transparent 3.9px), radial-gradient(circle at 35px 136px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 41px 54px, transparent 3.0px, rgba(206, 213, 181, 0.59) 4.4px, transparent 5.5px), radial-gradient(circle at 40px 53px, rgba(206, 213, 181, 0.48) 0, rgba(206, 213, 181, 0.36) 0.9px, transparent 1.4px);
  --drift-size: 150px;
  --drift-dir: -150px;
  --drift-dur: 30s;
  --drift-op: 0.60;
  --glow-dur: 22s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🏖️ 海风 ===== */
[data-theme="seabreeze"] {
  color-scheme: light;
  --primary: #3f9fc4;
  --primary-dark: #2f86a8;
  --primary-deep: #378cac;
  --primary-bg: #e8f5fa;
  --primary-soft: rgba(63, 159, 196, 0.12);
  --blue: #1677ff;
  --bg: #f4f8fa;
  --card: #ffffff;
  --surface: #fbfdfd;
  --hover-bg: #f4f8fa;
  --border: #dfebf2;
  --text: #1b272e;
  --text-sub: #39474f;
  --muted: #8698a4;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e1b2b8;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #e8cfa0;
  --side-bg: #14323f;
  --side-bg2: #112b36;
  --side-text: #d9dee0;
  --side-nav: #bdc6c9;
  --side-muted: #85949b;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #3f9fc4;
  --side-active-text: #ffffff;
  --side-foot-text: #778890;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9ca9ae;
  --login-bg1: #0a2029;
  --login-bg2: #123442;
  --login-bg3: #0d2833;
  --login-hero: #e7ebec;
  --login-hero-sub: #8e9ea5;
  --login-point: #b4bfc3;
  --login-point-line: rgba(142, 158, 165, 0.18);
  --login-accent: #b6e4f5;
  --login-link: #b8d6e1;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(130, 193, 217, 0.5);
  --login-glass-line2: rgba(130, 193, 217, 0.35);
  --login-yixn: #c5ced1;
  --login-card: #ffffff;
  --login-tab-bg: #fafcfc;
  --login-tab-text: #667681;
  --login-label: #39474f;
  --login-input-bg: #fbfcfd;
  --login-input-border: #dfebf2;
  --login-tip: #8698a4;
  --login-divider: #dfebf2;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #223e4b 0%, #14323f 58%, #1b4354 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0 71.4 Q12.5 64.1 25.0 71.4 Q37.5 78.8 50.0 71.4 Q62.5 64.1 75.0 71.4 Q87.5 78.8 100.0 71.4 Q112.5 64.1 125.0 71.4 Q137.5 78.8 150.0 71.4' stroke='%23b6e4f5' stroke-width='1.1' fill='none' opacity='0.34'/><path d='M0 91.4 Q12.5 84.0 25.0 91.4 Q37.5 98.7 50.0 91.4 Q62.5 84.0 75.0 91.4 Q87.5 98.7 100.0 91.4 Q112.5 84.0 125.0 91.4 Q137.5 98.7 150.0 91.4' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='0.31'/><path d='M0 111.3 Q12.5 104.0 25.0 111.3 Q37.5 118.7 50.0 111.3 Q62.5 104.0 75.0 111.3 Q87.5 118.7 100.0 111.3 Q112.5 104.0 125.0 111.3 Q137.5 118.7 150.0 111.3' stroke='%23b6e4f5' stroke-width='1.1' fill='none' opacity='0.28'/><path d='M0 131.2 Q12.5 123.9 25.0 131.2 Q37.5 138.6 50.0 131.2 Q62.5 123.9 75.0 131.2 Q87.5 138.6 100.0 131.2 Q112.5 123.9 125.0 131.2 Q137.5 138.6 150.0 131.2' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='0.25'/><path d='M78.0 52.6 q2.5 -2.8 5.0 0 q2.5 -2.8 5.0 0' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='.40'/><path d='M37.9 46.0 q2.5 -2.8 5.0 0 q2.5 -2.8 5.0 0' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='.40'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%2390c7dd' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(159, 207, 226, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0 142.8 Q35.0 128.1 70.0 142.8 Q105.0 157.5 140.0 142.8 Q175.0 128.1 210.0 142.8 Q245.0 157.5 280.0 142.8 Q315.0 128.1 350.0 142.8 Q385.0 157.5 420.0 142.8' stroke='%23b6e4f5' stroke-width='1.1' fill='none' opacity='0.34'/><path d='M0 182.7 Q35.0 168.0 70.0 182.7 Q105.0 197.4 140.0 182.7 Q175.0 168.0 210.0 182.7 Q245.0 197.4 280.0 182.7 Q315.0 168.0 350.0 182.7 Q385.0 197.4 420.0 182.7' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='0.31'/><path d='M0 222.6 Q35.0 207.9 70.0 222.6 Q105.0 237.3 140.0 222.6 Q175.0 207.9 210.0 222.6 Q245.0 237.3 280.0 222.6 Q315.0 207.9 350.0 222.6 Q385.0 237.3 420.0 222.6' stroke='%23b6e4f5' stroke-width='1.1' fill='none' opacity='0.28'/><path d='M0 262.5 Q35.0 247.8 70.0 262.5 Q105.0 277.2 140.0 262.5 Q175.0 247.8 210.0 262.5 Q245.0 277.2 280.0 262.5 Q315.0 247.8 350.0 262.5 Q385.0 277.2 420.0 262.5' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='0.25'/><path d='M272.6 57.7 q2.5 -2.8 5.0 0 q2.5 -2.8 5.0 0' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='.40'/><path d='M183.4 49.0 q2.5 -2.8 5.0 0 q2.5 -2.8 5.0 0' stroke='%2390c7dd' stroke-width='1.1' fill='none' opacity='.40'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(63, 159, 196, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(182, 228, 245, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(63, 159, 196, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f2f8fb 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(63, 159, 196, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(182, 228, 245, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 53px 145px, transparent 1.7px, rgba(174, 215, 230, 0.48) 2.5px, transparent 3.1px), radial-gradient(circle at 51px 143px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 52px 58px, transparent 3.4px, rgba(174, 215, 230, 0.55) 5.0px, transparent 6.2px), radial-gradient(circle at 51px 56px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 61px 33px, transparent 2.4px, rgba(174, 215, 230, 0.55) 3.5px, transparent 4.3px), radial-gradient(circle at 60px 32px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 138px 30px, transparent 3.3px, rgba(174, 215, 230, 0.39) 4.8px, transparent 6.0px), radial-gradient(circle at 136px 28px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 129px 141px, transparent 1.9px, rgba(174, 215, 230, 0.58) 2.8px, transparent 3.5px), radial-gradient(circle at 128px 140px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 14px 115px, transparent 2.6px, rgba(174, 215, 230, 0.40) 3.9px, transparent 4.8px), radial-gradient(circle at 13px 114px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 30px 91px, transparent 2.8px, rgba(174, 215, 230, 0.52) 4.1px, transparent 5.1px), radial-gradient(circle at 28px 90px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 88px 54px, transparent 1.7px, rgba(174, 215, 230, 0.44) 2.5px, transparent 3.1px), radial-gradient(circle at 87px 53px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 37px 137px, transparent 2.1px, rgba(174, 215, 230, 0.48) 3.1px, transparent 3.9px), radial-gradient(circle at 35px 136px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px), radial-gradient(circle at 41px 54px, transparent 3.0px, rgba(174, 215, 230, 0.59) 4.4px, transparent 5.5px), radial-gradient(circle at 40px 53px, rgba(174, 215, 230, 0.48) 0, rgba(174, 215, 230, 0.36) 0.9px, transparent 1.4px);
  --drift-size: 150px;
  --drift-dir: -150px;
  --drift-dur: 26s;
  --drift-op: 0.60;
  --glow-dur: 18s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌙 月下荷 ===== */
[data-theme="moonlit"] {
  color-scheme: dark;
  --primary: #8ab4d8;
  --primary-dark: #6f9cbe;
  --primary-deep: #6685a0;
  --primary-bg: rgba(138,180,216,0.15);
  --primary-soft: rgba(138, 180, 216, 0.18);
  --blue: #6ba4ff;
  --bg: #111820;
  --card: #262c34;
  --surface: #1f252d;
  --hover-bg: #1f262d;
  --border: #42474e;
  --text: #e4edf4;
  --text-sub: #cad5de;
  --muted: #8798a6;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #40343b;
  --danger-text: #ff9f9f;
  --danger-border: #845458;
  --warn-bg: #403c35;
  --warn-text: #ffca79;
  --warn-border: #8e7248;
  --side-bg: #0b1119;
  --side-bg2: #090f16;
  --side-text: #d8d9da;
  --side-nav: #bbbcbf;
  --side-muted: #808387;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #8ab4d8;
  --side-active-text: #101418;
  --side-foot-text: #71757a;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #999b9e;
  --login-bg1: #070c12;
  --login-bg2: #131d28;
  --login-bg3: #0e1620;
  --login-hero: #e7e8ea;
  --login-hero-sub: #8e9399;
  --login-point: #b4b7bb;
  --login-point-line: rgba(142, 147, 153, 0.18);
  --login-accent: #cfe4f5;
  --login-link: #cdd9e5;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(179, 206, 230, 0.5);
  --login-glass-line2: rgba(179, 206, 230, 0.35);
  --login-yixn: #c5c8cb;
  --login-card: #262c34;
  --login-tab-bg: #1c222a;
  --login-tab-text: #a3b2bd;
  --login-label: #cad5de;
  --login-input-bg: #1e242c;
  --login-input-border: #42474e;
  --login-tip: #8798a6;
  --login-divider: #42474e;
  --input-bg: #262c34;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #1a1f27 0%, #0b1119 58%, #1f2b38 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><circle cx='108.0' cy='50.4' r='17.0' fill='%23bbd4e8' opacity='.30'/><circle cx='100.9' cy='47.9' r='14.6' fill='%23cfe4f5' opacity='.55'/><circle cx='116.5' cy='55.5' r='2.7' fill='none' stroke='%23bbd4e8' stroke-width='1' opacity='.28'/><ellipse cx='105.6' cy='131.2' rx='13.1' ry='5.4' fill='%23cfe4f5' opacity='.18'/><ellipse cx='114.9' cy='130.6' rx='17.5' ry='4.0' fill='%23cfe4f5' opacity='.18'/><ellipse cx='88.2' cy='138.1' rx='14.6' ry='6.1' fill='%23cfe4f5' opacity='.18'/><ellipse cx='111.1' cy='143.3' rx='10.4' ry='5.3' fill='%23cfe4f5' opacity='.18'/><ellipse cx='102.1' cy='145.9' rx='11.3' ry='4.7' fill='%23cfe4f5' opacity='.18'/><path d='M0 142.2 Q18.8 138.2 37.5 142.2 Q56.2 138.2 75.0 142.2 Q93.8 138.2 112.5 142.2 Q131.2 138.2 150.0 142.2' stroke='%23bbd4e8' stroke-width='1' fill='none' opacity='.22'/><path d='M0 153.8 Q18.8 149.8 37.5 153.8 Q56.2 149.8 75.0 153.8 Q93.8 149.8 112.5 153.8 Q131.2 149.8 150.0 153.8' stroke='%23bbd4e8' stroke-width='1' fill='none' opacity='.22'/><path d='M0 165.3 Q18.8 161.3 37.5 165.3 Q56.2 161.3 75.0 165.3 Q93.8 161.3 112.5 165.3 Q131.2 161.3 150.0 165.3' stroke='%23bbd4e8' stroke-width='1' fill='none' opacity='.22'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%23bbd4e8' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%23bbd4e8' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(196, 218, 236, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><circle cx='302.4' cy='100.8' r='17.0' fill='%23bbd4e8' opacity='.30'/><circle cx='295.3' cy='98.2' r='14.6' fill='%23cfe4f5' opacity='.55'/><circle cx='310.9' cy='105.9' r='2.7' fill='none' stroke='%23bbd4e8' stroke-width='1' opacity='.28'/><ellipse cx='393.9' cy='265.7' rx='10.6' ry='5.9' fill='%23cfe4f5' opacity='.18'/><ellipse cx='205.2' cy='254.6' rx='16.4' ry='5.8' fill='%23cfe4f5' opacity='.18'/><ellipse cx='114.2' cy='269.3' rx='16.7' ry='3.5' fill='%23cfe4f5' opacity='.18'/><ellipse cx='192.9' cy='262.0' rx='15.2' ry='4.5' fill='%23cfe4f5' opacity='.18'/><ellipse cx='27.8' cy='267.0' rx='18.3' ry='6.9' fill='%23cfe4f5' opacity='.18'/><path d='M0 272.4 Q52.5 268.4 105.0 272.4 Q157.5 268.4 210.0 272.4 Q262.5 268.4 315.0 272.4 Q367.5 268.4 420.0 272.4' stroke='%23bbd4e8' stroke-width='1' fill='none' opacity='.22'/><path d='M0 295.5 Q52.5 291.5 105.0 295.5 Q157.5 291.5 210.0 295.5 Q262.5 291.5 315.0 295.5 Q367.5 291.5 420.0 295.5' stroke='%23bbd4e8' stroke-width='1' fill='none' opacity='.22'/><path d='M0 318.6 Q52.5 314.6 105.0 318.6 Q157.5 314.6 210.0 318.6 Q262.5 314.6 315.0 318.6 Q367.5 314.6 420.0 318.6' stroke='%23bbd4e8' stroke-width='1' fill='none' opacity='.22'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(138, 180, 216, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(207, 228, 245, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(138, 180, 216, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #262c34 0%, #303a44 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(138, 180, 216, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(207, 228, 245, 0.13), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(206, 224, 239, 0.41) 0, rgba(206, 224, 239, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(206, 224, 239, 0.42) 0, rgba(206, 224, 239, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(206, 224, 239, 0.37) 0, rgba(206, 224, 239, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(206, 224, 239, 0.36) 0, rgba(206, 224, 239, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(206, 224, 239, 0.52) 0, rgba(206, 224, 239, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(206, 224, 239, 0.29) 0, rgba(206, 224, 239, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(206, 224, 239, 0.28) 0, rgba(206, 224, 239, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(206, 224, 239, 0.40) 0, rgba(206, 224, 239, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(206, 224, 239, 0.30) 0, rgba(206, 224, 239, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(206, 224, 239, 0.31) 0, rgba(206, 224, 239, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(206, 224, 239, 0.52) 0, rgba(206, 224, 239, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(206, 224, 239, 0.49) 0, rgba(206, 224, 239, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(206, 224, 239, 0.43) 0, rgba(206, 224, 239, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(206, 224, 239, 0.32) 0, rgba(206, 224, 239, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(206, 224, 239, 0.39) 0, rgba(206, 224, 239, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(206, 224, 239, 0.41) 0, rgba(206, 224, 239, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(206, 224, 239, 0.51) 0, rgba(206, 224, 239, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(206, 224, 239, 0.50) 0, rgba(206, 224, 239, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(206, 224, 239, 0.44) 0, rgba(206, 224, 239, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(206, 224, 239, 0.44) 0, rgba(206, 224, 239, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(206, 224, 239, 0.39) 0, rgba(206, 224, 239, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(206, 224, 239, 0.32) 0, rgba(206, 224, 239, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 36s;
  --drift-op: 0.60;
  --glow-dur: 28s;
  --tint-blue: #464c54;
  --tint-blue-bd: #6a7487;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #474b54;
  --tint-purple-bd: #747083;
  --tint-purple-tx: #b097d9;
  --tint-teal: #464d53;
  --tint-teal-bd: #657b7d;
  --tint-teal-tx: #7db9b0;
  --tint-green: #464c52;
  --tint-green-bd: #697b71;
  --tint-green-tx: #85b795;
  --tint-gray: #474c53;
  --tint-gray-bd: #72777e;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #494c50;
  --tint-orange-bd: #7e766d;
  --tint-orange-tx: #cca680;
  --tint-red: #494b51;
  --tint-red-bd: #7e7175;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #494c50;
  --tint-yellow-bd: #7e786a;
  --tint-yellow-tx: #c0af80;
}

/* ===== ☁️ 云海 ===== */
[data-theme="cloudsea"] {
  color-scheme: light;
  --primary: #7a95b4;
  --primary-dark: #657e9a;
  --primary-deep: #5a6e85;
  --primary-bg: #eff4f9;
  --primary-soft: rgba(122, 149, 180, 0.12);
  --blue: #1677ff;
  --bg: #f6f8fa;
  --card: #ffffff;
  --surface: #fcfdfd;
  --hover-bg: #f6f8fa;
  --border: #e3e9ef;
  --text: #1e262e;
  --text-sub: #3c454e;
  --muted: #8a949f;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e4b1b6;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #eace9e;
  --side-bg: #28374a;
  --side-bg2: #222f40;
  --side-text: #dddfe2;
  --side-nav: #c3c7cc;
  --side-muted: #8f97a1;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #7a95b4;
  --side-active-text: #ffffff;
  --side-foot-text: #828b96;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a5abb3;
  --login-bg1: #1a2532;
  --login-bg2: #2a3950;
  --login-bg3: #212e3e;
  --login-hero: #eaebee;
  --login-hero-sub: #99a0ac;
  --login-point: #bcc0c8;
  --login-point-line: rgba(153, 160, 172, 0.18);
  --login-accent: #dbe6f2;
  --login-link: #cbd3de;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(169, 186, 206, 0.5);
  --login-glass-line2: rgba(169, 186, 206, 0.35);
  --login-yixn: #cbcfd5;
  --login-card: #ffffff;
  --login-tab-bg: #fafcfc;
  --login-tab-text: #6a737d;
  --login-label: #3c454e;
  --login-input-bg: #fbfcfd;
  --login-input-border: #e3e9ef;
  --login-tip: #8a949f;
  --login-divider: #e3e9ef;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #354355 0%, #28374a 58%, #35465b 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M-5.2 42.4 a7.0 7.0 0 0 1 10.6 0 a8.8 8.8 0 0 1 13.2 0 a8.7 8.7 0 0 1 13.0 0 a7.2 7.2 0 0 1 10.7 0 a8.3 8.3 0 0 1 12.4 0 L44.5 42.4 Z' fill='%23dbe6f2' opacity='0.20'/><path d='M51.8 68.4 a9.9 9.9 0 0 1 14.9 0 a7.4 7.4 0 0 1 11.1 0 a5.9 5.9 0 0 1 8.8 0 a7.6 7.6 0 0 1 11.3 0 a8.0 8.0 0 0 1 12.0 0 L92.7 68.4 Z' fill='%23b2c2d4' opacity='0.18'/><path d='M75.9 93.8 a9.3 9.3 0 0 1 14.0 0 a11.6 11.6 0 0 1 17.4 0 a8.4 8.4 0 0 1 12.5 0 a8.6 8.6 0 0 1 12.9 0 a12.9 12.9 0 0 1 19.3 0 L130.9 93.8 Z' fill='%23dbe6f2' opacity='0.16'/><path d='M98.1 118.8 a7.7 7.7 0 0 1 11.5 0 a8.2 8.2 0 0 1 12.3 0 a8.2 8.2 0 0 1 12.2 0 a5.3 5.3 0 0 1 8.0 0 a7.5 7.5 0 0 1 11.3 0 L137.4 118.8 Z' fill='%23b2c2d4' opacity='0.14'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%23b2c2d4' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(188, 202, 218, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M224.4 74.4 a8.4 8.4 0 0 1 12.6 0 a8.3 8.3 0 0 1 12.5 0 a9.4 9.4 0 0 1 14.0 0 a7.7 7.7 0 0 1 11.6 0 a5.8 5.8 0 0 1 8.7 0 L262.7 74.4 Z' fill='%23dbe6f2' opacity='0.20'/><path d='M245.0 131.3 a11.9 11.9 0 0 1 17.8 0 a12.8 12.8 0 0 1 19.3 0 a10.7 10.7 0 0 1 16.1 0 a10.6 10.6 0 0 1 15.9 0 a14.4 14.4 0 0 1 21.6 0 L302.9 131.3 Z' fill='%23b2c2d4' opacity='0.18'/><path d='M316.0 185.4 a7.9 7.9 0 0 1 11.9 0 a10.2 10.2 0 0 1 15.3 0 a8.4 8.4 0 0 1 12.6 0 a11.3 11.3 0 0 1 17.0 0 a12.0 12.0 0 0 1 18.0 0 L364.2 185.4 Z' fill='%23dbe6f2' opacity='0.16'/><path d='M93.0 246.5 a6.5 6.5 0 0 1 9.7 0 a7.7 7.7 0 0 1 11.6 0 a7.0 7.0 0 0 1 10.6 0 a10.5 10.5 0 0 1 15.8 0 a9.0 9.0 0 0 1 13.6 0 L138.4 246.5 Z' fill='%23b2c2d4' opacity='0.14'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(122, 149, 180, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(219, 230, 242, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(122, 149, 180, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 520px 520px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f6f8fa 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(122, 149, 180, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(219, 230, 242, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(199, 210, 224, 0.41) 0, rgba(199, 210, 224, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(199, 210, 224, 0.42) 0, rgba(199, 210, 224, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(199, 210, 224, 0.37) 0, rgba(199, 210, 224, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(199, 210, 224, 0.36) 0, rgba(199, 210, 224, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(199, 210, 224, 0.52) 0, rgba(199, 210, 224, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(199, 210, 224, 0.29) 0, rgba(199, 210, 224, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(199, 210, 224, 0.28) 0, rgba(199, 210, 224, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(199, 210, 224, 0.40) 0, rgba(199, 210, 224, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(199, 210, 224, 0.30) 0, rgba(199, 210, 224, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(199, 210, 224, 0.31) 0, rgba(199, 210, 224, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(199, 210, 224, 0.52) 0, rgba(199, 210, 224, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(199, 210, 224, 0.49) 0, rgba(199, 210, 224, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(199, 210, 224, 0.43) 0, rgba(199, 210, 224, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(199, 210, 224, 0.32) 0, rgba(199, 210, 224, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(199, 210, 224, 0.39) 0, rgba(199, 210, 224, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(199, 210, 224, 0.41) 0, rgba(199, 210, 224, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(199, 210, 224, 0.51) 0, rgba(199, 210, 224, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(199, 210, 224, 0.50) 0, rgba(199, 210, 224, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(199, 210, 224, 0.44) 0, rgba(199, 210, 224, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(199, 210, 224, 0.44) 0, rgba(199, 210, 224, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(199, 210, 224, 0.39) 0, rgba(199, 210, 224, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(199, 210, 224, 0.32) 0, rgba(199, 210, 224, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 40s;
  --drift-op: 0.60;
  --glow-dur: 32s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🏜️ 暖沙 ===== */
[data-theme="dune"] {
  color-scheme: light;
  --primary: #c9a06a;
  --primary-dark: #ac8552;
  --primary-deep: #95764e;
  --primary-bg: #fbf3e6;
  --primary-soft: rgba(201, 160, 106, 0.12);
  --blue: #1677ff;
  --bg: #faf7f2;
  --card: #fffdf9;
  --surface: #fdfbf7;
  --hover-bg: #faf7f3;
  --border: #ece2d2;
  --text: #2e271d;
  --text-sub: #4b4336;
  --muted: #968a78;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #eaaca3;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #f0ca8c;
  --side-bg: #3a2f1e;
  --side-bg2: #32281a;
  --side-text: #dfdedb;
  --side-nav: #c8c5c0;
  --side-muted: #99938a;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #c9a06a;
  --side-active-text: #101418;
  --side-foot-text: #8d867c;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #aca8a0;
  --login-bg1: #28200f;
  --login-bg2: #40331b;
  --login-bg3: #332913;
  --login-hero: #ecebe8;
  --login-hero-sub: #a49e92;
  --login-point: #c3bfb7;
  --login-point-line: rgba(164, 158, 146, 0.18);
  --login-accent: #f2ddb9;
  --login-link: #e2d6c5;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(220, 193, 158, 0.5);
  --login-glass-line2: rgba(220, 193, 158, 0.35);
  --login-yixn: #d0cec7;
  --login-card: #ffffff;
  --login-tab-bg: #fcfbf8;
  --login-tab-text: #776c5d;
  --login-label: #4b4336;
  --login-input-bg: #fdfcfa;
  --login-input-border: #ece2d2;
  --login-tip: #968a78;
  --login-divider: #ece2d2;
  --input-bg: #fffdf9;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #463b2c 0%, #3a2f1e 58%, #51412a 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M0 92.4 Q25.0 71.7 50.0 91.8 Q75.0 66.5 100.0 92.1 Q125.0 72.4 150.0 86.1 L150.0 210.0 L0 210.0 Z' fill='%23f2ddb9' opacity='0.14'/><path d='M0 121.8 Q25.0 92.9 50.0 119.5 Q75.0 100.5 100.0 118.7 Q125.0 101.2 150.0 120.7 L150.0 210.0 L0 210.0 Z' fill='%23e0c8a9' opacity='0.19'/><path d='M0 151.2 Q25.0 126.4 50.0 148.2 Q75.0 131.7 100.0 145.3 Q125.0 125.3 150.0 145.5 L150.0 210.0 L0 210.0 Z' fill='%23f2ddb9' opacity='0.24'/><path d='M32.1 141.5 q21.0 0.4 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M30.3 108.6 q21.0 -2.9 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M17.8 109.5 q21.0 -1.2 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M79.1 130.6 q21.0 1.4 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M24.1 157.1 q21.0 2.3 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M104.7 142.3 q21.0 1.9 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M33.2 111.3 q21.0 2.7 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M27.8 147.0 q21.0 -2.4 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M57.7 189.8 q21.0 3.4 42.0 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%23e0c8a9' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(228, 208, 180, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M0 184.8 Q70.0 131.1 140.0 180.6 Q210.0 150.5 280.0 181.9 Q350.0 145.2 420.0 178.1 L420.0 420.0 L0 420.0 Z' fill='%23f2ddb9' opacity='0.14'/><path d='M0 243.6 Q70.0 218.3 140.0 233.7 Q210.0 213.4 280.0 231.8 Q350.0 215.2 420.0 233.9 L420.0 420.0 L0 420.0 Z' fill='%23e0c8a9' opacity='0.19'/><path d='M0 302.4 Q70.0 258.7 140.0 293.5 Q210.0 256.2 280.0 290.1 Q350.0 247.5 420.0 296.8 L420.0 420.0 L0 420.0 Z' fill='%23f2ddb9' opacity='0.24'/><path d='M168.5 326.7 q58.8 1.3 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M26.2 285.5 q58.8 -4.7 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M278.2 318.9 q58.8 -0.3 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M293.4 394.2 q58.8 -3.2 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M255.2 291.8 q58.8 1.5 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M59.7 397.6 q58.8 0.1 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M154.4 370.2 q58.8 -2.9 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M273.2 235.6 q58.8 -3.0 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/><path d='M234.8 368.7 q58.8 4.4 117.6 0' stroke='%23f2ddb9' stroke-width='.9' fill='none' opacity='.20'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(201, 160, 106, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(242, 221, 185, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(201, 160, 106, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #fffdf9 0%, #fbf6ef 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(201, 160, 106, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(242, 221, 185, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(232, 215, 192, 0.41) 0, rgba(232, 215, 192, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(232, 215, 192, 0.42) 0, rgba(232, 215, 192, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(232, 215, 192, 0.37) 0, rgba(232, 215, 192, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(232, 215, 192, 0.36) 0, rgba(232, 215, 192, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(232, 215, 192, 0.52) 0, rgba(232, 215, 192, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(232, 215, 192, 0.29) 0, rgba(232, 215, 192, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(232, 215, 192, 0.28) 0, rgba(232, 215, 192, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(232, 215, 192, 0.40) 0, rgba(232, 215, 192, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(232, 215, 192, 0.30) 0, rgba(232, 215, 192, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(232, 215, 192, 0.31) 0, rgba(232, 215, 192, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(232, 215, 192, 0.52) 0, rgba(232, 215, 192, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(232, 215, 192, 0.49) 0, rgba(232, 215, 192, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(232, 215, 192, 0.43) 0, rgba(232, 215, 192, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(232, 215, 192, 0.32) 0, rgba(232, 215, 192, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(232, 215, 192, 0.39) 0, rgba(232, 215, 192, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(232, 215, 192, 0.41) 0, rgba(232, 215, 192, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(232, 215, 192, 0.51) 0, rgba(232, 215, 192, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(232, 215, 192, 0.50) 0, rgba(232, 215, 192, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(232, 215, 192, 0.44) 0, rgba(232, 215, 192, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(232, 215, 192, 0.44) 0, rgba(232, 215, 192, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(232, 215, 192, 0.39) 0, rgba(232, 215, 192, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(232, 215, 192, 0.32) 0, rgba(232, 215, 192, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 32s;
  --drift-op: 0.60;
  --glow-dur: 24s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌿 雨林 ===== */
[data-theme="rainforest"] {
  color-scheme: dark;
  --primary: #4fa87a;
  --primary-dark: #3d8c63;
  --primary-deep: #46946b;
  --primary-bg: rgba(79,168,122,0.15);
  --primary-soft: rgba(79, 168, 122, 0.18);
  --blue: #6ba4ff;
  --bg: #101914;
  --card: #252d29;
  --surface: #1e2622;
  --hover-bg: #1e2722;
  --border: #414844;
  --text: #e2efe7;
  --text-sub: #c8d9d0;
  --muted: #86a094;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #3f3431;
  --danger-text: #ff9f9f;
  --danger-border: #845452;
  --warn-bg: #3f3d2c;
  --warn-text: #ffca79;
  --warn-border: #8d7342;
  --side-bg: #0b130f;
  --side-bg2: #09100d;
  --side-text: #d8d9d9;
  --side-nav: #bbbdbc;
  --side-muted: #808482;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #4fa87a;
  --side-active-text: #ffffff;
  --side-foot-text: #717674;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #999c9a;
  --login-bg1: #07110c;
  --login-bg2: #111d16;
  --login-bg3: #0b1711;
  --login-hero: #e7e8e8;
  --login-hero-sub: #8d9390;
  --login-point: #b4b7b6;
  --login-point-line: rgba(141, 147, 144, 0.18);
  --login-accent: #b6e8cc;
  --login-link: #bcd6c9;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(141, 198, 169, 0.5);
  --login-glass-line2: rgba(141, 198, 169, 0.35);
  --login-yixn: #c5c8c6;
  --login-card: #252d29;
  --login-tab-bg: #1a231e;
  --login-tab-text: #a2b8ad;
  --login-label: #c8d9d0;
  --login-input-bg: #1d2521;
  --login-input-border: #414844;
  --login-tip: #86a094;
  --login-divider: #414844;
  --input-bg: #252d29;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #1a211d 0%, #0b130f 58%, #162b20 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M92.6 171.6 L94.1 168.1 L95.1 164.8 L95.3 161.8 L94.6 159.2 L92.9 156.9 L90.5 154.9 L87.6 153.2 L84.6 151.5 L84.6 151.5 L83.5 154.8 L82.6 158.1 L82.2 161.2 L82.6 163.9 L83.8 166.4 L86.0 168.4 L89.0 170.1 L92.6 171.6 Z' fill='%23b6e8cc' opacity='0.19'/><path d='M112.9 77.4 L111.6 73.3 L110.0 69.8 L108.0 67.1 L105.4 65.5 L102.4 64.8 L98.9 64.9 L95.2 65.5 L91.4 66.3 L91.4 66.3 L92.9 69.8 L94.6 73.3 L96.5 76.1 L98.8 78.2 L101.6 79.4 L105.0 79.5 L108.8 78.7 L112.9 77.4 Z' fill='%2399cdb2' opacity='0.23'/><path d='M119.8 53.4 L121.7 50.9 L123.0 48.4 L123.7 46.0 L123.5 43.8 L122.6 41.7 L121.0 39.7 L119.0 37.8 L116.8 35.9 L116.8 35.9 L115.4 38.4 L114.1 40.9 L113.3 43.3 L113.1 45.6 L113.7 47.7 L115.1 49.7 L117.2 51.6 L119.8 53.4 Z' fill='%23b6e8cc' opacity='0.22'/><path d='M132.7 76.0 L136.5 76.4 L139.9 76.4 L142.8 75.8 L145.1 74.3 L146.8 72.1 L147.9 69.2 L148.8 66.0 L149.6 62.6 L149.6 62.6 L146.1 62.6 L142.7 62.6 L139.7 63.1 L137.1 64.3 L135.2 66.1 L133.9 68.8 L133.1 72.2 L132.7 76.0 Z' fill='%2399cdb2' opacity='0.25'/><path d='M108.7 0 Q114.3 21.0 113.7 42.0 Q96.4 63.0 115.1 84.0 Q112.8 105.0 110.1 126.0 Q101.8 147.0 110.8 168.0 Q113.0 189.0 100.2 210.0' stroke='%23b6e8cc' stroke-width='1' fill='none' opacity='.24'/><path d='M26.3 0 Q14.1 21.0 33.0 42.0 Q32.2 63.0 21.1 84.0 Q34.7 105.0 29.1 126.0 Q18.4 147.0 28.4 168.0 Q26.9 189.0 24.6 210.0' stroke='%23b6e8cc' stroke-width='1' fill='none' opacity='.24'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%2399cdb2' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%2399cdb2' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(167, 212, 188, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M30.3 91.9 L28.2 85.7 L25.7 80.4 L22.5 76.4 L18.6 73.9 L13.9 72.9 L8.7 73.2 L3.0 74.3 L-2.8 75.6 L-2.8 75.6 L-0.3 81.0 L2.3 86.1 L5.3 90.5 L8.9 93.6 L13.2 95.2 L18.3 95.3 L24.1 94.1 L30.3 91.9 Z' fill='%23b6e8cc' opacity='0.30'/><path d='M265.6 354.4 L270.8 352.1 L275.2 349.5 L278.4 346.5 L280.2 342.9 L280.7 338.8 L280.1 334.3 L278.7 329.5 L277.1 324.6 L277.1 324.6 L272.7 327.1 L268.4 329.8 L264.9 332.7 L262.5 336.1 L261.4 339.9 L261.8 344.3 L263.3 349.2 L265.6 354.4 Z' fill='%2399cdb2' opacity='0.27'/><path d='M191.1 275.4 L196.6 273.3 L201.2 270.7 L204.6 267.7 L206.6 264.0 L207.3 259.8 L206.8 255.1 L205.5 250.1 L204.0 244.9 L204.0 244.9 L199.3 247.4 L194.8 250.0 L191.1 252.9 L188.5 256.3 L187.3 260.3 L187.5 264.9 L188.9 270.0 L191.1 275.4 Z' fill='%23b6e8cc' opacity='0.22'/><path d='M49.5 216.7 L48.8 209.7 L47.4 203.4 L45.0 198.4 L41.5 194.9 L36.8 192.7 L31.1 191.7 L24.9 191.5 L18.4 191.5 L18.4 191.5 L19.8 197.8 L21.3 203.8 L23.4 209.2 L26.4 213.3 L30.6 216.1 L36.0 217.4 L42.4 217.5 L49.5 216.7 Z' fill='%2399cdb2' opacity='0.23'/><path d='M40.2 300.6 L41.2 293.4 L41.3 286.8 L40.0 281.3 L37.3 276.9 L33.1 273.6 L27.7 271.3 L21.5 269.6 L15.1 268.1 L15.1 268.1 L14.9 274.7 L15.0 281.2 L15.9 287.0 L18.0 291.8 L21.6 295.6 L26.6 298.1 L33.0 299.7 L40.2 300.6 Z' fill='%23b6e8cc' opacity='0.26'/><path d='M196.7 328.4 L196.5 322.5 L195.8 317.3 L194.1 313.0 L191.4 309.8 L187.6 307.7 L183.0 306.5 L177.8 306.0 L172.5 305.6 L172.5 305.6 L173.2 310.9 L174.1 316.0 L175.5 320.5 L177.8 324.2 L181.1 326.7 L185.5 328.2 L190.8 328.6 L196.7 328.4 Z' fill='%2399cdb2' opacity='0.28'/><path d='M121.8 154.3 L122.7 149.8 L123.1 145.7 L122.5 142.1 L121.0 139.2 L118.5 137.0 L115.2 135.3 L111.3 133.9 L107.3 132.7 L107.3 132.7 L106.9 136.8 L106.7 140.9 L107.0 144.6 L108.1 147.8 L110.2 150.3 L113.3 152.2 L117.3 153.5 L121.8 154.3 Z' fill='%23b6e8cc' opacity='0.21'/><path d='M305.5 0 Q298.1 42.0 305.7 84.0 Q319.2 126.0 310.6 168.0 Q302.1 210.0 300.2 252.0 Q305.7 294.0 310.9 336.0 Q298.1 378.0 312.5 420.0' stroke='%23b6e8cc' stroke-width='1' fill='none' opacity='.24'/><path d='M217.9 0 Q228.8 42.0 224.3 84.0 Q228.3 126.0 218.5 168.0 Q225.8 210.0 214.7 252.0 Q213.4 294.0 224.3 336.0 Q217.1 378.0 216.4 420.0' stroke='%23b6e8cc' stroke-width='1' fill='none' opacity='.24'/><path d='M358.6 0 Q358.4 42.0 350.2 84.0 Q357.5 126.0 364.2 168.0 Q359.1 210.0 355.9 252.0 Q369.3 294.0 350.5 336.0 Q357.2 378.0 358.3 420.0' stroke='%23b6e8cc' stroke-width='1' fill='none' opacity='.24'/><path d='M70.3 0 Q67.1 42.0 78.3 84.0 Q61.8 126.0 65.5 168.0 Q67.1 210.0 77.7 252.0 Q72.3 294.0 65.4 336.0 Q67.5 378.0 72.8 420.0' stroke='%23b6e8cc' stroke-width='1' fill='none' opacity='.24'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(79, 168, 122, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(182, 232, 204, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(79, 168, 122, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #252d29 0%, #293931 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(79, 168, 122, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(182, 232, 204, 0.13), transparent 40%);
  --drift: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'><path d='M103.8 13.5 L105.7 12.9 L107.3 12.1 L108.5 11.2 L109.3 10.1 L109.6 8.7 L109.6 7.1 L109.3 5.4 L108.9 3.6 L108.9 3.6 L107.3 4.3 L105.7 5.1 L104.4 6.0 L103.4 7.0 L102.9 8.3 L102.9 9.8 L103.2 11.6 L103.8 13.5 Z' fill='rgb(181, 218, 199)' opacity='0.60'/><path d='M81.8 19.5 L83.6 19.2 L85.1 18.9 L86.4 18.2 L87.2 17.3 L87.7 16.1 L87.9 14.7 L87.9 13.1 L87.9 11.5 L87.9 11.5 L86.3 11.9 L84.8 12.3 L83.5 12.9 L82.5 13.7 L81.8 14.8 L81.6 16.1 L81.6 17.7 L81.8 19.5 Z' fill='rgb(181, 218, 199)' opacity='0.60'/><path d='M86.0 100.7 L84.0 100.6 L82.1 100.8 L80.6 101.3 L79.5 102.2 L78.7 103.5 L78.2 105.0 L77.9 106.8 L77.7 108.7 L77.7 108.7 L79.5 108.5 L81.3 108.3 L82.9 107.9 L84.2 107.2 L85.2 106.1 L85.7 104.6 L86.0 102.7 L86.0 100.7 Z' fill='rgb(181, 218, 199)' opacity='0.60'/><path d='M25.5 8.3 L26.0 10.2 L26.6 12.0 L27.4 13.3 L28.5 14.2 L30.0 14.7 L31.6 14.7 L33.4 14.6 L35.2 14.4 L35.2 14.4 L34.6 12.6 L34.0 11.0 L33.2 9.5 L32.2 8.5 L30.9 7.8 L29.3 7.6 L27.5 7.8 L25.5 8.3 Z' fill='rgb(181, 218, 199)' opacity='0.60'/><path d='M29.7 69.6 L31.2 67.6 L32.3 65.7 L32.9 63.8 L32.8 62.1 L32.1 60.4 L30.9 58.8 L29.3 57.2 L27.7 55.7 L27.7 55.7 L26.5 57.7 L25.5 59.6 L24.7 61.5 L24.6 63.3 L25.0 65.0 L26.1 66.6 L27.7 68.2 L29.7 69.6 Z' fill='rgb(181, 218, 199)' opacity='0.60'/><path d='M116.7 54.4 L114.6 53.3 L112.6 52.5 L110.8 52.3 L109.1 52.6 L107.7 53.6 L106.4 55.0 L105.2 56.7 L104.0 58.5 L104.0 58.5 L106.0 59.3 L108.0 59.9 L109.9 60.3 L111.6 60.2 L113.1 59.5 L114.5 58.3 L115.6 56.5 L116.7 54.4 Z' fill='rgb(181, 218, 199)' opacity='0.60'/></svg>");
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 30s;
  --drift-op: 0.60;
  --glow-dur: 22s;
  --tint-blue: #454d4b;
  --tint-blue-bd: #6a7580;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #474c4b;
  --tint-purple-bd: #73717d;
  --tint-purple-tx: #b097d9;
  --tint-teal: #454e4a;
  --tint-teal-bd: #657c77;
  --tint-teal-tx: #7db9b0;
  --tint-green: #454d48;
  --tint-green-bd: #687b6a;
  --tint-green-tx: #85b795;
  --tint-gray: #464d4a;
  --tint-gray-bd: #717877;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #484d47;
  --tint-orange-bd: #7e7667;
  --tint-orange-tx: #cca680;
  --tint-red: #484c48;
  --tint-red-bd: #7e716f;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #484d47;
  --tint-yellow-bd: #7e7963;
  --tint-yellow-tx: #c0af80;
}

/* ===== 🏔️ 雪山 ===== */
[data-theme="snowpeak"] {
  color-scheme: light;
  --primary: #7ba7cc;
  --primary-dark: #638fb4;
  --primary-deep: #5b7c97;
  --primary-bg: #eef4fa;
  --primary-soft: rgba(123, 167, 204, 0.12);
  --blue: #1677ff;
  --bg: #f7f9fb;
  --card: #ffffff;
  --surface: #fcfdfe;
  --hover-bg: #f7f9fb;
  --border: #e2e9f0;
  --text: #1e2730;
  --text-sub: #3d4650;
  --muted: #8b96a1;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e3b1b7;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #eace9e;
  --side-bg: #26333f;
  --side-bg2: #212c36;
  --side-text: #dcdee0;
  --side-nav: #c2c6c9;
  --side-muted: #8e959b;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #7ba7cc;
  --side-active-text: #ffffff;
  --side-foot-text: #818990;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a4a9ae;
  --login-bg1: #161f28;
  --login-bg2: #263340;
  --login-bg3: #1d2833;
  --login-hero: #e9ebec;
  --login-hero-sub: #979ea4;
  --login-point: #babfc3;
  --login-point-line: rgba(151, 158, 164, 0.18);
  --login-accent: #d9e8f5;
  --login-link: #cad8e3;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(169, 198, 222, 0.5);
  --login-glass-line2: rgba(169, 198, 222, 0.35);
  --login-yixn: #caced0;
  --login-card: #ffffff;
  --login-tab-bg: #fbfcfd;
  --login-tab-text: #6a757f;
  --login-label: #3d4650;
  --login-input-bg: #fcfdfd;
  --login-input-border: #e2e9f0;
  --login-tip: #8b96a1;
  --login-divider: #e2e9f0;
  --input-bg: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #333f4b 0%, #26333f 58%, #344656 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M-9.0 151.2 L24.0 88.2 L57.0 151.2 Z' fill='%23d9e8f5' opacity='0.20'/><path d='M24.0 88.2 L57.0 151.2' stroke='%23b2cce1' stroke-width='1' opacity='.32' fill='none'/><path d='M24.0 151.2 L57.0 63.0 L90.0 151.2 Z' fill='%23b2cce1' opacity='0.18'/><path d='M57.0 63.0 L90.0 151.2' stroke='%23b2cce1' stroke-width='1' opacity='.32' fill='none'/><path d='M60.0 151.2 L93.0 79.8 L126.0 151.2 Z' fill='%23d9e8f5' opacity='0.16'/><path d='M93.0 79.8 L126.0 151.2' stroke='%23b2cce1' stroke-width='1' opacity='.32' fill='none'/><circle cx='125.3' cy='58.9' r='1.7' fill='%23b2cce1' opacity='0.59'/><circle cx='22.1' cy='149.9' r='1.7' fill='%23b2cce1' opacity='0.27'/><circle cx='56.3' cy='97.1' r='1.4' fill='%23b2cce1' opacity='0.52'/><circle cx='30.7' cy='176.2' r='1.8' fill='%23b2cce1' opacity='0.43'/><circle cx='17.8' cy='132.9' r='1.3' fill='%23b2cce1' opacity='0.46'/><circle cx='20.0' cy='76.7' r='1.4' fill='%23b2cce1' opacity='0.41'/><circle cx='76.7' cy='109.5' r='2.1' fill='%23b2cce1' opacity='0.42'/><circle cx='133.2' cy='46.1' r='1.8' fill='%23b2cce1' opacity='0.36'/><circle cx='82.7' cy='89.0' r='0.9' fill='%23b2cce1' opacity='0.27'/><circle cx='142.9' cy='124.9' r='2.2' fill='%23b2cce1' opacity='0.56'/><circle cx='131.9' cy='120.4' r='0.8' fill='%23b2cce1' opacity='0.33'/><circle cx='21.7' cy='118.7' r='1.2' fill='%23b2cce1' opacity='0.45'/><circle cx='53.2' cy='84.5' r='1.6' fill='%23b2cce1' opacity='0.43'/><circle cx='33.2' cy='81.6' r='2.1' fill='%23b2cce1' opacity='0.50'/><circle cx='91.6' cy='109.7' r='1.7' fill='%23b2cce1' opacity='0.27'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='10' cy='10' r='1.2' fill='%23b2cce1' opacity='0.25'/><circle cx='30' cy='24' r='0.9' fill='%23b2cce1' opacity='0.17'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(189, 211, 230, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M-25.2 302.4 L67.2 176.4 L159.6 302.4 Z' fill='%23d9e8f5' opacity='0.20'/><path d='M67.2 176.4 L159.6 302.4' stroke='%23b2cce1' stroke-width='1' opacity='.32' fill='none'/><path d='M67.2 302.4 L159.6 126.0 L252.0 302.4 Z' fill='%23b2cce1' opacity='0.18'/><path d='M159.6 126.0 L252.0 302.4' stroke='%23b2cce1' stroke-width='1' opacity='.32' fill='none'/><path d='M168.0 302.4 L260.4 159.6 L352.8 302.4 Z' fill='%23d9e8f5' opacity='0.16'/><path d='M260.4 159.6 L352.8 302.4' stroke='%23b2cce1' stroke-width='1' opacity='.32' fill='none'/><circle cx='120.5' cy='157.2' r='1.0' fill='%23b2cce1' opacity='0.33'/><circle cx='128.2' cy='251.9' r='0.9' fill='%23b2cce1' opacity='0.30'/><circle cx='378.6' cy='96.7' r='1.6' fill='%23b2cce1' opacity='0.34'/><circle cx='194.8' cy='115.5' r='1.7' fill='%23b2cce1' opacity='0.37'/><circle cx='230.3' cy='208.8' r='2.0' fill='%23b2cce1' opacity='0.28'/><circle cx='382.6' cy='132.6' r='0.9' fill='%23b2cce1' opacity='0.35'/><circle cx='391.1' cy='36.6' r='0.9' fill='%23b2cce1' opacity='0.37'/><circle cx='287.2' cy='326.6' r='1.8' fill='%23b2cce1' opacity='0.49'/><circle cx='193.9' cy='272.3' r='1.2' fill='%23b2cce1' opacity='0.31'/><circle cx='266.9' cy='20.7' r='0.8' fill='%23b2cce1' opacity='0.28'/><circle cx='38.5' cy='17.1' r='1.2' fill='%23b2cce1' opacity='0.48'/><circle cx='114.8' cy='123.8' r='1.6' fill='%23b2cce1' opacity='0.46'/><circle cx='271.4' cy='182.5' r='2.0' fill='%23b2cce1' opacity='0.38'/><circle cx='32.0' cy='348.1' r='1.3' fill='%23b2cce1' opacity='0.51'/><circle cx='53.0' cy='222.0' r='1.4' fill='%23b2cce1' opacity='0.50'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(123, 167, 204, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(217, 232, 245, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(123, 167, 204, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #ffffff 0%, #f6f9fb 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(123, 167, 204, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(217, 232, 245, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 72px 118px, rgba(200, 218, 234, 0.56) 0, rgba(200, 218, 234, 0.42) 1.2px, transparent 2.2px), radial-gradient(circle at 148px 51px, rgba(200, 218, 234, 0.39) 0, rgba(200, 218, 234, 0.29) 1.9px, transparent 2.9px), radial-gradient(circle at 35px 95px, rgba(200, 218, 234, 0.44) 0, rgba(200, 218, 234, 0.33) 1.1px, transparent 2.1px), radial-gradient(circle at 38px 18px, rgba(200, 218, 234, 0.59) 0, rgba(200, 218, 234, 0.44) 1.5px, transparent 2.5px), radial-gradient(circle at 136px 45px, rgba(200, 218, 234, 0.54) 0, rgba(200, 218, 234, 0.40) 2.1px, transparent 3.1px), radial-gradient(circle at 134px 5px, rgba(200, 218, 234, 0.39) 0, rgba(200, 218, 234, 0.29) 2.3px, transparent 3.3px), radial-gradient(circle at 23px 102px, rgba(200, 218, 234, 0.60) 0, rgba(200, 218, 234, 0.45) 2.0px, transparent 3.0px), radial-gradient(circle at 33px 101px, rgba(200, 218, 234, 0.45) 0, rgba(200, 218, 234, 0.34) 1.9px, transparent 2.9px), radial-gradient(circle at 12px 33px, rgba(200, 218, 234, 0.58) 0, rgba(200, 218, 234, 0.44) 1.1px, transparent 2.1px), radial-gradient(circle at 115px 104px, rgba(200, 218, 234, 0.50) 0, rgba(200, 218, 234, 0.37) 1.4px, transparent 2.4px), radial-gradient(circle at 66px 17px, rgba(200, 218, 234, 0.48) 0, rgba(200, 218, 234, 0.36) 1.5px, transparent 2.5px), radial-gradient(circle at 20px 95px, rgba(200, 218, 234, 0.39) 0, rgba(200, 218, 234, 0.29) 1.6px, transparent 2.6px), radial-gradient(circle at 40px 23px, rgba(200, 218, 234, 0.37) 0, rgba(200, 218, 234, 0.28) 1.9px, transparent 2.9px), radial-gradient(circle at 134px 119px, rgba(200, 218, 234, 0.51) 0, rgba(200, 218, 234, 0.38) 1.3px, transparent 2.3px), radial-gradient(circle at 27px 73px, rgba(200, 218, 234, 0.43) 0, rgba(200, 218, 234, 0.32) 1.9px, transparent 2.9px), radial-gradient(circle at 45px 18px, rgba(200, 218, 234, 0.34) 0, rgba(200, 218, 234, 0.26) 2.3px, transparent 3.3px), radial-gradient(circle at 69px 88px, rgba(200, 218, 234, 0.43) 0, rgba(200, 218, 234, 0.32) 1.8px, transparent 2.8px), radial-gradient(circle at 43px 143px, rgba(200, 218, 234, 0.48) 0, rgba(200, 218, 234, 0.36) 2.0px, transparent 3.0px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 24s;
  --drift-op: 0.60;
  --glow-dur: 16s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🍑 蜜桃 ===== */
[data-theme="peach"] {
  color-scheme: light;
  --primary: #e88ba0;
  --primary-dark: #d06f85;
  --primary-deep: #ac6776;
  --primary-bg: #fdf0f3;
  --primary-soft: rgba(232, 139, 160, 0.12);
  --blue: #1677ff;
  --bg: #fbf7f8;
  --card: #fffdfd;
  --surface: #fefbfb;
  --hover-bg: #fbf7f8;
  --border: #f2e3e8;
  --text: #2d2126;
  --text-sub: #4e3f45;
  --muted: #a48b93;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #edadb2;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #f3ca9a;
  --side-bg: #3a2029;
  --side-bg2: #321c23;
  --side-text: #dfdbdd;
  --side-nav: #c8c1c3;
  --side-muted: #998b90;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #e88ba0;
  --side-active-text: #101418;
  --side-foot-text: #8d7e83;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #aca1a5;
  --login-bg1: #28131b;
  --login-bg2: #401f2b;
  --login-bg3: #331822;
  --login-hero: #ece9ea;
  --login-hero-sub: #a4949a;
  --login-point: #c3b9bc;
  --login-point-line: rgba(164, 148, 154, 0.18);
  --login-accent: #ffd0dc;
  --login-link: #ebcfd5;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(240, 180, 193, 0.5);
  --login-glass-line2: rgba(240, 180, 193, 0.35);
  --login-yixn: #d0c9cb;
  --login-card: #ffffff;
  --login-tab-bg: #fdfbfc;
  --login-tab-text: #806b72;
  --login-label: #4e3f45;
  --login-input-bg: #fdfcfc;
  --login-input-border: #f2e3e8;
  --login-tip: #a48b93;
  --login-divider: #f2e3e8;
  --input-bg: #fffdfd;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #462d36 0%, #3a2029 58%, #56313c 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M52.5 39.6 Q66.0 53.4 79.5 39.0 Q93.0 37.9 106.5 40.9 Q120.0 38.1 133.5 75.1 Q147.0 51.2 160.5 44.9' stroke='%23ffd0dc' stroke-width='1.2' fill='none' opacity='.40'/><path d='M114.2 32.4 L115.4 35.1 L116.7 36.5 L118.0 37.0 L119.4 36.6 L120.8 35.4 L122.2 32.8 L122.2 32.8 L121.0 30.0 L119.8 28.7 L118.5 28.2 L117.1 28.5 L115.7 29.7 L114.2 32.4 Z' fill='%23f2bcc8' opacity='0.37'/><path d='M114.2 32.4 L112.2 34.6 L111.4 36.3 L111.5 37.7 L112.4 38.8 L114.0 39.6 L117.0 39.9 L117.0 39.9 L119.1 37.7 L119.8 36.0 L119.8 34.6 L118.9 33.5 L117.2 32.7 L114.2 32.4 Z' fill='%23f2bcc8' opacity='0.53'/><path d='M114.2 32.4 L111.5 31.1 L109.7 31.0 L108.4 31.5 L107.6 32.7 L107.4 34.5 L108.1 37.4 L108.1 37.4 L110.8 38.7 L112.6 38.8 L113.9 38.3 L114.7 37.1 L114.9 35.3 L114.2 32.4 Z' fill='%23f2bcc8' opacity='0.40'/><path d='M114.2 32.4 L115.0 29.4 L114.8 27.6 L114.0 26.4 L112.7 25.9 L110.9 26.0 L108.1 27.2 L108.1 27.2 L107.4 30.2 L107.6 32.0 L108.3 33.2 L109.6 33.7 L111.5 33.6 L114.2 32.4 Z' fill='%23f2bcc8' opacity='0.41'/><path d='M114.2 32.4 L117.3 32.3 L119.0 31.7 L119.9 30.7 L120.1 29.3 L119.6 27.5 L117.7 25.2 L117.7 25.2 L114.7 25.2 L113.0 25.8 L112.0 26.9 L111.8 28.3 L112.4 30.0 L114.2 32.4 Z' fill='%23f2bcc8' opacity='0.47'/><path d='M115.3 58.1 L116.4 61.0 L117.6 62.3 L118.9 62.9 L120.2 62.6 L121.7 61.5 L123.2 58.9 L123.2 58.9 L122.2 56.1 L121.0 54.7 L119.7 54.1 L118.3 54.4 L116.9 55.6 L115.3 58.1 Z' fill='%23f2bcc8' opacity='0.39'/><path d='M115.3 58.1 L113.4 60.5 L112.9 62.3 L113.1 63.7 L114.0 64.7 L115.7 65.3 L118.8 65.3 L118.8 65.3 L120.6 63.0 L121.2 61.2 L121.0 59.8 L120.0 58.8 L118.3 58.2 L115.3 58.1 Z' fill='%23f2bcc8' opacity='0.43'/><path d='M115.3 58.1 L112.9 56.3 L111.1 55.7 L109.8 56.0 L108.7 56.9 L108.1 58.6 L108.1 61.7 L108.1 61.7 L110.5 63.5 L112.2 64.1 L113.6 63.9 L114.6 62.9 L115.3 61.2 L115.3 58.1 Z' fill='%23f2bcc8' opacity='0.43'/><path d='M115.3 58.1 L115.7 55.1 L115.3 53.4 L114.4 52.3 L113.1 51.9 L111.3 52.2 L108.7 53.7 L108.7 53.7 L108.2 56.6 L108.6 58.4 L109.5 59.5 L110.8 59.9 L112.7 59.6 L115.3 58.1 Z' fill='%23f2bcc8' opacity='0.55'/><path d='M115.3 58.1 L118.2 57.5 L119.8 56.5 L120.5 55.3 L120.4 53.9 L119.5 52.3 L117.2 50.4 L117.2 50.4 L114.3 51.0 L112.7 52.0 L112.0 53.2 L112.1 54.6 L113.0 56.2 L115.3 58.1 Z' fill='%23f2bcc8' opacity='0.47'/><path d='M141.4 23.8 L142.8 26.5 L144.1 27.8 L145.5 28.2 L146.8 27.7 L148.1 26.4 L149.4 23.7 L149.4 23.7 L148.1 21.0 L146.7 19.8 L145.4 19.4 L144.0 19.8 L142.7 21.1 L141.4 23.8 Z' fill='%23f2bcc8' opacity='0.50'/><path d='M141.4 23.8 L139.0 25.7 L138.1 27.2 L137.9 28.6 L138.6 29.8 L140.1 30.9 L143.0 31.6 L143.0 31.6 L145.4 29.8 L146.4 28.2 L146.5 26.8 L145.9 25.6 L144.3 24.6 L141.4 23.8 Z' fill='%23f2bcc8' opacity='0.47'/><path d='M141.4 23.8 L138.7 22.4 L136.9 22.2 L135.6 22.7 L134.8 23.8 L134.5 25.6 L135.0 28.6 L135.0 28.6 L137.7 30.0 L139.5 30.2 L140.8 29.7 L141.6 28.6 L142.0 26.8 L141.4 23.8 Z' fill='%23f2bcc8' opacity='0.51'/><path d='M141.4 23.8 L141.5 20.8 L140.8 19.1 L139.9 18.1 L138.5 17.8 L136.7 18.4 L134.3 20.2 L134.3 20.2 L134.3 23.2 L134.9 24.9 L135.9 25.9 L137.2 26.2 L139.0 25.6 L141.4 23.8 Z' fill='%23f2bcc8' opacity='0.40'/><path d='M141.4 23.8 L144.4 23.4 L146.1 22.6 L146.9 21.5 L146.9 20.1 L146.2 18.4 L144.0 16.3 L144.0 16.3 L141.0 16.6 L139.4 17.5 L138.6 18.6 L138.5 20.0 L139.3 21.7 L141.4 23.8 Z' fill='%23f2bcc8' opacity='0.38'/><path d='M19.6 40.4 Q33.1 44.0 46.6 58.1 Q60.1 51.2 73.6 47.3 Q87.1 26.0 100.6 74.9 Q114.1 29.6 127.6 72.6' stroke='%23ffd0dc' stroke-width='1.2' fill='none' opacity='.40'/><path d='M60.3 65.7 L61.2 68.6 L62.3 70.0 L63.6 70.6 L65.0 70.4 L66.5 69.4 L68.2 66.9 L68.2 66.9 L67.3 64.0 L66.2 62.5 L64.9 61.9 L63.5 62.1 L62.0 63.2 L60.3 65.7 Z' fill='%23f2bcc8' opacity='0.52'/><path d='M60.3 65.7 L58.1 67.7 L57.2 69.3 L57.2 70.7 L57.9 71.9 L59.5 72.8 L62.5 73.4 L62.5 73.4 L64.7 71.3 L65.6 69.7 L65.6 68.3 L64.9 67.1 L63.3 66.2 L60.3 65.7 Z' fill='%23f2bcc8' opacity='0.41'/><path d='M60.3 65.7 L57.4 64.8 L55.6 65.0 L54.3 65.7 L53.8 66.9 L53.8 68.8 L54.9 71.6 L54.9 71.6 L57.8 72.4 L59.6 72.3 L60.8 71.6 L61.4 70.3 L61.4 68.5 L60.3 65.7 Z' fill='%23f2bcc8' opacity='0.44'/><path d='M60.3 65.7 L60.2 62.7 L59.5 61.0 L58.4 60.0 L57.0 59.9 L55.3 60.5 L53.0 62.4 L53.0 62.4 L53.1 65.4 L53.8 67.1 L54.9 68.1 L56.2 68.2 L58.0 67.6 L60.3 65.7 Z' fill='%23f2bcc8' opacity='0.53'/><path d='M60.3 65.7 L63.3 65.8 L65.1 65.2 L66.1 64.2 L66.3 62.8 L65.8 61.1 L64.1 58.6 L64.1 58.6 L61.0 58.5 L59.3 59.1 L58.3 60.1 L58.0 61.5 L58.5 63.2 L60.3 65.7 Z' fill='%23f2bcc8' opacity='0.48'/><path d='M107.6 30.7 L108.8 33.4 L110.1 34.8 L111.4 35.2 L112.8 34.9 L114.1 33.6 L115.6 31.0 L115.6 31.0 L114.3 28.2 L113.1 26.9 L111.7 26.4 L110.4 26.8 L109.0 28.0 L107.6 30.7 Z' fill='%23f2bcc8' opacity='0.37'/><path d='M107.6 30.7 L105.6 33.0 L105.0 34.7 L105.2 36.1 L106.1 37.2 L107.8 37.9 L110.8 38.0 L110.8 38.0 L112.8 35.7 L113.4 33.9 L113.2 32.6 L112.3 31.5 L110.6 30.8 L107.6 30.7 Z' fill='%23f2bcc8' opacity='0.53'/><path d='M107.6 30.7 L104.7 29.8 L102.8 30.0 L101.6 30.7 L101.0 31.9 L101.1 33.8 L102.2 36.6 L102.2 36.6 L105.1 37.4 L106.9 37.3 L108.1 36.6 L108.7 35.3 L108.7 33.5 L107.6 30.7 Z' fill='%23f2bcc8' opacity='0.52'/><path d='M107.6 30.7 L107.5 27.7 L106.8 26.0 L105.8 25.0 L104.4 24.9 L102.6 25.5 L100.3 27.4 L100.3 27.4 L100.4 30.4 L101.1 32.1 L102.1 33.0 L103.5 33.2 L105.2 32.6 L107.6 30.7 Z' fill='%23f2bcc8' opacity='0.41'/><path d='M107.6 30.7 L110.6 30.3 L112.2 29.4 L113.0 28.3 L113.0 26.9 L112.3 25.2 L110.1 23.1 L110.1 23.1 L107.1 23.5 L105.5 24.4 L104.7 25.5 L104.7 26.9 L105.4 28.6 L107.6 30.7 Z' fill='%23f2bcc8' opacity='0.36'/><path d='M30.3 32.1 L31.5 34.9 L32.7 36.2 L34.0 36.7 L35.4 36.4 L36.8 35.2 L38.3 32.5 L38.3 32.5 L37.1 29.8 L35.8 28.4 L34.5 27.9 L33.1 28.3 L31.7 29.5 L30.3 32.1 Z' fill='%23f2bcc8' opacity='0.40'/><path d='M30.3 32.1 L28.2 34.3 L27.5 36.0 L27.6 37.4 L28.4 38.5 L30.1 39.3 L33.1 39.6 L33.1 39.6 L35.1 37.4 L35.9 35.7 L35.8 34.3 L34.9 33.2 L33.3 32.4 L30.3 32.1 Z' fill='%23f2bcc8' opacity='0.45'/><path d='M30.3 32.1 L27.5 30.9 L25.6 30.9 L24.4 31.4 L23.6 32.6 L23.5 34.5 L24.3 37.4 L24.3 37.4 L27.1 38.5 L28.9 38.6 L30.2 38.0 L30.9 36.8 L31.1 35.0 L30.3 32.1 Z' fill='%23f2bcc8' opacity='0.49'/><path d='M30.3 32.1 L31.2 29.2 L31.2 27.4 L30.5 26.2 L29.3 25.5 L27.5 25.5 L24.6 26.4 L24.6 26.4 L23.6 29.3 L23.7 31.2 L24.3 32.4 L25.6 33.0 L27.4 33.1 L30.3 32.1 Z' fill='%23f2bcc8' opacity='0.37'/><path d='M30.3 32.1 L33.2 31.5 L34.8 30.5 L35.6 29.4 L35.5 28.0 L34.6 26.4 L32.3 24.4 L32.3 24.4 L29.4 25.0 L27.8 25.9 L27.1 27.1 L27.1 28.5 L28.0 30.1 L30.3 32.1 Z' fill='%23f2bcc8' opacity='0.54'/><path d='M141.8 167.0 L141.3 169.7 L141.6 171.3 L142.3 172.3 L143.5 172.7 L145.1 172.4 L147.5 171.1 L147.5 171.1 L148.0 168.4 L147.7 166.7 L146.9 165.8 L145.7 165.4 L144.1 165.7 L141.8 167.0 Z' fill='%23f2bcc8' opacity='0.22'/><path d='M27.1 178.8 L26.7 176.1 L26.0 174.6 L25.0 173.9 L23.8 173.9 L22.3 174.6 L20.4 176.6 L20.4 176.6 L20.7 179.3 L21.5 180.7 L22.5 181.5 L23.7 181.5 L25.2 180.7 L27.1 178.8 Z' fill='%23f2bcc8' opacity='0.32'/><path d='M106.2 200.9 L108.4 199.4 L109.4 198.1 L109.7 196.9 L109.1 195.8 L107.8 194.8 L105.2 193.9 L105.2 193.9 L103.0 195.4 L102.0 196.7 L101.7 197.9 L102.3 199.0 L103.6 200.0 L106.2 200.9 Z' fill='%23f2bcc8' opacity='0.36'/><path d='M104.1 136.6 L105.0 134.0 L105.0 132.4 L104.4 131.3 L103.3 130.7 L101.7 130.7 L99.1 131.7 L99.1 131.7 L98.2 134.3 L98.3 135.9 L98.8 137.0 L99.9 137.5 L101.6 137.5 L104.1 136.6 Z' fill='%23f2bcc8' opacity='0.27'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%23f2bcc8' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%23f2bcc8' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(244, 197, 208, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M77.3 92.0 Q115.1 101.6 152.9 101.5 Q190.7 82.3 228.5 104.9 Q266.3 85.8 304.1 117.7 Q341.9 84.2 379.7 100.9' stroke='%23ffd0dc' stroke-width='1.2' fill='none' opacity='.40'/><path d='M251.0 119.8 L252.2 122.6 L253.5 123.9 L254.8 124.4 L256.1 124.1 L257.5 122.9 L259.0 120.3 L259.0 120.3 L257.9 117.5 L256.6 116.1 L255.3 115.6 L253.9 116.0 L252.5 117.2 L251.0 119.8 Z' fill='%23f2bcc8' opacity='0.43'/><path d='M251.0 119.8 L248.8 121.8 L247.9 123.4 L247.9 124.8 L248.7 126.0 L250.2 126.9 L253.2 127.5 L253.2 127.5 L255.5 125.5 L256.3 123.8 L256.4 122.4 L255.6 121.3 L254.0 120.3 L251.0 119.8 Z' fill='%23f2bcc8' opacity='0.50'/><path d='M251.0 119.8 L248.2 118.6 L246.4 118.6 L245.1 119.1 L244.4 120.3 L244.2 122.2 L245.0 125.1 L245.0 125.1 L247.8 126.2 L249.7 126.3 L251.0 125.7 L251.7 124.5 L251.8 122.7 L251.0 119.8 Z' fill='%23f2bcc8' opacity='0.47'/><path d='M251.0 119.8 L251.2 116.8 L250.7 115.0 L249.7 114.0 L248.3 113.7 L246.5 114.2 L244.1 115.9 L244.1 115.9 L243.9 118.9 L244.4 120.7 L245.4 121.7 L246.8 122.0 L248.6 121.5 L251.0 119.8 Z' fill='%23f2bcc8' opacity='0.52'/><path d='M251.0 119.8 L253.9 118.9 L255.4 117.8 L256.1 116.6 L255.9 115.2 L254.8 113.7 L252.4 111.9 L252.4 111.9 L249.5 112.8 L248.0 113.9 L247.4 115.1 L247.6 116.5 L248.6 118.0 L251.0 119.8 Z' fill='%23f2bcc8' opacity='0.53'/><path d='M333.7 79.9 L335.3 82.5 L336.8 83.6 L338.1 83.9 L339.4 83.3 L340.6 81.9 L341.7 79.1 L341.7 79.1 L340.1 76.6 L338.6 75.4 L337.2 75.2 L335.9 75.7 L334.8 77.1 L333.7 79.9 Z' fill='%23f2bcc8' opacity='0.39'/><path d='M333.7 79.9 L331.9 82.3 L331.3 84.1 L331.5 85.5 L332.5 86.5 L334.2 87.1 L337.2 87.1 L337.2 87.1 L339.1 84.7 L339.6 83.0 L339.4 81.6 L338.5 80.6 L336.7 79.9 L333.7 79.9 Z' fill='%23f2bcc8' opacity='0.44'/><path d='M333.7 79.9 L331.3 78.1 L329.6 77.5 L328.2 77.7 L327.2 78.7 L326.5 80.4 L326.5 83.4 L326.5 83.4 L328.9 85.3 L330.6 85.8 L332.0 85.6 L333.0 84.7 L333.7 83.0 L333.7 79.9 Z' fill='%23f2bcc8' opacity='0.36'/><path d='M333.7 79.9 L334.0 76.9 L333.5 75.2 L332.5 74.1 L331.2 73.8 L329.4 74.2 L326.8 75.8 L326.8 75.8 L326.6 78.8 L327.1 80.6 L328.0 81.7 L329.4 82.0 L331.2 81.6 L333.7 79.9 Z' fill='%23f2bcc8' opacity='0.39'/><path d='M333.7 79.9 L336.6 79.0 L338.0 77.8 L338.6 76.5 L338.3 75.1 L337.2 73.7 L334.7 72.0 L334.7 72.0 L331.9 73.0 L330.4 74.2 L329.8 75.4 L330.1 76.8 L331.2 78.3 L333.7 79.9 Z' fill='%23f2bcc8' opacity='0.54'/><path d='M117.1 100.6 L118.6 103.2 L120.0 104.3 L121.4 104.7 L122.7 104.1 L123.9 102.8 L125.1 100.0 L125.1 100.0 L123.5 97.4 L122.1 96.2 L120.8 95.9 L119.5 96.4 L118.2 97.8 L117.1 100.6 Z' fill='%23f2bcc8' opacity='0.48'/><path d='M117.1 100.6 L115.2 102.9 L114.6 104.6 L114.8 106.0 L115.7 107.1 L117.4 107.7 L120.4 107.8 L120.4 107.8 L122.3 105.5 L122.9 103.7 L122.8 102.4 L121.8 101.3 L120.1 100.6 L117.1 100.6 Z' fill='%23f2bcc8' opacity='0.55'/><path d='M117.1 100.6 L114.3 99.5 L112.4 99.5 L111.2 100.1 L110.5 101.3 L110.4 103.1 L111.2 106.0 L111.2 106.0 L114.1 107.1 L115.9 107.1 L117.2 106.5 L117.9 105.3 L118.0 103.4 L117.1 100.6 Z' fill='%23f2bcc8' opacity='0.36'/><path d='M117.1 100.6 L117.4 97.6 L116.9 95.8 L116.0 94.7 L114.7 94.4 L112.9 94.7 L110.3 96.3 L110.3 96.3 L110.0 99.3 L110.5 101.1 L111.4 102.2 L112.7 102.5 L114.5 102.1 L117.1 100.6 Z' fill='%23f2bcc8' opacity='0.36'/><path d='M117.1 100.6 L120.0 99.8 L121.5 98.7 L122.2 97.5 L122.0 96.1 L121.0 94.5 L118.6 92.7 L118.6 92.7 L115.7 93.5 L114.2 94.6 L113.5 95.8 L113.7 97.2 L114.7 98.7 L117.1 100.6 Z' fill='%23f2bcc8' opacity='0.49'/><path d='M90.5 152.8 Q128.3 138.9 166.1 176.2 Q203.9 167.3 241.7 166.5 Q279.5 167.6 317.3 173.5 Q355.1 165.1 392.9 160.9' stroke='%23ffd0dc' stroke-width='1.2' fill='none' opacity='.40'/><path d='M299.3 145.0 L300.2 147.9 L301.3 149.4 L302.6 150.0 L304.0 149.8 L305.5 148.7 L307.2 146.2 L307.2 146.2 L306.3 143.3 L305.2 141.9 L303.9 141.3 L302.5 141.5 L301.0 142.5 L299.3 145.0 Z' fill='%23f2bcc8' opacity='0.49'/><path d='M299.3 145.0 L297.5 147.4 L297.0 149.2 L297.2 150.6 L298.2 151.6 L299.9 152.2 L302.9 152.2 L302.9 152.2 L304.7 149.7 L305.3 148.0 L305.0 146.6 L304.0 145.6 L302.3 145.0 L299.3 145.0 Z' fill='%23f2bcc8' opacity='0.48'/><path d='M299.3 145.0 L296.9 143.2 L295.2 142.6 L293.8 142.8 L292.8 143.7 L292.1 145.5 L292.1 148.5 L292.1 148.5 L294.5 150.3 L296.2 150.9 L297.6 150.7 L298.6 149.8 L299.3 148.0 L299.3 145.0 Z' fill='%23f2bcc8' opacity='0.46'/><path d='M299.3 145.0 L299.3 142.0 L298.6 140.3 L297.6 139.3 L296.2 139.1 L294.5 139.7 L292.1 141.5 L292.1 141.5 L292.1 144.6 L292.8 146.3 L293.8 147.2 L295.2 147.4 L296.9 146.9 L299.3 145.0 Z' fill='%23f2bcc8' opacity='0.49'/><path d='M299.3 145.0 L302.2 144.3 L303.7 143.2 L304.4 142.0 L304.3 140.6 L303.3 139.0 L300.9 137.2 L300.9 137.2 L298.0 137.9 L296.5 139.0 L295.8 140.2 L295.9 141.6 L296.9 143.2 L299.3 145.0 Z' fill='%23f2bcc8' opacity='0.40'/><path d='M264.8 178.3 L265.9 181.1 L267.1 182.5 L268.4 183.0 L269.7 182.7 L271.2 181.6 L272.8 179.0 L272.8 179.0 L271.7 176.2 L270.4 174.8 L269.2 174.3 L267.8 174.6 L266.3 175.7 L264.8 178.3 Z' fill='%23f2bcc8' opacity='0.50'/><path d='M264.8 178.3 L262.5 180.3 L261.7 181.9 L261.6 183.3 L262.4 184.5 L264.0 185.5 L266.9 186.0 L266.9 186.0 L269.2 184.0 L270.0 182.4 L270.1 181.0 L269.3 179.8 L267.8 178.9 L264.8 178.3 Z' fill='%23f2bcc8' opacity='0.51'/><path d='M264.8 178.3 L262.5 176.4 L260.7 175.8 L259.3 175.9 L258.3 176.9 L257.6 178.6 L257.5 181.6 L257.5 181.6 L259.8 183.5 L261.6 184.1 L262.9 184.0 L264.0 183.0 L264.7 181.3 L264.8 178.3 Z' fill='%23f2bcc8' opacity='0.45'/><path d='M264.8 178.3 L265.0 175.3 L264.5 173.5 L263.6 172.5 L262.3 172.2 L260.5 172.6 L257.9 174.2 L257.9 174.2 L257.7 177.2 L258.2 179.0 L259.1 180.0 L260.5 180.4 L262.2 180.0 L264.8 178.3 Z' fill='%23f2bcc8' opacity='0.38'/><path d='M264.8 178.3 L267.8 178.1 L269.5 177.3 L270.3 176.2 L270.4 174.8 L269.7 173.1 L267.7 170.9 L267.7 170.9 L264.7 171.1 L263.0 171.9 L262.2 173.0 L262.1 174.4 L262.8 176.1 L264.8 178.3 Z' fill='%23f2bcc8' opacity='0.37'/><path d='M229.9 151.6 L231.6 154.1 L233.2 155.2 L234.5 155.4 L235.8 154.8 L236.9 153.3 L237.8 150.4 L237.8 150.4 L236.1 148.0 L234.6 146.9 L233.2 146.7 L232.0 147.3 L230.9 148.7 L229.9 151.6 Z' fill='%23f2bcc8' opacity='0.35'/><path d='M229.9 151.6 L227.4 153.3 L226.3 154.8 L226.1 156.1 L226.7 157.4 L228.1 158.6 L231.0 159.5 L231.0 159.5 L233.5 157.9 L234.6 156.4 L234.8 155.0 L234.2 153.8 L232.8 152.6 L229.9 151.6 Z' fill='%23f2bcc8' opacity='0.36'/><path d='M229.9 151.6 L227.2 150.4 L225.3 150.2 L224.0 150.7 L223.3 151.9 L223.1 153.7 L223.7 156.7 L223.7 156.7 L226.5 157.9 L228.3 158.1 L229.6 157.6 L230.4 156.4 L230.6 154.6 L229.9 151.6 Z' fill='%23f2bcc8' opacity='0.37'/><path d='M229.9 151.6 L230.4 148.6 L230.0 146.8 L229.1 145.7 L227.8 145.3 L226.0 145.6 L223.4 147.1 L223.4 147.1 L222.9 150.0 L223.3 151.9 L224.1 153.0 L225.5 153.4 L227.3 153.1 L229.9 151.6 Z' fill='%23f2bcc8' opacity='0.45'/><path d='M229.9 151.6 L232.9 151.1 L234.5 150.2 L235.3 149.1 L235.3 147.7 L234.5 146.0 L232.3 144.0 L232.3 144.0 L229.3 144.4 L227.7 145.3 L226.9 146.5 L226.9 147.9 L227.7 149.5 L229.9 151.6 Z' fill='%23f2bcc8' opacity='0.43'/><path d='M35.2 375.8 L34.2 373.3 L33.1 372.1 L31.9 371.6 L30.7 371.9 L29.5 373.0 L28.2 375.4 L28.2 375.4 L29.2 377.9 L30.3 379.1 L31.4 379.6 L32.6 379.3 L33.8 378.2 L35.2 375.8 Z' fill='%23f2bcc8' opacity='0.21'/><path d='M41.6 277.7 L39.5 275.9 L37.9 275.4 L36.7 275.5 L35.8 276.3 L35.2 277.9 L35.2 280.6 L35.2 280.6 L37.3 282.4 L38.8 282.9 L40.0 282.8 L40.9 282.0 L41.5 280.4 L41.6 277.7 Z' fill='%23f2bcc8' opacity='0.34'/><path d='M33.4 392.9 L31.1 394.4 L30.0 395.6 L29.8 396.8 L30.3 398.0 L31.6 399.0 L34.1 399.9 L34.1 399.9 L36.5 398.5 L37.5 397.2 L37.7 396.0 L37.2 394.9 L36.0 393.8 L33.4 392.9 Z' fill='%23f2bcc8' opacity='0.39'/><path d='M380.5 320.0 L383.2 320.1 L384.8 319.6 L385.7 318.7 L385.8 317.5 L385.3 315.9 L383.6 313.8 L383.6 313.8 L380.9 313.7 L379.4 314.2 L378.5 315.1 L378.3 316.3 L378.8 317.9 L380.5 320.0 Z' fill='%23f2bcc8' opacity='0.40'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(232, 139, 160, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(255, 208, 220, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(232, 139, 160, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #fffdfd 0%, #fdf5f6 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(232, 139, 160, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(255, 208, 220, 0.08), transparent 40%);
  --drift: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'><path d='M53.4 90.0 L56.4 90.2 L58.2 89.8 L59.1 88.9 L59.3 87.6 L58.7 85.9 L56.8 83.5 L56.8 83.5 L53.7 83.3 L52.0 83.8 L51.1 84.7 L50.9 85.9 L51.5 87.6 L53.4 90.0 Z' fill='rgb(245, 206, 215)' opacity='0.60'/><path d='M143.2 39.1 L146.0 41.1 L147.9 41.7 L149.3 41.4 L150.3 40.3 L150.7 38.3 L150.2 34.9 L150.2 34.9 L147.4 32.9 L145.5 32.3 L144.1 32.6 L143.1 33.8 L142.7 35.7 L143.2 39.1 Z' fill='rgb(245, 206, 215)' opacity='0.60'/><path d='M129.5 66.3 L131.1 67.8 L132.3 68.3 L133.2 68.3 L133.9 67.6 L134.3 66.4 L134.3 64.3 L134.3 64.3 L132.8 62.8 L131.6 62.3 L130.7 62.3 L130.0 62.9 L129.6 64.1 L129.5 66.3 Z' fill='rgb(245, 206, 215)' opacity='0.60'/><path d='M71.9 26.9 L69.1 28.1 L67.7 29.2 L67.3 30.5 L67.6 31.7 L68.9 33.0 L71.7 34.3 L71.7 34.3 L74.6 33.2 L75.9 32.0 L76.4 30.8 L76.0 29.5 L74.7 28.2 L71.9 26.9 Z' fill='rgb(245, 206, 215)' opacity='0.60'/><path d='M33.6 149.0 L35.7 149.8 L37.0 149.9 L37.9 149.5 L38.3 148.7 L38.3 147.4 L37.5 145.3 L37.5 145.3 L35.4 144.4 L34.1 144.3 L33.3 144.7 L32.8 145.6 L32.9 146.9 L33.6 149.0 Z' fill='rgb(245, 206, 215)' opacity='0.60'/><path d='M22.9 63.7 L24.8 62.8 L25.6 62.0 L25.9 61.2 L25.6 60.3 L24.7 59.5 L22.7 58.8 L22.7 58.8 L20.9 59.7 L20.0 60.5 L19.7 61.4 L20.1 62.2 L21.0 63.0 L22.9 63.7 Z' fill='rgb(245, 206, 215)' opacity='0.60'/><path d='M55.8 21.9 L53.0 22.1 L51.4 22.7 L50.7 23.6 L50.7 24.8 L51.4 26.3 L53.5 28.2 L53.5 28.2 L56.3 28.0 L57.8 27.4 L58.6 26.5 L58.6 25.3 L57.8 23.8 L55.8 21.9 Z' fill='rgb(245, 206, 215)' opacity='0.60'/></svg>");
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 26s;
  --drift-op: 0.60;
  --glow-dur: 18s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== ✨ 流萤 ===== */
[data-theme="firefly"] {
  color-scheme: dark;
  --primary: #b8c94a;
  --primary-dark: #9aab3a;
  --primary-deep: #889537;
  --primary-bg: rgba(184,201,74,0.15);
  --primary-soft: rgba(184, 201, 74, 0.18);
  --blue: #6ba4ff;
  --bg: #141710;
  --card: #292b25;
  --surface: #22241e;
  --hover-bg: #22251e;
  --border: #444741;
  --text: #e9eddf;
  --text-sub: #d1d5c4;
  --muted: #94997f;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #43332d;
  --danger-text: #ff9f9f;
  --danger-border: #855450;
  --warn-bg: #433b28;
  --warn-text: #ffca79;
  --warn-border: #8f7241;
  --side-bg: #0e100a;
  --side-bg2: #0c0e09;
  --side-text: #d8d9d8;
  --side-nav: #bcbcba;
  --side-muted: #828380;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #b8c94a;
  --side-active-text: #101418;
  --side-foot-text: #737471;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #9a9b98;
  --login-bg1: #0a0c06;
  --login-bg2: #161a0e;
  --login-bg3: #0f120a;
  --login-hero: #e8e8e7;
  --login-hero-sub: #90918c;
  --login-point: #b6b7b3;
  --login-point-line: rgba(144, 145, 140, 0.18);
  --login-accent: #e4ef9c;
  --login-link: #dbdfbb;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(209, 220, 137, 0.5);
  --login-glass-line2: rgba(209, 220, 137, 0.35);
  --login-yixn: #c6c7c4;
  --login-card: #292b25;
  --login-tab-bg: #1e211a;
  --login-tab-text: #aeb29c;
  --login-label: #d1d5c4;
  --login-input-bg: #21231d;
  --login-input-border: #444741;
  --login-tip: #94997f;
  --login-divider: #444741;
  --input-bg: #292b25;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #1c1e19 0%, #0e100a 58%, #292e14 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><defs><radialGradient id='fg'><stop offset='0%25' stop-color='%23c5d36b' stop-opacity='.85'/><stop offset='100%25' stop-color='%23c5d36b' stop-opacity='0'/></radialGradient></defs><circle cx='12.4' cy='126.8' r='6.4' fill='url(%23fg)' opacity='0.72'/><circle cx='12.4' cy='126.8' r='1.3' fill='%23c5d36b' opacity='0.64'/><circle cx='61.9' cy='143.8' r='3.4' fill='url(%23fg)' opacity='0.74'/><circle cx='61.9' cy='143.8' r='1.1' fill='%23c5d36b' opacity='0.67'/><circle cx='20.8' cy='145.0' r='3.1' fill='url(%23fg)' opacity='0.44'/><circle cx='20.8' cy='145.0' r='0.8' fill='%23c5d36b' opacity='0.79'/><circle cx='78.9' cy='50.0' r='6.5' fill='url(%23fg)' opacity='0.48'/><circle cx='78.9' cy='50.0' r='1.8' fill='%23c5d36b' opacity='0.80'/><circle cx='92.8' cy='141.0' r='6.6' fill='url(%23fg)' opacity='0.52'/><circle cx='92.8' cy='141.0' r='0.8' fill='%23c5d36b' opacity='0.75'/><circle cx='126.0' cy='79.2' r='3.7' fill='url(%23fg)' opacity='0.72'/><circle cx='126.0' cy='79.2' r='1.0' fill='%23c5d36b' opacity='0.81'/><circle cx='49.2' cy='85.3' r='5.9' fill='url(%23fg)' opacity='0.53'/><circle cx='49.2' cy='85.3' r='1.7' fill='%23c5d36b' opacity='0.74'/><circle cx='121.2' cy='39.3' r='4.8' fill='url(%23fg)' opacity='0.71'/><circle cx='121.2' cy='39.3' r='1.1' fill='%23c5d36b' opacity='0.73'/><circle cx='89.1' cy='58.4' r='5.3' fill='url(%23fg)' opacity='0.64'/><circle cx='89.1' cy='58.4' r='1.2' fill='%23c5d36b' opacity='0.94'/><circle cx='36.0' cy='61.7' r='4.9' fill='url(%23fg)' opacity='0.48'/><circle cx='36.0' cy='61.7' r='1.5' fill='%23c5d36b' opacity='0.85'/><circle cx='28.2' cy='69.8' r='5.2' fill='url(%23fg)' opacity='0.59'/><circle cx='28.2' cy='69.8' r='1.7' fill='%23c5d36b' opacity='0.97'/><circle cx='23.5' cy='73.2' r='4.2' fill='url(%23fg)' opacity='0.61'/><circle cx='23.5' cy='73.2' r='0.9' fill='%23c5d36b' opacity='0.97'/><circle cx='111.2' cy='95.7' r='3.3' fill='url(%23fg)' opacity='0.46'/><circle cx='111.2' cy='95.7' r='1.3' fill='%23c5d36b' opacity='0.77'/><circle cx='89.9' cy='101.0' r='5.8' fill='url(%23fg)' opacity='0.44'/><circle cx='89.9' cy='101.0' r='1.7' fill='%23c5d36b' opacity='0.67'/><path d='M17.8 210.0 q11.1 -25.2 5.2 -42.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M41.9 210.0 q10.7 -25.2 -2.3 -42.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M14.4 210.0 q9.6 -25.2 -6.7 -42.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M46.4 210.0 q-1.3 -25.2 1.2 -42.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M148.2 210.0 q9.0 -25.2 4.3 -42.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M130.6 210.0 q4.9 -25.2 -6.9 -42.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='10' cy='10' r='1.2' fill='%23c5d36b' opacity='0.25'/><circle cx='30' cy='24' r='0.9' fill='%23c5d36b' opacity='0.17'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(220, 228, 164, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><defs><radialGradient id='fg'><stop offset='0%25' stop-color='%23c5d36b' stop-opacity='.85'/><stop offset='100%25' stop-color='%23c5d36b' stop-opacity='0'/></radialGradient></defs><circle cx='235.9' cy='256.7' r='6.3' fill='url(%23fg)' opacity='0.63'/><circle cx='235.9' cy='256.7' r='1.2' fill='%23c5d36b' opacity='0.80'/><circle cx='229.8' cy='137.0' r='5.2' fill='url(%23fg)' opacity='0.56'/><circle cx='229.8' cy='137.0' r='1.4' fill='%23c5d36b' opacity='0.82'/><circle cx='190.4' cy='276.3' r='4.2' fill='url(%23fg)' opacity='0.67'/><circle cx='190.4' cy='276.3' r='1.7' fill='%23c5d36b' opacity='0.65'/><circle cx='224.0' cy='277.4' r='4.3' fill='url(%23fg)' opacity='0.73'/><circle cx='224.0' cy='277.4' r='1.2' fill='%23c5d36b' opacity='0.62'/><circle cx='74.0' cy='148.7' r='4.9' fill='url(%23fg)' opacity='0.74'/><circle cx='74.0' cy='148.7' r='1.3' fill='%23c5d36b' opacity='0.75'/><circle cx='169.3' cy='328.5' r='6.2' fill='url(%23fg)' opacity='0.65'/><circle cx='169.3' cy='328.5' r='1.6' fill='%23c5d36b' opacity='0.65'/><circle cx='105.2' cy='143.1' r='4.6' fill='url(%23fg)' opacity='0.64'/><circle cx='105.2' cy='143.1' r='1.8' fill='%23c5d36b' opacity='0.72'/><circle cx='290.3' cy='265.0' r='5.4' fill='url(%23fg)' opacity='0.42'/><circle cx='290.3' cy='265.0' r='1.1' fill='%23c5d36b' opacity='0.92'/><circle cx='175.7' cy='277.9' r='3.5' fill='url(%23fg)' opacity='0.49'/><circle cx='175.7' cy='277.9' r='1.1' fill='%23c5d36b' opacity='0.69'/><circle cx='60.7' cy='239.7' r='6.7' fill='url(%23fg)' opacity='0.45'/><circle cx='60.7' cy='239.7' r='1.3' fill='%23c5d36b' opacity='0.65'/><circle cx='197.0' cy='213.7' r='3.6' fill='url(%23fg)' opacity='0.41'/><circle cx='197.0' cy='213.7' r='1.2' fill='%23c5d36b' opacity='0.60'/><circle cx='184.1' cy='278.5' r='5.8' fill='url(%23fg)' opacity='0.70'/><circle cx='184.1' cy='278.5' r='0.9' fill='%23c5d36b' opacity='0.72'/><circle cx='194.8' cy='173.2' r='3.4' fill='url(%23fg)' opacity='0.61'/><circle cx='194.8' cy='173.2' r='0.9' fill='%23c5d36b' opacity='0.97'/><circle cx='21.0' cy='255.7' r='6.0' fill='url(%23fg)' opacity='0.44'/><circle cx='21.0' cy='255.7' r='1.4' fill='%23c5d36b' opacity='0.72'/><path d='M223.9 420.0 q5.8 -50.4 6.4 -84.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M44.4 420.0 q-1.6 -50.4 -7.4 -84.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M282.1 420.0 q-1.6 -50.4 -7.2 -84.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M168.5 420.0 q1.6 -50.4 4.8 -84.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M92.5 420.0 q-10.2 -50.4 -2.4 -84.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/><path d='M197.4 420.0 q11.4 -50.4 -2.7 -84.0' stroke='%23e4ef9c' stroke-width='1.1' fill='none' opacity='.26'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(184, 201, 74, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(228, 239, 156, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(184, 201, 74, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #292b25 0%, #373b29 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(184, 201, 74, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(228, 239, 156, 0.13), transparent 40%);
  --drift: radial-gradient(circle at 15px 53px, rgba(204, 216, 125, 0.25) 0, transparent 9.7px), radial-gradient(circle at 15px 53px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.2px, transparent 1.8px), radial-gradient(circle at 106px 39px, rgba(204, 216, 125, 0.25) 0, transparent 6.7px), radial-gradient(circle at 106px 39px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.2px, transparent 1.8px), radial-gradient(circle at 50px 113px, rgba(204, 216, 125, 0.25) 0, transparent 9.8px), radial-gradient(circle at 50px 113px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.6px, transparent 2.2px), radial-gradient(circle at 129px 25px, rgba(204, 216, 125, 0.25) 0, transparent 10.8px), radial-gradient(circle at 129px 25px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.6px, transparent 2.2px), radial-gradient(circle at 140px 91px, rgba(204, 216, 125, 0.25) 0, transparent 9.4px), radial-gradient(circle at 140px 91px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.3px, transparent 1.9px), radial-gradient(circle at 76px 20px, rgba(204, 216, 125, 0.25) 0, transparent 9.8px), radial-gradient(circle at 76px 20px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.4px, transparent 2.0px), radial-gradient(circle at 16px 42px, rgba(204, 216, 125, 0.25) 0, transparent 7.7px), radial-gradient(circle at 16px 42px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.2px, transparent 1.8px), radial-gradient(circle at 49px 92px, rgba(204, 216, 125, 0.25) 0, transparent 8.4px), radial-gradient(circle at 49px 92px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.5px, transparent 2.1px), radial-gradient(circle at 133px 37px, rgba(204, 216, 125, 0.25) 0, transparent 6.4px), radial-gradient(circle at 133px 37px, rgba(204, 216, 125, 0.60) 0, rgba(204, 216, 125, 0.45) 1.1px, transparent 1.7px);
  --drift-size: 150px;
  --drift-dir: -150px;
  --drift-dur: 28s;
  --drift-op: 0.60;
  --glow-dur: 20s;
  --tint-blue: #494b48;
  --tint-blue-bd: #6c747e;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #4a4b48;
  --tint-purple-bd: #75707b;
  --tint-purple-tx: #b097d9;
  --tint-teal: #484c47;
  --tint-teal-bd: #677b75;
  --tint-teal-tx: #7db9b0;
  --tint-green: #484c45;
  --tint-green-bd: #6a7b68;
  --tint-green-tx: #85b795;
  --tint-gray: #4a4b47;
  --tint-gray-bd: #737775;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #4b4b44;
  --tint-orange-bd: #807665;
  --tint-orange-tx: #cca680;
  --tint-red: #4b4a45;
  --tint-red-bd: #80716d;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #4b4c44;
  --tint-yellow-bd: #807861;
  --tint-yellow-tx: #c0af80;
}

/* ===== 🌼 蒲公英 ===== */
[data-theme="dandelion"] {
  color-scheme: light;
  --primary: #8fa86a;
  --primary-dark: #77904f;
  --primary-deep: #6a7c4e;
  --primary-bg: #f3f7ea;
  --primary-soft: rgba(143, 168, 106, 0.12);
  --blue: #1677ff;
  --bg: #f8f9f4;
  --card: #fffefa;
  --surface: #fdfcf8;
  --hover-bg: #f8f9f4;
  --border: #e7ebdb;
  --text: #282c20;
  --text-sub: #44493b;
  --muted: #8c9280;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e6b2a9;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #edcf92;
  --side-bg: #2e3722;
  --side-bg2: #282f1d;
  --side-text: #dedfdc;
  --side-nav: #c4c7c1;
  --side-muted: #92978c;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #8fa86a;
  --side-active-text: #ffffff;
  --side-foot-text: #868b7f;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #a7aba2;
  --login-bg1: #1e2413;
  --login-bg2: #313a1e;
  --login-bg3: #272e18;
  --login-hero: #eaebe8;
  --login-hero-sub: #9ca193;
  --login-point: #bec1b8;
  --login-point-line: rgba(156, 161, 147, 0.18);
  --login-accent: #e0eac6;
  --login-link: #d1d8c5;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(182, 198, 158, 0.5);
  --login-glass-line2: rgba(182, 198, 158, 0.35);
  --login-yixn: #cccfc8;
  --login-card: #ffffff;
  --login-tab-bg: #fcfcfa;
  --login-tab-text: #6e7363;
  --login-label: #44493b;
  --login-input-bg: #fcfdfb;
  --login-input-border: #e7ebdb;
  --login-tip: #8c9280;
  --login-divider: #e7ebdb;
  --input-bg: #fffefa;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #3b432f 0%, #2e3722 58%, #3e492e 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M100.6 92.1 Q97.6 103.3 102.6 111.9' stroke='%23e0eac6' stroke-width='1' fill='none' opacity='.38'/><line x1='104.6' y1='79.3' x2='112.2' y2='78.6' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='112.2' cy='78.6' r='1.0' fill='%23becda9' opacity='.35'/><line x1='103.6' y1='81.5' x2='109.3' y2='84.8' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='109.3' cy='84.8' r='1.0' fill='%23becda9' opacity='.35'/><line x1='103.1' y1='83.2' x2='107.9' y2='89.6' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='107.9' cy='89.6' r='1.0' fill='%23becda9' opacity='.35'/><line x1='101.2' y1='83.8' x2='102.5' y2='91.5' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='102.5' cy='91.5' r='1.0' fill='%23becda9' opacity='.35'/><line x1='99.7' y1='83.3' x2='98.0' y2='89.8' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='98.0' cy='89.8' r='1.0' fill='%23becda9' opacity='.35'/><line x1='98.3' y1='83.0' x2='94.1' y2='89.1' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='94.1' cy='89.1' r='1.0' fill='%23becda9' opacity='.35'/><line x1='97.2' y1='81.2' x2='91.0' y2='84.1' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='91.0' cy='84.1' r='1.0' fill='%23becda9' opacity='.35'/><line x1='97.1' y1='79.8' x2='90.5' y2='79.9' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='90.5' cy='79.9' r='1.0' fill='%23becda9' opacity='.35'/><line x1='97.2' y1='78.4' x2='91.0' y2='76.0' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='91.0' cy='76.0' r='1.0' fill='%23becda9' opacity='.35'/><line x1='97.8' y1='76.6' x2='92.6' y2='70.8' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='92.6' cy='70.8' r='1.0' fill='%23becda9' opacity='.35'/><path d='M80.8 95.3 Q77.8 105.0 82.8 112.5' stroke='%23e0eac6' stroke-width='1' fill='none' opacity='.38'/><line x1='84.5' y1='84.2' x2='91.3' y2='83.5' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='91.3' cy='83.5' r='1.0' fill='%23becda9' opacity='.35'/><line x1='84.5' y1='85.9' x2='91.2' y2='88.4' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='91.2' cy='88.4' r='1.0' fill='%23becda9' opacity='.35'/><line x1='83.0' y1='87.4' x2='87.1' y2='92.7' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='87.1' cy='92.7' r='1.0' fill='%23becda9' opacity='.35'/><line x1='81.8' y1='87.4' x2='83.6' y2='92.8' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='83.6' cy='92.8' r='1.0' fill='%23becda9' opacity='.35'/><line x1='80.4' y1='87.6' x2='79.7' y2='93.2' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='79.7' cy='93.2' r='1.0' fill='%23becda9' opacity='.35'/><line x1='79.1' y1='87.0' x2='75.8' y2='91.5' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='75.8' cy='91.5' r='1.0' fill='%23becda9' opacity='.35'/><line x1='77.3' y1='85.9' x2='70.7' y2='88.4' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='70.7' cy='88.4' r='1.0' fill='%23becda9' opacity='.35'/><line x1='77.2' y1='84.5' x2='70.5' y2='84.4' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='70.5' cy='84.4' r='1.0' fill='%23becda9' opacity='.35'/><line x1='77.5' y1='83.3' x2='71.3' y2='80.9' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='71.3' cy='80.9' r='1.0' fill='%23becda9' opacity='.35'/><line x1='78.4' y1='81.6' x2='73.8' y2='76.0' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='73.8' cy='76.0' r='1.0' fill='%23becda9' opacity='.35'/><line x1='60.9' y1='185.6' x2='65.9' y2='186.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='60.9' y1='185.6' x2='62.8' y2='190.2' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='60.9' y1='185.6' x2='58.8' y2='190.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='60.9' y1='185.6' x2='56.0' y2='184.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='60.9' y1='185.6' x2='58.3' y2='181.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='60.9' y1='185.6' x2='63.0' y2='181.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='133.1' y1='179.5' x2='138.0' y2='178.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='133.1' y1='179.5' x2='134.9' y2='184.2' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='133.1' y1='179.5' x2='130.6' y2='183.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='133.1' y1='179.5' x2='128.2' y2='180.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='133.1' y1='179.5' x2='131.0' y2='175.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='133.1' y1='179.5' x2='135.4' y2='175.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='144.4' y1='197.6' x2='149.4' y2='197.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='144.4' y1='197.6' x2='146.4' y2='202.2' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='144.4' y1='197.6' x2='141.7' y2='201.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='144.4' y1='197.6' x2='139.5' y2='196.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='144.4' y1='197.6' x2='142.5' y2='193.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='144.4' y1='197.6' x2='146.0' y2='192.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='65.7' y1='188.7' x2='70.7' y2='189.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='65.7' y1='188.7' x2='68.6' y2='192.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='65.7' y1='188.7' x2='63.8' y2='193.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='65.7' y1='188.7' x2='60.7' y2='188.2' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='65.7' y1='188.7' x2='62.3' y2='185.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='65.7' y1='188.7' x2='69.2' y2='185.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='67.6' y1='184.2' x2='72.5' y2='183.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='67.6' y1='184.2' x2='71.1' y2='187.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='67.6' y1='184.2' x2='65.4' y2='188.6' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='67.6' y1='184.2' x2='62.6' y2='184.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='67.6' y1='184.2' x2='64.4' y2='180.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='67.6' y1='184.2' x2='70.8' y2='180.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='19.1' y1='185.6' x2='24.1' y2='185.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='19.1' y1='185.6' x2='21.9' y2='189.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='19.1' y1='185.6' x2='17.8' y2='190.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='19.1' y1='185.6' x2='14.1' y2='186.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='19.1' y1='185.6' x2='17.0' y2='181.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='19.1' y1='185.6' x2='21.3' y2='181.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='36.3' y1='202.5' x2='41.1' y2='203.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='36.3' y1='202.5' x2='38.9' y2='206.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='36.3' y1='202.5' x2='34.1' y2='207.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='36.3' y1='202.5' x2='31.3' y2='203.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='36.3' y1='202.5' x2='33.1' y2='198.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='36.3' y1='202.5' x2='39.6' y2='198.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/></svg>");
  --side-art-op: 0.26;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M20 12 V28 M12 20 H28' stroke='%23becda9' stroke-width='1.4' opacity='0.15' stroke-linecap='round'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(199, 212, 180, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M93.7 133.7 Q90.7 146.5 95.7 156.5' stroke='%23e0eac6' stroke-width='1' fill='none' opacity='.38'/><line x1='98.0' y1='119.3' x2='106.0' y2='119.2' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='106.0' cy='119.2' r='1.0' fill='%23becda9' opacity='.35'/><line x1='98.4' y1='121.1' x2='107.2' y2='124.3' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='107.2' cy='124.3' r='1.0' fill='%23becda9' opacity='.35'/><line x1='96.6' y1='122.5' x2='101.9' y2='128.2' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='101.9' cy='128.2' r='1.0' fill='%23becda9' opacity='.35'/><line x1='94.7' y1='124.3' x2='96.7' y2='133.5' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='96.7' cy='133.5' r='1.0' fill='%23becda9' opacity='.35'/><line x1='92.3' y1='123.3' x2='89.9' y2='130.6' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='89.9' cy='130.6' r='1.0' fill='%23becda9' opacity='.35'/><line x1='91.4' y1='122.9' x2='87.1' y2='129.3' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='87.1' cy='129.3' r='1.0' fill='%23becda9' opacity='.35'/><line x1='89.6' y1='121.0' x2='82.2' y2='124.0' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='82.2' cy='124.0' r='1.0' fill='%23becda9' opacity='.35'/><line x1='89.6' y1='119.7' x2='82.2' y2='120.2' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='82.2' cy='120.2' r='1.0' fill='%23becda9' opacity='.35'/><line x1='89.1' y1='117.1' x2='80.7' y2='112.9' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='80.7' cy='112.9' r='1.0' fill='%23becda9' opacity='.35'/><line x1='91.4' y1='116.1' x2='87.1' y2='110.0' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='87.1' cy='110.0' r='1.0' fill='%23becda9' opacity='.35'/><path d='M70.6 163.6 Q67.6 172.1 72.6 178.8' stroke='%23e0eac6' stroke-width='1' fill='none' opacity='.38'/><line x1='73.9' y1='154.2' x2='80.0' y2='154.3' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='80.0' cy='154.3' r='1.0' fill='%23becda9' opacity='.35'/><line x1='73.2' y1='155.2' x2='77.9' y2='157.3' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='77.9' cy='157.3' r='1.0' fill='%23becda9' opacity='.35'/><line x1='72.4' y1='156.6' x2='75.8' y2='161.2' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='75.8' cy='161.2' r='1.0' fill='%23becda9' opacity='.35'/><line x1='71.5' y1='157.2' x2='73.1' y2='163.0' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='73.1' cy='163.0' r='1.0' fill='%23becda9' opacity='.35'/><line x1='69.9' y1='157.1' x2='68.5' y2='162.7' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='68.5' cy='162.7' r='1.0' fill='%23becda9' opacity='.35'/><line x1='68.7' y1='156.2' x2='65.0' y2='160.0' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='65.0' cy='160.0' r='1.0' fill='%23becda9' opacity='.35'/><line x1='68.2' y1='155.5' x2='63.7' y2='158.2' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='63.7' cy='158.2' r='1.0' fill='%23becda9' opacity='.35'/><line x1='67.4' y1='153.9' x2='61.2' y2='153.6' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='61.2' cy='153.6' r='1.0' fill='%23becda9' opacity='.35'/><line x1='68.1' y1='153.0' x2='63.5' y2='151.1' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='63.5' cy='151.1' r='1.0' fill='%23becda9' opacity='.35'/><line x1='68.7' y1='151.3' x2='65.2' y2='145.9' stroke='%23becda9' stroke-width='.7' opacity='.30'/><circle cx='65.2' cy='145.9' r='1.0' fill='%23becda9' opacity='.35'/><line x1='139.0' y1='370.1' x2='144.0' y2='371.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='139.0' y1='370.1' x2='141.6' y2='374.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='139.0' y1='370.1' x2='136.7' y2='374.5' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='139.0' y1='370.1' x2='134.0' y2='369.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='139.0' y1='370.1' x2='135.7' y2='366.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='139.0' y1='370.1' x2='141.2' y2='365.6' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='146.2' y1='323.4' x2='151.1' y2='323.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='146.2' y1='323.4' x2='147.5' y2='328.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='146.2' y1='323.4' x2='143.9' y2='327.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='146.2' y1='323.4' x2='141.3' y2='324.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='146.2' y1='323.4' x2='144.4' y2='318.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='146.2' y1='323.4' x2='149.1' y2='319.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='415.9' y1='310.2' x2='420.9' y2='309.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='415.9' y1='310.2' x2='417.7' y2='314.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='415.9' y1='310.2' x2='412.8' y2='314.2' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='415.9' y1='310.2' x2='410.9' y2='309.5' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='415.9' y1='310.2' x2='413.4' y2='305.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='415.9' y1='310.2' x2='417.5' y2='305.5' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='411.9' y1='271.6' x2='416.8' y2='271.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='411.9' y1='271.6' x2='414.1' y2='276.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='411.9' y1='271.6' x2='409.7' y2='276.1' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='411.9' y1='271.6' x2='406.9' y2='272.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='411.9' y1='271.6' x2='409.1' y2='267.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='411.9' y1='271.6' x2='415.0' y2='267.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='414.1' y1='408.6' x2='419.1' y2='407.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='414.1' y1='408.6' x2='415.6' y2='413.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='414.1' y1='408.6' x2='411.8' y2='413.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='414.1' y1='408.6' x2='409.1' y2='409.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='414.1' y1='408.6' x2='412.4' y2='403.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='414.1' y1='408.6' x2='415.9' y2='403.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='203.4' y1='359.1' x2='208.4' y2='359.6' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='203.4' y1='359.1' x2='206.1' y2='363.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='203.4' y1='359.1' x2='200.2' y2='362.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='203.4' y1='359.1' x2='198.4' y2='359.5' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='203.4' y1='359.1' x2='201.0' y2='354.7' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='203.4' y1='359.1' x2='206.3' y2='354.9' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='109.6' y1='358.0' x2='114.6' y2='358.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='109.6' y1='358.0' x2='111.9' y2='362.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='109.6' y1='358.0' x2='107.1' y2='362.4' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='109.6' y1='358.0' x2='104.7' y2='357.0' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='109.6' y1='358.0' x2='108.0' y2='353.3' stroke='%23becda9' stroke-width='.6' opacity='.28'/><line x1='109.6' y1='358.0' x2='112.2' y2='353.8' stroke='%23becda9' stroke-width='.6' opacity='.28'/></svg>");
  --login-art-op: 0.32;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(143, 168, 106, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(224, 234, 198, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(143, 168, 106, 0.16), transparent 56%);
  --login-art-pos: center;
  --login-art-size: 540px 540px;
  --login-art-repeat: repeat;
  --top-grad: linear-gradient(180deg, #fffefa 0%, #f7f8f0 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(143, 168, 106, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(224, 234, 198, 0.08), transparent 40%);
  --drift: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'><line x1='73.5' y1='12.4' x2='79.0' y2='11.8' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='73.5' y1='12.4' x2='76.8' y2='16.8' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='73.5' y1='12.4' x2='70.4' y2='17.0' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='73.5' y1='12.4' x2='68.1' y2='11.6' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='73.5' y1='12.4' x2='69.9' y2='8.3' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='73.5' y1='12.4' x2='76.3' y2='7.7' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><circle cx='73.5' cy='12.4' r='.9' fill='rgb(208, 218, 192)' opacity='0.60'/><line x1='54.7' y1='11.3' x2='60.2' y2='11.4' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='54.7' y1='11.3' x2='56.5' y2='16.5' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='54.7' y1='11.3' x2='51.5' y2='15.8' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='54.7' y1='11.3' x2='49.3' y2='12.3' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='54.7' y1='11.3' x2='52.7' y2='6.2' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='54.7' y1='11.3' x2='58.2' y2='7.1' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><circle cx='54.7' cy='11.3' r='.9' fill='rgb(208, 218, 192)' opacity='0.60'/><line x1='106.1' y1='17.9' x2='111.5' y2='16.9' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='106.1' y1='17.9' x2='109.3' y2='22.3' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='106.1' y1='17.9' x2='103.2' y2='22.5' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='106.1' y1='17.9' x2='100.6' y2='17.6' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='106.1' y1='17.9' x2='102.9' y2='13.4' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='106.1' y1='17.9' x2='109.2' y2='13.3' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><circle cx='106.1' cy='17.9' r='.9' fill='rgb(208, 218, 192)' opacity='0.60'/><line x1='143.3' y1='140.4' x2='148.8' y2='140.8' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='143.3' y1='140.4' x2='145.1' y2='145.6' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='143.3' y1='140.4' x2='140.1' y2='144.9' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='143.3' y1='140.4' x2='137.9' y2='141.3' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='143.3' y1='140.4' x2='140.0' y2='136.0' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='143.3' y1='140.4' x2='146.1' y2='135.7' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><circle cx='143.3' cy='140.4' r='.9' fill='rgb(208, 218, 192)' opacity='0.60'/><line x1='26.1' y1='145.6' x2='31.5' y2='145.1' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='26.1' y1='145.6' x2='29.2' y2='150.1' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='26.1' y1='145.6' x2='23.7' y2='150.5' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='26.1' y1='145.6' x2='20.6' y2='146.2' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='26.1' y1='145.6' x2='23.2' y2='140.9' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='26.1' y1='145.6' x2='29.7' y2='141.4' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><circle cx='26.1' cy='145.6' r='.9' fill='rgb(208, 218, 192)' opacity='0.60'/><line x1='22.2' y1='1.0' x2='27.6' y2='1.9' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='22.2' y1='1.0' x2='25.0' y2='5.7' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='22.2' y1='1.0' x2='20.0' y2='6.1' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='22.2' y1='1.0' x2='16.7' y2='1.3' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='22.2' y1='1.0' x2='20.4' y2='-4.2' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><line x1='22.2' y1='1.0' x2='25.8' y2='-3.1' stroke='rgb(208, 218, 192)' stroke-width='.6' opacity='0.60'/><circle cx='22.2' cy='1.0' r='.9' fill='rgb(208, 218, 192)' opacity='0.60'/></svg>");
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 34s;
  --drift-op: 0.60;
  --glow-dur: 26s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🎋 芦苇 ===== */
[data-theme="reed"] {
  color-scheme: light;
  --primary: #a89168;
  --primary-dark: #8e7952;
  --primary-deep: #7c6b4d;
  --primary-bg: #f8f4ec;
  --primary-soft: rgba(168, 145, 104, 0.12);
  --blue: #1677ff;
  --bg: #faf8f4;
  --card: #fffefb;
  --surface: #fdfcf9;
  --hover-bg: #faf8f4;
  --border: #ebe5d8;
  --text: #2c2822;
  --text-sub: #49443c;
  --muted: #948d7e;
  --danger: #e5484d;
  --warn: #f5a524;
  --danger-bg: #fdf2f3;
  --danger-text: #c33d41;
  --danger-border: #e9aea7;
  --warn-bg: #fef7eb;
  --warn-text: #c4841d;
  --warn-border: #efcb90;
  --side-bg: #36301f;
  --side-bg2: #2e291b;
  --side-text: #dfdedb;
  --side-nav: #c7c5c0;
  --side-muted: #96938b;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #a89168;
  --side-active-text: #ffffff;
  --side-foot-text: #8a877d;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #aba8a1;
  --login-bg1: #241f12;
  --login-bg2: #3a321c;
  --login-bg3: #2e2716;
  --login-hero: #ebeae8;
  --login-hero-sub: #a19d92;
  --login-point: #c1beb7;
  --login-point-line: rgba(161, 157, 146, 0.18);
  --login-accent: #e8dcc0;
  --login-link: #d8d1c4;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(198, 184, 157, 0.5);
  --login-glass-line2: rgba(198, 184, 157, 0.35);
  --login-yixn: #cfcdc7;
  --login-card: #ffffff;
  --login-tab-bg: #fcfcfa;
  --login-tab-text: #756f62;
  --login-label: #49443c;
  --login-input-bg: #fdfcfb;
  --login-input-border: #ebe5d8;
  --login-tip: #948d7e;
  --login-divider: #ebe5d8;
  --input-bg: #fffefb;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --side-grad: linear-gradient(170deg, #423c2c 0%, #36301f 58%, #48402b 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><path d='M1.3 155.4 Q2.0 108.9 3.7 77.8' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M3.7 77.8 L4.6 74.1 L5.1 70.5 L5.0 67.0 L4.2 63.8 L2.7 60.9 L0.7 58.1 L-1.7 55.4 L-4.3 52.7 L-4.3 52.7 L-4.8 56.3 L-5.3 59.9 L-5.3 63.4 L-4.8 66.7 L-3.6 69.8 L-1.7 72.6 L0.8 75.3 L3.7 77.8 Z' fill='%23cdbfa7' opacity='.34'/><path d='M37.0 155.4 Q32.9 115.5 23.4 88.8' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M23.4 88.8 L24.0 85.6 L24.2 82.4 L23.9 79.5 L23.0 76.8 L21.6 74.4 L19.6 72.1 L17.4 69.9 L15.0 67.8 L15.0 67.8 L14.8 71.0 L14.7 74.1 L14.8 77.0 L15.4 79.8 L16.7 82.4 L18.5 84.7 L20.8 86.9 L23.4 88.8 Z' fill='%23cdbfa7' opacity='.34'/><path d='M58.1 155.4 Q60.0 98.1 64.3 59.8' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M64.3 59.8 L65.5 55.2 L66.2 50.8 L66.2 46.5 L65.2 42.6 L63.5 38.9 L61.0 35.4 L58.0 32.0 L54.9 28.7 L54.9 28.7 L54.2 33.2 L53.6 37.6 L53.5 41.9 L54.0 46.0 L55.4 49.8 L57.7 53.3 L60.8 56.7 L64.3 59.8 Z' fill='%23cdbfa7' opacity='.34'/><path d='M89.5 155.4 Q93.6 113.5 103.2 85.6' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M103.2 85.6 L103.6 82.1 L103.6 78.8 L103.1 75.8 L102.1 73.0 L100.4 70.5 L98.2 68.2 L95.7 66.1 L93.1 64.1 L93.1 64.1 L93.1 67.4 L93.1 70.6 L93.5 73.7 L94.3 76.6 L95.7 79.2 L97.8 81.6 L100.3 83.6 L103.2 85.6 Z' fill='%23cdbfa7' opacity='.34'/><path d='M115.8 155.4 Q115.5 113.3 114.9 85.2' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M114.9 85.2 L115.0 81.8 L114.9 78.5 L114.2 75.4 L113.0 72.7 L111.2 70.3 L108.9 68.2 L106.3 66.2 L103.6 64.2 L103.6 64.2 L103.7 67.6 L103.9 70.8 L104.4 73.9 L105.4 76.8 L107.0 79.3 L109.2 81.5 L111.8 83.5 L114.9 85.2 Z' fill='%23cdbfa7' opacity='.34'/><path d='M0 161.4 Q18.8 158.4 37.5 161.4 Q56.2 158.4 75.0 161.4 Q93.8 158.4 112.5 161.4 Q131.2 158.4 150.0 161.4' stroke='%23cdbfa7' stroke-width='.9' fill='none' opacity='.20'/><path d='M0 169.8 Q18.8 166.8 37.5 169.8 Q56.2 166.8 75.0 169.8 Q93.8 166.8 112.5 169.8 Q131.2 166.8 150.0 169.8' stroke='%23cdbfa7' stroke-width='.9' fill='none' opacity='.20'/><path d='M0 178.2 Q18.8 175.2 37.5 178.2 Q56.2 175.2 75.0 178.2 Q93.8 175.2 112.5 178.2 Q131.2 175.2 150.0 178.2' stroke='%23cdbfa7' stroke-width='.9' fill='none' opacity='.20'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><path d='M0 20 Q10 12 20 20 T40 20' stroke='%23cdbfa7' stroke-width='1.4' fill='none' opacity='0.15'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(212, 200, 180, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><path d='M-19.7 310.8 Q-19.3 207.0 -18.4 137.9' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M-18.4 137.9 L-14.4 130.3 L-11.3 122.7 L-9.6 115.2 L-9.7 107.9 L-11.3 100.6 L-14.2 93.4 L-18.0 86.3 L-22.1 79.2 L-22.1 79.2 L-25.2 86.8 L-28.1 94.3 L-30.1 101.8 L-30.8 109.2 L-29.9 116.5 L-27.3 123.7 L-23.3 130.8 L-18.4 137.9 Z' fill='%23cdbfa7' opacity='.34'/><path d='M62.9 310.8 Q58.7 211.9 48.9 146.0' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M48.9 146.0 L52.8 138.8 L55.8 131.6 L57.4 124.5 L57.4 117.5 L55.9 110.6 L53.2 103.7 L49.6 96.9 L45.8 90.1 L45.8 90.1 L42.7 97.3 L39.9 104.4 L38.0 111.6 L37.3 118.6 L38.1 125.6 L40.5 132.5 L44.2 139.3 L48.9 146.0 Z' fill='%23cdbfa7' opacity='.34'/><path d='M160.2 310.8 Q161.7 216.4 165.4 153.5' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M165.4 153.5 L167.0 145.8 L167.8 138.4 L167.4 131.5 L165.6 125.0 L162.3 119.1 L158.0 113.5 L152.9 108.2 L147.5 103.0 L147.5 103.0 L146.7 110.4 L146.0 117.7 L146.1 124.8 L147.4 131.4 L150.0 137.6 L154.0 143.3 L159.3 148.5 L165.4 153.5 Z' fill='%23cdbfa7' opacity='.34'/><path d='M238.1 310.8 Q240.0 205.8 244.6 135.9' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M244.6 135.9 L244.4 127.1 L243.4 119.0 L241.2 111.5 L237.5 105.0 L232.5 99.4 L226.4 94.5 L219.5 90.1 L212.4 85.8 L212.4 85.8 L213.4 94.1 L214.5 102.1 L216.5 109.8 L219.5 116.6 L223.9 122.6 L229.7 127.7 L236.8 132.1 L244.6 135.9 Z' fill='%23cdbfa7' opacity='.34'/><path d='M351.4 310.8 Q351.8 210.3 352.7 143.2' stroke='%23e8dcc0' stroke-width='1.2' fill='none' opacity='.42'/><path d='M352.7 143.2 L354.8 135.2 L356.1 127.4 L356.1 120.0 L354.5 113.0 L351.4 106.5 L347.0 100.4 L341.9 94.5 L336.5 88.6 L336.5 88.6 L335.2 96.4 L334.1 104.2 L333.8 111.7 L334.8 118.8 L337.2 125.5 L341.2 131.8 L346.5 137.7 L352.7 143.2 Z' fill='%23cdbfa7' opacity='.34'/><path d='M0 316.8 Q52.5 313.8 105.0 316.8 Q157.5 313.8 210.0 316.8 Q262.5 313.8 315.0 316.8 Q367.5 313.8 420.0 316.8' stroke='%23cdbfa7' stroke-width='.9' fill='none' opacity='.20'/><path d='M0 333.6 Q52.5 330.6 105.0 333.6 Q157.5 330.6 210.0 333.6 Q262.5 330.6 315.0 333.6 Q367.5 330.6 420.0 333.6' stroke='%23cdbfa7' stroke-width='.9' fill='none' opacity='.20'/><path d='M0 350.4 Q52.5 347.4 105.0 350.4 Q157.5 347.4 210.0 350.4 Q262.5 347.4 315.0 350.4 Q367.5 347.4 420.0 350.4' stroke='%23cdbfa7' stroke-width='.9' fill='none' opacity='.20'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(168, 145, 104, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(232, 220, 192, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(168, 145, 104, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #fffefb 0%, #f9f6f1 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(168, 145, 104, 0.09), transparent 44%), radial-gradient(circle at 92% 4%, rgba(232, 220, 192, 0.08), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(218, 209, 192, 0.41) 0, rgba(218, 209, 192, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(218, 209, 192, 0.42) 0, rgba(218, 209, 192, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(218, 209, 192, 0.37) 0, rgba(218, 209, 192, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(218, 209, 192, 0.36) 0, rgba(218, 209, 192, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(218, 209, 192, 0.52) 0, rgba(218, 209, 192, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(218, 209, 192, 0.29) 0, rgba(218, 209, 192, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(218, 209, 192, 0.28) 0, rgba(218, 209, 192, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(218, 209, 192, 0.40) 0, rgba(218, 209, 192, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(218, 209, 192, 0.30) 0, rgba(218, 209, 192, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(218, 209, 192, 0.31) 0, rgba(218, 209, 192, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(218, 209, 192, 0.52) 0, rgba(218, 209, 192, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(218, 209, 192, 0.49) 0, rgba(218, 209, 192, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(218, 209, 192, 0.43) 0, rgba(218, 209, 192, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(218, 209, 192, 0.32) 0, rgba(218, 209, 192, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(218, 209, 192, 0.39) 0, rgba(218, 209, 192, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(218, 209, 192, 0.41) 0, rgba(218, 209, 192, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(218, 209, 192, 0.51) 0, rgba(218, 209, 192, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(218, 209, 192, 0.50) 0, rgba(218, 209, 192, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(218, 209, 192, 0.44) 0, rgba(218, 209, 192, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(218, 209, 192, 0.44) 0, rgba(218, 209, 192, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(218, 209, 192, 0.39) 0, rgba(218, 209, 192, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(218, 209, 192, 0.32) 0, rgba(218, 209, 192, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 33s;
  --drift-op: 0.60;
  --glow-dur: 25s;
  --tint-blue: #f0f5ff;
  --tint-blue-bd: #c0d4ff;
  --tint-blue-tx: #1d5fa8;
  --tint-purple: #f7f0ff;
  --tint-purple-bd: #ddc8f5;
  --tint-purple-tx: #6d3fb8;
  --tint-teal: #edfbf8;
  --tint-teal-bd: #b0ebe2;
  --tint-teal-tx: #0e7d6d;
  --tint-green: #edf7ed;
  --tint-green-bd: #bce8bb;
  --tint-green-tx: #1d7a3a;
  --tint-gray: #f5f6f8;
  --tint-gray-bd: #d8dde4;
  --tint-gray-tx: #4a5568;
  --tint-orange: #fff3e6;
  --tint-orange-bd: #ffd9b0;
  --tint-orange-tx: #a05a14;
  --tint-red: #ffecec;
  --tint-red-bd: #ffc9c9;
  --tint-red-tx: #b03030;
  --tint-yellow: #fff7e6;
  --tint-yellow-bd: #ffe1a6;
  --tint-yellow-tx: #8a6a14;
}

/* ===== 🌛 竹月 ===== */
[data-theme="bamboomoon"] {
  color-scheme: dark;
  --primary: #7fb89a;
  --primary-dark: #649c80;
  --primary-deep: #5e8872;
  --primary-bg: rgba(127,184,154,0.15);
  --primary-soft: rgba(127, 184, 154, 0.18);
  --blue: #6ba4ff;
  --bg: #101714;
  --card: #252b29;
  --surface: #1e2422;
  --hover-bg: #1e2522;
  --border: #414744;
  --text: #e2efe9;
  --text-sub: #c9dad2;
  --muted: #87a396;
  --danger: #ff6b6b;
  --warn: #ffb340;
  --danger-bg: #3f3331;
  --danger-text: #ff9f9f;
  --danger-border: #845452;
  --warn-bg: #3f3b2c;
  --warn-text: #ffca79;
  --warn-border: #8d7242;
  --side-bg: #0a100e;
  --side-bg2: #090e0c;
  --side-text: #d8d9d8;
  --side-nav: #babcbc;
  --side-muted: #808382;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: #7fb89a;
  --side-active-text: #101418;
  --side-foot-text: #717473;
  --side-user-bg: rgba(255, 255, 255, 0.06);
  --side-user-sub: #989b9a;
  --login-bg1: #060c0a;
  --login-bg2: #111a16;
  --login-bg3: #0b1310;
  --login-hero: #e7e8e8;
  --login-hero-sub: #8d9190;
  --login-point: #b4b7b6;
  --login-point-line: rgba(141, 145, 144, 0.18);
  --login-accent: #c8e8d8;
  --login-link: #cadbd2;
  --login-glass: rgba(255, 255, 255, 0.08);
  --login-glass-line: rgba(172, 209, 189, 0.5);
  --login-glass-line2: rgba(172, 209, 189, 0.35);
  --login-yixn: #c5c7c6;
  --login-card: #252b29;
  --login-tab-bg: #1a211e;
  --login-tab-text: #a2baaf;
  --login-label: #c9dad2;
  --login-input-bg: #1d2321;
  --login-input-border: #414744;
  --login-tip: #87a396;
  --login-divider: #414744;
  --input-bg: #252b29;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --side-grad: linear-gradient(170deg, #191e1c 0%, #0a100e 58%, #1d2b24 100%);
  --side-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 210' width='150' height='210' preserveAspectRatio='xMidYMid slice'><circle cx='114.0' cy='42.0' r='15.0' fill='%23b5d6c4' opacity='.22'/><circle cx='111.0' cy='39.9' r='12.0' fill='%23c8e8d8' opacity='.42'/><rect x='9.7' y='0' width='5.2' height='179.1' fill='%23c8e8d8' opacity='0.22'/><line x1='9.7' y1='21.0' x2='14.9' y2='21.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='9.7' y1='46.2' x2='14.9' y2='46.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='9.7' y1='71.4' x2='14.9' y2='71.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='9.7' y1='96.6' x2='14.9' y2='96.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='9.7' y1='121.8' x2='14.9' y2='121.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M14.9 145.2 L17.4 146.1 L19.7 146.6 L21.6 146.5 L23.1 145.9 L24.3 144.5 L25.1 142.7 L25.8 140.5 L26.4 138.3 L26.4 138.3 L24.1 137.7 L21.9 137.3 L19.9 137.2 L18.2 137.6 L16.8 138.7 L15.9 140.4 L15.3 142.6 L14.9 145.2 Z' fill='%23b5d6c4' opacity='0.32'/><path d='M14.9 156.5 L15.6 159.2 L16.4 161.5 L17.6 163.2 L19.2 164.3 L21.0 164.7 L23.2 164.7 L25.6 164.2 L28.0 163.7 L28.0 163.7 L27.2 161.3 L26.3 159.1 L25.2 157.2 L23.8 155.9 L22.1 155.1 L20.0 155.1 L17.5 155.6 L14.9 156.5 Z' fill='%23b5d6c4' opacity='0.27'/><path d='M14.9 35.2 L18.0 35.3 L20.8 35.1 L23.3 34.3 L25.2 33.0 L26.7 31.1 L27.8 28.7 L28.6 26.1 L29.4 23.3 L29.4 23.3 L26.5 23.5 L23.7 23.9 L21.2 24.5 L19.1 25.6 L17.4 27.2 L16.2 29.4 L15.4 32.2 L14.9 35.2 Z' fill='%23b5d6c4' opacity='0.23'/><rect x='49.4' y='0' width='4.0' height='196.9' fill='%23c8e8d8' opacity='0.23'/><line x1='49.4' y1='21.0' x2='53.4' y2='21.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='49.4' y1='46.2' x2='53.4' y2='46.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='49.4' y1='71.4' x2='53.4' y2='71.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='49.4' y1='96.6' x2='53.4' y2='96.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='49.4' y1='121.8' x2='53.4' y2='121.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M53.4 50.6 L56.7 49.6 L59.6 48.4 L62.0 46.8 L63.7 44.8 L64.9 42.3 L65.6 39.4 L66.0 36.3 L66.3 33.2 L66.3 33.2 L63.4 34.4 L60.6 35.7 L58.1 37.2 L56.0 39.0 L54.6 41.3 L53.7 44.1 L53.4 47.2 L53.4 50.6 Z' fill='%23b5d6c4' opacity='0.35'/><path d='M53.4 89.7 L54.3 92.7 L55.4 95.3 L56.8 97.4 L58.7 98.9 L60.9 99.8 L63.5 100.1 L66.3 100.2 L69.2 100.1 L69.2 100.1 L68.2 97.4 L67.0 94.9 L65.7 92.6 L64.0 90.9 L61.9 89.7 L59.4 89.2 L56.5 89.3 L53.4 89.7 Z' fill='%23b5d6c4' opacity='0.27'/><path d='M53.4 135.7 L56.3 135.5 L58.9 134.9 L60.9 134.0 L62.4 132.5 L63.3 130.6 L63.8 128.3 L63.9 125.8 L64.0 123.2 L64.0 123.2 L61.4 123.7 L58.9 124.3 L56.8 125.1 L55.0 126.3 L53.9 128.1 L53.3 130.2 L53.2 132.8 L53.4 135.7 Z' fill='%23b5d6c4' opacity='0.34'/><rect x='69.3' y='0' width='4.1' height='185.0' fill='%23c8e8d8' opacity='0.33'/><line x1='69.3' y1='21.0' x2='73.4' y2='21.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='69.3' y1='46.2' x2='73.4' y2='46.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='69.3' y1='71.4' x2='73.4' y2='71.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='69.3' y1='96.6' x2='73.4' y2='96.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='69.3' y1='121.8' x2='73.4' y2='121.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M73.4 175.0 L76.4 174.3 L79.1 173.5 L81.3 172.2 L82.9 170.5 L83.9 168.3 L84.4 165.8 L84.6 163.0 L84.8 160.1 L84.8 160.1 L82.0 161.0 L79.4 161.9 L77.1 163.1 L75.2 164.6 L74.0 166.6 L73.3 169.0 L73.2 171.9 L73.4 175.0 Z' fill='%23b5d6c4' opacity='0.22'/><path d='M73.4 72.8 L74.1 75.4 L75.0 77.5 L76.2 79.1 L77.7 80.1 L79.5 80.3 L81.5 80.0 L83.7 79.4 L86.0 78.6 L86.0 78.6 L85.1 76.4 L84.2 74.3 L83.1 72.5 L81.7 71.3 L80.0 70.8 L78.1 70.9 L75.8 71.7 L73.4 72.8 Z' fill='%23b5d6c4' opacity='0.29'/><path d='M73.4 40.2 L76.3 41.1 L79.1 41.6 L81.6 41.6 L83.8 40.8 L85.8 39.4 L87.4 37.4 L89.0 35.1 L90.4 32.7 L90.4 32.7 L87.6 32.1 L84.9 31.6 L82.3 31.6 L80.0 32.0 L77.9 33.1 L76.2 35.0 L74.7 37.4 L73.4 40.2 Z' fill='%23b5d6c4' opacity='0.23'/></svg>");
  --side-art-op: 0.19;
  --side-pattern: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40' preserveAspectRatio='xMidYMid slice'><circle cx='8' cy='8' r='1.6' fill='%23b5d6c4' opacity='0.25'/><circle cx='28' cy='28' r='1.6' fill='%23b5d6c4' opacity='0.16'/></svg>");
  --side-pattern-op: 0.09;
  --side-glow: radial-gradient(ellipse 90% 46% at 50% 0%, rgba(191, 220, 204, 0.20), transparent 62%);
  --login-art: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' width='420' height='420' preserveAspectRatio='xMidYMid slice'><circle cx='319.2' cy='84.0' r='22.0' fill='%23b5d6c4' opacity='.22'/><circle cx='310.8' cy='79.8' r='18.0' fill='%23c8e8d8' opacity='.42'/><rect x='37.2' y='0' width='5.5' height='402.4' fill='%23c8e8d8' opacity='0.29'/><line x1='37.2' y1='42.0' x2='42.7' y2='42.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='37.2' y1='92.4' x2='42.7' y2='92.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='37.2' y1='142.8' x2='42.7' y2='142.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='37.2' y1='193.2' x2='42.7' y2='193.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='37.2' y1='243.6' x2='42.7' y2='243.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='37.2' y1='294.0' x2='42.7' y2='294.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='37.2' y1='344.4' x2='42.7' y2='344.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M42.7 231.7 L46.6 233.0 L50.2 233.7 L53.4 233.6 L56.0 232.5 L58.2 230.5 L59.9 227.7 L61.3 224.4 L62.7 220.9 L62.7 220.9 L59.1 220.2 L55.5 219.6 L52.2 219.5 L49.4 220.2 L47.0 221.8 L45.2 224.3 L43.8 227.7 L42.7 231.7 Z' fill='%23b5d6c4' opacity='0.29'/><path d='M42.7 105.4 L42.5 109.4 L42.7 113.0 L43.6 115.9 L45.3 118.0 L47.7 119.4 L50.7 120.2 L54.2 120.6 L57.8 120.8 L57.8 120.8 L57.6 117.2 L57.3 113.7 L56.6 110.7 L55.2 108.2 L53.1 106.5 L50.3 105.5 L46.7 105.2 L42.7 105.4 Z' fill='%23b5d6c4' opacity='0.34'/><path d='M42.7 200.7 L47.6 200.7 L52.2 200.1 L56.2 198.8 L59.5 196.6 L62.2 193.6 L64.3 189.8 L66.1 185.7 L67.8 181.3 L67.8 181.3 L63.2 181.9 L58.7 182.6 L54.6 183.7 L51.0 185.5 L48.0 188.2 L45.7 191.7 L44.0 196.0 L42.7 200.7 Z' fill='%23b5d6c4' opacity='0.26'/><path d='M42.7 103.0 L43.2 107.9 L44.1 112.3 L45.7 116.0 L48.2 119.0 L51.4 121.3 L55.2 123.0 L59.5 124.3 L63.8 125.5 L63.8 125.5 L62.9 121.0 L61.9 116.7 L60.4 112.8 L58.4 109.4 L55.5 106.8 L51.8 105.0 L47.5 103.8 L42.7 103.0 Z' fill='%23b5d6c4' opacity='0.32'/><path d='M42.7 108.7 L47.1 107.7 L51.1 106.4 L54.2 104.5 L56.5 101.9 L58.0 98.7 L58.8 95.0 L59.1 90.9 L59.2 86.7 L59.2 86.7 L55.3 88.0 L51.4 89.5 L48.0 91.2 L45.4 93.5 L43.5 96.4 L42.6 100.0 L42.4 104.2 L42.7 108.7 Z' fill='%23b5d6c4' opacity='0.30'/><rect x='125.0' y='0' width='4.9' height='322.9' fill='%23c8e8d8' opacity='0.26'/><line x1='125.0' y1='42.0' x2='129.9' y2='42.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='125.0' y1='92.4' x2='129.9' y2='92.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='125.0' y1='142.8' x2='129.9' y2='142.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='125.0' y1='193.2' x2='129.9' y2='193.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='125.0' y1='243.6' x2='129.9' y2='243.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='125.0' y1='294.0' x2='129.9' y2='294.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='125.0' y1='344.4' x2='129.9' y2='344.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M129.9 184.8 L133.7 184.9 L137.0 184.6 L139.6 183.7 L141.3 182.0 L142.3 179.7 L142.6 176.9 L142.4 173.6 L142.1 170.3 L142.1 170.3 L138.7 170.6 L135.5 170.9 L132.8 171.7 L130.6 173.0 L129.3 175.0 L128.9 177.8 L129.1 181.1 L129.9 184.8 Z' fill='%23b5d6c4' opacity='0.34'/><path d='M129.9 135.2 L130.7 139.4 L131.8 143.1 L133.5 146.0 L135.8 148.0 L138.7 149.2 L142.2 149.7 L146.0 149.6 L149.9 149.5 L149.9 149.5 L148.8 145.8 L147.5 142.2 L146.0 139.1 L143.9 136.7 L141.3 135.1 L138.0 134.5 L134.1 134.6 L129.9 135.2 Z' fill='%23b5d6c4' opacity='0.27'/><path d='M129.9 355.9 L133.8 357.1 L137.4 357.7 L140.5 357.6 L143.1 356.4 L145.2 354.4 L146.9 351.6 L148.3 348.3 L149.5 344.8 L149.5 344.8 L145.9 344.1 L142.4 343.6 L139.1 343.5 L136.3 344.2 L134.0 345.9 L132.2 348.5 L130.9 351.9 L129.9 355.9 Z' fill='%23b5d6c4' opacity='0.36'/><path d='M129.9 172.4 L130.5 176.2 L131.4 179.5 L132.9 181.9 L134.8 183.4 L137.4 184.0 L140.3 183.9 L143.6 183.2 L146.9 182.4 L146.9 182.4 L146.0 179.1 L145.0 175.9 L143.7 173.3 L141.9 171.4 L139.7 170.4 L136.8 170.3 L133.5 171.1 L129.9 172.4 Z' fill='%23b5d6c4' opacity='0.33'/><path d='M129.9 265.7 L133.6 267.4 L137.1 268.6 L140.3 268.9 L143.2 268.2 L145.6 266.5 L147.7 263.9 L149.7 260.8 L151.5 257.6 L151.5 257.6 L148.0 256.4 L144.5 255.3 L141.2 254.8 L138.3 255.1 L135.7 256.4 L133.4 258.7 L131.5 261.9 L129.9 265.7 Z' fill='%23b5d6c4' opacity='0.32'/><rect x='199.9' y='0' width='8.3' height='397.6' fill='%23c8e8d8' opacity='0.31'/><line x1='199.9' y1='42.0' x2='208.2' y2='42.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='199.9' y1='92.4' x2='208.2' y2='92.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='199.9' y1='142.8' x2='208.2' y2='142.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='199.9' y1='193.2' x2='208.2' y2='193.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='199.9' y1='243.6' x2='208.2' y2='243.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='199.9' y1='294.0' x2='208.2' y2='294.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='199.9' y1='344.4' x2='208.2' y2='344.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M208.2 345.5 L212.3 346.0 L215.9 345.9 L219.0 345.1 L221.3 343.5 L223.0 341.1 L224.1 338.0 L224.8 334.5 L225.4 330.9 L225.4 330.9 L221.7 330.9 L218.1 331.0 L214.9 331.6 L212.3 332.9 L210.3 334.9 L209.1 337.8 L208.4 341.4 L208.2 345.5 Z' fill='%23b5d6c4' opacity='0.26'/><path d='M208.2 141.8 L209.0 146.3 L210.2 150.3 L212.0 153.7 L214.5 156.2 L217.7 157.8 L221.4 158.8 L225.5 159.4 L229.7 159.8 L229.7 159.8 L228.6 155.7 L227.3 151.8 L225.7 148.3 L223.5 145.4 L220.6 143.4 L217.0 142.2 L212.8 141.8 L208.2 141.8 Z' fill='%23b5d6c4' opacity='0.32'/><path d='M208.2 318.7 L212.2 320.3 L216.1 321.3 L219.5 321.4 L222.6 320.5 L225.3 318.7 L227.6 316.0 L229.8 312.8 L231.9 309.4 L231.9 309.4 L228.0 308.3 L224.3 307.4 L220.7 307.1 L217.5 307.5 L214.6 309.0 L212.2 311.4 L210.1 314.8 L208.2 318.7 Z' fill='%23b5d6c4' opacity='0.29'/><path d='M208.2 316.8 L209.3 320.5 L210.6 323.6 L212.3 325.8 L214.4 326.9 L216.9 327.1 L219.7 326.5 L222.8 325.4 L225.9 324.1 L225.9 324.1 L224.6 321.0 L223.2 318.0 L221.6 315.6 L219.7 314.0 L217.4 313.4 L214.6 313.7 L211.5 315.0 L208.2 316.8 Z' fill='%23b5d6c4' opacity='0.26'/><path d='M208.2 309.6 L212.8 308.7 L216.8 307.4 L220.2 305.5 L222.7 302.9 L224.4 299.7 L225.4 295.9 L226.0 291.7 L226.4 287.4 L226.4 287.4 L222.3 288.7 L218.3 290.0 L214.8 291.8 L211.9 294.1 L209.8 297.0 L208.6 300.7 L208.2 304.9 L208.2 309.6 Z' fill='%23b5d6c4' opacity='0.25'/><rect x='281.6' y='0' width='7.2' height='382.7' fill='%23c8e8d8' opacity='0.32'/><line x1='281.6' y1='42.0' x2='288.7' y2='42.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='281.6' y1='92.4' x2='288.7' y2='92.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='281.6' y1='142.8' x2='288.7' y2='142.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='281.6' y1='193.2' x2='288.7' y2='193.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='281.6' y1='243.6' x2='288.7' y2='243.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='281.6' y1='294.0' x2='288.7' y2='294.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='281.6' y1='344.4' x2='288.7' y2='344.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M288.7 234.8 L293.2 234.0 L297.1 232.9 L300.3 231.2 L302.6 228.8 L304.1 225.7 L304.9 222.0 L305.3 218.0 L305.6 213.9 L305.6 213.9 L301.6 215.0 L297.8 216.3 L294.4 217.8 L291.7 219.9 L289.9 222.7 L288.8 226.2 L288.5 230.3 L288.7 234.8 Z' fill='%23b5d6c4' opacity='0.36'/><path d='M288.7 158.2 L289.8 162.3 L291.2 165.7 L293.0 168.4 L295.4 170.1 L298.3 170.9 L301.7 171.0 L305.3 170.5 L309.1 169.9 L309.1 169.9 L307.7 166.4 L306.3 163.0 L304.6 160.1 L302.4 158.0 L299.7 156.8 L296.5 156.5 L292.8 157.1 L288.7 158.2 Z' fill='%23b5d6c4' opacity='0.30'/><path d='M288.7 331.9 L292.5 333.2 L295.9 334.0 L298.9 333.9 L301.3 332.9 L303.2 331.0 L304.7 328.2 L305.9 325.0 L307.0 321.7 L307.0 321.7 L303.6 320.9 L300.2 320.2 L297.1 320.1 L294.5 320.7 L292.3 322.2 L290.7 324.7 L289.6 328.1 L288.7 331.9 Z' fill='%23b5d6c4' opacity='0.36'/><path d='M288.7 128.8 L290.9 132.8 L293.2 136.1 L295.9 138.6 L298.9 140.1 L302.4 140.6 L306.1 140.2 L310.1 139.3 L314.1 138.3 L314.1 138.3 L311.7 134.9 L309.4 131.6 L306.8 128.9 L303.9 127.0 L300.6 126.1 L296.9 126.2 L292.9 127.2 L288.7 128.8 Z' fill='%23b5d6c4' opacity='0.36'/><path d='M288.7 113.1 L292.6 113.7 L296.0 113.8 L298.7 113.2 L300.7 111.7 L302.1 109.5 L302.8 106.6 L303.1 103.4 L303.4 99.9 L303.4 99.9 L299.9 99.8 L296.6 99.8 L293.7 100.3 L291.4 101.3 L289.7 103.2 L288.8 105.9 L288.6 109.3 L288.7 113.1 Z' fill='%23b5d6c4' opacity='0.25'/><rect x='363.0' y='0' width='8.1' height='396.6' fill='%23c8e8d8' opacity='0.25'/><line x1='363.0' y1='42.0' x2='371.1' y2='42.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='363.0' y1='92.4' x2='371.1' y2='92.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='363.0' y1='142.8' x2='371.1' y2='142.8' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='363.0' y1='193.2' x2='371.1' y2='193.2' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='363.0' y1='243.6' x2='371.1' y2='243.6' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='363.0' y1='294.0' x2='371.1' y2='294.0' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><line x1='363.0' y1='344.4' x2='371.1' y2='344.4' stroke='%23b5d6c4' stroke-width='.8' opacity='.26'/><path d='M371.1 329.2 L374.7 330.5 L378.1 331.3 L380.9 331.3 L383.3 330.4 L385.1 328.5 L386.4 325.8 L387.5 322.6 L388.5 319.3 L388.5 319.3 L385.2 318.5 L381.9 317.8 L378.9 317.6 L376.4 318.2 L374.3 319.7 L372.8 322.1 L371.8 325.4 L371.1 329.2 Z' fill='%23b5d6c4' opacity='0.24'/><path d='M371.1 108.2 L372.0 112.4 L373.3 116.0 L375.1 118.9 L377.5 120.8 L380.5 121.9 L383.9 122.2 L387.7 122.1 L391.6 121.8 L391.6 121.8 L390.3 118.1 L389.0 114.6 L387.3 111.5 L385.2 109.2 L382.5 107.7 L379.2 107.2 L375.3 107.5 L371.1 108.2 Z' fill='%23b5d6c4' opacity='0.24'/><path d='M371.1 74.5 L375.2 74.7 L378.9 74.4 L381.9 73.4 L384.1 71.7 L385.7 69.2 L386.6 66.0 L387.1 62.5 L387.5 58.8 L387.5 58.8 L383.8 59.0 L380.2 59.4 L377.0 60.2 L374.5 61.6 L372.6 63.8 L371.5 66.7 L371.1 70.4 L371.1 74.5 Z' fill='%23b5d6c4' opacity='0.31'/><path d='M371.1 77.9 L371.0 81.9 L371.3 85.5 L372.2 88.4 L373.9 90.5 L376.4 91.9 L379.5 92.7 L383.0 93.0 L386.6 93.2 L386.6 93.2 L386.4 89.6 L386.0 86.1 L385.2 83.0 L383.8 80.6 L381.6 78.9 L378.7 77.9 L375.1 77.7 L371.1 77.9 Z' fill='%23b5d6c4' opacity='0.27'/><path d='M371.1 342.0 L375.2 341.4 L378.8 340.5 L381.6 339.0 L383.5 336.9 L384.6 334.1 L384.9 330.8 L384.8 327.2 L384.6 323.5 L384.6 323.5 L381.0 324.4 L377.5 325.4 L374.5 326.8 L372.2 328.6 L370.7 331.1 L370.2 334.2 L370.4 337.9 L371.1 342.0 Z' fill='%23b5d6c4' opacity='0.24'/></svg>");
  --login-art-op: 0.24;
  --login-mesh: radial-gradient(ellipse 62% 52% at 76% 16%, rgba(127, 184, 154, 0.26), transparent 60%), radial-gradient(ellipse 54% 44% at 14% 82%, rgba(200, 232, 216, 0.18), transparent 62%), radial-gradient(circle at 50% 112%, rgba(127, 184, 154, 0.16), transparent 56%);
  --login-art-pos: center bottom;
  --login-art-size: cover;
  --login-art-repeat: no-repeat;
  --top-grad: linear-gradient(180deg, #252b29 0%, #2e3934 100%);
  --main-grad: radial-gradient(circle at 10% -6%, rgba(127, 184, 154, 0.16), transparent 44%), radial-gradient(circle at 92% 4%, rgba(200, 232, 216, 0.13), transparent 40%);
  --drift: radial-gradient(circle at 64px 108px, rgba(201, 225, 213, 0.41) 0, rgba(201, 225, 213, 0.31) 1.2px, transparent 2.0px), radial-gradient(circle at 92px 76px, rgba(201, 225, 213, 0.42) 0, rgba(201, 225, 213, 0.32) 1.3px, transparent 2.1px), radial-gradient(circle at 16px 117px, rgba(201, 225, 213, 0.37) 0, rgba(201, 225, 213, 0.28) 0.8px, transparent 1.6px), radial-gradient(circle at 22px 84px, rgba(201, 225, 213, 0.36) 0, rgba(201, 225, 213, 0.27) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 134px, rgba(201, 225, 213, 0.52) 0, rgba(201, 225, 213, 0.39) 0.9px, transparent 1.7px), radial-gradient(circle at 77px 107px, rgba(201, 225, 213, 0.29) 0, rgba(201, 225, 213, 0.22) 1.0px, transparent 1.8px), radial-gradient(circle at 147px 41px, rgba(201, 225, 213, 0.28) 0, rgba(201, 225, 213, 0.21) 0.9px, transparent 1.7px), radial-gradient(circle at 75px 105px, rgba(201, 225, 213, 0.40) 0, rgba(201, 225, 213, 0.30) 1.4px, transparent 2.2px), radial-gradient(circle at 111px 51px, rgba(201, 225, 213, 0.30) 0, rgba(201, 225, 213, 0.23) 1.3px, transparent 2.1px), radial-gradient(circle at 135px 19px, rgba(201, 225, 213, 0.31) 0, rgba(201, 225, 213, 0.23) 0.8px, transparent 1.6px), radial-gradient(circle at 61px 77px, rgba(201, 225, 213, 0.52) 0, rgba(201, 225, 213, 0.39) 1.5px, transparent 2.3px), radial-gradient(circle at 82px 63px, rgba(201, 225, 213, 0.49) 0, rgba(201, 225, 213, 0.37) 1.5px, transparent 2.3px), radial-gradient(circle at 4px 65px, rgba(201, 225, 213, 0.43) 0, rgba(201, 225, 213, 0.32) 0.6px, transparent 1.4px), radial-gradient(circle at 148px 67px, rgba(201, 225, 213, 0.32) 0, rgba(201, 225, 213, 0.24) 1.5px, transparent 2.3px), radial-gradient(circle at 62px 31px, rgba(201, 225, 213, 0.39) 0, rgba(201, 225, 213, 0.29) 0.7px, transparent 1.5px), radial-gradient(circle at 46px 123px, rgba(201, 225, 213, 0.41) 0, rgba(201, 225, 213, 0.31) 0.9px, transparent 1.7px), radial-gradient(circle at 120px 115px, rgba(201, 225, 213, 0.51) 0, rgba(201, 225, 213, 0.38) 0.8px, transparent 1.6px), radial-gradient(circle at 129px 129px, rgba(201, 225, 213, 0.50) 0, rgba(201, 225, 213, 0.37) 1.4px, transparent 2.2px), radial-gradient(circle at 17px 57px, rgba(201, 225, 213, 0.44) 0, rgba(201, 225, 213, 0.33) 1.3px, transparent 2.1px), radial-gradient(circle at 98px 73px, rgba(201, 225, 213, 0.44) 0, rgba(201, 225, 213, 0.33) 0.8px, transparent 1.6px), radial-gradient(circle at 92px 119px, rgba(201, 225, 213, 0.39) 0, rgba(201, 225, 213, 0.29) 1.2px, transparent 2.0px), radial-gradient(circle at 60px 73px, rgba(201, 225, 213, 0.32) 0, rgba(201, 225, 213, 0.24) 0.8px, transparent 1.6px);
  --drift-size: 150px;
  --drift-dir: 150px;
  --drift-dur: 35s;
  --drift-op: 0.60;
  --glow-dur: 27s;
  --tint-blue: #454b4b;
  --tint-blue-bd: #6a7480;
  --tint-blue-tx: #85a9d0;
  --tint-purple: #474b4b;
  --tint-purple-bd: #73707d;
  --tint-purple-tx: #b097d9;
  --tint-teal: #454c4a;
  --tint-teal-bd: #657b77;
  --tint-teal-tx: #7db9b0;
  --tint-green: #454c48;
  --tint-green-bd: #687b6a;
  --tint-green-tx: #85b795;
  --tint-gray: #464b4a;
  --tint-gray-bd: #717777;
  --tint-gray-tx: #9da3ad;
  --tint-orange: #484b47;
  --tint-orange-bd: #7e7667;
  --tint-orange-tx: #cca680;
  --tint-red: #484a48;
  --tint-red-bd: #7e716f;
  --tint-red-tx: #d48f8f;
  --tint-yellow: #484c47;
  --tint-yellow-bd: #7e7863;
  --tint-yellow-tx: #c0af80;
}


/* ================= 换肤面板 ================= */
.zjc-skin-mask {
  position: fixed; inset: 0; z-index: 10001;
  background: rgba(0, 0, 0, 0.5);
  display: flex; align-items: center; justify-content: center;
  padding: 20px; overflow: auto;
}
.zjc-skin-modal {
  width: 100%; max-width: 840px;
  background: var(--card); border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.4);
  overflow: hidden; display: flex; flex-direction: column;
  max-height: calc(100vh - 40px);
}
.zjc-skin-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 18px 22px 14px; border-bottom: 1px solid var(--border);
}
.zjc-skin-title {
  font-size: 17px; font-weight: 700; color: var(--text);
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.zjc-skin-ico { font-size: 22px; }
.zjc-skin-sub {
  font-size: 13px; font-weight: 400; color: var(--muted);
  margin-top: 4px; width: 100%;
}
.zjc-skin-x {
  background: none; border: none; font-size: 20px; color: var(--muted);
  cursor: pointer; padding: 2px 8px; border-radius: 6px; line-height: 1; flex: none;
}
.zjc-skin-x:hover { background: var(--hover-bg); color: var(--text); }
.zjc-skin-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  padding: 18px 22px; overflow-y: auto; flex: 1;
}
@media (max-width: 760px) { .zjc-skin-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .zjc-skin-grid { grid-template-columns: 1fr; } }

.zjc-skin-card {
  border: 2px solid var(--border); border-radius: 12px; padding: 10px;
  cursor: pointer; background: var(--card); text-align: left;
  transition: transform .15s, border-color .15s, box-shadow .15s;
}
.zjc-skin-card:hover {
  transform: translateY(-3px); border-color: var(--primary);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
}
.zjc-skin-card.on {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-soft);
}

/* 迷你界面缩略预览（含主题图案，所见即所得） */
.zjc-skin-prev {
  height: 84px; border-radius: 8px; overflow: hidden; display: flex;
  border: 1px solid var(--border); margin-bottom: 9px;
}
.zjc-skin-prev .sp-side {
  width: 34%; padding: 8px 6px; display: flex; flex-direction: column; gap: 4px;
  position: relative; overflow: hidden;
}
.zjc-skin-prev .sp-side i {
  display: block; height: 4px; border-radius: 2px; position: relative; z-index: 2;
}
.zjc-skin-prev .sp-side i:first-child { height: 7px; }
/* 图案层：细纹铺底 + 主题装饰画压底 */
.zjc-skin-prev .sp-art {
  position: absolute; inset: 0; z-index: 1; opacity: .5;
  pointer-events: none; background-repeat: repeat;
}
.zjc-skin-prev .sp-art-big {
  background-repeat: no-repeat; background-position: bottom center;
  background-size: 100% 80%; opacity: .85;
}
.zjc-skin-prev .sp-main { flex: 1; padding: 7px; display: flex; flex-direction: column; gap: 5px; }
.zjc-skin-prev .sp-top { height: 9px; border-radius: 3px; }
.zjc-skin-prev .sp-row { display: flex; gap: 5px; flex: 1; }
.zjc-skin-prev .sp-card { flex: 1; border-radius: 4px; }
.zjc-skin-prev .sp-btn { width: 28px; border-radius: 4px; }
/* 预览卡里的飘落层（真跑动画，选皮肤时就能看见动效） */
.zjc-skin-prev .sp-drift {
  position: absolute; z-index: 2; pointer-events: none;
  left: 0; right: 0; top: -18px; height: calc(100% + 36px);
  background-repeat: repeat;
  animation: zjcDriftMini 30s linear infinite;
}
@keyframes zjcDriftMini {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(0, 18px, 0); }
}
html.zjc-no-motion .zjc-skin-prev .sp-drift { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .zjc-skin-prev .sp-drift { animation: none !important; }
}

.zjc-skin-name {
  font-size: 14px; font-weight: 600; color: var(--text);
  display: flex; align-items: center; gap: 6px;
}
.zjc-skin-tags { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin-top: 3px; }
.zjc-skin-tag {
  font-size: 11px; font-weight: 400; color: var(--muted);
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 20px; padding: 1px 7px;
}
.zjc-tag-calm { color: #2e9e6b; border-color: rgba(46, 158, 107, .35); background: rgba(46, 158, 107, .09); }
html[data-theme="ink"] .zjc-tag-calm, html[data-theme="pine"] .zjc-tag-calm,
html[data-theme="nebula"] .zjc-tag-calm { color: #6fd39c; border-color: rgba(111, 211, 156, .35); }
.zjc-tag-mv { color: #2f7fd1; border-color: rgba(47, 127, 209, .32); background: rgba(47, 127, 209, .09); }
html[data-theme="ink"] .zjc-tag-mv, html[data-theme="pine"] .zjc-tag-mv,
html[data-theme="nebula"] .zjc-tag-mv { color: #7ab8f0; border-color: rgba(122, 184, 240, .34); }
.zjc-tag-st { opacity: .72; }
.zjc-skin-check { margin-left: auto; color: var(--primary); font-weight: 700; }
/* 动效开关 */
.zjc-motion-btn {
  display: inline-block; margin-left: 8px; margin-top: 6px;
  font-size: 12px; font-weight: 500; color: var(--primary);
  background: var(--primary-bg); border: 1px solid var(--border);
  border-radius: 20px; padding: 3px 12px; cursor: pointer;
}
.zjc-motion-btn:hover { filter: brightness(1.05); }
.zjc-motion-btn.off { color: var(--muted); background: var(--surface); }
.zjc-skin-foot {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 14px 22px 18px; border-top: 1px solid var(--border);
}

/* 侧栏换肤按钮 */
.side-skin-btn {
  display: block; width: 100%; margin-bottom: 10px;
  background: var(--side-user-bg); border: 1px solid rgba(128, 128, 128, 0.28);
  color: var(--side-text); border-radius: 9px; padding: 8px 10px;
  font-size: 13px; cursor: pointer; text-align: left;
  transition: background .15s, color .15s, border-color .15s;
}
.side-skin-btn:hover {
  background: var(--primary); border-color: var(--primary); color: #fff;
}

/* 登录页换肤入口 */
.login-skin-row { margin-top: 10px; text-align: center; font-size: 13px; }
.login-skin-row a { color: var(--primary-dark); text-decoration: none; opacity: .92; }
.login-skin-row a:hover { text-decoration: underline; opacity: 1; }
