:root {
      --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
      --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
      --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
      --ease-emphasized: cubic-bezier(0.4, 0, 0.2, 1);
      --ease-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
      /* iOS / Linear / Arc 物理感曲线 —— 首选用于微交互 */
      --ease-ios: cubic-bezier(0.32, 0.72, 0, 1);
      --ease-ios-spring: cubic-bezier(0.17, 0.84, 0.44, 1);
      --ease-ios-bounce: cubic-bezier(0.2, 1.2, 0.4, 1);
      /* 交互时长：enter 长一些 / exit 短一些（MD motion） */
      --duration-instant: 80ms;
      --duration-fast: 150ms;
      --duration-base: 240ms;
      --duration-slow: 320ms;
      --duration-exit: 160ms;
      --mobile-nav-height: 88px;
      --mobile-header-safe-top: env(safe-area-inset-top, 0px);
      --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
      --bg-page: #f8fafc;
      --bg-card: #ffffff;
      --bg-soft: #f2f6fb;
      --text-main: #0f172a;
      --text-sub: #475569;
      --text-soft: #64748b;
      --line: #e2e8f0;
      --line-strong: #cbd5e1;
      --brand: #2563eb;
      --brand-soft: #dbeafe;
      --danger: #ef4444;
      --danger-soft: #fee2e2;
      --warning: #f59e0b;
      --warning-soft: #fef3c7;
      --success: #16a34a;
      --success-soft: #dcfce7;
      --shadow-soft: 0 18px 50px rgba(15, 23, 42, 0.08);
      --shadow-panel: 0 10px 25px rgba(15, 23, 42, 0.06);
      --radius-xl: 32px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --radius-sm: 14px;
      --font-sans: "MiSans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", system-ui, sans-serif;
      --font-display: "Source Han Serif SC", "Noto Serif SC", "Songti SC", "STSong", serif;
      --white-tinted: #f9fafb;
      --dept-jiangsu: #3b82f6;
      --dept-chongqing: #ef4444;
      --dept-sichuan: #22c55e;
      --dept-solution: #ec4899;
      --dept-tech: #eab308;
      --dept-enterprise: #8b5cf6;
      --dept-government: #f97316;
      --dept-ecology: #8b6b4a;
    }