/* Quizbibliotheek: compacte kaartweergave uit OR-02. */
.quiz-library-toolbar { position: relative; box-sizing: border-box; display: flex; height: 64px; min-height: 64px; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 20px; padding: 10px 19px 10px 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.quiz-search-field { position: relative; display: block; width: 331px; }
.quiz-search-field > span { position: absolute; top: -19px; left: 0; color: var(--muted); font-size: .58rem; font-weight: 700; }
.quiz-search-field > .search-caption { z-index: 2; top: 3px; left: 3px; color: var(--ink); font-size: 14px; font-weight: 700; line-height: 17px; text-transform: none; pointer-events: none; }
.quiz-search-field input { position: relative; z-index: 1; box-sizing: border-box; width: 330px; height: 43px; min-height: 43px; padding: 14px 11px 2px; border: 1px solid var(--line-dark); border-radius: 9px; font-size: 12px; }
.quiz-library-toolbar > .button { width: 170px; min-height: 42px; }
.quiz-library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,356px)); gap: 24px; }
.quiz-library-card { position: relative; box-sizing: border-box; height: 190px; min-height: 190px; padding: 17px 15px 15px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.quiz-library-main { display: grid; color: var(--ink); text-decoration: none; }
.quiz-library-main > strong, .quiz-library-main > small, .quiz-library-status { margin-left: 2px; }
.quiz-library-main > strong { font-size: .84rem; }
.quiz-library-main > small { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.quiz-library-art { display: block; height: 60px; margin: 4px 0 39px; border-radius: 9px; background: #eee8f0; }
.quiz-library-card.tone-1 .quiz-library-art { background: #f7e8c6; }
.quiz-library-card.tone-2 .quiz-library-art { background: #eee8f0; }
.quiz-library-status { color: var(--muted); font-size: .69rem; }
.quiz-library-status.is-ready { color: var(--green); }
.quiz-library-actions { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 4px; opacity: 0; pointer-events: none; }
.quiz-library-card:hover .quiz-library-actions, .quiz-library-card:focus-within .quiz-library-actions { opacity: 1; pointer-events: auto; }
@media (max-width: 1100px) { .quiz-library-grid { grid-template-columns: repeat(2,minmax(0,356px)); } }
@media (max-width: 820px) { .quiz-library-grid { grid-template-columns: minmax(0,356px); } .quiz-library-toolbar { align-items: stretch; flex-direction: column; } .quiz-search-field, .quiz-library-toolbar > .button { width: 100%; } }
.quiz-library-toolbar { padding-left: 14px; }
.quiz-library-toolbar > .button { margin-right: 0; }
.quiz-library-art { margin-top: 5px; }
.quiz-library-card { padding-top: 18px; }
.timeline-workspace .timeline-list::before { top: 7px; bottom: -7px; }
.timeline-workspace .timeline-card { grid-template-columns: minmax(0,1fr); }
.timeline-workspace .drag-handle { display: none; }
.timeline-workspace .timeline-controls { right: 10px; }
.question-editor-extra-fields { display: none !important; }
.quiz-editor-workbench .question-choice-block .card-heading { height: 18px; }
.quiz-editor-workbench .choice-row input[type="radio"], .quiz-editor-workbench .choice-row input[type="checkbox"] { display: block; }
.quiz-editor-workbench .choice-row input[type="text"] { padding-right: 0; padding-left: 8px; }
.quiz-editor-workbench .quiz-correct-label { margin-right: 13px; color: var(--green); font-size: .72rem; font-weight: 650; white-space: nowrap; }
.quiz-editor-workbench .quiz-option-tools, .quiz-editor-workbench .quiz-validation-tools { position: absolute; opacity: 0; pointer-events: none; }
.quiz-editor-workbench .question-main:hover .quiz-option-tools, .quiz-editor-workbench .quiz-option-tools:focus-within, .quiz-editor-workbench .question-settings-side > .card:hover .quiz-validation-tools, .quiz-editor-workbench .quiz-validation-tools:focus-within { opacity: 1; pointer-events: auto; }
.quiz-validation-copy { margin: 6px 0; color: var(--muted); font-size: .69rem; }
.quiz-editor-workbench .question-side-extra { position: relative; }
.quiz-editor-workbench .question-side-extra summary { position: absolute; top: -28px; right: 0; width: 20px; height: 20px; overflow: hidden; color: transparent; opacity: 0; cursor: pointer; }
.quiz-editor-workbench .question-side-extra summary::after { content: "⋯"; color: var(--muted); font-size: 1rem; }
.quiz-editor-workbench .question-settings-side > .card:hover .question-side-extra summary, .quiz-editor-workbench .question-side-extra summary:focus-visible { opacity: 1; }
.quiz-editor-workbench .question-side-extra[open] { padding-top: 22px; }
.question-round-nav { position: relative; }
.question-round-add { display: inline-flex; width: fit-content; min-height: 16px; align-items: center; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: .69rem; text-align: left; cursor: pointer; }
.question-round-add:hover { color: var(--coral-dark); }
.quiz-editor-workbench .choice-row input[type="text"] { flex: 0 1 auto; width: auto; min-width: 36px; max-width: calc(100% - 52px); field-sizing: content; }
.quiz-editor-workbench .choice-row.is-correct { position: relative; }
.quiz-editor-workbench .quiz-correct-label { flex: 0 0 auto; margin: 0; }
.quiz-tools-trigger { position: absolute; right: 12px; bottom: 12px; opacity: 0; pointer-events: none; }
.question-round-nav:hover .quiz-tools-trigger, .quiz-tools-trigger:focus-visible { opacity: 1; pointer-events: auto; }
.quiz-editor-tools { opacity: 0; pointer-events: none; transition: opacity .15s; }
.page-heading:hover .quiz-editor-tools, .quiz-editor-tools:focus-within { opacity: 1; pointer-events: auto; }
.question-side-extra summary { position: absolute; top: -28px; right: 0; width: 20px; height: 20px; overflow: hidden; color: transparent; opacity: 0; cursor: pointer; }
.question-side-extra summary::after { content: "⋯"; color: var(--muted); font-size: 1rem; }
.question-settings-side > .card:hover .question-side-extra summary, .question-side-extra summary:focus-visible { opacity: 1; }
.question-side-extra[open] { padding-top: 22px; }
.question-editor-grid .choice-row { position: relative; }
.question-editor-grid .choice-mark-input { flex: 0 0 1px; width: 1px; height: 1px; }
.question-editor-grid .choice-row:has(.choice-mark-input:focus-visible) { outline: 2px solid #d95f48; outline-offset: 2px; }
.question-editor-grid:not(.quiz-editor-workbench) .choice-row input[type="text"] { flex: 0 1 auto; width: auto; min-width: 36px; max-width: calc(100% - 72px); field-sizing: content; }
.question-editor-grid .quiz-correct-label { flex: 0 0 auto; margin: 0 13px 0 0; color: var(--green); font-size: .72rem; font-weight: 650; white-space: nowrap; }
.question-editor-grid .question-settings-side p.muted:empty { display: none; }
.question-editor-grid:not(.quiz-editor-workbench) .question-round-add { margin-top: 4px; }
.staff-directory-toolbar { position: relative; display: flex; height: 64px; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 16px; padding: 10px 19px 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.staff-search-field { position: relative; display: block; width: 331px; }
.staff-search-field > span { position: absolute; top: -19px; left: 0; color: var(--muted); font-size: .58rem; font-weight: 700; }
.staff-search-field input { box-sizing: border-box; width: 331px; height: 43px; min-height: 43px; padding: 9px 11px; border: 1px solid var(--line-dark); border-radius: 9px; font-size: .78rem; }
.staff-invite-button { width: 170px; min-height: 42px; }
.staff-directory { width: 100%; }
.staff-directory-table { table-layout: fixed; font-size: .69rem; }
.staff-directory-table th { height: 40px; padding: 9px 14px; border: 0; background: #f1efeb; font-size: .58rem; font-weight: 600; }
.staff-directory-table th:first-child { border-radius: 8px 0 0 8px; }
.staff-directory-table th:last-child { border-radius: 0 8px 8px 0; }
.staff-directory-table td { position: relative; height: 47px; padding: 10px 14px; font-size: .69rem; }
.staff-directory-row td:last-child { overflow: visible; }
.staff-row-actions { position: absolute; top: 4px; right: 5px; display: flex; gap: 3px; padding: 2px; border-radius: 7px; background: var(--paper); opacity: 0; pointer-events: none; box-shadow: 0 2px 8px rgb(32 33 42 / 9%); }
.staff-directory-row:hover .staff-row-actions, .staff-directory-row:focus-within .staff-row-actions { opacity: 1; pointer-events: auto; }
.staff-row-actions .button { min-height: 30px; padding: 5px 7px; font-size: .64rem; }
.staff-directory-empty { height: 70px; color: var(--muted); text-align: center; }
.org-settings-card { position: relative; height: 420px; padding: 18px; }
.org-settings-heading h2 { margin: 0 0 2px; font-size: .85rem; }
.org-settings-heading p { margin: 0; color: var(--muted); font-size: .72rem; }
.org-settings-grid { display: grid; width: 1060px; grid-template-columns: repeat(2,510px); gap: 38px 40px; margin: 22px 1px 0; }
.org-settings-grid > .field { gap: 5px; margin: 0; color: var(--muted); font-size: .58rem; font-weight: 700; text-transform: uppercase; }
.org-settings-grid > .field input { width: 100%; height: 43px; min-height: 43px; padding: 9px 11px; border-color: var(--line-dark); border-radius: 8px; font-size: .78rem; font-weight: 450; text-transform: none; }
.org-settings-readonly input { background: var(--paper); }
.org-settings-actions { display: flex; justify-content: flex-end; margin: 101px 1px 0; }
.org-settings-actions .button { width: 180px; min-height: 42px; }
.org-settings-advanced-trigger { position: static; margin-top: 12px; }
.org-sessions-toolbar { position: relative; display: flex; box-sizing: border-box; height: 64px; min-height: 64px; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 16px; padding: 10px 19px 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.org-sessions-search { position: relative; display: block; width: 331px; }
.org-sessions-search > span { position: absolute; top: -19px; left: 0; color: var(--muted); font-size: .58rem; font-weight: 700; }
.org-sessions-search input { box-sizing: border-box; width: 331px; height: 43px; min-height: 43px; padding: 9px 11px; border: 1px solid var(--line-dark); border-radius: 9px; font-size: .78rem; }
.org-sessions-new { width: 165px; min-height: 42px; }
.org-sessions-table-wrap { width: 100%; overflow-x: auto; }
.org-sessions-table { width: 100%; min-width: 940px; table-layout: fixed; font-size: .69rem; }
.org-sessions-table th { height: 40px; padding: 9px 11px; border: 0; background: #f1efeb; color: #737685; font-size: .58rem; font-weight: 600; text-transform: uppercase; }
.org-sessions-table th:first-child { border-radius: 8px 0 0 8px; }
.org-sessions-table th:last-child { border-radius: 0 8px 8px 0; }
.org-sessions-table td { height: 47px; padding: 10px 11px; border-bottom: 1px solid #e8e5e0; color: var(--muted); font-size: .69rem; }
.org-session-title { color: #20212a; font-weight: 700; text-decoration: none; }
.org-session-title:hover { text-decoration: underline; text-underline-offset: 2px; }
.session-row-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: 165px; }
.session-row-actions .button { min-height: 32px; padding: 6px 8px; font-size: .66rem; }
.host-session-library { margin-top: 20px; padding: 20px; }
.host-session-library .card-heading h2 { margin: 0; color: var(--ink); font-size: 1rem; }
.host-session-library .card-heading p { margin: 4px 0 0; font-size: .78rem; }
.report-stats { grid-template-columns: repeat(4,270px); margin-bottom: 17px; }
.report-stats .stat-card { box-sizing: border-box; height: 93px; min-height: 93px; padding: 16px 18px; align-content: start; justify-content: start; gap: 13px; }
.report-stats .stat-card .muted { display: none; }
.report-stats .stat-label { font-size: .78rem; }
.report-stats .stat-card strong { font-size: 1.48rem; line-height: 1.2; }
.report-grid { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,1fr); gap: 20px; }
.report-grid > .card + .card { margin-top: 0; }
.report-panel { box-sizing: border-box; height: 331px; min-height: 331px; padding: 17px 18px; }
.report-panel h2 { margin: 0; font-size: .84rem; line-height: 1.35; }
.report-score-list { margin-top: 27px; }
.report-score-row { display: grid; grid-template-columns: 148px minmax(0,250px); align-items: center; height: 52px; color: #636673; font-size: .62rem; }
.report-score-row > span { padding-left: 1px; }
.report-score-bar { display: block; width: var(--score-width); height: 14px; border-radius: 999px; background: #9385b3; }
.report-score-bar.is-leader { background: #f4614d; }
.report-empty { margin: 40px 0 0 2px; color: var(--muted); font-size: .72rem; }
.report-analysis > p { margin: 57px 0 0 1px; font-size: .72rem; font-weight: 650; }
.report-analysis > p + p { margin-top: 28px; }
.report-best { color: #128b68; }
.report-hardest { color: #bd7900; }
.report-analysis .report-no-data { color: var(--muted); }
.report-analysis .report-jury-note { margin-top: 25px; color: #9c5a36; font-weight: 500; }
.report-session-details { position: fixed; z-index: 20; top: 82px; right: 20px; box-sizing: border-box; width: min(420px,calc(100vw - 40px)); max-height: calc(100vh - 100px); overflow: auto; padding: 0; border: 0; border-radius: 10px; background: var(--paper); box-shadow: 0 8px 30px rgb(32 33 42 / 16%); opacity: 0; pointer-events: none; }
.report-session-details:focus-within, .report-session-details[open] { padding: 16px; border: 1px solid var(--line); opacity: 1; pointer-events: auto; }
.report-session-details summary { cursor: pointer; font-size: .8rem; font-weight: 650; }
.report-session-details .event-log { margin-top: 12px; }
.report-session-list { display: grid; gap: 8px; }
.report-session-list > a { display: flex; justify-content: space-between; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); text-decoration: none; }
.report-session-list > a span { color: var(--muted); font-size: .75rem; }
.media-library-toolbar { box-sizing: border-box; display: flex; height: 78px; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 22px; padding: 12px 19px 12px 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.media-library-toolbar h2 { margin: 0 0 3px; color: var(--ink); font-size: .88rem; }
.media-library-toolbar p { margin: 0; color: var(--muted); font-size: .75rem; }
.media-library-actions { display: flex; align-items: center; gap: 12px; }
.media-library-actions > .button { box-sizing: border-box; width: 188px; min-height: 42px; padding: 9px 12px; font-size: .75rem; }
.media-library-actions > .file-button { width: 160px; min-height: 42px; font-size: .82rem; }
.media-library-grid { grid-template-columns: repeat(3,356px); gap: 24px; margin-top: 0; }
.media-asset-card { position: relative; box-sizing: border-box; height: 240px; padding: 13px; overflow: hidden; border-color: var(--line); border-radius: 12px; }
.asset-info { display: block; padding: 0; }
.asset-info strong { display: block; margin: 0; color: var(--ink); font-size: .88rem; line-height: 20px; }
.asset-info small { display: block; margin-top: 1px; color: var(--muted); font-size: .75rem; line-height: 17px; }
.asset-preview { box-sizing: border-box; width: 100%; height: 120px; min-height: 120px; margin-top: 5px; border-radius: 9px; background: #ead7c9; }
.asset-preview img, .asset-preview video, .asset-preview iframe { width: 100%; height: 120px; max-height: 120px; border: 0; border-radius: 9px; object-fit: contain; object-position: center; }
.asset-preview-video, .asset-preview-youtube { background: #ddeae5; }
.media-asset-card:nth-child(3n + 2) .asset-preview-image { background: #e9e4f0; }
.asset-audio { box-sizing: border-box; width: 100%; height: 120px; align-content: center; padding: 20px; background: #e9e4f0; color: #75658f; font-size: 2.1rem; }
.asset-meta { margin: 8px 0 0 2px; color: var(--muted); font-size: .69rem; line-height: 16px; }
.asset-actions { position: absolute; right: 9px; bottom: 9px; display: flex; gap: 4px; padding: 2px; border-radius: 7px; background: rgb(255 255 255 / 94%); opacity: 0; pointer-events: none; }
.media-asset-card:hover .asset-actions, .media-asset-card:focus-within .asset-actions { opacity: 1; pointer-events: auto; }
.media-asset-card .asset-actions .button { min-height: 29px; padding: 4px 7px; font-size: .65rem; }
.media-library-empty { margin-top: 22px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--muted); font-size: .8rem; }
.page-content:has(.media-editor-reference-layout) .page-heading { margin-bottom: 13px; }
.page-content:has(.media-editor-reference-layout) .page-heading > div { transform: translateY(-4px); }
.page-content:has(.media-editor-reference-layout) .page-heading h1 { font-size: 26px; line-height: 32.4px; }
.media-editor-reference-layout { grid-template-columns: 694px 426px; gap: 18px; align-items: stretch; }
.media-editor-reference-layout > .card + .card { margin-top: 0; }
.media-editor-reference-layout .media-source-card, .media-editor-reference-layout .media-instructions { box-sizing: border-box; height: 653px; min-height: 653px; padding: 19px 23px; border-color: var(--line); border-radius: 12px; }
.media-editor-reference-layout .media-source-card { position: relative; display: flex; flex-direction: column; }
.media-editor-reference-layout .media-source-card { padding-bottom: 8px; }
.media-source-heading { display: flex; align-items: center; justify-content: space-between; min-height: 24px; }
.media-source-heading h2, .media-instructions-heading h2 { margin: 0; color: var(--ink); font-size: .98rem; line-height: 24px; }
.media-source-heading h2, .media-instructions-heading h2 { position: relative; top: -3px; }
.source-picker-trigger { position: absolute; top: 17px; right: 17px; opacity: 0; pointer-events: none; }
.media-source-card:hover .source-picker-trigger, .source-picker-trigger:focus-visible { opacity: 1; pointer-events: auto; }
.media-editor-reference-layout .media-source-actions { position: relative; display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; height: 35px; margin: 5px 0 16px; }
.media-editor-reference-layout .youtube-add { position: relative; padding: 0; border: 0; border-radius: 8px; background: transparent; font-size: .72rem; }
.media-editor-reference-layout .youtube-add summary { display: inline-flex; box-sizing: border-box; width: 154px; height: 35px; min-height: 35px; align-items: center; justify-content: center; border-radius: 8px; list-style: none; cursor: pointer; }
.media-editor-reference-layout .youtube-add summary::-webkit-details-marker { display: none; }
.media-editor-reference-layout .youtube-add form { position: absolute; z-index: 30; top: 41px; left: 0; box-sizing: border-box; width: min(540px,80vw); padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); box-shadow: 0 8px 28px rgb(32 33 42 / 14%); }
.media-editor-reference-layout .media-upload-button { box-sizing: border-box; width: 170px; height: 35px; min-height: 35px; border-color: transparent; background: #f3f1ee; font-size: .72rem; }
.media-url-field { display: grid; gap: 5px; margin: 0 0 14px; }
.media-url-field > span, .media-time-group > label, .media-after-clip > label, .media-duration-card > span, .clip-timeline > label { color: var(--muted); font-size: .58rem; font-weight: 700; }
.media-url-field > span { position: relative; top: -3px; }
.media-url-field input { box-sizing: border-box; width: 100%; height: 40px; min-height: 40px; padding: 8px 11px; border: 1px solid var(--line-dark); border-radius: 8px; color: #5f5f6c; font-size: .72rem; }
.media-editor-reference-layout .trim-preview { box-sizing: border-box; width: 100%; height: 352px; min-height: 352px; border: 0; border-radius: 11px; background: #211f29; }
.media-editor-reference-layout .trim-preview #media-preview-player { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; }
.media-editor-reference-layout .trim-preview #media-preview-player iframe, .media-editor-reference-layout .trim-preview video, .media-editor-reference-layout .trim-preview iframe { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; object-fit: cover; }
.media-editor-reference-layout .trim-preview .media-empty { width: 100%; height: 100%; box-sizing: border-box; align-content: center; padding: 20px; }
.media-editor-reference-layout .trim-preview .media-empty img { width: 125px; max-height: 120px; opacity: .7; }
.media-preview-caption { margin: 10px 20px 0; color: var(--ink); font-size: .69rem; line-height: 17px; }
.media-trim-hint { margin: 5px 20px 0; color: var(--muted); font-size: .65rem; line-height: 16px; }
.clip-timeline { margin-top: auto; padding-top: 12px; }
.clip-track { position: relative; height: 13px; margin-top: 7px; border-radius: 999px; background: var(--line-dark); }
.clip-track-selection { position: absolute; top: 0; bottom: 0; z-index: 1; left: 0; width: 16.7%; border-radius: 999px; background: #f4614d; pointer-events: none; }
.clip-track input[type="range"] { position: absolute; inset: -7px 0; z-index: 2; width: 100%; height: 27px; margin: 0; appearance: none; background: transparent; pointer-events: none; }
.clip-track input[type="range"]::-webkit-slider-runnable-track { height: 13px; background: transparent; }
.clip-track input[type="range"]::-moz-range-track { height: 13px; background: transparent; }
.clip-track input[type="range"]::-webkit-slider-thumb { width: 9px; height: 28px; margin-top: -7px; appearance: none; border: 0; border-radius: 5px; background: #b34334; pointer-events: auto; cursor: grab; }
.clip-track input[type="range"]::-moz-range-thumb { width: 9px; height: 28px; border: 0; border-radius: 5px; background: #b34334; pointer-events: auto; cursor: grab; }
.clip-track-times { display: flex; justify-content: space-between; margin-top: 8px; color: var(--muted); font-size: .62rem; }
.media-editor-reference-layout .media-instructions { position: relative; display: flex; flex-direction: column; top: auto; padding: 19px 23px 0; }
.media-instructions-heading { margin-bottom: 29px; }
.media-instructions-heading p { margin: 8px 0 0; color: var(--muted); font-size: .65rem; }
.media-time-group { display: grid; gap: 4px; margin-bottom: 24px; }
.media-instructions > .media-time-group:nth-of-type(2) { margin-bottom: 26px; }
.media-instructions > .media-time-group:nth-of-type(3) { margin-bottom: 19px; }
.media-time-row { display: grid; grid-template-columns: 174px minmax(0,1fr); gap: 10px; }
.media-time-row > input { box-sizing: border-box; width: 100%; height: 45px; padding: 8px 12px; border: 1px solid var(--line-dark); border-radius: 9px; color: var(--ink); font-size: .86rem; font-weight: 700; }
.media-mark-button { box-sizing: border-box; height: 45px; min-height: 45px; padding: 7px 10px; border-color: var(--line); background: #f6f4f1; font-size: .61rem; white-space: nowrap; }
.media-duration-card { display: flex; box-sizing: border-box; height: 50px; align-items: center; justify-content: space-between; margin: -3px 0 15px; padding: 10px 14px; border-radius: 9px; background: #edf5f0; }
.media-duration-card > span { color: #178b69; }
.media-duration-card strong { color: #008365; font-size: .86rem; }
.media-play-card { display: flex; box-sizing: border-box; height: 40px; min-height: 40px; align-items: center; gap: 14px; padding: 4px 10px; border: 0; border-radius: 9px; background: #f6f3ef; color: var(--ink); text-align: left; cursor: pointer; }
.media-play-mark { display: grid; width: 32px; height: 27px; place-items: center; border-radius: 8px; background: #f4614d; color: #fff; font-size: .8rem; }
.media-play-card > span:last-child { display: grid; gap: 2px; }
.media-play-card strong { font-size: .67rem; font-weight: 600; }
.media-play-card small { color: var(--muted); font-size: .55rem; }
.media-after-clip { margin-top: 16.5px; }
.media-auto-open { display: flex; box-sizing: border-box; height: 59px; align-items: center; gap: 10px; margin-top: 5.5px; padding: 10px 12px; border: 1px solid #d1e4d8; border-radius: 9px; background: #eef6f1; }
.media-check { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: #168b67; color: white; font-size: .72rem; }
.media-auto-open > span:last-child { display: grid; gap: 3px; }
.media-auto-open strong { font-size: .67rem; font-weight: 600; }
.media-auto-open small { color: var(--muted); font-size: .58rem; }
.media-youtube-warning { box-sizing: border-box; min-height: 120px; margin-top: 13px; padding: 12px 14px; border: 1px solid #f1d8bd; border-radius: 9px; background: #fff7ed; color: #9f5c2e; font-size: .63rem; }
.media-youtube-warning strong { display: block; margin-bottom: 5px; font-size: .69rem; }
.media-youtube-warning p { margin: 4px 0; line-height: 1.35; }
.media-youtube-warning b { display: block; margin-top: 5px; font-size: .62rem; }
.media-youtube-warning label { display: flex; align-items: center; gap: 5px; margin-top: 4px; font-size: .58rem; }
.media-youtube-warning input { width: 12px; height: 12px; margin: 0; }
.media-save-button { width: 202px; min-height: 34px; height: 34px; align-self: flex-end; margin-top: auto; padding: 5px 12px; border-radius: 8px; font-size: .68rem; transform: translateY(1px); }
.media-editor-reference-layout #media-editor-message { position: absolute; bottom: 10px; left: 15px; font-size: .65rem; }
.media-editor-reference-layout .form-error:not([hidden]) { position: absolute; right: 24px; bottom: 55px; left: 24px; }
.media-editor-reference-layout .media-save-button:disabled { opacity: .6; }
.media-editor-reference-layout .media-instructions > .visually-hidden { position: absolute; }
.platform-overview-stats { grid-template-columns: repeat(4,270px); margin-bottom: 18px; }
.platform-overview-stats .stat-card { height: 102px; min-height: 102px; padding: 15px 17px 16px; }
.platform-overview-stats .stat-label { font-size: 14px; }
.platform-overview-stats .stat-card strong { margin-left: 2px; font-size: 26px; letter-spacing: normal; }
.platform-overview-stats .stat-card .muted { display: none; }
.platform-overview-grid { display: grid; grid-template-columns: minmax(0,690px) minmax(0,428px); gap: 20px; }
.platform-overview-grid > .card { box-sizing: border-box; height: 330px; min-height: 330px; padding: 17px; }
.platform-overview-grid > .card + .card { margin-top: 0; }
.platform-overview-grid .card-heading { align-items: flex-start; margin-bottom: 1px; }
.platform-overview-grid .card-heading h2, .platform-quick-panel h2 { margin: 0; color: var(--ink); font-size: .86rem; }
.platform-overview-grid .card-heading p { margin: 4px 0 0; color: var(--muted); font-size: .68rem; }
.platform-activity-panel th { height: 40px; padding: 9px 10px; border: 0; background: #f1efeb; color: var(--muted); font-size: .58rem; font-weight: 600; text-transform: uppercase; }
.platform-activity-panel th:first-child { border-radius: 8px 0 0 8px; }
.platform-activity-panel th:last-child { border-radius: 0 8px 8px 0; }
.platform-activity-panel .table-scroll { margin-top: 2.5px; }
.platform-activity-panel td { height: 47px; padding: 10px; border-bottom: 1px solid #e8e5e0; color: var(--muted); font-size: .69rem; }
.platform-activity-panel td:first-child { color: var(--ink); }
.platform-no-activity { color: var(--muted) !important; text-align: center; }
.platform-quick-panel h2 { margin: 0; }
.platform-quick-actions { display: flex; gap: 15px; margin-top: 30px; margin-left: 2px; }
.platform-quick-actions .button { box-sizing: border-box; width: 180px; height: 42px; min-height: 42px; padding: 8px 10px; font-size: .78rem; white-space: nowrap; }
.platform-quick-actions .button:last-child { width: 190px; }
.platform-list-toolbar { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; height: 64px; margin: 0 0 16px; padding: 9px 19px 9px 15px; }
.platform-list-search { width: 330px; margin: 0; transform: translateY(1.5px); }
.platform-list-search .field { position: relative; gap: 0; margin: 0; font-size: 9px; }
.platform-list-search .field > span { position: absolute; z-index: 1; top: -18px; left: 0; font-size: 9px; line-height: 11px; text-transform: uppercase; }
.platform-list-search .field > .field-caption { z-index: 2; top: 4px; left: 2px; color: var(--ink); font-size: 14px; font-weight: 700; line-height: 17px; text-transform: none; pointer-events: none; }
.platform-list-search .field input { position: relative; z-index: 1; box-sizing: border-box; height: 43px; min-height: 43px; padding: 14px 11px 2px; border-color: var(--line-dark); border-radius: 8px; font-size: 12px; font-weight: 400; }
.platform-list-search .field input::placeholder { color: var(--muted); opacity: 1; }
.platform-list-new { box-sizing: border-box; width: 165px; height: 42px; min-height: 42px; padding: 8px 12px; border-radius: 9px; font-size: 14px; }
.platform-list-table-wrap { width: 100%; overflow-x: auto; }
.platform-list-table { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; background: var(--paper); }
.platform-list-table th { height: 40px; padding: 9px 10px; border: 0; background: #f1efeb; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: normal; }
.platform-list-table th:first-child { border-radius: 7px 0 0 7px; }
.platform-list-table th:last-child { border-radius: 0 7px 7px 0; }
.platform-list-table td { height: 47px; padding: 10px; border-bottom: 1px solid #ebe8e2; color: #686873; font-size: 11px; line-height: 1.5; }
.platform-list-table td:first-child { color: var(--ink); }
.platform-list-table td strong { font-weight: 700; }
.platform-org-table th, .platform-org-table td { width: 20%; }
.platform-event-table th, .platform-event-table td { width: 25%; }
.platform-form-panel { position: relative; box-sizing: border-box; height: 420px; padding: 17px; }
.platform-form-heading h2 { margin: 0; color: var(--ink); font-size: 14px; line-height: 18px; transform: translateY(-2px); }
.platform-form-heading p { margin: 2px 0 0; color: var(--muted); font-size: 12px; line-height: 18px; }
.platform-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,510px)); gap: 40px; margin: 21px 2px 0; }
.platform-form-grid .field { gap: 6px; margin: 0; color: var(--muted); font-size: 9px; font-weight: 700; }
.platform-form-grid .field > span { line-height: 11px; text-transform: uppercase; }
.platform-form-grid .field input, .platform-form-grid .field select { box-sizing: border-box; width: 100%; height: 43px; min-height: 43px; padding: 9px 11px; border-color: var(--line-dark); border-radius: 8px; font-size: 12px; font-weight: 400; }
.platform-form-footer { position: absolute; right: 19px; bottom: 37px; }
.platform-form-footer .button { box-sizing: border-box; width: 180px; height: 42px; min-height: 42px; padding: 8px 12px; font-size: 14px; }
.platform-detail-tabs { display: flex; align-items: stretch; gap: 32px; box-sizing: border-box; height: 56px; margin: 0; padding: 0 17px; overflow: hidden; }
.platform-detail-tab { display: flex; align-items: center; height: 56px; border-bottom: 2px solid transparent; color: #686873; font-size: 13px; font-weight: 700; white-space: nowrap; }
.platform-detail-tab.active { border-bottom-color: var(--coral); color: #a74132; }
.platform-detail-overview { display: grid; gap: 18px; margin-top: 16px; }
.platform-detail-summary { display: grid; grid-template-columns: 520px minmax(0,598px); gap: 20px; }
.platform-detail-summary > .card { position: relative; box-sizing: border-box; height: 150px; margin: 0; padding: 17px; }
.platform-detail-summary > .card strong { display: block; color: var(--ink); font-size: 14px; line-height: 18px; }
.platform-detail-summary > .card span { display: block; margin-top: 4px; color: #686873; font-size: 12px; line-height: 18px; }
.platform-org-actions { position: absolute; top: 12px; right: 12px; display: flex; gap: 6px; opacity: 0; pointer-events: none; }
.platform-org-summary-card:hover .platform-org-actions, .platform-org-actions:focus-within { opacity: 1; pointer-events: auto; }
.platform-org-actions .button { min-height: 28px; padding: 4px 7px; font-size: 11px; }
.platform-detail-activity { box-sizing: border-box; height: 250px; margin: 0; padding: 15px 17px 17px; }
.platform-detail-activity h2 { margin: 0 0 20px; color: var(--ink); font-size: 14px; line-height: 18px; }
.platform-detail-activity table { table-layout: fixed; }
.platform-detail-activity th, .platform-detail-activity td { width: 33.3333%; }
.platform-detail-activity th { height: 40px; padding: 9px 10px; border: 0; background: #f1efeb; color: var(--muted); font-size: 9px; font-weight: 700; }
.platform-detail-activity th:first-child { border-radius: 7px 0 0 7px; }
.platform-detail-activity th:last-child { border-radius: 0 7px 7px 0; }
.platform-detail-activity td { height: 47px; padding: 10px; border-bottom: 1px solid #ebe8e2; color: #686873; font-size: 11px; }
.platform-detail-activity td:first-child { color: var(--ink); }
.platform-detail-tab-panel { margin-top: 16px; }
.host-session-overview { display: grid; grid-template-columns: 350px 350px 394px; gap: 22px; margin-top: 0; }
.host-overview-card { position: relative; box-sizing: border-box; height: 220px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.host-overview-card h2 { margin: 0 0 4px; color: var(--ink); font-size: 14px; line-height: 18px; }
.host-overview-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 18px; }
.host-overview-card > .button { position: absolute; bottom: 32px; left: 20px; box-sizing: border-box; width: 300px; height: 42px; min-height: 42px; padding: 8px 12px; border-radius: 9px; font-size: 14px; }
.host-overview-quick > .button { width: 350px; }
@media (max-width: 1100px) and (min-width: 821px) { .host-session-overview { grid-template-columns: repeat(2,minmax(0,1fr)); } .host-overview-quick { grid-column: 1 / -1; } }
@media (max-width: 820px) { .host-session-overview { grid-template-columns: minmax(0,1fr); gap: 12px; } .host-overview-quick { grid-column: auto; } .host-overview-card > .button, .host-overview-quick > .button { right: 18px; width: auto; } }
@media (max-width: 1100px) and (min-width: 821px) {
  .media-library-grid { grid-template-columns: repeat(2,minmax(0,356px)); }
  .media-editor-reference-layout { grid-template-columns: minmax(0,1.45fr) minmax(320px,.9fr); gap: 14px; }
  .media-editor-reference-layout .media-source-card, .media-editor-reference-layout .media-instructions { width: auto; }
  .media-time-row { grid-template-columns: minmax(125px,174px) minmax(0,1fr); }
}
@media (max-width: 1100px) { .org-settings-grid { width: auto; grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 820px) {
  .staff-directory-toolbar { height: auto; min-height: 64px; align-items: stretch; flex-direction: column; }
  .staff-search-field, .staff-search-field input, .staff-invite-button { width: 100%; }
  .org-settings-card { height: auto; min-height: 420px; padding-bottom: 18px; }
  .org-settings-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 18px; }
  .org-settings-actions { margin-top: 22px; }
  .org-settings-advanced-trigger { position: static; margin-top: 8px; opacity: 1; pointer-events: auto; }
  .org-sessions-toolbar { height: auto; min-height: 64px; align-items: stretch; flex-direction: column; }
  .org-sessions-search, .org-sessions-search input, .org-sessions-new { width: 100%; }
  .report-grid { grid-template-columns: 1fr; }
  .report-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-panel { height: auto; min-height: 280px; }
  .report-score-row { grid-template-columns: minmax(110px,148px) minmax(0,250px); }
  .report-session-list > a { align-items: flex-start; flex-direction: column; gap: 5px; }
  .media-library-toolbar { height: auto; align-items: stretch; flex-direction: column; }
  .media-library-actions { align-items: stretch; flex-direction: column; }
  .media-library-actions > .button, .media-library-actions > .file-button { width: 100%; }
  .media-library-grid { grid-template-columns: minmax(0,356px); }
  .media-editor-reference-layout { grid-template-columns: 1fr; }
  .media-editor-reference-layout .media-source-card, .media-editor-reference-layout .media-instructions { width: 100%; height: auto; min-height: 0; }
  .media-editor-reference-layout .media-source-card { min-height: 620px; }
  .media-editor-reference-layout .media-instructions { min-height: 650px; }
  .media-editor-reference-layout .trim-preview { height: auto; min-height: 260px; aspect-ratio: 16 / 9; }
  .media-editor-reference-layout .media-save-button { margin-top: 20px; }
  .platform-overview-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .platform-overview-grid { grid-template-columns: 1fr; }
  .platform-overview-grid > .card { height: auto; min-height: 280px; }
  .platform-quick-actions { flex-wrap: wrap; }
  .platform-detail-summary { grid-template-columns: 1fr; }
  .platform-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) { .quiz-library-toolbar { height: auto; min-height: 64px; } .quiz-search-field input { width: 100%; } .quiz-editor-tools { opacity: 1; pointer-events: auto; } .quiz-tools-trigger { position: static; opacity: 1; pointer-events: auto; } }
@media (max-width: 620px) {
  .auth-page { display: flex; height: auto; min-height: 100dvh; flex-direction: column; align-items: center; gap: 20px; overflow: auto; padding: 28px 16px; }
  .auth-page::before { top: 10px; left: -90px; width: 180px; height: 180px; }
  .auth-page::after { right: -110px; bottom: 10px; width: 220px; height: 220px; }
  .auth-brand, .auth-login .auth-brand, .auth-invite .auth-brand, .auth-reset .auth-brand { position: relative; top: auto; left: auto; transform: none; margin: 0 auto; }
  .auth-card { position: relative; top: auto; left: auto; width: min(520px,100%); height: auto; min-height: 0; margin: 0 auto; padding: 30px 24px; transform: none; }
  .auth-login-card, .auth-invite-card, .auth-reset-card { min-height: 0; }
  .auth-login-heading, .auth-invite-heading, .auth-reset-heading { position: relative; top: auto; right: auto; left: auto; }
  .auth-login-heading, .auth-invite-heading { margin-bottom: 22px; }
  .auth-reset-heading { margin-bottom: 20px; }
  .auth-login-card form, .auth-invite-card form, .auth-reset-card form { position: relative; top: auto; left: auto; display: grid; width: 100%; height: auto; gap: 18px; }
  .auth-card .field, .auth-login-card form > .field:nth-of-type(1), .auth-login-card form > .field:nth-of-type(2), .auth-invite-card form > .field:nth-of-type(1), .auth-invite-card form > .field:nth-of-type(2), .auth-invite-card form > .field:nth-of-type(3), .auth-reset-card form > .field:nth-of-type(1) { position: relative; top: auto; left: auto; width: 100%; }
  .auth-card form > .form-error { position: relative; top: auto; left: auto; width: 100%; }
  .auth-card .button, .auth-login-card form > .button, .auth-invite-card form > .button, .auth-reset-card form > .button { position: relative; top: auto; left: auto; width: 100%; }
  .auth-invite-badge { position: relative; top: auto; left: auto; width: 100%; margin: 0 0 20px; }
  .auth-login-card .auth-links, .auth-reset-card .auth-links { position: relative; top: auto; right: auto; left: auto; margin: 16px 0 0; }
  .auth-card-note, .auth-login-card .auth-card-note, .auth-invite-card .auth-card-note { position: relative; top: auto; right: auto; left: auto; margin: 24px 0 0; }
  .auth-login-card .auth-card-note::before { top: -14px; }
  .auth-reset-card #reset-result { position: relative; top: auto; right: auto; left: auto; }
  .auth-invite-card .notice-error, .auth-invite-card > .text-link { position: relative; top: auto; right: auto; left: auto; display: block; margin: 20px 0 0; }
}

.presenter-review-reference-screen { grid-template-rows: 52px minmax(0,1fr); padding: 30px 68px 156px; }
.presenter-review-reference-screen .presenter-review-brand { gap: 18px; color: #d6d1dc; font-size: 18px; font-weight: 700; line-height: 22px; }
.presenter-review-reference-screen .presenter-brand-dot { flex-basis: 20px; width: 20px; height: 20px; }
.presenter-review-reference-screen .presenter-brand > span:nth-child(2) { transform: none; }
.presenter-review-reference-screen .presenter-review-brand small { margin: 0 64px 0 auto; color: #aaa4b2; font-size: 13px; font-weight: 500; line-height: 20px; white-space: nowrap; }
.presenter-review-reference-screen .presenter-review-brand small:last-child { margin-right: 12px; }
.presenter-review-badge { display: flex; box-sizing: border-box; width: 270px; height: 52px; align-items: center; gap: 16px; margin: 0 64px 0 auto; padding: 0 24px; border: 1px solid #514957; border-radius: 26px; background: #2d2935; color: #f2edf6; font-size: 16px; font-weight: 700; white-space: nowrap; }
.presenter-review-badge i { display: block; width: 12px; height: 12px; flex: 0 0 12px; border-radius: 50%; background: var(--coral); }
.presenter-review-reference-screen .presenter-canvas { display: block; position: relative; min-height: 0; translate: none; transform: none; }
.presenter-review-reference { position: relative; box-sizing: border-box; width: 1696px; max-width: 100%; height: 842px; margin: 0 auto; text-align: left; }
.presenter-review-round { position: absolute; top: 62px; left: 0; color: #bdb6c7; font-size: 18px; font-weight: 700; line-height: 27px; }
.presenter-review-reference > h1 { position: absolute; top: 112px; left: 0; width: 1450px; max-width: calc(100% - 120px); margin: 0; color: #fff; font-size: 58px; font-weight: 700; line-height: 70px; letter-spacing: 0; text-align: left; text-wrap: balance; }
.presenter-review-media-card, .presenter-review-answer-card { position: absolute; top: 288px; box-sizing: border-box; height: 378px; border: 1px solid #3e3948; border-radius: 22px; background: #25212e; }
.presenter-review-media-card { left: 0; display: flex; width: 790px; flex-direction: column; padding: 32px; }
.presenter-review-media-card > strong { color: #beb8c7; font-size: 15px; font-weight: 700; line-height: 18px; }
.presenter-review-visual { display: block; box-sizing: border-box; width: 726px; height: 282px; flex: 0 0 282px; margin-top: 10px; border: 0; border-radius: 14px; background: #25212e; object-fit: cover; }
img.presenter-review-visual { object-fit: contain; object-position: center; }
.presenter-review-media-card > small { margin-top: 2px; color: #c9c4d0; font-size: 13px; line-height: 18px; text-align: center; }
.presenter-review-youtube { overflow: hidden; }
.presenter-review-youtube > div { width: 100%; height: 100%; }
.presenter-review-audio { display: flex; align-items: center; justify-content: center; gap: 28px; }
.presenter-review-audio span { width: 18px; height: 95px; border-radius: 99px; background: linear-gradient(0deg,#d4513a,#f19b85); }
.presenter-review-audio span:nth-child(2), .presenter-review-audio span:nth-child(4) { height: 170px; }
.presenter-review-audio span:nth-child(3) { height: 230px; }
.presenter-review-audio span:nth-child(5) { height: 135px; }
.presenter-review-audio audio { display: none; }
.presenter-review-answer-card { left: 840px; width: 856px; padding: 32px 48px; }
.presenter-review-answer-card h2 { margin: 0; color: #beb8c7; font-size: 16px; font-weight: 700; line-height: 22px; }
.presenter-review-answer { display: block; margin-top: 38px; color: #fff; font-size: 64px; font-weight: 700; line-height: 76px; }
.presenter-review-accepted { display: inline-flex; min-height: 44px; align-items: center; margin-top: 15px; padding: 0 17px; border-radius: 22px; background: #373241; color: #ded8e4; font-size: 16px; font-weight: 700; }
.presenter-review-explanation { margin: 43px 0 0; color: #bdb6c7; font-size: 18px; line-height: 27px; }
.presenter-review-privacy { margin: 7px 0 0; color: #938c9c; font-size: 16px; line-height: 24px; }
.presenter-review-progress { position: absolute; top: 670px; left: 0; width: 100%; color: #a59eae; }
.presenter-review-progress::before { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: #393341; content: ""; }
.presenter-review-progress-meta { display: flex; justify-content: space-between; padding-top: 18px; }
.presenter-review-progress-meta strong { color: #bdb6c7; font-size: 17px; line-height: 24px; }
.presenter-review-progress-meta span { color: #fff; font-size: 19px; font-weight: 700; line-height: 24px; }
.presenter-review-completed { margin-top: 7px; }
.presenter-review-completed-heading { display: flex; align-items: center; gap: 12px; color: #bdb6c7; font-size: 12px; line-height: 17px; letter-spacing: .06em; }
.presenter-review-completed-heading span { color: #fff; font-weight: 700; letter-spacing: 0; }
.presenter-review-team-list { display: flex; max-height: 45px; flex-wrap: wrap; gap: 5px 8px; margin-top: 4px; overflow-y: auto; }
.presenter-review-team-chip { display: inline-flex; min-height: 20px; align-items: center; gap: 6px; padding: 0 9px; border: 1px solid #51495a; border-radius: 12px; background: #282431; color: #e4dfe9; font-size: 12px; line-height: 18px; white-space: nowrap; }
.presenter-review-team-chip i { color: #91d4ad; font-size: 12px; font-style: normal; font-weight: 800; }
.presenter-review-no-teams { color: #a59eae; font-size: 13px; line-height: 20px; }
.presenter-review-progress-track { width: 1240px; height: 14px; margin-top: 6px; overflow: hidden; border-radius: 7px; background: #393341; }
.presenter-review-progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--coral); }
.presenter-review-progress > small { display: block; margin-top: 7px; color: #a59eae; font-size: 13px; line-height: 18px; }
.presenter-review-reference.is-held { width: 1720px; }
.presenter-review-reference.is-held .presenter-review-round { display: none; }
.presenter-review-reference.is-held > h1 { top: 78px; width: 790px; max-width: 790px; color: #c9c4d0; font-size: 18px; line-height: 27px; text-wrap: nowrap; }
.presenter-review-reference.is-held .presenter-review-media-card { top: 138px; left: 0; width: 790px; height: 475px; padding: 0; border: 0; background: transparent; }
.presenter-review-reference.is-held .presenter-review-media-card > strong { display: none; }
.presenter-review-reference.is-held .presenter-review-visual { width: 790px; height: 475px; flex-basis: 475px; margin: 0; border-radius: 20px; }
.presenter-review-reference.is-held .presenter-review-media-card > small { position: absolute; right: 0; bottom: -33px; left: 0; margin: 0; }
.presenter-review-reference.is-held .presenter-review-answer-card { top: 138px; left: 830px; width: 890px; height: 266px; padding: 36px 52px; border-color: #443d4a; background: #211e28; }
.presenter-review-reference.is-held .presenter-review-answer-card h2 { font-size: 13px; line-height: 20px; }
.presenter-review-reference.is-held .presenter-review-answer { margin-top: 26px; font-size: 47px; line-height: 58px; }
.presenter-review-reference.is-held .presenter-review-accepted { min-height: 0; margin-top: 21px; padding: 0; border-radius: 0; background: transparent; font-size: 19px; font-weight: 400; }
.presenter-review-reference.is-held .presenter-review-explanation { margin-top: 27px; font-size: 16px; line-height: 22px; }
.presenter-review-reference.is-held .presenter-review-privacy { display: none; }
.presenter-review-hold { position: absolute; top: 300px; right: 0; left: 0; box-sizing: border-box; height: 175px; padding: 36px 52px 20px; border: 1px solid #51495a; border-radius: 20px; background: #302b38; }
.presenter-review-hold-icon { display: none; }
.presenter-review-hold > strong { display: block; color: #f3edf8; font-size: 18px; line-height: 26px; }
.presenter-review-hold > p { margin: 18px 0 0; color: #c8c2cf; font-size: 15px; line-height: 22px; }
.presenter-review-hold > small { display: block; margin-top: 16px; color: #aaa4b2; font-size: 13px; line-height: 18px; }
.presenter-review-reference.is-held .presenter-review-progress { top: 670px; left: 0; width: 100%; height: 150px; border: 1px solid #3c3644; border-radius: 15px; background: #201d27; }
.presenter-review-reference.is-held .presenter-review-progress::before, .presenter-review-reference.is-held .presenter-review-progress-track, .presenter-review-reference.is-held .presenter-review-progress > small { display: none; }
.presenter-review-reference.is-held .presenter-review-progress-meta { align-items: center; height: auto; padding: 16px 24px 0; }
.presenter-review-reference.is-held .presenter-review-progress-meta strong { color: #d7d1df; font-size: 14px; }
.presenter-review-reference.is-held .presenter-review-progress-meta span { color: #a9a3b2; font-size: 14px; font-weight: 400; }
.presenter-review-reference.is-held .presenter-review-completed { margin: 10px 24px 0; }
.presenter-review-reference.is-held .presenter-review-team-list { max-height: 75px; }
@media (max-width: 1200px) {
  .presenter-review-reference-screen { padding: 24px; }
  .presenter-review-reference-screen .presenter-review-brand small, .presenter-review-badge { margin-right: 0; }
  .presenter-review-reference-screen .presenter-canvas { overflow: auto; }
  .presenter-review-reference { min-width: 1050px; transform: scale(.72); transform-origin: top center; }
  .presenter-review-reference.is-held { transform: scale(.72); }
}
@media (max-width: 620px) {
  .presenter-review-reference-screen { grid-template-rows: 52px minmax(0,1fr); padding: 20px 12px; }
  .presenter-review-reference-screen .presenter-review-brand { gap: 8px; font-size: 12px; }
  .presenter-review-reference-screen .presenter-brand-dot { flex-basis: 12px; width: 12px; height: 12px; }
  .presenter-review-reference-screen .presenter-review-brand small, .presenter-review-badge { display: none; }
  .presenter-review-reference-screen .presenter-canvas { overflow: auto; }
  .presenter-review-reference, .presenter-review-reference.is-held { min-width: 1050px; transform: scale(.3); transform-origin: top left; }
}
.presenter-reconnect-screen .presenter-canvas { transform: translateY(-15.5vh); }
.presenter-reconnect-content h1 { margin: 0 0 35px; font-size: 58px; line-height: 1.15; }
.presenter-reconnect-content p { margin: 0; font-size: 24px; line-height: 36px; }
.presenter-reconnect-progress { box-sizing: border-box; width: 500px; height: 8px; margin: 82px auto 0; overflow: hidden; border-radius: 4px; background: #37313e; }
.presenter-reconnect-progress i { display: block; width: 36%; height: 100%; border-radius: inherit; background: var(--coral); animation: reconnect-progress 1.8s ease-in-out infinite alternate; }
.presenter-reconnect-banner { position: absolute; right: 3.85vw; bottom: 4.17vh; left: 3.85vw; box-sizing: border-box; height: 48px; padding: 0 24px; border-radius: 12px; background: #3a303b; color: #e5dde8; font-size: 17px; font-weight: 500; line-height: 48px; }
@keyframes reconnect-progress { to { width: 58%; } }
@media (max-width: 620px) {
  .presenter-reconnect-content h1 { font-size: 36px; }
  .presenter-reconnect-content p { font-size: 17px; }
  .presenter-reconnect-progress { width: min(500px,86vw); margin-top: 64px; }
  .presenter-reconnect-banner { right: 16px; bottom: 20px; left: 16px; height: auto; min-height: 44px; font-size: 13px; line-height: 1.4; padding: 12px; }
}
.presenter-expired-screen .presenter-canvas { transform: translateY(-19vh); }
.presenter-expired-content h1 { margin: 0 0 35px; font-size: 58px; line-height: 1.15; }
.presenter-expired-content p { margin: 0; font-size: 24px; line-height: 36px; }
.presenter-expired-banner { position: absolute; right: 3.85vw; bottom: 4.17vh; left: 3.85vw; box-sizing: border-box; height: 48px; padding: 0 24px; border-radius: 12px; background: #5b3033; color: #ffd0ca; font-size: 17px; font-weight: 500; line-height: 48px; }
.presenter-media-preroll-screen { display: block; min-height: 100vh; padding: 0; background: #09090b; }
.presenter-media-preroll-screen .presenter-canvas { position: relative; display: block; width: 100vw; height: 100vh; min-height: 100vh; translate: none; transform: none; }
.presenter-media-intro { box-sizing: border-box; display: grid; width: 100vw; height: 100vh; align-content: center; justify-items: center; gap: 22px; padding: 6vh 8vw; background: radial-gradient(ellipse at 50% 42%,#39303b 0%,#211e28 58%,#111015 100%); color: #fff; text-align: center; }
.presenter-media-intro .eyebrow { margin: 0; color: #f2b095; font-size: clamp(15px,1.4vw,22px); font-weight: 800; letter-spacing: .14em; }
.presenter-media-intro h1 { max-width: 1380px; margin: 0; font-size: clamp(38px,5.5vw,84px); font-weight: 750; line-height: 1.08; text-wrap: balance; }
.presenter-media-intro p:not(.eyebrow) { margin: 0; color: #f0eaf2; font-size: clamp(22px,2.5vw,38px); line-height: 1.3; }
.presenter-media-intro > span { margin-top: 14px; color: #c7c0cc; font-size: clamp(16px,1.45vw,22px); }
.presenter-media-preroll-screen .presenter-media { position: absolute; inset: 0; width: 100vw; height: 100vh; max-height: none; object-fit: cover; background: #09090b; }
.presenter-media-preroll-screen img.presenter-media { object-fit: contain; object-position: center; }
.presenter-media-preroll-screen .presenter-youtube-wrap { width: 100vw; height: 100vh; aspect-ratio: auto; }
.presenter-media-preroll-screen .presenter-youtube-wrap iframe, .presenter-media-preroll-screen .presenter-youtube-wrap > div { width: 100%; height: 100%; }
.presenter-media-preroll-screen audio { display: none; }
.presenter-media-preroll-screen .presenter-wait { display: grid; width: 100vw; height: 100vh; align-content: center; justify-items: center; gap: 24px; background: #211e2a; color: #fff; font-size: 28px; }
.presenter-media-error-screen { display: block; min-height: 100vh; padding: 0; background: linear-gradient(180deg,#211f29 0%,#15131b 100%); }
.presenter-media-error-screen .presenter-canvas { position: relative; display: block; width: 100vw; height: 100vh; min-height: 100vh; translate: none; transform: none; }
.presenter-media-error-content { position: relative; width: 100vw; height: 100vh; color: #fff; text-align: center; }
.presenter-media-error-emblem { position: absolute; top: 336px; left: 50%; width: 208px; height: 208px; transform: translateX(-50%); border-radius: 50%; background: #393441; }
.presenter-media-error-emblem svg { position: absolute; top: 39px; left: 44px; width: 120px; height: 100px; overflow: visible; fill: none; stroke: #d9d4df; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.presenter-media-error-emblem svg path:last-child { stroke: var(--coral); stroke-width: 9; }
.presenter-media-error-content h1 { position: absolute; top: 580px; left: 0; width: 100%; margin: 0; font-size: 28px; line-height: 34px; }
.presenter-media-error-content p { position: absolute; top: 634px; left: 0; width: 100%; margin: 0; color: #c7c3cd; font-size: 17px; line-height: 26px; }
.presenter-audio-preroll { position: absolute; inset: 0; justify-content: center; width: 100vw; height: 100vh; gap: 17px; overflow: hidden; padding: 0; background: linear-gradient(135deg,#211f29 0%,#332b39 55%,#17151d 100%); }
.presenter-audio-preroll::before, .presenter-audio-preroll::after { position: absolute; top: 520px; left: 50%; display: block; border-radius: 50%; transform: translate(-50%,-50%); content: ""; pointer-events: none; }
.presenter-audio-preroll::before { width: 800px; height: 800px; background: radial-gradient(circle,#ee654b4d 0%,#ee654b00 70%); }
.presenter-audio-preroll::after { width: 244px; height: 244px; border: 2px solid #514351; background: #2c2933; box-shadow: 0 0 0 28px #ee654b1f; }
.presenter-audio-preroll .audio-pulse { position: relative; z-index: 1; width: 18px; height: var(--bar-height); flex: 0 0 18px; border-radius: 9px; background: #f0b69d; opacity: var(--bar-opacity); animation: none; }
.presenter-audio-core { position: absolute; z-index: 2; top: 456px; left: 50%; display: flex; align-items: center; gap: 7px; height: 128px; justify-content: center; width: 128px; transform: translateX(-50%); border-radius: 50%; background: #ee654b5c; }
.presenter-audio-core i { display: block; width: 9px; border-radius: 5px; background: var(--paper); }
.presenter-audio-core i:nth-child(1) { height: 28px; }.presenter-audio-core i:nth-child(2) { height: 62px; }.presenter-audio-core i:nth-child(3) { height: 84px; }.presenter-audio-core i:nth-child(4) { height: 46px; }.presenter-audio-core i:nth-child(5) { height: 16px; }
.presenter-audio-caption { position: absolute; top: 770px; left: 0; z-index: 3; display: grid; width: 100%; gap: 20px; color: #fff; text-align: center; }
.presenter-audio-caption strong { font-size: 22px; line-height: 28px; }
.presenter-audio-caption span { color: #c7c3cd; font-size: 16px; line-height: 22px; }
@media (max-width: 620px) {
  .presenter-expired-content h1 { font-size: 36px; }
  .presenter-expired-content p { font-size: 17px; }
  .presenter-expired-banner { right: 16px; bottom: 20px; left: 16px; height: auto; min-height: 44px; font-size: 13px; line-height: 1.4; padding: 12px; }
  .presenter-media-error-emblem { top: 30vh; width: 160px; height: 160px; }
  .presenter-media-error-emblem svg { top: 28px; left: 30px; width: 100px; height: 90px; }
  .presenter-media-error-content h1 { top: 58vh; padding: 0 20px; font-size: 21px; }
  .presenter-media-error-content p { top: 66vh; padding: 0 20px; font-size: 14px; }
  .presenter-audio-preroll { gap: 5px; }
  .presenter-audio-preroll .audio-pulse { width: 7px; flex-basis: 7px; }
  .presenter-audio-preroll::before, .presenter-audio-preroll::after { top: 48vh; }
  .presenter-audio-preroll::after { width: 160px; height: 160px; }
  .presenter-audio-core { top: calc(48vh - 48px); width: 96px; height: 96px; }
  .presenter-audio-caption { top: 70vh; }
}

.player-review-mode .player-topbar { height: 68px; padding: 0 22px; }
.player-review-mode .player-session-meta, .player-review-mode .player-footer { display: none; }
.player-review-mode .player-brand { gap: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.player-review-mode .player-brand-mark { width: 30px; height: 30px; border-radius: 9px; font-size: 16px; }
.player-review-timer { color: #946000; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.player-review-content { box-sizing: border-box; width: 430px; min-height: calc(100dvh - 68px); padding: 26px 28px 22px; }
.player-review-active { position: relative; box-sizing: border-box; width: 374px; height: 842px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: left; }
.player-review-position { position: absolute; top: 0; left: 0; margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 15px; }
.player-review-active h1 { position: absolute; top: 52px; left: 0; width: 374px; margin: 0; color: var(--ink); font-size: 24px; line-height: 30px; letter-spacing: 0; }
.player-review-presenter-note { position: absolute; top: 129px; left: 0; display: flex; box-sizing: border-box; width: 374px; height: 54px; align-items: center; gap: 16px; padding: 0 14px; border-radius: 10px; background: #eeeae5; color: #454550; }
.player-review-presenter-note > i { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; background: #ded8d0; color: #8b877f; font-size: 15px; font-style: normal; }
.player-review-presenter-note strong, .player-review-presenter-note small { display: block; font-size: 11px; line-height: 17px; }
.player-review-presenter-note small { color: #666672; }
.player-review-active .anonymous-answer { position: absolute; top: 201px; left: 0; display: block; box-sizing: border-box; width: 374px; height: 216px; margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.player-review-active .anonymous-answer > small { display: block; color: var(--muted); font-size: 10px; font-weight: 700; line-height: 15px; }
.review-answer-display { position: absolute; top: 49px; right: 19px; left: 19px; box-sizing: border-box; height: 116px; padding: 16px 18px; border-radius: 10px; background: #f7f6f3; }
.review-answer-display span { display: block; color: var(--muted); font-size: 10px; font-weight: 700; line-height: 15px; }
.review-answer-display strong { display: block; margin-top: 14px; color: var(--ink); font-size: 28px; line-height: 34px; overflow-wrap: anywhere; }
.player-review-active .anonymous-answer hr { position: absolute; right: 19px; bottom: 28px; left: 19px; margin: 0; border: 0; border-top: 1px solid #ece9e4; }
.player-review-active .anonymous-answer > p { position: absolute; bottom: 7px; left: 19px; margin: 0; color: var(--muted); font-size: 10px; line-height: 15px; }
.player-review-active > h2 { position: absolute; top: 454px; left: 0; margin: 0; color: #454550; font-size: 12px; line-height: 18px; }
.player-review-choices { position: absolute; top: 474px; left: 0; display: grid; width: 374px; gap: 10px; }
.player-review-choices .review-choice { display: flex; box-sizing: border-box; width: 374px; height: 55px; min-height: 55px; align-items: center; justify-content: flex-start; gap: 14px; padding: 0 15px; border-radius: 11px; font-size: 14px; }
.player-review-choices .review-choice i { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: currentColor; color: #fff; font-size: 14px; font-style: normal; }
.player-review-choices .correct-choice { border-color: #c4e3d1; background: #e7f4ed; color: #176d51; }
.player-review-choices .wrong-choice { border-color: #f0cfca; background: #fff0ee; color: #9e3030; }
.player-review-choices .jury-choice { border-color: var(--line-dark); background: var(--paper); color: #454550; }
.player-review-choices .jury-choice i { background: #f0eee9; color: #555560; }
.player-review-choices .review-choice span { font-size: 14px; font-weight: 700; }
.player-review-guidance { position: absolute; top: 686px; left: 0; margin: 0; color: var(--muted); font-size: 11px; line-height: 17px; }
.player-review-progress { position: absolute; top: 752px; left: 0; display: grid; width: 374px; grid-template-columns: 1fr; gap: 20px 0; color: var(--muted); }
.player-review-progress > div { width: 374px; height: 8px; overflow: hidden; border-radius: 4px; background: #e2ded8; }
.player-review-progress > div i { display: block; height: 100%; border-radius: 4px; background: var(--coral); }
.player-review-progress > span { font-size: 10px; font-weight: 700; line-height: 15px; }
.player-review-progress > small { position: absolute; top: 28px; right: 0; font-size: 9px; line-height: 15px; text-align: right; }
.player-review-footer { position: absolute; top: 810px; left: 0; width: 100%; margin: 0; color: var(--muted); font-size: 10px; line-height: 16px; text-align: center; }
.player-review-unassigned { position: absolute; top: 474px; left: 0; width: 100%; padding: 20px; border-radius: 11px; background: var(--paper); color: var(--muted); font-size: 13px; }
.player-review-done { position: relative; box-sizing: border-box; width: 374px; height: 842px; margin: 0 auto; color: var(--ink); text-align: center; }
.player-review-done .player-review-position { top: 38px; text-align: left; }
.player-review-success { position: absolute; top: 147px; left: 50%; display: grid; width: 104px; height: 104px; place-items: center; transform: translateX(-50%); border-radius: 50%; background: #e7f4ed; }
.player-review-success span { display: grid; width: 68px; height: 68px; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-size: 42px; font-weight: 700; line-height: 1; }
.player-review-done > h1 { position: absolute; top: 273px; left: 0; width: 100%; margin: 0; font-size: 25px; line-height: 32px; }
.player-review-done-copy { position: absolute; top: 315px; left: 0; width: 100%; margin: 0; color: var(--muted); font-size: 13px; line-height: 19px; }
.player-review-choice-card, .player-review-hold-card, .player-review-next-card { position: absolute; box-sizing: border-box; width: 374px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); text-align: left; }
.player-review-choice-card { top: 379px; height: 142px; padding: 30px 24px; }
.player-review-choice-card small { display: block; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 15px; }
.player-review-choice-card > span { display: inline-flex; height: 34px; align-items: center; margin-top: 12px; padding: 0 18px; border-radius: 17px; background: #e7f4ed; color: var(--green); font-size: 11px; font-weight: 700; }
.player-review-choice-card p { margin: 20px 0 0; color: #666672; font-size: 11px; line-height: 16px; }
.player-review-next-card { top: 544px; height: 107px; padding: 30px 56px; }
.player-review-next-card strong, .player-review-next-card span { display: block; color: var(--ink); font-size: 13px; line-height: 20px; }
.player-review-next-card span { color: #666672; font-size: 11px; }
.player-review-next-card b { font-weight: 400; }
.player-review-hold-card { top: 395px; height: 144px; padding: 27px 24px; border-color: #f0d5bd; background: #fff2e8; color: #82500b; }
.player-review-hold-card strong { display: block; margin: 0 0 20px 32px; font-size: 14px; line-height: 20px; }
.player-review-hold-card p { margin: 0 0 7px; font-size: 12px; line-height: 17px; }
.player-review-no-action { position: absolute; top: 591px; left: 0; width: 100%; margin: 0; color: var(--muted); font-size: 12px; }
.player-review-done .player-review-progress { top: 691px; gap: 20px 0; text-align: left; }
.player-review-done .player-review-progress > small { display: none; }
.player-review-done .player-review-footer { top: 808px; }
.player-appeal-mode .player-topbar, .player-verdict-mode .player-topbar { height: 66px; }
.player-appeal-mode .player-session-meta, .player-appeal-mode .player-footer, .player-verdict-mode .player-session-meta, .player-verdict-mode .player-footer { display: none; }
.player-appeal-mode .player-topbar .player-brand, .player-verdict-mode .player-topbar .player-brand { font-size: 13px; font-weight: 700; letter-spacing: 0; }
.player-appeal-content, .player-verdict-content { box-sizing: border-box; width: 430px; min-height: calc(100dvh - 66px); padding: 38px 28px 24px; }
.player-appeal-reference { position: relative; box-sizing: border-box; width: 374px; min-height: 780px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: left; }
.player-appeal-reference .player-review-position { top: 0; }
.player-appeal-reference > h1 { position: absolute; top: 26px; left: 0; margin: 0; font-size: 24px; line-height: 30px; }
.player-appeal-intro { position: absolute; top: 62px; left: 0; margin: 0; color: var(--muted); font-size: 12px; line-height: 18px; }
.player-appeal-result { position: absolute; top: 103px; left: 0; display: block; box-sizing: border-box; width: 374px; height: 132px; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.player-appeal-result small { position: absolute; top: 22px; left: 20px; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 16px; }
.player-appeal-result strong { position: absolute; top: 54px; left: 20px; color: var(--ink); font-size: 15px; line-height: 20px; }
.player-appeal-result span { position: absolute; top: 87px; left: 20px; display: flex; box-sizing: border-box; width: 334px; height: 32px; align-items: center; padding: 0 16px; border-radius: 8px; background: #fff0ee; color: #a43232; font-size: 11px; line-height: 18px; }
.player-appeal-form-card { position: absolute; top: 255px; left: 0; box-sizing: border-box; width: 374px; min-height: 202px; padding: 22px 20px 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.player-appeal-form-card h2 { margin: 0; font-size: 13px; line-height: 18px; }
.player-appeal-form-card > p { margin: 9px 0 14px; color: var(--muted); font-size: 11px; line-height: 16px; }
.player-appeal-form-card form { display: grid; gap: 9px; }
.player-appeal-form-card textarea { box-sizing: border-box; width: 100%; height: 68px; padding: 12px 14px; resize: none; border: 1px solid var(--line-dark); border-radius: 8px; font-size: 12px; }
.player-appeal-form-card textarea::placeholder { color: #aaa7af; }
.player-appeal-form-card form > small { color: var(--muted); font-size: 10px; line-height: 14px; }
.player-appeal-form-card .button { position: absolute; top: 231px; left: 0; width: 374px; height: 52px; min-height: 52px; border-radius: 12px; font-size: 14px; }
.player-appeal-footnote { position: absolute; top: 572px; left: 0; width: 100%; margin: 0; color: var(--muted); font-size: 12px; line-height: 18px; text-align: center; }
.player-jury-mode .player-topbar { height: 94px; padding: 0 22px; background: #211f29; color: #fff; }
.player-jury-mode .player-session-meta, .player-jury-mode .player-footer { display: none; }
.player-jury-mode .player-brand { gap: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.player-jury-mode .player-brand-mark { width: 34px; height: 34px; border-radius: 11px; font-size: 18px; }
.player-jury-brand-copy b, .player-jury-brand-copy small { display: block; color: #fff; font-size: 13px; line-height: 19px; }
.player-jury-brand-copy small { color: #c7c3cd; font-size: 10px; font-weight: 400; }
.player-jury-status { padding: 6px 10px; border-radius: 13px; background: #493e31; color: #ffca72; font-size: 10px; font-weight: 700; }
.player-jury-content { box-sizing: border-box; width: 390px; min-height: calc(100dvh - 94px); padding: 24px 22px; }
.player-jury-pending { position: relative; box-sizing: border-box; width: 346px; height: 726px; }
.player-jury-pending .player-review-position { top: 10px; left: 2px; }
.player-jury-pending > h1 { position: absolute; top: 36px; left: 2px; margin: 0; font-size: 24px; line-height: 30px; }
.player-jury-notice, .player-jury-question, .player-jury-info, .player-jury-next { position: absolute; left: 0; box-sizing: border-box; width: 346px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.player-jury-notice { top: 100px; height: 76px; padding: 19px 17px 10px 62px; border-color: #f0d7a7; background: #fff4df; }
.player-jury-notice::before { position: absolute; top: 20px; left: 16px; width: 36px; height: 36px; border-radius: 50%; background: #f3dfb9; color: #80550d; content: "⚑"; font-size: 18px; line-height: 36px; text-align: center; }
.player-jury-notice strong, .player-jury-notice span { display: block; color: #5e471d; font-size: 12px; line-height: 20px; }
.player-jury-notice span { color: #6e624b; font-size: 11px; }
.player-jury-question { top: 195px; height: 166px; padding: 21px 20px; }
.player-jury-question small { display: block; color: var(--muted); font-size: 10px; font-weight: 700; line-height: 15px; }
.player-jury-question > strong { display: block; margin: 8px 0 13px; font-size: 14px; line-height: 21px; }
.player-jury-question hr { margin: 0 0 12px; border: 0; border-top: 1px solid #ece9e4; }
.player-jury-question b { display: block; margin-top: 6px; font-size: 15px; }
.player-jury-info { top: 380px; height: 111px; padding: 25px 20px; }
.player-jury-info strong, .player-jury-info span, .player-jury-next strong, .player-jury-next span { display: block; font-size: 12px; line-height: 18px; }
.player-jury-info span, .player-jury-next span { margin-top: 8px; color: #666672; font-size: 11px; }
.player-jury-next { top: 511px; height: 62px; padding: 15px 46px; }
.player-jury-next span { margin-top: 2px; }
.player-jury-pending > .button { position: absolute; top: 601px; left: 0; width: 346px; height: 48px; min-height: 48px; border-radius: 11px; font-size: 13px; }
.player-jury-pending .player-review-footer { top: 690px; }
.player-verdict-mode .player-session-meta, .player-verdict-mode .player-footer { display: none; }
.player-verdict-content { padding-top: 55px; }
.player-jury-verdict { position: relative; width: 374px; height: 700px; }
.player-verdict-card, .player-verdict-score { position: absolute; left: 0; box-sizing: border-box; width: 374px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); }
.player-verdict-card { top: 0; height: 272px; padding: 22px 20px; }
.player-verdict-card > span { display: inline-flex; height: 27px; align-items: center; padding: 0 16px; border-radius: 14px; background: #e7f4ed; color: var(--green); font-size: 10px; font-weight: 700; }
.player-verdict-card h1 { margin: 24px 0 12px; font-size: 19px; line-height: 25px; }
.player-verdict-card > p { margin: 0 0 14px; color: var(--muted); font-size: 12px; line-height: 18px; }
.player-verdict-card > div { display: grid; gap: 8px; padding: 14px 16px; border-radius: 9px; background: #f3f7f4; }
.player-verdict-card > div small, .player-verdict-score small { color: #47715d; font-size: 11px; font-weight: 700; }
.player-verdict-card > div span { color: #34343e; font-size: 12px; }
.player-verdict-card > strong { display: block; margin-top: 20px; font-size: 14px; }
.player-verdict-card > strong.is-correct { color: var(--green); }.player-verdict-card > strong.is-wrong { color: var(--red); }
.player-verdict-score { top: 298px; height: 116px; padding: 28px 20px; }
.player-verdict-score small { display: block; color: var(--muted); }
.player-verdict-score strong { display: block; margin-top: 12px; font-size: 28px; }
.player-verdict-score { position: absolute; }
.player-verdict-score em { position: absolute; top: 72px; right: 19px; color: var(--green); font-size: 12px; font-style: normal; font-weight: 700; }
.player-jury-verdict > .button { position: absolute; top: 443px; left: 0; width: 374px; height: 52px; min-height: 52px; border-radius: 12px; font-size: 14px; }
@media (max-width: 620px) {
  .player-review-content { width: 100%; padding-right: max(16px,calc((100vw - 374px)/2)); padding-left: max(16px,calc((100vw - 374px)/2)); }
  .player-appeal-content, .player-verdict-content { width: 100%; padding-right: max(16px,calc((100vw - 374px)/2)); padding-left: max(16px,calc((100vw - 374px)/2)); }
  .player-jury-content { width: min(390px,100%); padding-right: max(12px,calc((100vw - 390px)/2)); padding-left: max(12px,calc((100vw - 390px)/2)); }
}

/* Match the authored peer-review references at their 430 × 932 and 390 × 844 sizes. */
.player-review-active > h1 { top: 29px; }
.player-review-presenter-note { top: 103px; }
.player-review-active .anonymous-answer { top: 175px; }
.player-review-active > h2 { top: 414px; }
.player-review-active .player-review-choices { top: 448px; }
.player-review-guidance { top: 658px; }
.player-review-active .player-review-progress { top: 726px; gap: 15px 0; }
.player-review-active .player-review-progress > small { top: 24px; }
.player-review-active .player-review-footer { top: 801px; }
.player-review-unassigned { top: 448px; }
.player-review-done .player-review-position { top: 12px; }
.player-review-success { top: 121px; }
.player-review-done > h1 { top: 248px; }
.player-review-done-copy { top: 289px; }
.player-review-choice-card { top: 353px; }
.player-review-next-card { top: 518px; }
.player-review-hold-card { top: 369px; }
.player-review-no-action { top: 563px; }
.player-review-done .player-review-progress { top: 665px; gap: 14px 0; }
.player-review-done .player-review-footer { top: 779px; }
.player-review-expired-mode .player-topbar { height: 66px; padding: 0 22px; }
.player-review-expired-mode .player-session-meta, .player-review-expired-mode .player-footer { display: none; }
.player-review-expired-mode .player-brand { gap: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.player-review-expired-mode .player-brand-mark { width: 28px; height: 28px; border-radius: 9px; font-size: 15px; }
.player-review-expired-content { position: relative; box-sizing: border-box; width: 430px; min-height: calc(100dvh - 66px); padding: 84px 28px 24px; }
.player-review-expired-card { position: relative; box-sizing: border-box; width: 374px; height: 262px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); text-align: center; }
.player-review-expired-icon { position: absolute; top: 38px; left: 152px; display: grid; width: 70px; height: 70px; place-items: center; border-radius: 50%; background: #fff0ee; color: var(--red); font-size: 28px; font-weight: 700; }
.player-review-expired-card h1 { position: absolute; top: 120px; left: 0; width: 100%; margin: 0; color: var(--ink); font-size: 21px; line-height: 27px; }
.player-review-expired-card p { position: absolute; left: 0; width: 100%; margin: 0; color: var(--muted); font-size: 12px; line-height: 17px; }
.player-review-expired-card p:nth-of-type(1) { top: 164px; }
.player-review-expired-card p:nth-of-type(2) { top: 191px; }
.player-review-expired-next { position: absolute; top: 371px; left: 28px; display: grid; box-sizing: border-box; width: 374px; height: 89px; align-content: start; gap: 8px; padding: 22px 20px; border-radius: 14px; background: #fff5de; }
.player-review-expired-next strong { color: #946000; font-size: 11px; line-height: 16px; }
.player-review-expired-next span { color: #4b4538; font-size: 12px; line-height: 18px; }
.player-review-hold-card { padding-top: 32px; }
.player-review-hold-card > i { position: absolute; top: 30px; left: 18px; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #f2dfbd; color: #9b600d; font-size: 13px; font-style: normal; font-weight: 700; }
.player-review-choice-card { padding-top: 24px; }
.player-review-choice-card p { margin-top: 16px; }
.player-review-next-card { padding-top: 20px; }
.player-jury-pending { margin-top: -24px; }
.player-jury-pending .player-review-position { top: 26px; }
.player-jury-pending > h1 { top: 52px; }
.player-jury-pending .player-review-footer { top: 685px; }
.qm08-reference-layout { display: grid; gap: 18px; }
.page-content:has(.qm08-reference-layout) .page-heading { margin-bottom: 22.6px; }
.qm08-summary { display: grid; box-sizing: border-box; height: 68px; align-content: center; gap: 4px; padding: 0 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.qm08-summary strong { color: var(--ink); font-size: 12px; line-height: 18px; }
.qm08-summary span { color: var(--muted); font-size: 12px; line-height: 18px; }
.qm08-table { box-sizing: border-box; min-height: 330px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.qm08-table-head, .qm08-row { display: grid; grid-template-columns: 188px 360px 260px minmax(0,1fr); align-items: center; }
.qm08-table-head { height: 42px; padding: 0 14px; border-radius: 7px; background: #f1efeb; color: var(--muted); font-size: 10px; font-weight: 700; }
.qm08-row { box-sizing: border-box; width: 100%; height: 52px; padding: 0 14px; border: 0; border-bottom: 1px solid #ebe8e2; background: var(--paper); color: #454550; font: 12px/18px Arial,sans-serif; text-align: left; cursor: pointer; }
.qm08-row:hover { background: #faf8f5; }
.qm08-row.is-selected { background: #fff5ee; }
.qm08-row > span { overflow: hidden; padding-right: 12px; text-overflow: ellipsis; white-space: nowrap; }
.qm08-row strong { color: var(--ink); font-weight: 700; }
.qm08-row .is-review { color: #a46400; }
.qm08-row .is-expired { color: var(--red); }
.qm08-empty-row { display: grid; height: 120px; place-items: center; color: var(--muted); font-size: 13px; }
.qm08-detail-grid { display: grid; grid-template-columns: minmax(0,700px) minmax(0,412px); gap: 26px; }
.qm08-selected, .qm08-decision { box-sizing: border-box; height: 220px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.qm08-selected h2, .qm08-decision h2 { margin: 0 0 18px; color: var(--ink); font-size: 15px; line-height: 21px; }
.qm08-selected p, .qm08-decision p { margin: 0 0 10px; color: #666; font-size: 13px; line-height: 18px; }
.qm08-selected p:last-child { max-width: 640px; margin-top: 18px; color: var(--muted); font-size: 12px; }
.qm08-decision h2 { margin: 0 0 13px; font-size: 14px; }
.qm08-decision p { color: var(--muted); font-size: 12px; }
.qm08-decision-buttons { display: grid; grid-template-columns: 166px 186px; gap: 12px; margin-top: 24px; }
.qm08-decision-buttons .button { box-sizing: border-box; min-height: 42px; height: 42px; padding: 0 8px; border-radius: 9px; font-size: 13px; }
.qm08-decision-buttons .button:not(.button-primary) { border-color: var(--line-dark); }
.qm08-reference-layout .form-error { margin: 0; }
.page-content:has(.qm08-empty-reference) .page-heading { margin-bottom: 32.6px; }
.qm08-empty-reference { position: relative; box-sizing: border-box; width: 100%; height: 500px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); text-align: center; }
.qm08-empty-check { position: absolute; top: 98px; left: calc(50% - 42px); display: grid; width: 84px; height: 84px; place-items: center; border-radius: 50%; background: #e7f4ed; color: var(--green); font-size: 34px; font-weight: 700; }
.qm08-empty-reference h2 { position: absolute; top: 209px; left: 0; width: 100%; margin: 0; color: var(--ink); font-size: 22px; line-height: 28px; }
.qm08-empty-reference p { position: absolute; left: 0; width: 100%; margin: 0; color: #666672; font-size: 13px; line-height: 20px; }
.qm08-empty-reference p:nth-of-type(1) { top: 250px; }
.qm08-empty-reference p:nth-of-type(2) { top: 282px; }
.qm08-empty-reference > .button { position: absolute; top: 345px; left: calc(50% - 149px); box-sizing: border-box; width: 298px; height: 48px; min-height: 48px; border-radius: 10px; font-size: 13px; }
.role-quizmaster:has(.qm08-reference-layout) .sidebar-kicker, .role-quizmaster:has(.qm08-empty-reference) .sidebar-kicker { display: none; }
.role-quizmaster:has(.qm08-reference-layout) .sidebar nav, .role-quizmaster:has(.qm08-empty-reference) .sidebar nav { gap: 8px; margin-top: 26px; }
.role-quizmaster:has(.qm08-reference-layout) .sidebar-bottom, .role-quizmaster:has(.qm08-empty-reference) .sidebar-bottom,
.role-quizmaster:has(.qm08-reference-layout) .workspace-context strong, .role-quizmaster:has(.qm08-empty-reference) .workspace-context strong { display: none; }
.player-verdict-card h1 { margin-top: 20px; }
.player-verdict-card > p { margin-bottom: 19px; }
.player-verdict-card > div { gap: 12px; padding: 17px 16px 16px; }
.player-verdict-card > strong { margin-top: 18px; }
.player-verdict-score { padding-top: 26px; }
.player-verdict-score strong { margin-top: 17px; }
.player-verdict-score em { top: 73px; }
@media (max-width: 1180px) {
  .qm08-detail-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .qm08-selected, .qm08-decision { height: auto; min-height: 180px; }
  .qm08-table { overflow-x: auto; }
  .qm08-table-head, .qm08-row { min-width: 900px; }
}
@media (max-width: 620px) {
  .player-review-expired-content { width: 100%; padding-right: max(16px,calc((100vw - 374px)/2)); padding-left: max(16px,calc((100vw - 374px)/2)); }
  .player-review-expired-next { left: max(16px,calc((100vw - 374px)/2)); width: min(374px,calc(100vw - 32px)); }
  .presenter-lobby-team-strip { right: 16px; bottom: 18px; left: 16px; height: 70px; grid-template-columns: 118px minmax(0,1fr); gap: 10px; padding: 9px 13px; }
  .presenter-lobby-team-strip::after { right: 13px; left: 13px; }
  .presenter-lobby-team-label { gap: 8px; }
  .presenter-lobby-team-label > i { flex-basis: 8px; width: 8px; height: 8px; }
  .presenter-lobby-team-label strong { font-size: 20px; }
  .presenter-lobby-team-label small { font-size: 7px; letter-spacing: .06em; }
  .presenter-lobby-team-chip { min-height: 36px; padding: 0 13px; font-size: 13px; }
  .presenter-lobby-team-empty { font-size: 11px; line-height: 15px; }
}
@media (max-width: 380px) {
  .presenter-lobby-team-strip { right: 10px; bottom: 12px; left: 10px; height: 62px; grid-template-columns: 92px minmax(0,1fr); gap: 7px; padding: 7px 9px; }
  .presenter-lobby-team-strip::after { right: 9px; left: 9px; }
  .presenter-lobby-team-label { gap: 6px; }
  .presenter-lobby-team-label strong { font-size: 17px; }
  .presenter-lobby-team-label small { font-size: 6px; }
  .presenter-lobby-team-chip { min-height: 32px; padding: 0 10px; font-size: 11px; }
  .presenter-lobby-team-empty { font-size: 10px; line-height: 13px; }
}

/* Keep question editing actions visible and reachable without hover. */
.quiz-editor-tools { opacity: 1; pointer-events: auto; flex-wrap: wrap; }
.quiz-tools-trigger { position: static; opacity: 1; pointer-events: auto; }
.question-side-extra > summary { position: static; width: auto; height: auto; overflow: visible; color: var(--ink); opacity: 1; cursor: pointer; }
.question-side-extra > summary::after { display: none; }
.question-side-extra[open] { padding-top: 0; }
.quiz-editor-workbench .quiz-option-tools { position: static; margin-top: 9px; opacity: 1; pointer-events: auto; }
.question-save-status { display: inline-block; margin-top: 5px; color: var(--muted); font-size: .7rem; }
.question-editor-grid .question-main-heading { min-width: 0; }
.question-editor-grid .choice-row .icon-button { opacity: 1; }
.question-editor-grid .question-round-add { min-height: 30px; margin-top: 8px; padding: 4px 7px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }
.question-editor-grid .question-side-extra .field { margin-top: 10px; }
.question-editor-grid .question-settings-side { grid-template-rows: auto 1fr; }
.question-media-actions { display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end; gap: 7px; }
.question-media-actions > .button { width: auto; min-width: 110px; min-height: 34px; margin: 0; }
.question-media-panel .question-media-actions > .button { flex: 0 0 auto; }
.question-save-status[data-state="saved"] { color: var(--green); }
.question-save-status[data-state="pending"], .question-save-status[data-state="warning"] { color: #9b6719; }
.question-save-status[data-state="error"] { color: #a7372d; }

/* Consistent spacing and alignment across the organizer workspace. */
.app-shell .page-content { padding: 28px clamp(20px, 2.6vw, 38px) 64px; }
.app-shell .page-heading { align-items: center; gap: 20px; margin-bottom: 24px; }
.app-shell .page-heading h1 { margin: 0; line-height: 1.2; }
.app-shell .heading-actions { align-items: center; gap: 8px; padding-top: 0; }
.app-shell .page-heading:has(.quiz-editor-tools) { gap: 14px; }
.app-shell .heading-actions:has(.quiz-editor-tools) { flex-wrap: nowrap; gap: 5px; padding-top: 0; }
.app-shell .heading-actions > .button, .app-shell .quiz-editor-tools > .button { min-height: 34px; padding: 6px 8px; font-size: .72rem; white-space: nowrap; }
.app-shell .quiz-editor-tools { display: flex; max-width: 100%; flex-wrap: nowrap; align-items: center; gap: 5px; margin: 0; }
.app-shell .card { padding: clamp(16px, 1.5vw, 20px); }
.app-shell .card-heading, .app-shell .section-heading { align-items: center; gap: 14px; margin-bottom: 16px; }
.app-shell .stats-grid, .app-shell .content-grid, .app-shell .quiz-grid, .app-shell .media-library-grid { gap: 16px; }
.app-shell .form-grid, .app-shell .platform-form-grid, .app-shell .org-settings-grid { column-gap: 18px; row-gap: 16px; }
.app-shell .form-grid > .field, .app-shell .platform-form-grid > .field, .app-shell .org-settings-grid > .field { margin-bottom: 0; }

/* The quiz editor now follows the same type scale and spacing as the rest of the app. */
.app-shell .question-editor-grid { grid-template-columns: minmax(205px, 232px) minmax(0, 1fr) minmax(270px, 300px); gap: 20px; align-items: stretch; }
.app-shell .question-round-nav { min-height: 100%; padding: 20px; }
.app-shell .question-round-nav h2 { margin: 0 0 18px; font-size: .95rem; transform: none; }
.app-shell .question-round-group, .app-shell .question-round-nav[data-round-count] .question-round-group { gap: 9px; margin: 0 0 20px; transform: none; }
.app-shell .question-round-nav[data-round-count] h2 { margin-bottom: 18px; }
.app-shell .question-round-group > strong { font-size: .78rem; line-height: 1.4; }
.app-shell .question-round-link, .app-shell .question-round-add { font-size: .82rem; line-height: 1.4; }
.app-shell .question-round-link { display: block; min-height: 30px; padding: 6px 8px; border-radius: 7px; line-height: 1.35; overflow-wrap: anywhere; white-space: normal; }
.app-shell .question-round-link:hover { background: #f7f5f1; }
.app-shell .question-round-link.active { background: #fff0ec; }
.app-shell .question-round-add { min-height: 36px; margin-top: 4px; padding: 7px 9px; }
.app-shell .question-main { min-height: 0; padding: 22px; }
.app-shell .question-main-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 14px; row-gap: 4px; margin-bottom: 20px; }
.app-shell .question-main-heading h2 { grid-column: 1; margin: 0; font-size: 1.08rem; line-height: 1.3; transform: none; }
.app-shell .question-main-heading p { grid-column: 1; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.4; transform: none; }
.app-shell .question-save-status { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; padding: 6px 9px; border-radius: 7px; background: #f2f6f2; font-size: .74rem; line-height: 1.3; white-space: nowrap; }
.app-shell .question-main > .field { gap: 7px; margin-bottom: 20px; font-size: .8rem; }
.app-shell .question-main > .field:first-of-type { margin-bottom: 20px; transform: none; }
.app-shell .question-main > .field:first-of-type > span { font-size: .8rem; letter-spacing: 0; text-transform: none; }
.app-shell .question-main > .field:first-of-type input { width: 100%; height: auto; min-height: 48px; padding: 11px 13px; font-size: .94rem; }
.app-shell .question-main .question-choice-block { margin: 0; padding: 0; border: 0; background: transparent; }
.app-shell .question-main .question-choice-block .card-heading { height: auto; align-items: center; margin: 0 0 10px; transform: none; }
.app-shell .question-main .question-choice-block h3 { margin: 0; font-size: .78rem; letter-spacing: .04em; line-height: 1.4; text-transform: uppercase; transform: none; }
.app-shell .question-main .choice-list { gap: 9px; }
.app-shell .question-main .choice-row { width: 100%; min-height: 44px; margin: 0; padding: 4px 10px; border: 1px solid transparent; border-radius: 9px; background: #f5f4f0; }
.app-shell .question-main .choice-row:focus-within { border-color: #d7d3ca; }
.app-shell .question-editor-grid .choice-mark-input { position: static; display: block; flex: 0 0 18px; width: 18px; height: 18px; overflow: visible; clip: auto; accent-color: var(--green); }
.app-shell .question-editor-grid .choice-row input[type="text"] { flex: 1 1 auto; width: 100%; min-width: 0; max-width: none; min-height: 36px; padding: 7px 8px; border: 0; background: transparent; font-size: .9rem; field-sizing: fixed; }
.app-shell .question-editor-grid .choice-row .icon-button { display: inline-grid; flex: 0 0 32px; width: 32px; min-width: 32px; height: 32px; min-height: 32px; opacity: 1; }
.app-shell .question-editor-grid .quiz-correct-label { margin: 0 8px 0 0; font-size: .78rem; }
.app-shell .quiz-option-tools { margin-top: 12px; }
.app-shell .quiz-option-tools .button { min-height: 38px; }
.app-shell .question-text-block { display: grid; gap: 12px; margin-top: 16px; padding: 16px; }
.app-shell .question-text-block h3 { margin: 0; font-size: .92rem; }
.app-shell .question-text-block .field { margin: 0; }
.app-shell .question-media-panel { width: 100%; min-height: 0; align-items: center; gap: 16px; margin: 20px 0 0; padding: 16px; transform: none; }
.app-shell .question-media-panel > div { transform: none; }
.app-shell .question-media-panel > div > small { font-size: .72rem; }
.app-shell .question-media-panel .media-linked strong { font-size: .86rem; }
.app-shell .question-media-panel .media-linked small, .app-shell .question-media-panel > div > p { font-size: .76rem; line-height: 1.45; }
.app-shell .question-media-panel > .button { width: auto; min-width: 0; height: auto; min-height: 40px; align-self: center; margin: 0; font-size: .82rem; }
.app-shell .question-settings-side { grid-template-rows: auto auto; align-content: start; gap: 16px; }
.app-shell .question-settings-side .card { padding: 20px; }
.app-shell .question-settings-side h2 { margin: 0 0 8px; font-size: .98rem; transform: none; }
.app-shell .question-settings-side p { margin: 0 0 14px; font-size: .82rem; transform: none; }
.app-shell .question-settings-side .field { gap: 6px; margin-bottom: 14px; font-size: .78rem; }
.app-shell .question-settings-side .field input, .app-shell .question-settings-side .field select { min-height: 42px; font-size: .86rem; }
.app-shell .question-settings-side .notice { padding: 11px 12px; font-size: .78rem; }
.app-shell .question-settings-side .validation-list { margin: 10px 0 14px; font-size: .8rem; }
.app-shell .question-settings-side .button-wide { min-height: 38px; font-size: .78rem; }
.app-shell .question-side-extra { margin-top: 0; font-size: .8rem; }
.app-shell .question-side-extra[open] { padding-top: 0; }
.app-shell .question-side-extra > summary { position: static; width: auto; height: auto; overflow: visible; margin-bottom: 12px; color: var(--ink); font-weight: 700; opacity: 1; }
.app-shell .question-side-extra > summary::after { display: none; }
.app-shell .question-side-extra .field { margin-top: 0; margin-bottom: 14px; }

/* Let platform panels share the available width instead of overflowing at fixed sizes. */
.app-shell .platform-overview-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.app-shell .platform-overview-grid { grid-template-columns: minmax(0, 1.5fr) minmax(260px, .95fr); gap: 18px; }
.app-shell .platform-overview-grid > .card { height: auto; min-height: 300px; }
.app-shell .platform-quick-actions { flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
.app-shell .platform-quick-actions .button, .app-shell .platform-quick-actions .button:last-child { flex: 1 1 175px; width: auto; }
.app-shell .platform-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 20px 0 0; }
.app-shell .platform-form-panel { display: flex; height: auto; min-height: 300px; flex-direction: column; }
.app-shell .platform-form-panel form { display: flex; flex: 1; flex-direction: column; }
.app-shell .platform-form-footer { position: static; display: flex; justify-content: flex-end; margin-top: auto; padding-top: 24px; }
.app-shell .platform-mail-settings { gap: 10px; }
.app-shell .platform-mail-settings .notice { margin: 0; }
.app-shell .platform-mail-settings form { flex: 0 0 auto; }
.app-shell .platform-mail-settings form .field { margin: 0 0 12px; }
.app-shell .platform-mail-settings form .platform-form-footer { justify-content: flex-start; gap: 9px; margin: 0; padding-top: 2px; }
.app-shell .platform-mail-settings form .platform-form-footer .button { width: auto; min-width: 0; }
.app-shell .platform-mail-dns { margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.app-shell .platform-mail-dns summary { color: var(--ink); cursor: pointer; font-size: .88rem; font-weight: 700; }
.app-shell .platform-mail-dns p { margin: 8px 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.app-shell .platform-mail-dns textarea { box-sizing: border-box; width: 100%; min-height: 225px; padding: 11px; border: 1px solid var(--line-dark); border-radius: 8px; background: #faf9f6; color: var(--ink); font: 12px/1.5 ui-monospace,Consolas,monospace; white-space: pre; overflow: auto; }
.app-shell .platform-mail-dns .platform-form-footer { justify-content: flex-start; margin: 0; padding-top: 10px; }
.app-shell .platform-mail-dns .platform-form-footer .button { width: auto; height: auto; min-height: 34px; }
.app-shell .platform-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.app-shell .platform-detail-summary > .card { height: auto; min-height: 132px; }
.app-shell .platform-detail-activity { height: auto; min-height: 220px; }
.app-shell .platform-list-toolbar { min-height: 64px; height: auto; gap: 16px; padding: 12px 16px; }
.app-shell .platform-list-search { transform: none; }

@media (max-width: 1180px) {
  .app-shell .question-editor-grid { grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) minmax(250px, 280px); gap: 16px; }
  .app-shell .platform-overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .platform-overview-grid { grid-template-columns: minmax(0, 1.25fr) minmax(240px, .9fr); }
  .app-shell .platform-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .app-shell .question-editor-grid { grid-template-columns: minmax(0, 1fr) minmax(250px, .8fr); }
  .app-shell .question-round-nav { grid-column: 1 / -1; min-height: 0; }
  .app-shell .question-round-nav > .question-round-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
  .app-shell .platform-overview-grid, .app-shell .platform-detail-summary { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
  .app-shell .page-content { padding: 24px 20px 52px; }
  .app-shell .page-heading { align-items: flex-start; }
  .app-shell .heading-actions { justify-content: flex-start; }
  .app-shell .question-editor-grid { grid-template-columns: minmax(0, 1fr); }
  .app-shell .question-round-nav { grid-column: auto; }
  .app-shell .question-round-nav > .question-round-group { grid-template-columns: minmax(0, 1fr); }
  .app-shell .question-settings-side { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .app-shell .platform-form-grid { grid-template-columns: minmax(0, 1fr); }
  .app-shell .platform-overview-grid > .card { min-height: 0; }
}
@media (max-width: 600px) {
  .app-shell .page-content { padding: 20px 14px 44px; }
  .app-shell .page-heading { gap: 14px; }
  .app-shell .page-heading h1 { font-size: 1.7rem; }
  .app-shell .heading-actions { gap: 7px; }
  .app-shell .heading-actions .button { min-height: 40px; }
  .app-shell .question-main { padding: 16px; }
  .app-shell .question-main-heading { grid-template-columns: minmax(0, 1fr); }
  .app-shell .question-save-status { grid-column: 1; grid-row: auto; justify-self: start; }
  .app-shell .question-media-panel { align-items: flex-start; flex-direction: column; }
  .app-shell .question-media-panel > .button { align-self: stretch; }
  .app-shell .question-settings-side { grid-template-columns: minmax(0, 1fr); }
  .app-shell .platform-overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .platform-list-toolbar { align-items: stretch; flex-direction: column; }
  .app-shell .platform-list-search, .app-shell .platform-list-new { width: 100%; }
}

/* Shared page rhythm for dashboards, settings, reports, tables and editors. */
.app-shell .topbar { padding-inline: clamp(20px, 2.6vw, 38px); }
.app-shell .overview-stats, .app-shell .report-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.app-shell .overview-lower { grid-template-columns: minmax(0, 1.6fr) minmax(280px, .95fr); gap: 18px; }
.app-shell .overview-activity, .app-shell .overview-quick { height: auto; min-height: 280px; padding: 20px; }
.app-shell .overview-quick .quick-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 20px 0 0; }
.app-shell .overview-quick .quick-actions .button, .app-shell .overview-quick .quick-actions .button:last-child { width: 100%; min-height: 44px; height: auto; padding: 10px 12px; font-size: .82rem; white-space: normal; }
.app-shell .report-panel { height: auto; min-height: 280px; padding: 20px; }
.app-shell .report-score-list { margin-top: 18px; }
.app-shell .report-score-row { grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr); gap: 14px; height: 48px; font-size: .78rem; }
.app-shell .report-analysis { display: grid; align-content: start; gap: 16px; }
.app-shell .report-analysis > p, .app-shell .report-analysis > p + p, .app-shell .report-analysis .report-jury-note { margin: 0; font-size: .84rem; line-height: 1.5; }

/* Keep search bars and data tables aligned across every management list. */
.app-shell .quiz-library-toolbar, .app-shell .staff-directory-toolbar, .app-shell .org-sessions-toolbar, .app-shell .platform-list-toolbar {
  height: auto; min-height: 76px; align-items: center; gap: 16px; margin-bottom: 18px; padding: 12px 16px;
}
.app-shell .quiz-library-toolbar { flex-wrap: wrap; }
.app-shell .quiz-library-toolbar-actions { display: flex; flex: 1 1 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; min-width: 0; }
.app-shell .quiz-library-toolbar-actions > .button { width: auto; min-width: 150px; min-height: 42px; }
.app-shell .quiz-search-field, .app-shell .staff-search-field, .app-shell .org-sessions-search { position: static; display: grid; gap: 6px; width: min(360px, 100%); }
.app-shell .quiz-search-field > span, .app-shell .staff-search-field > span, .app-shell .org-sessions-search > span {
  position: static; display: block; margin: 0; color: var(--muted); font-size: .74rem; font-weight: 700; line-height: 1.3;
}
.app-shell .quiz-search-field > .search-caption { display: none; }
.app-shell .quiz-search-field input, .app-shell .staff-search-field input, .app-shell .org-sessions-search input {
  position: static; width: 100%; height: 42px; min-height: 42px; padding: 9px 12px; border-color: var(--line-dark); font-size: .86rem;
}
.app-shell .quiz-library-toolbar > .button, .app-shell .staff-invite-button, .app-shell .org-sessions-new { width: auto; min-width: 150px; min-height: 42px; }
.app-shell .platform-list-search { width: min(360px, 100%); transform: none; }
.app-shell .platform-list-search .field { display: grid; gap: 6px; margin: 0; font-size: .8rem; }
.app-shell .platform-list-search .field > span, .app-shell .platform-list-search .field > .field-caption {
  position: static; display: block; color: var(--muted); font-size: .74rem; font-weight: 700; line-height: 1.3; text-transform: none;
}
.app-shell .platform-list-search .field input { position: static; height: 42px; min-height: 42px; padding: 9px 12px; font-size: .86rem; }
.app-shell .platform-list-table th, .app-shell .platform-list-table td,
.app-shell .table-scroll table th, .app-shell .table-scroll table td {
  height: auto; padding: 12px 14px; font-size: .8rem; line-height: 1.45; vertical-align: middle;
}
.app-shell .platform-list-table th, .app-shell .table-scroll table th { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .025em; }
.app-shell .platform-list-table tr:last-child td, .app-shell .table-scroll table tr:last-child td { border-bottom: 0; }
.app-shell .quiz-library-grid, .app-shell .media-library-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.app-shell .quiz-library-card { height: auto; min-height: 190px; }
.app-shell .media-asset-card { height: auto; min-height: 240px; }
.app-shell .media-library-toolbar { height: auto; min-height: 76px; gap: 16px; padding: 16px; }
.app-shell .media-library-actions { gap: 10px; }
.app-shell .media-library-actions > .button, .app-shell .media-library-actions > .file-button { width: auto; min-width: 150px; min-height: 42px; }

/* Organization settings use a natural form height and one shared action row. */
.app-shell .org-settings-card { height: auto; min-height: 0; padding: 20px; }
.app-shell .org-settings-heading h2 { margin: 0 0 4px; font-size: 1rem; }
.app-shell .org-settings-heading p { margin: 0; font-size: .82rem; }
.app-shell .org-settings-grid { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; margin: 20px 0 0; }
.app-shell .org-settings-grid > .field { gap: 6px; margin: 0; color: var(--ink); font-size: .8rem; font-weight: 650; text-transform: none; }
.app-shell .org-settings-grid > .field input { width: 100%; height: auto; min-height: 44px; padding: 10px 12px; font-size: .88rem; }
.app-shell .org-settings-actions { justify-content: space-between; gap: 12px; margin: 22px 0 0; }
.app-shell .org-settings-actions .button { width: auto; min-width: 150px; min-height: 42px; }
.app-shell .org-settings-advanced-trigger { position: static; margin: 0; opacity: 1; pointer-events: auto; }

/* Give the timeline and media editors the same readable controls and flexible columns. */
.app-shell .page-content:has(.timeline-layout) .page-heading,
.app-shell .page-content:has(.media-editor-reference-layout) .page-heading { margin-bottom: 20px; }
.app-shell .page-content:has(.timeline-layout) .page-heading > div,
.app-shell .page-content:has(.media-editor-reference-layout) .page-heading > div { transform: none; }
.app-shell .page-content:has(.timeline-layout) .page-heading h1,
.app-shell .page-content:has(.media-editor-reference-layout) .page-heading h1 { font-size: 27px; line-height: 1.2; }
.app-shell .timeline-layout { grid-template-columns: minmax(165px, .58fr) minmax(0, 1.9fr) minmax(270px, 1fr); gap: 16px; }
.app-shell .timeline-layout > .card { min-height: 0; }
.app-shell .timeline-library, .app-shell .timeline-workspace, .app-shell .timeline-inspector { padding: 20px; }
.app-shell .timeline-library h2, .app-shell .timeline-inspector h2, .app-shell .timeline-workspace .card-heading h2 { font-size: .98rem; }
.app-shell .timeline-library > p, .app-shell .timeline-workspace .timeline-count { font-size: .78rem; line-height: 1.45; }
.app-shell .timeline-library .segment-library { gap: 9px; }
.app-shell .timeline-library .library-item { min-height: 58px; padding: 9px; }
.app-shell .timeline-library .library-item strong { font-size: .82rem; }
.app-shell .timeline-library .library-item small, .app-shell .timeline-access-note, .app-shell .timeline-access-note strong { font-size: .74rem; }
.app-shell .timeline-workspace > .card-heading { margin-bottom: 18px; }
.app-shell .timeline-workspace .timeline-list { min-height: 0; gap: 10px; }
.app-shell .timeline-workspace .timeline-card { height: auto; min-height: 58px; align-items: center; gap: 8px; padding: 9px 12px; }
.app-shell .timeline-workspace .timeline-card.is-selected { min-height: 76px; }
.app-shell .timeline-workspace .timeline-index { top: 50%; transform: translateY(-50%); }
.app-shell .timeline-workspace .timeline-index strong { width: 26px; height: 26px; font-size: .72rem; }
.app-shell .timeline-workspace .timeline-meta { margin-top: 3px; font-size: .74rem; line-height: 1.4; }
.app-shell .timeline-workspace .timeline-selected-note { margin-top: 4px; font-size: .72rem; line-height: 1.4; }
.app-shell .timeline-status-chip { min-height: 32px; font-size: .78rem; }
.app-shell .timeline-footnote { gap: 8px; margin-top: 18px; padding: 14px 16px; }
.app-shell .timeline-footnote strong { font-size: .8rem; }
.app-shell .timeline-footnote span { font-size: .76rem; line-height: 1.45; }
.app-shell .timeline-save-button { min-height: 40px; }
.app-shell .timeline-inspector .config-label, .app-shell .timeline-inspector-field > span, .app-shell .timeline-review-settings legend { font-size: .76rem; }
.app-shell .timeline-inspector-field { gap: 6px; margin-top: 14px; }
.app-shell .timeline-inspector-field input, .app-shell .timeline-inspector-field select, .app-shell .timeline-inspector-field textarea { min-height: 42px; padding: 9px 11px; font-size: .86rem; }
.app-shell .timeline-inspector-field small, .app-shell .timeline-auto-resume, .app-shell .timeline-review-settings label { font-size: .76rem; line-height: 1.45; }
.app-shell .timeline-inspector .automation-state strong { font-size: .8rem; }
.app-shell .timeline-inspector .automation-state small { font-size: .74rem; line-height: 1.4; }
.app-shell .inspector-readonly, .app-shell .inspector-link, .app-shell .presenter-rule small, .app-shell .presenter-rule p { font-size: .76rem; }
.app-shell .media-editor-reference-layout { grid-template-columns: minmax(0, 1.55fr) minmax(340px, .95fr); gap: 20px; align-items: start; }
.app-shell .media-editor-reference-layout .media-source-card, .app-shell .media-editor-reference-layout .media-instructions { height: auto; min-height: 0; padding: 20px; }
.app-shell .media-source-heading h2, .app-shell .media-instructions-heading h2 { top: auto; font-size: 1rem; line-height: 1.35; }
.app-shell .media-editor-reference-layout .media-source-actions { height: auto; min-height: 40px; margin: 12px 0 16px; }
.app-shell .media-editor-reference-layout .youtube-add summary, .app-shell .media-editor-reference-layout .media-upload-button { height: 40px; min-height: 40px; font-size: .78rem; }
.app-shell .media-url-field > span, .app-shell .media-time-group > label, .app-shell .media-after-clip > label, .app-shell .media-duration-card > span, .app-shell .clip-timeline > label { top: auto; font-size: .76rem; }
.app-shell .media-url-field input, .app-shell .media-time-row > input { height: 44px; min-height: 44px; padding: 10px 12px; font-size: .86rem; }
.app-shell .media-editor-reference-layout .trim-preview { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
.app-shell .media-preview-caption, .app-shell .media-trim-hint { margin-inline: 8px; font-size: .76rem; line-height: 1.45; }
.app-shell .media-instructions-heading { margin-bottom: 20px; }
.app-shell .media-instructions-heading p { font-size: .78rem; line-height: 1.45; }
.app-shell .media-time-group { gap: 7px; margin-bottom: 18px; }
.app-shell .media-time-row { grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr); gap: 10px; }
.app-shell .media-mark-button { height: 44px; min-height: 44px; font-size: .74rem; white-space: normal; }
.app-shell .media-play-card strong, .app-shell .media-auto-open strong { font-size: .8rem; }
.app-shell .media-play-card small, .app-shell .media-auto-open small { font-size: .74rem; line-height: 1.4; }
.app-shell .media-youtube-warning { padding: 14px; font-size: .76rem; line-height: 1.45; }
.app-shell .media-youtube-warning strong, .app-shell .media-youtube-warning b, .app-shell .media-youtube-warning label { font-size: .76rem; }
.app-shell .media-youtube-warning input { width: 16px; height: 16px; }
.app-shell .media-save-button { width: auto; min-width: 180px; min-height: 42px; height: auto; font-size: .82rem; transform: none; }

/* Match the shared shell rhythm on the quizmaster's live controls and setup pages. */
.app-shell .host-session-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.app-shell .host-overview-card { display: flex; height: auto; min-height: 220px; flex-direction: column; padding: 20px; }
.app-shell .host-overview-card h2 { font-size: 1rem; line-height: 1.35; }
.app-shell .host-overview-card p { font-size: .82rem; line-height: 1.45; }
.app-shell .host-overview-card > .button, .app-shell .host-overview-quick > .button { position: static; width: 100%; min-height: 42px; height: auto; margin-top: auto; padding: 10px 12px; font-size: .82rem; }
.app-shell .host-overview-session-list { display: grid; gap: 8px; max-height: 154px; margin-top: 10px; overflow-y: auto; }
.app-shell .host-overview-session { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid var(--line); }
.app-shell .host-overview-session > div { display: grid; min-width: 0; gap: 3px; }
.app-shell .host-overview-session strong { overflow: hidden; color: var(--ink); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .host-overview-session small { color: var(--muted); font-size: .72rem; line-height: 1.35; }
.app-shell .host-overview-session > .button { flex: 0 0 auto; min-height: 32px; padding: 6px 9px; font-size: .72rem; }
.app-shell .host-dashboard { gap: 18px; }
.app-shell .host-status-strip > span { padding-inline: 12px; font-size: .74rem; }
.app-shell .host-timeline-panel { min-height: 0; padding: 20px; grid-template-rows: auto minmax(240px, 1fr) auto; }
.app-shell .host-timeline-panel h2, .app-shell .host-session-control h2 { font-size: .98rem; }
.app-shell .host-timeline-panel .card-heading p { font-size: .78rem; }
.app-shell .host-timeline-item { flex-basis: 56px; gap: 4px 6px; padding: 8px; }
.app-shell .host-timeline-item strong { font-size: .8rem; }
.app-shell .host-timeline-item small { font-size: .74rem; }
.app-shell .timeline-reactions strong, .app-shell .timeline-reactions small { font-size: .76rem; line-height: 1.4; }
.app-shell .host-live-card, .app-shell .host-controls-card, .app-shell .host-session-control { padding: 20px; }
.app-shell .host-active-heading strong, .app-shell .host-active-heading span { font-size: .72rem; }
.app-shell .host-countdown-control > span, .app-shell .host-session-control .control-kicker { font-size: .78rem; }
.app-shell .host-session-control > .button { font-size: .78rem; }
.app-shell .host-session-control .automation-state strong, .app-shell .next-timeline-step strong { font-size: .8rem; }
.app-shell .next-timeline-step small, .app-shell .host-session-facts, .app-shell .host-session-facts small, .app-shell .host-team-details summary { font-size: .76rem; line-height: 1.45; }
.app-shell .host-lobby-layout .lobby-layout { grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); }

/* Lay out sign-in, invite and password screens with the same field rhythm. */
.auth-page { display: grid; align-content: center; justify-items: center; gap: 24px; height: auto; min-height: 100dvh; overflow: auto; padding: 40px 20px; }
.auth-brand, .auth-login .auth-brand, .auth-invite .auth-brand, .auth-reset .auth-brand { position: relative; top: auto; left: auto; margin: 0; transform: none; }
.auth-card { position: relative; top: auto; left: auto; width: min(520px, 100%); height: auto; min-height: 0; padding: 30px; transform: none; }
.auth-login-heading, .auth-invite-heading, .auth-reset-heading { position: static; }
.auth-login-heading h1, .auth-card h1 { font-size: clamp(1.5rem, 4vw, 1.8rem); }
.auth-login-heading p, .auth-invite-heading p, .auth-reset-heading p { margin: 7px 0 0; font-size: .9rem; line-height: 1.5; }
.auth-card form, .auth-login-card form, .auth-invite-card form, .auth-reset-card form { position: relative; top: auto; left: auto; display: grid; gap: 16px; width: 100%; height: auto; margin: 24px 0 0; }
.auth-card .field { position: static; display: grid; gap: 7px; width: 100%; margin: 0; font-size: .82rem; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.auth-card .field input { height: 44px; min-height: 44px; padding: 10px 12px; font-size: .9rem; }
.auth-card .field input::placeholder { color: #96939d; }
.auth-card form > .field:nth-of-type(n), .auth-invite-card form > .field:nth-of-type(n), .auth-reset-card form > .field:nth-of-type(n) { top: auto; }
.auth-card form > .form-error, .auth-invite-card .notice-error { position: static; width: 100%; margin: 0; }
.auth-card .button, .auth-login-card form > .button, .auth-invite-card form > .button, .auth-reset-card form > .button { position: static; width: 100%; height: auto; min-height: 46px; margin: 2px 0 0; font-size: .9rem; }
.auth-links, .auth-login-card .auth-links, .auth-reset-card .auth-links, .auth-card-note, .auth-login-card .auth-card-note, .auth-invite-card .auth-card-note { position: static; display: block; margin: 18px 0 0; text-align: center; }
.auth-card-note { font-size: .8rem; line-height: 1.45; }
.auth-login-card .auth-card-note::before { display: none; }
.auth-invite-badge { position: static; width: 100%; min-height: 40px; height: auto; margin-top: 16px; }
.auth-reset-heading { display: grid; justify-items: center; text-align: center; }
.auth-reset-heading h1 { white-space: normal; }
.auth-reset-card #reset-result { position: static; margin-top: 16px; }
.auth-invite-card > .text-link { position: static; display: inline-block; margin-top: 20px; }
.auth-card .field-hint { display: block; }

@media (max-width: 1100px) {
  .app-shell .overview-stats, .app-shell .report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .overview-lower { grid-template-columns: minmax(0, 1.35fr) minmax(260px, .9fr); }
  .app-shell .timeline-layout { grid-template-columns: minmax(155px, .52fr) minmax(0, 1.65fr) minmax(250px, 1fr); gap: 14px; }
  .app-shell .media-editor-reference-layout { grid-template-columns: minmax(0, 1.35fr) minmax(310px, .95fr); gap: 16px; }
  .app-shell .host-session-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .host-overview-quick { grid-column: 1 / -1; }
}
@media (max-width: 1180px) {
  .app-shell .page-heading:has(.quiz-editor-tools) { align-items: flex-start; flex-direction: column; }
  .app-shell .heading-actions:has(.quiz-editor-tools) { width: 100%; justify-content: flex-start; }
}
@media (max-width: 900px) {
  .app-shell .overview-lower { grid-template-columns: minmax(0, 1fr); }
  .app-shell .timeline-layout { grid-template-columns: minmax(0, 1fr) minmax(260px, .85fr); }
  .app-shell .timeline-library { grid-column: 1 / -1; }
  .app-shell .timeline-library .segment-library { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .timeline-access-note { margin-top: 16px; }
  .app-shell .timeline-workspace { grid-column: 1; }
  .app-shell .timeline-inspector { grid-column: 2; }
  .app-shell .media-editor-reference-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); }
}
@media (max-width: 820px) {
  .app-shell .heading-actions:has(.quiz-editor-tools), .app-shell .quiz-editor-tools { flex-wrap: wrap; }
  .app-shell .heading-actions:has(.quiz-editor-tools) > .button, .app-shell .quiz-editor-tools > .button { min-height: 32px; padding: 5px 7px; font-size: .68rem; }
  .app-shell .overview-lower, .app-shell .timeline-layout, .app-shell .media-editor-reference-layout { grid-template-columns: minmax(0, 1fr); }
  .app-shell .timeline-library, .app-shell .timeline-workspace, .app-shell .timeline-inspector { grid-column: 1; }
  .app-shell .timeline-library .segment-library { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .media-editor-reference-layout .media-source-card, .app-shell .media-editor-reference-layout .media-instructions { min-height: 0; }
  .app-shell .media-editor-reference-layout .media-time-row { grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr); }
  .app-shell .host-session-overview { grid-template-columns: minmax(0, 1fr); }
  .app-shell .host-overview-quick { grid-column: auto; }
  .app-shell .host-dashboard { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1100px) {
  .app-shell .host-timeline-panel { grid-template-rows: auto auto auto; }
  .app-shell .host-timeline-list { min-height: 66px; }
  .app-shell .host-timeline-item { flex: 0 0 150px; min-width: 150px; margin: 0; }
}

@media (max-width: 600px) {
  .app-shell .overview-stats, .app-shell .report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .app-shell .overview-quick .quick-actions { grid-template-columns: minmax(0, 1fr); }
  .app-shell .quiz-library-toolbar, .app-shell .staff-directory-toolbar, .app-shell .org-sessions-toolbar, .app-shell .platform-list-toolbar, .app-shell .media-library-toolbar { align-items: stretch; flex-direction: column; }
  .app-shell .quiz-library-toolbar-actions { width: 100%; flex-direction: column; }
  .app-shell .quiz-library-toolbar-actions > .button { width: 100%; min-width: 0; }
  .app-shell .quiz-search-field, .app-shell .staff-search-field, .app-shell .org-sessions-search, .app-shell .platform-list-search { width: 100%; }
  .app-shell .quiz-library-toolbar > .button, .app-shell .staff-invite-button, .app-shell .org-sessions-new, .app-shell .platform-list-new { width: 100%; }
  .app-shell .media-library-actions { align-items: stretch; flex-direction: column; }
  .app-shell .media-library-actions > .button, .app-shell .media-library-actions > .file-button { width: 100%; }
  .app-shell .org-settings-grid { grid-template-columns: minmax(0, 1fr); }
  .app-shell .org-settings-actions { align-items: stretch; flex-direction: column-reverse; }
  .app-shell .org-settings-actions .button { width: 100%; }
  .app-shell .timeline-library .segment-library { grid-template-columns: minmax(0, 1fr); }
  .app-shell .media-editor-reference-layout .media-time-row { grid-template-columns: minmax(0, 1fr); }
  .app-shell .report-score-row { grid-template-columns: minmax(90px, .8fr) minmax(0, 1.2fr); gap: 9px; }
  .auth-page { align-content: start; gap: 18px; padding: 24px 14px; }
  .auth-card { padding: 24px 20px; }
}

/* Keep timeline text readable and let blocks grow to their content. */
.app-shell .timeline-workspace .timeline-card,
.app-shell .timeline-workspace .timeline-card.is-selected {
  height: auto !important;
  min-height: 0;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) 32px auto;
  gap: 8px;
  overflow: visible;
}
.app-shell .timeline-workspace .timeline-index { top: 11px; transform: none; }
.app-shell .timeline-workspace .timeline-card-content { grid-column: 1; min-width: 0; overflow: visible; }
.app-shell .timeline-workspace .timeline-card-heading { display: block; min-width: 0; }
.app-shell .timeline-workspace .timeline-title-text {
  display: block;
  width: 100%;
  color: var(--ink);
  font-size: .86rem;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
.app-shell .timeline-workspace .timeline-meta,
.app-shell .timeline-workspace .timeline-selected-note {
  max-width: 100%;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
}
.app-shell .timeline-workspace .drag-handle { grid-column: 2; grid-row: 1; align-self: start; }
.app-shell .timeline-workspace .timeline-controls {
  position: static;
  grid-column: 3;
  grid-row: 1;
  display: flex;
  align-items: start;
  gap: 2px;
  opacity: 1;
  pointer-events: auto;
}
.app-shell .timeline-workspace .timeline-controls .icon-button { min-width: 26px; min-height: 26px; }
.app-shell .timeline-inspector-field.timeline-block-name-field {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.app-shell .timeline-block-name-field > span { white-space: nowrap; }
.app-shell .timeline-inspector-field textarea {
  height: auto;
  min-height: 120px;
  resize: none;
  overflow: hidden;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.app-shell .session-segment-text,
.app-shell .player-segment-note {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.app-shell .timeline-segment-note .session-segment-text { display: block; margin-top: 6px; }
.presenter-segment-copy {
  max-width: 100%;
  color: #e8e5ef;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.presenter-round-instructions {
  width: min(100%, 1100px);
  margin: 0 auto 20px;
  padding: 12px 16px;
  border: 1px solid #51495a;
  border-radius: 12px;
  background: #272330;
  font-size: clamp(1rem, 1.5vw, 1.3rem);
}
.presenter-review-answer-card { overflow-y: auto; }
.presenter-review-instructions {
  margin: 18px 0 0;
  font-size: 15px;
}
.presenter-score-message { margin: 0 auto 24px; font-size: 20px; }
.presenter-stage-message { margin: 12px auto 18px !important; font-size: clamp(1rem, 1.5vw, 1.3rem) !important; }
.player-segment-note { margin: 12px 0; color: #454550; }
.player-round-instructions, .player-review-instructions {
  padding: 12px;
  border-radius: 10px;
  background: #f4f2ef;
  text-align: left;
}
@media (max-width: 600px) {
  .app-shell .timeline-workspace .timeline-card,
  .app-shell .timeline-workspace .timeline-card.is-selected { grid-template-columns: minmax(0, 1fr) 32px; }
  .app-shell .timeline-workspace .timeline-controls { grid-column: 1 / -1; grid-row: 2; justify-self: end; }
  .app-shell .timeline-inspector-field.timeline-block-name-field { grid-template-columns: 78px minmax(0, 1fr); }
}

