.card-page-wrapper { margin: 0; padding: 20px; background-color: #f4f6f8; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; display: flex; justify-content: center; } .npc-card { width: 100%; max-width: 580px; background: #ffffff; border: 1.5px solid #922610; border-radius: 4px; padding: 16px 18px 18px; box-sizing: border-box; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); } .card-top { display: flex; justify-content: space-between; align-items: baseline; } .card-name { margin: 0; font-size: 22px; font-weight: 700; color: #922610; line-height: 1.15; } .card-cr { font-size: 18px; font-weight: 500; color: #555; white-space: nowrap; } .card-subtitle { font-style: italic; font-size: 13.5px; color: #666; margin: 4px 0 14px 0; } .stat-boxes-row { display: flex; gap: 6px; justify-content: space-between; margin-bottom: 14px; } .stat-box { flex: 1; position: relative; border: 1.5px solid #222; border-radius: 2px; padding: 6px 2px 4px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 48px; background: #ffffff; box-sizing: border-box; } .badge-advantage { position: absolute; top: 1.5px; left: 2.5px; font-size: 8.5px; font-weight: 800; color: #111; line-height: 1; } .badge-proficiency { position: absolute; top: 1.5px; right: 2.5px; font-size: 8.5px; font-weight: 800; color: #111; line-height: 1; } .stat-mod { font-size: 15px; font-weight: 700; color: #111; line-height: 1.1; } .stat-code { font-size: 9.5px; font-weight: 600; color: #333; margin-top: 3px; text-transform: uppercase; } .action-boxes-grid { display: flex; gap: 8px; flex-wrap: wrap; } .action-card-box { flex: 1 1 calc(50% - 8px); min-width: 140px; border: 1px solid #333; border-radius: 2px; padding: 8px 10px; background: #ffffff; box-sizing: border-box; } .action-box-title { font-size: 13.5px; font-weight: 700; color: #222; margin-bottom: 4px; } .action-box-desc { font-size: 11.5px; line-height: 1.35; color: #444; } /* Single action takes full width */ .action-boxes-grid > .action-card-box:only-child { flex: 1 1 100%; } @media (max-width: 440px) { .card-page-wrapper { padding: 8px; } .stat-boxes-row { gap: 3px; } .stat-mod { font-size: 13px; } .action-card-box { flex: 1 1 100%; } }