  *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      font-size: clamp(15px, 4.2667vw, 18px);
      -webkit-text-size-adjust: 100%; 
      -webkit-tap-highlight-color: transparent;
      background: #fff;
    }

    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
        "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      line-height: 1.6;
      color: #222;
      background: #fff;
      max-width: 100%;
      overflow-x: hidden;
    }

    img { max-width: 100%; height: auto; }

    .app-header {
      display: flex;
      align-items: center;
      padding: 0.625rem 1rem;
      background: #fff;
      border-bottom: 1px solid #f0f0f0;
      position: sticky;
      top: 0;
      z-index: 100;
    }
    .header-brand-img {
      display: block;
      height: clamp(3.05rem, 4vw, 3rem);  
      width: auto;
      object-fit: contain;
    }

    .container {
      width: 100%;
      max-width: 768px;          
      margin: 0 auto;
      padding: 0 1rem 2.5rem;
    }
    @media (min-width: 768px) {
      .container { max-width: 820px; padding: 0 1.5rem 3.5rem; }
    }
    @media (min-width: 1200px) {
      .container { max-width: 1200px; padding: 0 2rem 4rem; }
    }

    header { padding-top: 1.125rem; }

    header h1 {
      font-size: clamp(1.5rem, 1rem + 2.4vw, 2.25rem);
      font-weight: 700;
      color: #111;
      line-height: 1.42;
      letter-spacing: 0.3px;
    }

    .subtitle {
      margin-top: 0.875rem;
      font-size: clamp(0.9375rem, 0.8rem + 0.6vw, 1.0625rem); /* 15→17px */
      color: #5e5e5e;
      font-weight: 400;
    }
    .article-time {
      margin-top: 0.375rem;
      font-size: 0.9375rem;
      color: #888;
    }

    .content {
      margin-top: 1.375rem;
      font-size: clamp(1.0625rem, 0.9rem + 0.9vw, 1.1875rem);
      line-height: 1.8;
      color: #333;
      word-break: break-word;
      overflow-wrap: anywhere;
    }
    .content p { margin-bottom: 1.125rem; text-align: justify; }
    .content p:last-child { margin-bottom: 0; }

    .section-title {
      text-align: center;
      font-size: clamp(1.125rem, 1rem + 0.6vw, 1.25rem);
      font-weight: 700;
      color: #111;
      margin-bottom: 1.125rem;
    }

    .content img, .content video {
      display: block;
      max-width: 100% !important;
      height: auto !important;
      margin: 0.75rem auto;
      border-radius: 4px;
    }