.font-display {
    font-family: 'Playfair Display', Georgia, serif;
}

body {
    font-family: 'Inter', system-ui, sans-serif;
}

html.dark body {
    background-color: #0f0f1a;
    color: #fef9c3;
}

html.dark .bg-white {
    background-color: #1a1a2e;
}

html.dark .border-parchment-200 {
    border-color: #252540;
}

html.dark textarea,
html.dark input,
html.dark select {
    background-color: #0f0f1a;
    border-color: #252540;
    color: #fef9c3;
}

textarea:focus, input:focus, select:focus {
    outline: none;
    border-color: #eab308;
    box-shadow: 0 0 0 1px #eab308;
}

.keyword-entry:hover {
    border-color: #fde047;
}

@media print {
    .no-print { display: none !important; }
    body { background: white; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .shadow-sm { box-shadow: none; }
    article { border: none; }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.wizard-step:not(.hidden) {
    animation: fadeIn 0.3s ease-out;
}
