/* roulang page: index */
:root {
      --bg-titanium: #0b0d13;
      --brand-green: #00f076;
      --brand-green-glow: rgba(0, 240, 118, 0.25);
      --accent-purple: #6366f1;
      --text-main: #f8fafc;
      --text-muted: #cbd5e1;
      --text-dim: #64748b;
      --card-bg: rgba(15, 23, 42, 0.85);
      --border-panel: rgba(51, 65, 85, 0.7);
    }
    body {
      background-color: var(--bg-titanium);
      color: var(--text-muted);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .grid-pattern {
      background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    .pulse-dot {
      box-shadow: 0 0 10px #00f076;
      animation: pulseAnimation 2s infinite;
    }
    @keyframes pulseAnimation {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.3); opacity: 0.6; }
    }
    .glow-hover:hover {
      box-shadow: 0 0 25px var(--brand-green-glow);
      border-color: rgba(0, 240, 118, 0.5);
    }
    .text-gradient {
      background: linear-gradient(135deg, #ffffff 0%, #00f076 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .text-gradient-purple {
      background: linear-gradient(135deg, #f8fafc 0%, #a78bfa 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

/* roulang page: article */
:root {
      --bg-titanium: #0b0d13;
      --brand-green: #00f076;
      --brand-green-glow: rgba(0, 240, 118, 0.25);
      --accent-purple: #6366f1;
      --text-main: #f8fafc;
      --text-muted: #cbd5e1;
      --text-dim: #64748b;
      --card-bg: rgba(15, 23, 42, 0.85);
      --border-panel: rgba(51, 65, 85, 0.7);
    }
    body {
      background-color: var(--bg-titanium);
      color: var(--text-muted);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .grid-pattern {
      background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    .text-gradient {
      background: linear-gradient(135deg, #ffffff 0%, #00f076 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .text-gradient-purple {
      background: linear-gradient(135deg, #f8fafc 0%, #a78bfa 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .pulse-dot {
      animation: pulseGlow 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulseGlow {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(0.85); }
    }
    /* 正文样式排版 */
    .article-content {
      line-height: 1.85;
      font-size: 1.0625rem;
      color: #cbd5e1;
    }
    .article-content p {
      margin-bottom: 1.5rem;
      text-align: justify;
    }
    .article-content h2 {
      font-size: 1.5rem;
      font-weight: 800;
      color: #f8fafc;
      margin-top: 2.5rem;
      margin-bottom: 1.25rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid rgba(51, 65, 85, 0.6);
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
    .article-content h2::before {
      content: "";
      display: inline-block;
      width: 4px;
      height: 1.25rem;
      background-color: var(--brand-green);
      border-radius: 2px;
      box-shadow: 0 0 10px rgba(0, 240, 118, 0.5);
    }
    .article-content h3 {
      font-size: 1.25rem;
      font-weight: 700;
      color: #e2e8f0;
      margin-top: 2rem;
      margin-bottom: 1rem;
    }
    .article-content blockquote {
      margin: 1.75rem 0;
      padding: 1.25rem 1.5rem;
      background: rgba(15, 23, 42, 0.6);
      border-left: 3px solid #00f076;
      border-radius: 0 0.75rem 0.75rem 0;
      color: #94a3b8;
      font-style: italic;
    }
    .article-content ul, .article-content ol {
      margin-bottom: 1.5rem;
      padding-left: 1.5rem;
    }
    .article-content li {
      margin-bottom: 0.5rem;
      list-style-type: disc;
    }
    .article-content strong {
      color: #f8fafc;
      font-weight: 700;
    }

/* roulang page: category2 */
:root {
      --bg-titanium: #0b0d13;
      --brand-green: #00f076;
      --brand-green-glow: rgba(0, 240, 118, 0.25);
      --accent-purple: #6366f1;
      --text-main: #f8fafc;
      --text-muted: #cbd5e1;
      --text-dim: #64748b;
      --card-bg: rgba(15, 23, 42, 0.85);
      --border-panel: rgba(51, 65, 85, 0.7);
    }
    body {
      background-color: var(--bg-titanium);
      color: var(--text-muted);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .grid-pattern {
      background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    .text-gradient {
      background: linear-gradient(135deg, #ffffff 0%, #00f076 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .text-gradient-purple {
      background: linear-gradient(135deg, #f8fafc 0%, #a78bfa 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .pulse-dot {
      animation: pulseGlow 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulseGlow {
      0%, 100% { opacity: 1; transform: scale(1); filter: drop-shadow(0 0 3px #00f076); }
      50% { opacity: 0.4; transform: scale(0.9); filter: drop-shadow(0 0 0px #00f076); }
    }
    details summary::-webkit-details-marker {
      display: none;
    }

/* roulang page: category1 */
:root {
      --bg-titanium: #0b0d13;
      --brand-green: #00f076;
      --brand-green-glow: rgba(0, 240, 118, 0.25);
      --accent-purple: #6366f1;
      --text-main: #f8fafc;
      --text-muted: #cbd5e1;
      --text-dim: #64748b;
      --card-bg: rgba(15, 23, 42, 0.85);
      --border-panel: rgba(51, 65, 85, 0.7);
    }
    body {
      background-color: var(--bg-titanium);
      color: var(--text-muted);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .grid-pattern {
      background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    .text-gradient {
      background: linear-gradient(135deg, #ffffff 0%, #00f076 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .text-gradient-purple {
      background: linear-gradient(135deg, #f8fafc 0%, #a78bfa 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    @keyframes pulse-slow {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(0.9); }
    }
    .pulse-dot {
      animation: pulse-slow 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    .card-glow:hover {
      box-shadow: 0 0 25px rgba(0, 240, 118, 0.15);
      border-color: rgba(0, 240, 118, 0.4);
    }
