#print-container {
  display: none;
}

@media print {
  body > *:not(#print-container) {
    display: none !important;
  }

  #print-container {
    display: block !important;
  }

  @page {
    size: letter portrait;
    margin: 0.75in;
  }

  body {
    background: #fff !important;
    color: #000 !important;
  }

  .print-page {
    width: 100%;
  }

  .print-page-break {
    page-break-before: always;
  }

  .print-title {
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    color: #1a1a2e;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
  }

  .print-subtitle {
    font-size: 13px;
    text-align: center;
    color: #555;
    margin-bottom: 22px;
    text-transform: capitalize;
    letter-spacing: 0.3px;
  }

  .print-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    width: 100%;
  }

  .print-tile {
    background: #eef0f2;
    border: 1.5px solid #ccc;
    border-radius: 8px;
    padding: 10px 6px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    word-break: break-word;
    hyphens: auto;
    color: #1a1a2e;
  }

  .print-answer-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }

  .print-answer-row {
    border-radius: 8px;
    padding: 16px 20px;
    text-align: center;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
  }

  .print-concept {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 5px;
  }

  .print-elements {
    font-size: 16px;
    opacity: 0.88;
    line-height: 1.4;
  }
}
