    .article-list {
      display: grid;
      gap: 0;
      margin-top: 20px;
    }

    .library-empty {
      padding: 42px 6px;
      color: var(--muted);
      border-bottom: 1px solid var(--paper-line);
      font-size: 15px;
    }

    .article-card {
      display: grid;
      grid-template-columns: 118px minmax(0, 1fr) auto;
      gap: 20px;
      align-items: center;
      width: 100%;
      padding: 18px 6px;
      border: 0;
      border-bottom: 1px solid var(--paper-line);
      background: transparent;
      color: var(--ink);
      text-align: left;
      cursor: pointer;
      transition: background .16s var(--ease), transform .16s var(--ease), border-color .16s var(--ease);
    }

    .article-card:first-child {
      border-top: 1px solid var(--paper-line);
    }

    .article-card:hover {
      background: rgba(252, 250, 243, .62);
      transform: translateX(3px);
      border-bottom-color: var(--paper-line-strong);
    }

    .article-card.is-read .article-cover {
      opacity: .58;
      filter: saturate(.62);
    }

    .article-card.is-read .article-card-title,
    .article-card.is-read .article-card-summary {
      color: var(--muted);
    }

    .article-card.is-read .article-card-arrow {
      color: var(--faint);
    }

    .article-cover {
      width: 118px;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border-radius: 6px;
      border: 1px solid var(--paper-line);
      background: var(--paper-deep);
    }

    .article-card-body {
      min-width: 0;
    }

    .article-card-title {
      margin: 0;
      color: var(--ink);
      font-family: var(--font-en);
      font-size: 22px;
      font-weight: 600;
      line-height: 1.25;
      letter-spacing: 0;
    }

    .article-card-summary {
      margin: 7px 0 0;
      color: var(--ink-soft);
      font-size: 14px;
      line-height: 1.55;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .article-card-meta,
    .detail-stat-line {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 9px;
      margin-top: 11px;
      color: var(--faint);
      font-size: 12px;
    }

    .article-level {
      display: inline-flex;
      align-items: center;
      border: 1px solid currentColor;
      border-radius: 4px;
      padding: 3px 7px;
      color: var(--red);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1px;
      line-height: 1;
    }

    .article-status {
      display: inline-flex;
      align-items: center;
      border: 1px solid currentColor;
      border-radius: 4px;
      padding: 3px 7px;
      color: var(--amber);
      background: rgba(252, 250, 243, .58);
      font-family: var(--font-cn);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0;
      line-height: 1;
      white-space: nowrap;
    }

    .article-status.read {
      color: var(--green);
      background: var(--green-soft);
    }

    .article-card-arrow {
      color: var(--red);
      font-size: 26px;
      line-height: 1;
    }

    .detail-header {
      align-items: flex-start;
      justify-content: flex-start;
      gap: 18px;
      padding: 28px 6px 18px;
      border-bottom: 1px solid var(--paper-line);
    }

    .detail-header-main {
      min-width: 0;
      max-width: 900px;
    }

    .detail-title {
      font-size: clamp(27px, 3vw, 42px);
      line-height: 1.12;
      letter-spacing: 0;
    }

    .detail-header .detail-meta {
      margin-top: 6px;
      font-size: 13px;
      line-height: 1.55;
    }

    .detail-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 300px;
      gap: 42px;
      padding: 24px 6px 0;
      align-items: start;
    }

    .detail-article {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }

    .detail-cover {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      border-radius: 6px;
      border: 1px solid var(--paper-line);
      background: var(--paper-deep);
      margin: 0;
    }

    .detail-content {
      color: var(--ink);
      font-family: var(--font-en);
      font-size: 21px;
      line-height: 1.74;
      max-width: 860px;
    }

    .detail-content p {
      margin: 0 0 20px;
    }

    .detail-content p:last-child {
      margin-bottom: 0;
    }

    .detail-side {
      display: grid;
      gap: 18px;
      position: sticky;
      top: 104px;
    }

    .detail-side-section {
      padding: 20px 0 0;
      border-top: 1px solid var(--paper-line);
    }

    .detail-side-section:first-child {
      padding-top: 0;
      border-top: 0;
    }

    .detail-side-title {
      margin: 0 0 10px;
      font-family: var(--font-cn);
      font-size: 16px;
      letter-spacing: 1px;
    }

    .vocab-list {
      display: grid;
      gap: 11px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .vocab-list li {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.55;
    }

    .vocab-list strong {
      display: block;
      color: var(--ink);
      font-family: var(--font-en);
      font-size: 17px;
    }

    .detail-action-bar,
    .import-action-bar {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      padding: 14px;
      border: 1px solid var(--paper-line);
      border-radius: 8px;
      background: rgba(247, 243, 233, .95);
      box-shadow: 0 -8px 28px rgba(52, 43, 31, .1);
      backdrop-filter: blur(14px);
    }

    .detail-action-bar {
      position: static;
      gap: 10px;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      width: 100%;
      margin: 24px 0 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      background: transparent;
      backdrop-filter: none;
    }

    .detail-action-bar .primary-btn {
      min-height: 44px;
      padding: 11px 14px;
      font-size: 15px;
      letter-spacing: 1px;
      box-shadow: none;
    }

    .import-action-bar .primary-btn {
      min-height: 58px;
    }

    .import-panel {
      width: min(820px, 100%);
      margin: 26px auto 0;
    }

    .import-panel .composer {
      min-height: 430px;
    }

    .import-action-bar {
      margin-top: 14px;
    }

