html { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; -webkit-tap-highlight-color: transparent; }
h1, h2, h3, h4, h5, h6, .font-display { font-family: 'Plus Jakarta Sans', 'DM Sans', sans-serif; }
:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.q-opt { transition: all .15s ease; }
.q-opt.selected { border-color: #1e3a8a !important; background: #eff6ff !important; }
.palette-btn.flagged::after { content: ''; position: absolute; top: 2px; right: 2px; width: 8px; height: 8px; border-radius: 9999px; background: #f59e0b; }
.fade-in { animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media print { .no-print { display: none !important; } }
@media print {
  header, footer, nav, #offline-bar, #toast-root, #modal-root, button, aside { display: none !important; }
  body { background: #fff !important; }
  main .max-w-6xl { max-width: 100% !important; padding: 0 !important; }
  details { break-inside: avoid; }
  .rounded-3xl, .rounded-2xl { box-shadow: none !important; }
}
