      body {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          sans-serif;
        background: #f2f7f5;
        color: #475d5b;
        min-height: 100vh;
      }

      /* 统一单元格尺寸 */
      table {
        table-layout: fixed;
        border-collapse: collapse;
      }

      td,
      th {
        border-width: 0 !important;
      }

      td:not(:first-child) {
        width: 160px;
        height: 145px;
        padding: 8px;
        vertical-align: top;
      }

      th:first-child {
        width: 100px;
      }

      .card-normal {
        position: relative;
        width: 100%;
        height: 100%;
      }

      /* 翻转动效与居中显示 */
      .flip-card {
        perspective: 800px;
        width: 100%;
        height: 100%;
      }

      .flip-inner {
        position: relative;
        width: 100%;
        height: 100%;
        transform-style: preserve-3d;
        transition: transform 0.6s;
      }

      .flip-card.flipped .flip-inner {
        transform: rotateY(180deg);
      }

      .flip-face {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        backface-visibility: hidden;
        border-radius: 0.5rem;
        overflow: hidden;
      }

      .flip-front {
        background: rgba(250, 174, 43, 0.15);
        cursor: pointer;
        border: 1px solid rgba(0, 51, 44, 0.1);
      }

      .flip-back {
        background: #f2f7f5;
        transform: rotateY(180deg);
        padding: 8px;
        text-align: center;
        border: 1px solid rgba(0, 51, 44, 0.15);
      }

      /* 确保未翻转时背面不可交互，但保持可见性以支持动画 */
      .flip-card:not(.flipped) .flip-back {
        pointer-events: none;
      }

      .flip-card.flipped .flip-back {
        pointer-events: auto;
      }

      /* 内容溢出提示 */
      .rule-text {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      /* 毛玻璃卡片容器 */
      .glass {
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(0, 51, 44, 0.15);
        border-radius: 0.25rem;
      }

      /* 标签样式 */
      .card-label {
        position: absolute;
        top: 4px;
        left: 4px;
        right: 4px;
        display: flex;
        gap: 4px;
        flex-wrap: wrap;
        z-index: 10;
      }

      .label-badge {
        padding: 2px 6px;
        border-radius: 4px;
        font-size: 10px;
        font-weight: 600;
        white-space: nowrap;
      }

      .label-error {
        background: #fa5246;
        color: #f2f7f5;
      }

      .label-review {
        background: #faae2b;
        color: #00473e;
      }

      .label-mastered {
        background: #00473e;
        color: #f2f7f5;
      }

      .label-unpracticed {
        background: #475d5b;
        color: #f2f7f5;
      }

      /* 卡片背面内容 */
      .flip-back-content {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
      }

      .flip-back-text {
        flex: 1;
        overflow-y: auto;
        padding: 4px;
      }

      .flip-back-actions {
        padding: 4px;
        border-top: 1px solid rgba(0, 51, 44, 0.1);
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .flip-back-checkbox {
        display: flex;
        align-items: center;
        gap: 4px;
        font-size: 12px;
        color: #475d5b;
        cursor: pointer;
      }