/* roulang page: index */
:root {
      --primary: #0284c7;
      --primary-dark: #0369a1;
      --bg-surface: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      color: #1e293b;
      background-color: #f8fafc;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -5px rgba(2, 132, 199, 0.08), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 10%, rgba(2, 132, 199, 0.12) 0%, rgba(248, 250, 252, 0) 70%);
    }

/* roulang page: article */
:root {
      --primary: #0284c7;
      --primary-dark: #0369a1;
      --bg-surface: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      color: #1e293b;
      background-color: #f8fafc;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -5px rgba(2, 132, 199, 0.08), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 10%, rgba(2, 132, 199, 0.12) 0%, rgba(248, 250, 252, 0) 70%);
    }
    .article-content p {
      margin-bottom: 1.25rem;
      line-height: 1.85;
      font-size: 1.05rem;
      color: #334155;
    }
    .article-content h2 {
      font-size: 1.5rem;
      font-weight: 700;
      color: #0f172a;
      margin-top: 2.25rem;
      margin-bottom: 1rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid #f1f5f9;
      position: relative;
    }
    .article-content h2::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: -1px;
      width: 48px;
      height: 2px;
      background-color: var(--primary);
    }
    .article-content h3 {
      font-size: 1.25rem;
      font-weight: 600;
      color: #1e293b;
      margin-top: 1.75rem;
      margin-bottom: 0.75rem;
    }
    .article-content ul, .article-content ol {
      margin-bottom: 1.25rem;
      padding-left: 1.5rem;
      color: #334155;
    }
    .article-content ul {
      list-style-type: disc;
    }
    .article-content ol {
      list-style-type: decimal;
    }
    .article-content li {
      margin-bottom: 0.5rem;
      line-height: 1.75;
    }
    .article-content blockquote {
      margin: 1.5rem 0;
      padding: 1rem 1.25rem;
      background-color: #f0f9ff;
      border-left: 4px solid var(--primary);
      border-radius: 0 0.75rem 0.75rem 0;
      color: #0369a1;
      font-style: italic;
    }
    .article-content img {
      max-width: 100%;
      height: auto;
      border-radius: 0.75rem;
      margin: 1.5rem auto;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
    }

/* roulang page: category1 */
:root {
      --primary: #0284c7;
      --primary-dark: #0369a1;
      --bg-surface: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      color: #1e293b;
      background-color: #f8fafc;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -5px rgba(2, 132, 199, 0.08), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 10%, rgba(2, 132, 199, 0.12) 0%, rgba(248, 250, 252, 0) 70%);
    }
    .progress-radial {
      background: conic-gradient(#0284c7 86%, #e2e8f0 0deg);
    }

/* roulang page: category1 */
:root {
      --primary: #0284c7;
      --primary-dark: #0369a1;
      --bg-surface: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      color: #1e293b;
      background-color: #f8fafc;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -5px rgba(2, 132, 199, 0.08), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 10%, rgba(2, 132, 199, 0.12) 0%, rgba(248, 250, 252, 0) 70%);
    }
    /* 众筹预热环形进度 */
    .progress-ring-circle {
      transition: stroke-dashoffset 0.5s ease-in-out;
      transform: rotate(-90deg);
      transform-origin: 50% 50%;
    }

/* roulang page: category1 */
:root {
      --primary: #0284c7;
      --primary-dark: #0369a1;
      --bg-surface: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      color: #1e293b;
      background-color: #f8fafc;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -5px rgba(2, 132, 199, 0.08), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 10%, rgba(2, 132, 199, 0.12) 0%, rgba(248, 250, 252, 0) 70%);
    }
    .progress-radial {
      background: conic-gradient(#0284c7 0% 88%, #e2e8f0 88% 100%);
    }
