/* Safe class-backed formats emitted by QuizMachine Quill Extensions 1.0.0 (issue #970).
   This file is shared by normal, embedded, and print rendering; keep its class names in lockstep
   with QuillRichTextFormatPolicy and quiz-quill-extensions.js. */
:root {
    /* Consolas lacks several common logic glyphs. Keep math-capable fallbacks ahead of
       Liberation Mono, whose narrow arrows make ⇔ and ⇒ unreadable at quiz text sizes. */
    --qm-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Cascadia Mono", "Segoe UI Symbol", "Cambria Math", "DejaVu Sans Mono", "Liberation Mono", "Courier New", monospace;
    --bs-font-monospace: var(--qm-font-monospace);
}

.ql-font-serif { font-family: Georgia, "Times New Roman", serif; }
.ql-font-monospace { font-family: var(--qm-font-monospace); }

.ql-size-small { font-size: 0.75em; }
.ql-size-large { font-size: 1.5em; }
.ql-size-huge { font-size: 2.5em; }

.ql-color-black { color: #000; }
.ql-color-red { color: #e60000; }
.ql-color-orange { color: #f90; }
.ql-color-yellow { color: #b88600; }
.ql-color-green { color: #008a00; }
.ql-color-blue { color: #06c; }
.ql-color-purple { color: #7030a0; }
.ql-color-white { color: #fff; }

.ql-bg-black { background-color: #000; }
.ql-bg-red { background-color: #e60000; }
.ql-bg-orange { background-color: #f90; }
.ql-bg-yellow { background-color: #ff0; }
.ql-bg-green { background-color: #008a00; }
.ql-bg-blue { background-color: #06c; }
.ql-bg-purple { background-color: #93f; }
.ql-bg-white { background-color: #fff; }

.ql-video {
    aspect-ratio: 16 / 9;
    border: 0;
    display: block;
    max-width: 100%;
    width: 100%;
}

.qm-markdown-content table,
.qm-answer-feedback table {
    border-collapse: collapse;
    margin-block: 0.75rem;
    table-layout: fixed;
    width: 100%;
}

.qm-markdown-content th,
.qm-markdown-content td,
.qm-answer-feedback th,
.qm-answer-feedback td {
    border: 1px solid currentColor;
    padding: 0.35rem 0.5rem;
    vertical-align: top;
}

/* Issue #1547: AI feedback requested while taking a quiz used to render as a plain block directly
   under the author's own feedback, same type, same indent, so the two read as one comment. The
   whole point of the panel is that a machine wrote it and the author did not.

   Deliberately slight: a tinted ground, an accent edge and the same star the button that requests
   it carries. The authored feedback keeps no treatment at all, so the contrast between them is the
   signal — making both decorated would say nothing.

   This lives here rather than in site.css because the same renderer runs inside third-party
   iframes, which load quiz-embed.css instead; both pull in this file. */
.qm-ai-feedback-panel {
    background: #f4f1fb;
    border-inline-start: 3px solid #6f52c9;
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
}

/* The marker is an icon, not a word: it needs no translation, and the issue asked for a slight
   highlight rather than a banner. aria-hidden is not available on a pseudo-element, but generated
   content is not exposed as text by assistive technology, and the panel already announces itself
   through role="status" — a star read aloud before every critique would be noise. */
.qm-ai-feedback-panel::before {
    content: "\f589"; /* bi-stars */
    font-family: "bootstrap-icons";
    color: #6f52c9;
    margin-inline-end: 0.35rem;
}

/* Rendered feedback arrives as Markdown, so its first child is a block paragraph and the star would
   otherwise sit alone on the line above it. A plain-text failure message needs no help — it is a
   bare text node and already shares the line. */
.qm-ai-feedback-panel > :first-child {
    display: inline;
}

