@page { size: A4 landscape; margin: 1cm; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: Arial, sans-serif; font-size: 9pt; line-height: 1.2; }
.container { width: 277mm; height: 190mm; padding: 1mm; }
table { border-collapse: collapse; width: 100%; height:74%; }
.charinfo{height:92%}
td, th { border: 1px solid #000; padding: 2px 4px; }
.header { display: flex; justify-content: space-between; font-size: 8pt; margin-bottom: 3mm; page-break-after: avoid; }
.header-left { font-weight: bold; }
.header-right { font-weight: normal; }
.title-row { display: flex; justify-content: center; align-items: center; gap: 2mm; margin-bottom: 5mm; page-break-inside: avoid; page-break-after: avoid; }
.header-decoration { height: 90px; width: 340px; }
.section { display: inline-block; vertical-align: top; }
.attr-box { display: inline-block; border: 2px solid #000; padding: 3px 8px; margin: 2px; text-align: center; min-width: 50px; }
.attr-label { font-weight: bold; font-size: 8pt; }
.attr-value { font-size: 12pt; font-weight: bold; }
.info-box { border: 2px solid #000; padding: 5px; margin: 5px 0; display: inline-block; min-width: 320px; font-size: 12pt; line-height: 1.8;}
.flex { display: flex; gap: 10px; }
.col { flex: 1; }
.col-chartype { flex: 1; }
.col-charinfo { flex: 1; }
.small { font-size: 8pt; }
.right { text-align: right; }
.main-content { margin-bottom: 5mm; page-break-before: avoid; }
.left-section { display: flex; gap: 2px; width: 50%; flex-wrap: wrap; }
.right-section { width: 50%; display: flex; flex-direction: column; height: 100%; }
.skills-content { flex: 1; display: flex; flex-direction: column; }
.margin-top-2 { margin-top: 2mm; }
.margin-top-3 { margin-top: 3mm; }
.margin-top-5 { margin-top: 5mm; }
.margin-bottom-3 { margin-bottom: 3mm; }
.left-section > .margin-top-5 { width: 100%; }
/*.left-section .history-table { width: 100%; line-height: 1; } */
.bonus-row { display: flex; justify-content: space-between; font-size: 11pt; line-height: 1.5;}
.attr-box-80 { min-width: 80px; }
.attr-box-100 { min-width: 100px; }
.attr-box-120 { min-width: 120px; }
.history-table { line-height: 1; width: 400px; }
.skills-title { font-weight: bold; text-align: center; margin-bottom: 3mm; }
.skills-container { display: flex; gap: 5mm; width: 100%; }
.skills-table { font-size: 8pt; flex: 1; width: 50%; }
.skills-table td:nth-child(3), .skills-table th:nth-child(3) { background-color: #e0e0e0; }
.skills-stack { font-size: 8pt; flex: 1; width: 50%; }
.senses-row { display: flex; justify-content: space-between;margin-top: 1mm; font-size: 8pt; }
.info-box hr { border: 1px solid #000; margin: 3px 0; }
.stats-row { width: 100%; display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 3mm; }
.combat-stats { width: 100%; margin-bottom: 3mm; display: flex; justify-content: space-between; font-size: 10pt; }
.combat-stats-small { font-size: 8pt; }
.skills-row { width: 100%; display: flex; gap: 5mm; }
.skills-col-table { font-size: 8pt; flex: 1; height: unset;}
.unlearned-small { font-size: 7pt; }
.border-top-bold { border-top: 2px solid #000; }
.bonus-table { font-size: 8pt; width: 100%; }
.weapons-table { font-size: 8pt; width: 100%; height: 100%;}
.pp-col { background-color: #e0e0e0; }
.spells-table { font-size: 8pt; width: 100%; }
.spell-footer { margin-top: 5mm; }
.spell-footer p { margin-bottom: 2mm; font-size: 8pt; }
.items-table { font-size: 8pt; width: 100%; }
.spell-note { margin-top: 3mm; font-size: 8pt; text-align: center; }
.equipment-left { width: 25%; display: flex; flex-direction: column; }
.char-icon-section { margin-bottom: 5mm; text-align: center; }
.char-icon { width: 100px; height: 100px; }
.currency-table { font-size: 8pt; width: 100%; height: auto; margin-top: 5mm; margin-bottom: 3mm; }
.currency-table td { text-align: center; padding: 4px 2px; }
.equipment-right { width: 75%; flex: 1; margin-left: 5mm; }
.equipment-section { font-size: 8pt; width: 100%; margin-bottom: 3mm; height: auto; }
.equipment-section th { background-color: #d0d0d0; text-align: center; padding: 4px; }
.equipment-section td { min-height: 18px; height: 18px; }
.equipment-section td:first-child { width: 150px; font-weight: bold; }
.weight-total { text-align: center; background-color: #e8e8e8; }
@media print { body { print-color-adjust: exact; -webkit-print-color-adjust: exact; } }
