.capture-purpose-dialog {width:min(540px,calc(100vw - 40px));box-sizing:border-box;padding:28px;border:1px solid #e4e4df;border-radius:16px;background:#fff;color:#37352f;box-shadow:0 20px 80px #0002;}
.capture-purpose-dialog::backdrop {background:#0005;backdrop-filter:blur(3px);}
.capture-purpose-dialog h2 {margin:0 0 12px;font-size:24px;line-height:1.35;letter-spacing:-.5px;}
.capture-purpose-dialog > p {font-size:15px;line-height:1.6;color:#62625d;margin:0 0 22px;}
.capture-purpose-choices {display:grid;gap:12px;}
.capture-purpose-choices button {display:flex;flex-direction:column;gap:7px;width:100%;text-align:left;padding:18px;border:1px solid #e4e4df;border-radius:10px;background:#fff;color:inherit;box-shadow:none;}
.capture-purpose-choices button:hover {background:#f7f7f5;border-color:#99998f;}
.capture-purpose-choices strong {font-size:17px;font-weight:600;}
.capture-purpose-choices span {font-size:15px;color:#62625d;}
.capture-purpose-choices em {font-size:14px;font-style:normal;margin-top:6px;}
.capture-purpose-cancel {display:block;margin:20px 0 0 auto;padding:8px 12px;background:transparent;border:0;color:inherit;box-shadow:none;font-size:15px;}
.capture-purpose-dialog :focus-visible {outline:2px solid #7c9385;outline-offset:3px;}
.personal-lecture-nav,#addPersonalLectureToClass {display:none;}
body#elthosApp.personal-lecture.session-detail-view .session-detail-layout {display:grid !important;grid-template-columns:minmax(0,1fr) minmax(310px,28vw) !important;grid-template-areas:"session chat" !important;}
body#elthosApp.personal-lecture.session-detail-view .session-chat-shell {display:grid !important;border-left:1px solid var(--personal-line,#e8e8e4) !important;}
body#elthosApp.personal-lecture.session-detail-view .session-workspace-shell {width:100% !important;max-width:none !important;}
body#elthosApp.personal-lecture .session-workspace-body {display:block !important;grid-template-columns:1fr !important;}
body#elthosApp.personal-lecture .session-vertical-nav {display:none !important;}
body#elthosApp.personal-lecture .session-workspace-main {width:100% !important;min-width:0 !important;padding:0 !important;}
body#elthosApp.personal-lecture .personal-lecture-nav {display:flex;flex-wrap:wrap;gap:24px;padding:0 32px;border-bottom:1px solid #e8e8e4;}
body#elthosApp.personal-lecture .personal-lecture-nav button {padding:19px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:#62625d;font-size:16px;font-weight:500;}
body#elthosApp.personal-lecture .personal-lecture-nav button[aria-selected="true"] {color:#37352f;border-bottom-color:#37352f;}
body#elthosApp.personal-lecture #addPersonalLectureToClass:not([hidden]) {display:inline-flex;align-items:center;padding:9px 13px;border:1px solid #deded8;border-radius:7px;background:transparent;box-shadow:none;font-size:15px;color:inherit;}
body#elthosApp.personal-lecture #lecturePanel.active {display:block !important;max-width:860px !important;margin:0 auto !important;padding:52px 32px 160px !important;box-sizing:border-box;}
body#elthosApp.personal-lecture #transcriptPanel {max-width:1000px !important;margin:0 auto !important;padding:36px 32px 160px !important;box-sizing:border-box;}
#lecturePanel h1 {font-size:30px;line-height:1.3;letter-spacing:-.8px;margin:0 0 14px;}
#lecturePanel h2 {font-size:21px;line-height:1.5;margin:0 0 16px;}
#lecturePanel h3 {font-size:18px;line-height:1.5;}
#lecturePanel p {font-size:17px;line-height:1.85;white-space:pre-wrap;}
#lecturePanel article {margin:36px 0;}
#lecturePanel .lecture-subtitle,#lecturePanel .lecture-kicker {font-size:15px;color:#62625d;line-height:1.6;}
#lecturePanel blockquote {font-size:16px;line-height:1.8;border-left:2px solid #e4e4df;margin:18px 0;padding:0 18px;white-space:pre-wrap;}
#lecturePanel summary {font-size:15px;cursor:pointer;}
#lecturePanel .lecture-source {margin-top:16px;}
#lecturePanel .lecture-source summary {display:list-item;width:fit-content;background:#f5f5f2;padding:4px 10px;border-radius:6px;}
#lecturePanel .lecture-action {display:flex;align-items:start;gap:14px;font-size:18px;line-height:1.5;}
#lecturePanel .lecture-action input {width:20px;height:20px;margin-top:3px;flex-shrink:0;}
#lecturePanel [data-retry-lecture] {padding:10px 16px;font-size:16px;border:1px solid #deded8;border-radius:7px;background:#f7f7f5;color:inherit;box-shadow:none;}
.personal-lecture-class-picker select {width:100%;font-size:16px;padding:12px;border:1px solid #deded8;border-radius:7px;background:transparent;color:inherit;}
@media(max-width:700px){body#elthosApp.personal-lecture .personal-lecture-nav {gap:18px;padding:0 20px;}body#elthosApp.personal-lecture .personal-lecture-nav button{font-size:15px;padding:14px 0;}body#elthosApp.personal-lecture #lecturePanel.active{padding:32px 22px 150px !important;}body#elthosApp.personal-lecture #transcriptPanel{padding:24px 22px 150px !important;}}
:root[data-theme="dark"] .capture-purpose-dialog,:root[data-theme="dark"] .capture-purpose-choices button {background:#212121;color:#ecece7;border-color:#494941;}
:root[data-theme="dark"] .capture-purpose-dialog p,:root[data-theme="dark"] .capture-purpose-choices span,:root[data-theme="dark"] #lecturePanel .lecture-subtitle,:root[data-theme="dark"] #lecturePanel .lecture-kicker {color:#bdbdb6;}
:root[data-theme="dark"] body#elthosApp.personal-lecture .personal-lecture-nav button {color:#bdbdb6;}
:root[data-theme="dark"] body#elthosApp.personal-lecture .personal-lecture-nav button[aria-selected="true"] {color:#ecece7;border-bottom-color:#ecece7;}
:root[data-theme="dark"] #lecturePanel .lecture-source summary,:root[data-theme="dark"] #lecturePanel [data-retry-lecture] {background:#30302b;}

body#elthosApp.personal-lecture.session-detail-view .session-splitter {display:none !important;}
body#elthosApp.personal-lecture.session-detail-view .session-workspace-shell {grid-template-rows:auto auto minmax(0,1fr) !important;}
body#elthosApp.personal-lecture.session-detail-view .session-workspace-body {background:var(--personal-bg,#fff) !important;}
body#elthosApp.personal-lecture.session-detail-view .session-workspace-main {height:100% !important;border-left:0 !important;}
body#elthosApp.personal-lecture.session-detail-view .session-deadline-sidebar {display:none !important;}
body#elthosApp.personal-lecture.session-detail-view #sessionTitle {white-space:normal;}
body#elthosApp.personal-lecture.session-detail-view #addPersonalLectureToClass {height:auto !important;min-height:36px !important;font-size:15px !important;white-space:nowrap;}

/* Keep all action details in one column beside the completion control. */
#lecturePanel .lecture-action-list {margin-top:28px;}
#lecturePanel .lecture-action-row {display:grid;grid-template-columns:20px minmax(0,1fr);gap:16px;margin:0;padding:26px 0;border-top:1px solid #e8e8e4;}
#lecturePanel .lecture-action-checkbox {appearance:auto;display:block;width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;padding:0;margin:4px 0 0;box-shadow:none;accent-color:#52685c;cursor:pointer;}
#lecturePanel .lecture-action-checkbox:focus-visible {outline:2px solid #7c9385;outline-offset:3px;}
#lecturePanel .lecture-action-body {min-width:0;overflow-wrap:anywhere;}
#lecturePanel .lecture-action-heading {display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 14px;}
#lecturePanel .lecture-action-heading label {display:block;flex:1;min-width:min(100%,240px);margin:0;font-size:18px;font-weight:600;line-height:1.6;color:inherit;cursor:pointer;}
#lecturePanel .lecture-action-tag {max-width:100%;padding:3px 8px;border-radius:5px;background:#f5f5f2;color:#62625d;font-size:13px;line-height:1.6;}
#lecturePanel .lecture-action-description {margin:9px 0 12px;font-size:17px;line-height:1.75;}
#lecturePanel .lecture-action-meta {font-size:14px;line-height:1.6;color:#62625d;}
#lecturePanel .lecture-action-timing {margin:8px 0 0;font-size:14px;line-height:1.6;color:#77776f;}
#lecturePanel .lecture-action-row .lecture-source {margin-top:12px;}
#lecturePanel .lecture-action-row.is-done .lecture-action-heading label {text-decoration:line-through;color:#77776f;}
:root[data-theme="dark"] #lecturePanel .lecture-action-row {border-color:#494941;}
:root[data-theme="dark"] #lecturePanel .lecture-action-tag {background:#30302b;color:#bdbdb6;}
:root[data-theme="dark"] #lecturePanel .lecture-action-meta,:root[data-theme="dark"] #lecturePanel .lecture-action-timing {color:#bdbdb6;}
@media(max-width:600px){#lecturePanel .lecture-action-row{gap:12px;padding:22px 0;}#lecturePanel .lecture-action-heading{flex-direction:column;}#lecturePanel .lecture-action-heading label{min-width:0;width:100%;}}

#lecturePanel .lecture-summary-points {list-style:disc;padding-left:24px;margin:20px 0;font-size:17px;line-height:1.85;color:inherit;}
#lecturePanel .lecture-summary-points li {display:list-item;padding-left:4px;margin:0 0 20px;white-space:pre-wrap;overflow-wrap:anywhere;}

@media(max-width:620px){body#elthosApp.personal-lecture.session-detail-view .session-detail-layout{grid-template-columns:minmax(0,1fr) !important;grid-template-areas:"session" !important;}body#elthosApp.personal-lecture.session-detail-view .session-chat-shell{display:contents !important;}}

/* Long-form lecture reading: a compact index and generous topic separation. */
#lecturePanel .lecture-reading-intro {font-size:15px;line-height:1.7;color:inherit;opacity:.75;margin:0 0 28px;}
#lecturePanel .lecture-contents {border:1px solid var(--personal-line,#deded8);border-radius:10px;padding:16px 20px;margin:28px 0 40px;}
#lecturePanel .lecture-contents summary {font-weight:600;line-height:1.7;}
#lecturePanel .lecture-contents summary span {font-weight:400;opacity:.65;margin-left:10px;}
#lecturePanel .lecture-contents ol {padding-left:22px;columns:2;column-gap:30px;}
#lecturePanel .lecture-contents li {break-inside:avoid;margin:0 0 10px;font-size:14px;line-height:1.6;}
#lecturePanel .lecture-contents a {color:inherit;text-decoration:none;}
#lecturePanel .lecture-contents a:hover {text-decoration:underline;}
#lecturePanel .lecture-topic {border-top:1px solid var(--personal-line,#deded8);padding-top:32px;margin:40px 0;scroll-margin-top:24px;overflow-wrap:anywhere;}
#lecturePanel .lecture-topic > .lecture-kicker {display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;}
#lecturePanel .lecture-topic ul,#lecturePanel .lecture-topic ol {font-size:17px;line-height:1.85;padding-left:25px;}
#lecturePanel .lecture-topic li {margin-bottom:10px;}
#lecturePanel .lecture-examples {border-left:3px solid #8b9b8f;padding:2px 0 2px 20px;margin:24px 0;}
#lecturePanel .lecture-examples h3 {font-size:14px;margin:0 0 8px;}
#lecturePanel .lecture-source blockquote {max-height:420px;overflow:auto;}
#lecturePanel .lecture-upgrade {padding:20px;border:1px solid var(--personal-line,#deded8);border-radius:10px;margin-bottom:32px;}
#lecturePanel .lecture-upgrade p {font-size:15px;line-height:1.7;margin:8px 0 16px;}
#lecturePanel [data-refresh-study-notes] {padding:10px 14px;border:1px solid var(--personal-line,#deded8);border-radius:7px;background:transparent;color:inherit;box-shadow:none;}
#lecturePanel [data-refresh-study-notes]:disabled {opacity:.6;cursor:wait;}
#lecturePanel .lecture-contents a:focus-visible,#lecturePanel [data-refresh-study-notes]:focus-visible {outline:2px solid #7c9385;outline-offset:4px;}
@media(max-width:620px){#lecturePanel .lecture-contents ol{columns:1;}}
.lecture-review-notice {padding:14px 18px;border:1px solid #e7d5ac;border-radius:8px;background:#fff9eb;color:#6a512b;line-height:1.6;}

/* Flashcards */
.flashcard-toolbar { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; }
.flashcard-toolbar > button { padding: 7px 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-soft); font-size: 13px; font-weight: 550; box-shadow: none; cursor: pointer; }
.flashcard-toolbar > button.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.flashcard-toolbar-gap { flex: 1; }
.flashcard-stage { max-width: 720px; }
.flashcard-meta { display: flex; align-items: center; gap: 12px; font-size: 12.5px; color: var(--muted); margin-bottom: 12px; }
.flashcard-position { margin-left: auto; }
.flashcard-kind { font-size: 11px; font-weight: 650; letter-spacing: .3px; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; background: var(--panel-soft); color: var(--ink-soft); }
.flashcard-kind.exam { background: #fff1dd; color: #9a5a12; }
.flashcard-face { display: block; width: 100%; text-align: left; padding: 28px 28px 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.04); cursor: pointer; min-height: 200px; }
.flashcard-face.is-flipped { border-color: var(--line-strong); }
.flashcard-front { font-size: 19px; font-weight: 600; line-height: 1.45; }
.flashcard-front p, .flashcard-back p { margin: 0 0 8px; }
.flashcard-hint { margin-top: 26px; font-size: 13px; color: var(--muted); }
.flashcard-back { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 16px; line-height: 1.6; color: var(--ink); }
.flashcard-actions { display: flex; gap: 12px; margin-top: 16px; }
.flashcard-rate { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.flashcard-rate button { display: grid; gap: 2px; padding: 12px 8px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); cursor: pointer; box-shadow: none; }
.flashcard-rate button small { color: var(--muted); font-size: 11.5px; }
.flashcard-rate-again { border-color: #f1c4c4 !important; } .flashcard-rate-easy { border-color: #bfe0c8 !important; }
.flashcard-rate button:hover { background: var(--panel-soft); }
.flashcard-done { max-width: 720px; padding: 28px; border: 1px dashed var(--line-strong); border-radius: 18px; }
.flashcard-done h2 { margin: 0 0 8px; font-size: 20px; }
.flashcard-browse { display: grid; gap: 10px; max-width: 820px; }
.flashcard-browse-item { border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; background: #fff; }
.flashcard-browse-item summary { display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 550; }
.flashcard-browse-item summary small { margin-left: auto; color: var(--muted); font-weight: 400; }
.flashcard-topic { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
.import-youtube-form { display: grid; gap: 12px; margin-top: 12px; }
.import-youtube-form label { display: grid; gap: 4px; font-size: 13px; color: var(--ink-soft); }
.import-youtube-form input { font: inherit; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; }
@media (max-width: 640px) { .flashcard-rate { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Practice: typed answers graded against the model answer */
.practice-toolbar { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; }
.practice-item { padding: 20px 0 24px; border-bottom: 1px solid var(--line); max-width: 820px; }
.practice-item .study-question { margin: 6px 0 12px; font-size: 17px; font-weight: 550; }
.practice-answer-label { display: block; font-size: 12.5px; color: var(--muted); margin-bottom: 6px; }
.practice-answer { width: 100%; box-sizing: border-box; font: inherit; font-size: 15px; line-height: 1.55; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); resize: vertical; min-height: 96px; }
.practice-answer:focus { outline: 2px solid color-mix(in srgb, var(--ink) 25%, transparent); border-color: var(--line-strong); }
.practice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 12px; }
.practice-check { padding: 9px 16px; border-radius: 999px; background: var(--ink); color: #fff; border: 0; font-weight: 600; cursor: pointer; }
.practice-check:disabled { opacity: .45; cursor: default; }
.practice-result { margin-top: 12px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel-soft); }
.practice-result.is-correct { background: #eef7f0; border-color: #bfe0c8; }
.practice-result.is-partially_correct { background: #fff7ea; border-color: #f0d7a8; }
.practice-result.is-incorrect { background: #fdeeee; border-color: #f1c4c4; }
.practice-result-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.practice-verdict { font-weight: 650; font-size: 15px; }
.practice-score { font-weight: 650; font-size: 15px; color: var(--ink-soft); }
.practice-best { font-size: 12px; color: var(--muted); margin-left: auto; }
.practice-result p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.55; }
.practice-points { margin-top: 8px; font-size: 14px; }
.practice-points ul { margin: 4px 0 0; padding-left: 20px; }
.practice-points.is-correct strong { color: #1f6b3a; } .practice-points.is-missing strong { color: #9a5a12; } .practice-points.is-wrong strong { color: #a02a2a; }
.practice-your-answer { margin: 4px 0 0; font-size: 14px; color: var(--ink-soft); }
.practice-your-answer summary { cursor: pointer; font-size: 12.5px; color: var(--muted); }
.practice-model { margin-top: 12px; padding: 12px 14px; border-left: 3px solid var(--line-strong); background: #fff; }
.practice-marking { margin-top: 8px; color: var(--ink-soft); font-size: 14px; }
