@font-face {
    font-family: 'Noto Sans';
    src: url('fonts/NotoSansSC-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Sans - Bold';
    src: url('fonts/NotoSansSC-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Page setup for PDF */
@page {
    size: A4 landscape;
    margin: 1cm;
}

body {
    font-family: "Noto Sans", sans-serif;
    font-size: 14pt; 
}

h1 {
    font-size: 16pt;
    margin-bottom: 0.5cm;
}

table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
    font-size: 12pt;
}

th, td {
    border: 1px solid #d3d3d3;
    padding: 3px 5px; 
    text-align: left;
    word-wrap: break-word;
    overflow: hidden;
}

/* Narrow columns for HSK level and frequency number */
.frequency_band {
    width: 40px;
    text-align: center;
}

.frequency_number {
    width: 50px;
    text-align: center;
}

/* Chinese vocab column - compact but readable */
.mandarin_vocabulary {
    width: 100px;
    text-align: left;
}

.vocabulary_pronunciation {
    width: 150px;
    text-align: left;
}

/* Zebra striping */
tbody tr:nth-child(odd) {
    background-color: #f9f9f9;
}

tbody tr:nth-child(even) {
    background-color: #ffffff;
}

thead tr {
    background-color: #e8e8e8;
    font-weight: bold;
}

/* Repeat table headers on each page */
thead {
    display: table-header-group;
}

/* Prevent row breaks across pages */
tr {
    page-break-inside: avoid;
}

/* Bold text */
strong {
    font-family: "Noto Sans - Bold", sans-serif;
}

/* HTML-specific formatting (non-PDF view) */
.vocabulary:nth-child(odd) {
    background-color: #ededed;
}

.vocabulary:nth-child(even) {
    background-color: #ffffff;
}

.vocabulary {
    padding: 12px;
    margin-bottom: 16px;
}