/* Вёрстка рабочих листов. Взята с pedkurs.kz (worksheet-view.js,
   константа WORKSHEET_OUTPUT_CSS) — чтобы материал на rao.kz выглядел
   ровно так же, как у учителя на генераторе. Всё внутри .worksheet-render,
   на остальные страницы не влияет.
   Обновлять вместе с источником. */

            .worksheet-render {
                --worksheet-ink: #1f2937;
                --worksheet-muted: #526176;
                --worksheet-accent: #1f6b4f;
                --worksheet-accent-soft: #eef8f2;
                --worksheet-border: #b7e3c8;
                box-sizing: border-box;
                background: #e9edf0;
                color: var(--worksheet-ink);
                font-family: Arial, Helvetica, sans-serif;
                line-height: 1.45;
                padding: 24px;
            }
            .worksheet-render *, .worksheet-render *::before, .worksheet-render *::after { box-sizing: border-box; }
            .worksheet-page {
                background: #fff;
                box-shadow: 0 4px 18px rgba(15, 23, 42, .14);
                margin: 0 auto 24px;
                max-width: 210mm;
                min-height: 297mm;
                padding: 14mm 13mm 16mm;
                position: relative;
            }
            .worksheet-page.teacher {
                --worksheet-accent: #245a86;
                --worksheet-accent-soft: #eef5fb;
                --worksheet-border: #bfd8ed;
            }
            .worksheet-render.is-strict .worksheet-page,
            .worksheet-render.is-strict .worksheet-task,
            .worksheet-render.is-strict .worksheet-hero { border-radius: 0; }
            .worksheet-page::after {
                bottom: 7mm;
                color: #718096;
                content: attr(data-page-label);
                font-size: 8.5pt;
                position: absolute;
                right: 13mm;
            }
            .worksheet-hero {
                background: var(--worksheet-accent-soft);
                border: 2px solid var(--worksheet-accent);
                border-radius: 12px;
                margin: 0 0 16px;
                padding: 14px 18px;
                text-align: center;
            }
            .worksheet-hero h1 {
                color: #173f30;
                font-size: 18pt;
                letter-spacing: .02em;
                line-height: 1.18;
                margin: 0;
                text-transform: uppercase;
            }
            .teacher .worksheet-hero h1 { color: #183e60; }
            .student-sheet-header {
                align-items: stretch;
                background: #edf7ff;
                border: 2px solid #3d91c9;
                display: grid;
                gap: 14px;
                grid-template-columns: minmax(0, 1fr) 43%;
                margin: 0 0 16px;
                padding: 12px 14px;
            }
            .student-sheet-subject {
                color: #1c6da8;
                font-size: 18pt;
                font-weight: 800;
                letter-spacing: .025em;
                line-height: 1.1;
                margin: 0 0 7px;
                text-transform: uppercase;
            }
            .student-sheet-detail { color: #536170; font-size: 10.5pt; line-height: 1.42; margin: 2px 0; }
            .student-sheet-detail strong { color: #31485e; }
            .student-sheet-card {
                background: #fff;
                border: 1px solid #cddbe6;
                border-radius: 8px;
                color: #44515f;
                display: grid;
                gap: 6px;
                padding: 10px 12px;
            }
            .student-sheet-field { align-items: baseline; display: flex; font-size: 10.5pt; gap: 5px; white-space: nowrap; }
            .student-sheet-field strong { color: #303b46; }
            .student-sheet-line { border-bottom: 1.5px solid #52606d; flex: 1; min-width: 85px; transform: translateY(-1px); }
            .student-sheet-card .student-sheet-line.short { flex: 0 1 52px; min-width: 45px; }
            .worksheet-meta {
                border-bottom: 1px solid var(--worksheet-border);
                display: grid;
                gap: 8px 18px;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                margin: 0 0 14px;
                padding: 0 0 12px;
            }
            .worksheet-meta p { font-size: 10.5pt; margin: 0; }
            .worksheet-section-title {
                border-bottom: 2px solid var(--worksheet-accent);
                color: var(--worksheet-accent);
                font-size: 14pt;
                line-height: 1.25;
                margin: 20px 0 10px;
                padding-bottom: 5px;
            }
            .worksheet-task {
                border: 1px solid var(--worksheet-border);
                border-radius: 10px;
                break-inside: avoid;
                margin: 14px 0;
                overflow: hidden;
                padding: 15px 16px 14px;
                position: relative;
            }
            .worksheet-task.task-tone-1 { --task-accent: #2b79bc; --task-soft: #eef6ff; border-color: #b9d8f0; }
            .worksheet-task.task-tone-2 { --task-accent: #ec761f; --task-soft: #fff5ea; border-color: #f6cfab; }
            .worksheet-task.task-tone-3 { --task-accent: #249667; --task-soft: #ebf9f1; border-color: #b7e7d0; }
            .worksheet-task.task-tone-4 { --task-accent: #7a5bd6; --task-soft: #f4f0ff; border-color: #d9cff8; }
            .worksheet-task::before {
                background: var(--task-accent, var(--worksheet-accent));
                bottom: 0;
                content: '';
                left: 0;
                position: absolute;
                top: 0;
                width: 5px;
            }
            .worksheet-task h3 {
                color: var(--task-accent, var(--worksheet-accent));
                font-size: 12.5pt;
                line-height: 1.3;
                margin: 0 0 9px;
                padding-left: 2px;
            }
            .worksheet-option {
                background: var(--task-soft, var(--worksheet-accent-soft));
                border: 1px solid color-mix(in srgb, var(--task-accent, var(--worksheet-accent)) 28%, white);
                border-radius: 5px;
                margin: 6px 0;
                padding: 7px 9px;
            }
            .worksheet-resource {
                background: #fff7cb;
                border: 1px dashed #e4b84b;
                border-radius: 5px;
                color: #755817;
                font-weight: 700;
                margin: 8px 0;
                padding: 7px 9px;
            }
            .worksheet-page p { font-size: 10.5pt; margin: 7px 0; }
            .worksheet-page ul, .worksheet-page ol { margin: 7px 0 9px 23px; padding: 0; }
            .worksheet-page li { margin: 4px 0; }
            .worksheet-table-wrap { break-inside: avoid; margin: 11px 0 13px; overflow-x: auto; }
            .worksheet-table { border-collapse: collapse; font-size: 8.8pt; table-layout: fixed; width: 100%; }
            .worksheet-table th, .worksheet-table td { border: 1px solid var(--worksheet-border); hyphens: auto; overflow-wrap: break-word; padding: 8px 9px; text-align: left; vertical-align: top; word-break: normal; }
            .worksheet-table th { background: var(--worksheet-accent); color: #fff; font-weight: 700; }
            .worksheet-table tr:nth-child(even) td { background: var(--worksheet-accent-soft); }
            .worksheet-answer-line {
                border-bottom: 1.5px solid var(--worksheet-accent);
                color: #667085;
                font-size: 10.5pt;
                letter-spacing: .04em;
                margin: 12px 0;
                min-height: 25px;
                padding: 3px 0;
            }
            .worksheet-teacher-note {
                background: var(--worksheet-accent-soft);
                border-left: 4px solid var(--worksheet-accent);
                break-inside: avoid;
                margin: 10px 0;
                padding: 9px 11px;
            }
            .worksheet-figure { break-inside: avoid; margin: 10px 0 12px; text-align: center; }
            .worksheet-figure img { border-radius: 8px; display: inline-block; max-height: 62mm; max-width: 100%; object-fit: contain; }
            .worksheet-figure-pending {
                border: 1px dashed #c7d2de;
                border-radius: 8px;
                color: #718096;
                font-size: 9.5pt;
                margin: 10px 0;
                padding: 10px 12px;
            }
            .worksheet-check { align-items: flex-start; display: flex; font-size: 10.5pt; gap: 10px; margin: 8px 0; }
            .worksheet-checkbox {
                background: #fff;
                border: 1.8px solid #1f2937;
                border-radius: 3px;
                flex: 0 0 auto;
                height: 16px;
                margin-top: 1px;
                width: 16px;
            }
            .ws-math { font-family: 'Cambria Math', 'STIX Two Math', 'Latin Modern Math', 'Times New Roman', serif; font-size: 1.08em; }
            .ws-math i { font-style: italic; }
            .ws-math sup, .ws-math sub { font-size: .7em; line-height: 0; }
            .ws-frac { display: inline-flex; flex-direction: column; align-items: center; font-size: .9em; line-height: 1.08; margin: 0 .12em; text-align: center; vertical-align: middle; }
            .ws-num { padding: 0 .18em .08em; }
            .ws-den { border-top: 1px solid currentColor; padding: .08em .18em 0; }
            .ws-sqrt { white-space: nowrap; }
            .ws-sqrt-body { border-top: 1px solid currentColor; margin-left: .02em; padding: 0 .12em; }
            .ws-sqrt-deg { font-size: .6em; margin-right: -.3em; vertical-align: .9em; }
            .ws-blank { background: #fff; border: 1.4px solid currentColor; border-radius: 2px; display: inline-block; height: 1em; margin: 0 .1em; vertical-align: -.16em; width: 1em; }
            .worksheet-spacer { height: 8px; }
            @media (max-width: 760px) {
                .worksheet-render { padding: 10px; }
                .worksheet-page { min-height: auto; padding: 18px 14px 32px; }
                .worksheet-meta { grid-template-columns: 1fr; }
                .student-sheet-header { grid-template-columns: 1fr; }
                .worksheet-hero h1 { font-size: 15pt; }
            }
            @media print {
                @page { size: A4 portrait; margin: 0; }
                body { background: #fff !important; }
                .worksheet-render { background: #fff; padding: 0; }
                .worksheet-page { box-shadow: none; margin: 0; max-width: none; min-height: 297mm; page-break-after: always; break-after: page; }
                .worksheet-page:last-child { page-break-after: auto; break-after: auto; }
                .worksheet-page::after { display: none; }
                .worksheet-task, .worksheet-table-wrap, .worksheet-teacher-note { break-inside: avoid; page-break-inside: avoid; }
            }
        