.task-modal { width: min(880px,calc(100vw - 36px)); overflow: hidden; overscroll-behavior: contain; transition: width 240ms cubic-bezier(.22,1,.36,1), max-height 240ms cubic-bezier(.22,1,.36,1); }
.task-modal[open] { display: flex; flex-direction: column; }
.modal-page-stack { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; max-height: inherit; width: 100%; }
.modal-page { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; max-height: inherit; width: 100%; }
.task-modal.is-fullscreen { width: calc(100vw - 24px); height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); border-radius: 15px; }
.task-modal .modal-header { position: relative; top: auto; left: auto; z-index: auto; height: auto; flex: 0 0 auto; align-items: flex-start; gap: 16px; background: none; }
.task-modal .modal-content { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #fff2de25 transparent; }
.task-modal .modal-content:has(+ .modal-footer) { padding-bottom: 0; }
.task-modal .modal-details-content { display: flex; flex-direction: column; overflow: hidden; }
.modal-details-content > :not(.modal-document) { flex-shrink: 0; }
.modal-identity { min-width: 0; }
.modal-icon-actions { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.modal-icon-actions .icon-button { width: 33px; height: 33px; }
.task-modal .modal-close svg { width: 24px; height: 24px; flex: 0 0 24px; }
.modal-answer-back { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 12px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: .9375rem; }
.modal-answer-back:hover:not(:disabled) { background: transparent; color: var(--txt); }
.modal-quiz-content { padding: 0 1.5rem; }
.answer-status { margin: 0 0 18px; color: var(--muted); font-size: .875rem; }
.answer-footer { align-items: center; justify-content: space-between; }
.answer-footer > .answer-status { flex: 1 1 140px; min-width: 0; margin: 0; font-size: .8125rem; }
.answer-footer-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.modal-footer .answer-refresh { width: 36px; height: 36px; padding: 0; border: 0; background: transparent; }
.answer-footer-actions button:disabled { cursor: default; }
.answer-field { display: flex; flex-direction: column; gap: 9px; margin-bottom: 22px; }
.answer-field-label { font-size: .9375rem; color: var(--txt); }
.answer-field textarea { display: block; width: 100%; min-height: 240px; padding: 15px; resize: vertical; border: 1px solid var(--line); border-radius: 10px; background: #0a0907; color: var(--txt); font: 1rem/1.8 var(--sans); tab-size: 4; }
.answer-field textarea.answer-code,.submitted-answer-file pre { font-family: var(--mono); white-space: pre; overflow: auto; }
.answer-field textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.answer-message { color: #d5b694; white-space: pre-wrap; margin: 12px 0; font-size: .9375rem; }
.answer-message:empty { display: none; }
.answer-statement { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; font-size: .9375rem; line-height: 1.7; }
.answer-statement input { width: 18px; height: 18px; margin-top: 4px; flex: 0 0 18px; accent-color: var(--accent); }
.submitted-answer-text,.submitted-answer-file pre { padding: 16px; margin: 12px 0 22px; border: 1px solid var(--line); border-radius: 10px; background: #0a0907; color: var(--txt); font: 1rem/1.8 var(--sans); white-space: pre-wrap; overflow-wrap: anywhere; }
.submitted-answer-file h3 { font-size: .9375rem; font-weight: 500; }
.modal-footer button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.quiz-live-status { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--muted); font-size: .875rem; }
.quiz-intro:empty { display: none; }
.quiz-question { padding: 22px 0; border-bottom: 1px solid var(--line); }
.quiz-question:first-child { padding-top: 0; }
.quiz-question:last-child { border-bottom: 0; }
.quiz-question-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 18px; }
.quiz-question-heading h3 { font-size: 1rem; font-weight: 550; }
.quiz-question-state { color: var(--muted); font-size: .875rem; }
.quiz-field { display: inline-flex; flex-wrap: wrap; vertical-align: middle; align-items: center; gap: 10px; max-width: 100%; }
.quiz-field :is(input:not([type=radio]):not([type=checkbox]),select,textarea) { min-width: 65px; max-width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; background: #0a0907; color: var(--txt); font: .9375rem/1.6 var(--sans); }
.quiz-field input:not([type=radio]):not([type=checkbox]) { width: 160px; }
.quiz-field :is(input,select,textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.quiz-field-radio,.quiz-field-checkbox,.quiz-field-textarea { display: flex; width: 100%; flex-direction: column; align-items: stretch; }
.quiz-field textarea { width: 100%; resize: vertical; }
.quiz-option { position: relative; display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; gap: 12px; width: 100%; padding: 13px 15px; border: 1px solid #fff2de18; border-radius: 12px; background: #fff2de03; cursor: pointer; }
.quiz-option:hover:not(:has(input:disabled)) { border-color: #fff2de40; background: #fff2de07; }
.quiz-option:has(input:checked) { border-color: #dffe9660; background: #dffe960b; }
.quiz-option:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 3px; }
.quiz-option:has(input:disabled) { cursor: default; opacity: .55; }
.quiz-field .quiz-option input:is([type=radio],[type=checkbox]) { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.quiz-option-mark { display: grid; place-items: center; width: 20px; height: 20px; margin-top: 2px; border: 1px solid #fff2de60; border-radius: 6px; color: var(--bg); }
.quiz-option input[type=radio] + .quiz-option-mark { border-radius: 50%; }
.quiz-option-mark svg { visibility: hidden; stroke-width: 2.5; }
.quiz-option input:checked + .quiz-option-mark { border-color: var(--accent); background: var(--accent); }
.quiz-option input:checked + .quiz-option-mark svg { visibility: visible; }
.quiz-option .quiz-option-content { min-width: 0; color: var(--txt); font: .9375rem/1.6 var(--sans); overflow-wrap: anywhere; }
.quiz-option-content.markdown-body > :first-child { margin-top: 0; }
.quiz-option-content.markdown-body > :last-child { margin-bottom: 0; }
.quiz-option-content.markdown-body pre { white-space: pre-wrap; }
.quiz-choice-clear { align-self: flex-start; padding: 5px 0; border: 0; background: transparent; color: var(--muted); font-size: .8125rem; }
.quiz-choice-clear:hover:not(:disabled) { background: transparent; color: var(--txt); }
.quiz-choice-clear:disabled { opacity: .35; }
.quiz-standalone-field { display: flex; flex-direction: column; gap: 9px; margin: 18px 0; }
.quiz-feedback { margin-top: 20px; padding: 14px 16px; border-left: 2px solid var(--accent); background: #fff2de05; }
.quiz-question-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.quiz-question-actions:empty { display: none; }
.quiz-question-actions button { display: inline-flex; gap: 7px; align-items: center; }
.submission-options { display: grid; gap: 2px; }
.compact-popover { position: fixed; inset: auto; z-index: 100; width: max-content; min-width: 176px; max-width: calc(100vw - 20px); max-height: min(360px,calc(100dvh - 20px)); overflow: auto; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface,#171510); color: var(--txt); box-shadow: 0 12px 32px #0005; font: .9375rem/1.5 var(--sans); }
.compact-popover[hidden] { display: none; }
.compact-popover::backdrop { background: transparent; }
.compact-popover :is(button,a) { display: flex; align-items: center; justify-content: flex-start; gap: 9px; width: 100%; min-height: 38px; padding: 9px 12px; border: 0; border-radius: 11px; background: transparent; color: var(--txt); font: inherit; text-align: left; text-decoration: none; }
.compact-popover :is(button,a):is(:hover,:focus-visible) { background: #fff2de0a; outline: none; }
.compact-popover [aria-checked=true] { background: #c9db7c22; color: var(--accent); }
.compact-popover :is(button,a):disabled { opacity: .35; cursor: default; }
.compact-popover :is(.quiz-attempt-choices,.quiz-page-choices) [aria-checked=true] { color: var(--accent); opacity: 1; }
.compact-popover .submission-option svg { flex: 0 0 18px; }
.quiz-page-navigation { display: flex; align-items: center; gap: 3px; margin-right: auto; }
.quiz-attempt-navigation { display: flex; align-items: center; gap: 3px; }
.quiz-page-cluster { display: flex; align-items: center; flex-wrap: wrap; flex: 1 1 auto; gap: 6px 14px; min-width: 0; }
.quiz-page-cluster .quiz-page-navigation { margin-right: 0; }
.quiz-page-cluster .quiz-live-status { margin: 0; font-size: .8125rem; line-height: 1.5; max-width: 230px; }
.quiz-attempt-limit { margin: 0; font-size: .8125rem; line-height: 1.5; color: var(--muted); }
.quiz-page-count { display: inline-flex; justify-content: center; align-items: center; min-width: 76px; height: 36px; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.quiz-select-trigger { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 90px; max-width: 100%; padding: .5rem 1rem; border: 1px solid var(--line); border-radius: 7px; background: #0a0907; color: var(--txt); text-align: left; }
.quiz-select-label { min-width: 0; overflow-wrap: anywhere; }
.quiz-select-trigger svg { width: 16px; height: 16px; flex: 0 0 16px; color: var(--muted); }
.quiz-select-trigger[data-placeholder=true] { color: var(--muted); }
.quiz-select-trigger:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.quiz-select-trigger[aria-expanded=true] { border-color: #c9db7c70; background: #fff2de08; }
.quiz-select-popover { min-width: 190px; max-width: min(380px,calc(100vw - 20px)); }
.quiz-select-options { display: grid; gap: 2px; }
.compact-popover .quiz-select-option { justify-content: space-between; gap: 15px; }
.compact-popover .quiz-select-option[aria-selected=true] { background: #c9db7c22; color: var(--accent); }
.quiz-select-option svg { width: 16px; height: 16px; flex: 0 0 16px; }
.quiz-draft-conflict { margin-top: 18px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; font-size: .875rem; line-height: 1.7; }
.quiz-draft-conflict > button { display: inline-flex; align-items: center; gap: 7px; margin: 12px 8px 0 0; }
.quiz-conflict-values { max-height: 220px; margin-top: 12px; overflow: auto; }
.quiz-conflict-row { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; margin-bottom: 12px; }
.quiz-conflict-label { grid-column: 1 / -1; color: var(--muted); }
.quiz-conflict-row pre { padding: 8px; border-radius: 6px; background: #0a0907; white-space: pre-wrap; overflow-wrap: anywhere; }
.quiz-conflict-row > div { min-width: 0; }
.quiz-conflict-row > div > span { font-size: .8125rem; color: var(--muted); }
.modal-footer .quiz-page-arrow,.modal-footer .quiz-refresh { width: 36px; height: 36px; padding: 0; border: 0; background: transparent; }
.modal-footer .quiz-page-trigger { min-width: 76px; height: 36px; padding: 0 9px; border: 0; background: transparent; font-variant-numeric: tabular-nums; }
.modal-footer .quiz-attempt-trigger { min-width: 76px; max-width: 160px; height: 36px; padding: 0 9px; border: 0; background: transparent; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.quiz-footer-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.quiz-footer-actions button:disabled,.quiz-page-navigation button:disabled,.quiz-attempt-navigation button:disabled { opacity: .3; cursor: default; }
.quiz-page-choices { display: grid; grid-template-columns: repeat(5,36px); gap: 3px; }
.compact-popover .quiz-page-choice { justify-content: center; width: 36px; min-height: 36px; padding: 0; font-variant-numeric: tabular-nums; }
.compact-popover .quiz-page-choice[aria-checked=true]:disabled { opacity: 1; }
.quiz-question-heading { margin-bottom: 14px; }
.quiz-question-state:empty,.quiz-field-result:empty { display: none; }
.quiz-question-state[data-result] { padding: 3px 9px; border-radius: 7px; font-size: .8125rem; }
.quiz-question-state[data-result=correct] { color: #c9dc9b; background: #a6c49b13; }
.quiz-question-state[data-result=incorrect] { color: #dfa899; background: #dfa89913; }
.quiz-question-state[data-result=partial] { color: #dfc190; background: #dfc19013; }
.quiz-field-result[data-result=correct] { color: #c9dc9b; }
.quiz-field-result[data-result=incorrect] { color: #dfa899; }
.quiz-field-result[data-result=partial] { color: #dfc190; }
.quiz-question-body p { margin-bottom: 18px; }
.quiz-question-body :is(th,td) { vertical-align: middle; border-color: #fff2de10; }
.quiz-feedback { padding: 10px 14px; border-radius: 0 8px 8px 0; font-size: .9375rem; }
.quiz-feedback .markdown-body { font-size: .9375rem; }
.compact-popover.quiz-submit-confirmation { width: max-content; max-width: min(300px,calc(100vw - 20px)); padding: 14px 16px; }
.quiz-submit-confirmation p { margin: 0; font-size: .875rem; line-height: 1.6; }
.quiz-field-result { color: var(--muted); font: .8125rem/1.6 var(--sans); white-space: pre-wrap; }
.answer-editor-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 16px; }
.answer-format-options { display: inline-flex; flex-wrap: wrap; gap: 5px; }
.answer-format-options button { padding: 6px 10px; font-size: .875rem; color: var(--muted); }
.answer-format-options button[aria-pressed=true] { background: #fff2de12; color: var(--txt); }
.answer-uploads { margin: 18px 0; }
.answer-file-picker { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.answer-file-picker input { font: .9375rem/1.6 var(--sans); color: var(--muted); max-width: 100%; }
.answer-file-picker input::file-selector-button { padding: 9px 12px; margin-right: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff2de08; color: var(--txt); font: inherit; cursor: pointer; }
.answer-upload-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.answer-upload-row.is-removed > span { color: var(--muted); text-decoration: line-through; }
.answer-upload-row button { display: inline-flex; gap: 6px; align-items: center; flex-shrink: 0; font-size: .875rem; }
.task-modal .modal-header.modal-subview-header { flex-direction: row; align-items: center; gap: 16px; }
.modal-subview-header .modal-identity { flex: 1; min-width: 0; }
.modal-subview-header .modal-icon-actions { align-self: center; margin: 0; }
.modal-subview-header .modal-answer-back { display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 36px; margin: 0; padding: 0 6px; gap: 12px; color: var(--txt); text-align: left; }
.answer-availability { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font: .9375rem/1.7 var(--sans); white-space: pre-wrap; }
.answer-availability:empty { display: none; }
.modal-subview-header .modal-answer-back > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 1rem; }
.modal-subview-header .modal-answer-back svg { width: 24px; height: 24px; flex: 0 0 24px; }
.modal-subview-header .modal-icon-actions .icon-button { width: 36px; height: 36px; }
.modal-accessible-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.modal-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; margin-bottom: 17px; }
.modal-meta .grade-chip { padding: 3px 7px; border-radius: 5px; background: #fff2de08; }
.availability-chip { color: #d5b694; }
.task-modal .modal-period { gap: 30px; margin-bottom: 20px; }
.task-modal :is(.modal-kicker,.status-chip,.grade-chip,.availability-chip,.modal-period dt) { font-size: .875rem; }
.task-modal .modal-period dd { font-size: .9375rem; }
.modal-detail-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.modal-text-tabs { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; min-width: 0; }
.modal-text-tabs .modal-tab { flex-shrink: 0; padding: .25rem 0; border: 0; border-radius: 0; background: transparent; color: var(--muted); font-size: 1rem; font-weight: 400; white-space: nowrap; }
.modal-text-tabs .modal-tab:hover:not(:disabled) { border-color: transparent; background: transparent; color: var(--txt); }
.modal-text-tabs .modal-tab[aria-selected=true] { color: var(--txt); font-weight: 650; }
.modal-tab-separator { color: var(--muted); opacity: .5; font-size: 1rem; font-weight: 900; user-select: none; }
.modal-processing { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-left: auto; }
/* Transitions.dev Matrix recipe supplied for this interface. */
.modal-translation-loader { display: inline-flex; align-items: center; gap: .5rem; }
.t-matrix { --matrix-cycle: 1200ms; --matrix-ease: ease-in-out; --matrix-base: var(--line); --matrix-active: var(--txt); display: grid; grid-template-columns: repeat(4,2px); grid-auto-rows: 2px; gap: 2px; width: 14px; height: 14px; flex: 0 0 14px; }
.t-matrix i { display: block; min-width: 0; min-height: 0; background: var(--matrix-base); animation: t-matrix-pulse var(--matrix-cycle) var(--matrix-ease) infinite; animation-delay: calc(var(--d,0) * 1ms); }
.t-matrix i.is-gap { visibility: hidden; animation: none; }
.button-icon-loader { margin: 2px; }
.modal-entry-error { color: var(--danger, #d89ba9); font-size: .875rem; }
@keyframes t-matrix-pulse { 0%,45%,100% { background: var(--matrix-base); } 15% { background: var(--matrix-active); } }
button.is-loading { position: relative; }
.task-modal button:is(.is-loading,.is-icon-loading):disabled { opacity: 1; }
.button-loading-sizer { display: inline-flex; align-items: center; justify-content: center; gap: inherit; visibility: hidden; pointer-events: none; }
button.is-loading > .t-matrix { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.modal-processing .translation-retry { width: 1.5rem; height: 1.5rem; padding: 0; border: 0; background: transparent; color: var(--muted); }
.modal-processing .translation-retry svg { width: .85rem; height: .85rem; }
.modal-document { flex: 0 1 auto; min-height: 0; max-height: 52dvh; padding: 26px 0 12px; overflow: auto; overscroll-behavior: contain; outline-offset: -2px; scrollbar-width: thin; scrollbar-color: #fff2de25 transparent; }
.is-fullscreen .modal-document { flex: 1 1 auto; max-height: none; }
.detail-empty { padding: 35px 0; color: var(--muted); font-size: 1rem; }
.modal-footer { position: sticky; bottom: 0; z-index: 1; display: flex; flex: 0 0 auto; justify-content: end; flex-wrap: wrap; gap: 12px; padding: 1rem; background: var(--surface); }
.modal-source-link { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 1rem; }
.modal-footer .modal-source-link { padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff2de04; }
.modal-footer .modal-source-link:hover { border-color: #fff2de32; background: #fff2de09; }
.modal-footer .modal-submit-link { color: var(--txt); }
.modal-attachment { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.modal-attachment:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.attachment-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.attachment-heading h3 { font-size: 1rem; font-weight: 500; overflow-wrap: anywhere; }
.attachment-heading a { white-space: nowrap; }
.markdown-body { color: #e4d8c6; font: 1rem/1.9 var(--sans); letter-spacing: -.015em; white-space: normal; overflow-wrap: anywhere; }
.markdown-body > * { font-size: inherit; font-weight: inherit; letter-spacing: inherit; }
.markdown-body > :first-child { margin-top: 0; }
.markdown-body > :last-child { margin-bottom: 0; }
.markdown-body p { margin-bottom: 17px; }
.markdown-body :is(h1,h2,h3,h4,h5,h6) { margin: 26px 0 12px; color: var(--txt); font-family: var(--sans); font-weight: 550; line-height: 1.5; letter-spacing: -.03em; }
.markdown-body h1 { font-size: 1.4375rem; }
.markdown-body h2 { font-size: 1.1875rem; }
.markdown-body :is(h3,h4,h5,h6) { font-size: 1rem; }
.markdown-body :is(ul,ol) { padding-left: 24px; margin-bottom: 17px; }
.markdown-body ul { list-style: disc; }
.markdown-body ol { list-style: decimal; }
.markdown-body li { padding-left: 3px; margin-bottom: 7px; font: inherit; }
.markdown-body li::marker { color: #8d8172; }
.markdown-body li > p { margin-bottom: 7px; }
.markdown-body li :is(ul,ol) { margin: 8px 0; }
.markdown-body :is(strong,b) { color: var(--txt); font-weight: 650; }
.markdown-body em { font-style: italic; }
.markdown-body a { color: var(--accent); font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.markdown-body a.attachment-source-link { display: inline-flex; align-items: center; gap: 5px; font-family: var(--sans); text-decoration: none; }
.markdown-body blockquote { padding: 9px 17px; margin: 16px 0 20px; border-left: 2px solid #b9a0ff70; background: #b9a0ff07; color: #c5bba9; }
.markdown-body blockquote p:last-child { margin-bottom: 0; }
.markdown-body pre { padding: .5rem 1rem; margin: 17px 0 22px; border: 1px solid var(--line); border-radius: 10px; background: #0a0907; font: 1rem/1.8 var(--mono); white-space: pre; tab-size: 4; overflow: auto; scrollbar-width: thin; }
.markdown-body code { padding: 2px 5px; border: 1px solid #fff2de0a; border-radius: 4px; background: #fff2de09; font-family: var(--mono); white-space: break-spaces; }
.markdown-body pre code { padding: 0; border: 0; background: none; font: inherit; white-space: pre; }
.markdown-body table { display: block; width: 100%; margin: 17px 0 24px; border-collapse: collapse; font: .875rem/1.75 var(--sans); overflow: auto; scrollbar-width: thin; }
.markdown-body :is(th,td) { min-width: 75px; padding: 10px 13px; border: 1px solid #fff2de21; font: inherit; text-align: left; vertical-align: top; }
.markdown-body th { background: #fff2de08; color: var(--txt); font-weight: 550; }
.markdown-body tr:nth-child(even) { background: #fff2de03; }
.markdown-body hr { margin: 25px 0; border: 0; border-top: 1px solid var(--line); }
.markdown-body input[type=checkbox] { width: 13px; height: 13px; margin-right: 6px; accent-color: var(--accent); }
@media (max-width: 650px) {
  .task-modal .modal-header { flex-direction: column-reverse; gap: 8px; }
  .modal-icon-actions { align-self: flex-end; margin-top: -7px; margin-right: -6px; }
  .task-modal .modal-header h2 { font-size: 1.25rem; }
  .modal-detail-toolbar { gap: 8px; }
  .modal-text-tabs { gap: .4rem; }
  .modal-document { max-height: 48dvh; }
  .task-modal.is-fullscreen { width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; border-color: var(--transparent); }
  .markdown-body pre { padding: 13px; }
  .task-modal .modal-period { gap: 18px; }
  .modal-footer { padding: 14px 20px 16px; gap: 8px; }
  .attachment-heading { align-items: flex-start; }
}
@media (max-width: 650px) and (max-height: 700px) {
  .task-modal { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  .task-modal .modal-header { padding: 12px 16px 10px; gap: 2px; }
  .task-modal .modal-header .modal-kicker { margin-bottom: 4px; }
  .task-modal .modal-content { padding-right: 16px; padding-left: 16px; }
  .modal-meta { margin-bottom: 10px; }
  .task-modal .modal-period { gap: 16px; margin-bottom: 10px; padding-bottom: 10px; }
  .modal-text-tabs { gap: .3rem; }
  .modal-document { padding-top: 14px; }
  .modal-footer { padding: 10px 16px; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .task-modal { transition: none !important; }
  .t-matrix i { animation: none !important; }
}

/* Transitions.dev — Page side-by-side. */
:root {
  --page-slide-dur: 250ms;
  --page-fade-dur: 250ms;
  --page-slide-distance: 8px;
  --page-blur: 3px;
  --page-stagger: 0ms;
  --page-exit-enabled: 1;
  --page-slide-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --page-fade-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
.t-page-slide { position: relative; }
.t-page-slide .t-page[data-page-id="1"] { --t-page-from-x: calc(var(--page-slide-distance) * -1); }
.t-page-slide .t-page[data-page-id="2"] { --t-page-from-x: var(--page-slide-distance); }
.t-page-slide .t-page {
  position: absolute; inset: 0; opacity: 0; pointer-events: none;
  transform: translateX(calc(var(--t-page-from-x, 0px) * var(--page-exit-enabled)));
  filter: blur(calc(var(--page-blur) * var(--page-exit-enabled)));
  transition: opacity var(--page-fade-dur) var(--page-fade-ease), transform var(--page-slide-dur) var(--page-slide-ease), filter var(--page-slide-dur) var(--page-slide-ease);
  will-change: opacity, transform, filter;
}
.t-page-slide[data-transition-page="1"] > .t-page[data-page-id="1"],
.t-page-slide[data-transition-page="2"] > .t-page[data-page-id="2"] {
  opacity: 1; pointer-events: auto; transform: translateX(0); filter: blur(0); transition-delay: var(--page-stagger);
}
/* The active page owns natural layout height; outgoing pages remain absolute.
   Direct children keep nested quiz/tab transitions independent. */
.t-page-slide > .t-page.is-current { position: relative; }
.t-page-slide > .t-page[aria-hidden="true"] { pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .t-page-slide .t-page { transition: none !important; }
}
