.classroom-images {margin-top:16px;min-width:0;}
.playback-segment>.classroom-images {grid-column:1/-1;}
.classroom-images__grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;}
.classroom-image {margin:0;min-width:0;max-width:560px;}
.classroom-image .classroom-image__preview {display:block;width:100%;padding:0;overflow:hidden;border:1px solid #dcd5cb;border-radius:10px;background:#f1eee7;cursor:zoom-in;min-height:0;}
.classroom-image__preview img {display:block;width:100%;height:100%;object-fit:contain;}
.classroom-image figcaption {display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding-top:6px;font-size:12px;color:#625b52;}
.classroom-image__time {font-variant-numeric:tabular-nums;}
.classroom-image__status {font-size:11px;}
.classroom-image__status.is-failed,.classroom-image__error {color:#8b2f1c;}
.classroom-image .classroom-image__listen {font-size:12px;padding:6px 8px;min-height:44px;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px;}
.classroom-image__adjust {margin-left:auto;min-width:0;}
.classroom-image__adjust summary,.paragraph-image-menu summary {cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;color:#625b52;font-size:12px;}
.classroom-image__adjust[open] {flex-basis:100%;}
.classroom-image__adjust summary {width:fit-content;margin-left:auto;}
.classroom-image__adjust>div {display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--line);}
.classroom-image__adjust button {flex:1 1 96px;min-width:0;min-height:44px;font-size:13px;white-space:normal;}
.classroom-image__adjust .classroom-image__remove {color:var(--danger-ink);}
.classroom-image__progress {font-size:13px;line-height:1.6;color:var(--muted);margin:8px 0 0;}
.classroom-image__error {font-size:13px;line-height:1.6;margin:8px 0 0;overflow-wrap:anywhere;}
.classroom-image__error button {margin-left:8px;font-size:12px;}
.paragraph-image-menu {float:right;position:relative;margin-top:-8px;margin-right:-8px;}
.paragraph-image-menu summary {font-size:20px;letter-spacing:2px;}
.paragraph-image-menu button {position:absolute;right:0;top:100%;white-space:nowrap!important;z-index:3;box-shadow:0 4px 20px #30201515;}
.paragraph-image-menu[open] summary,.classroom-image__adjust[open] summary {background:#f3eee6;}
.classroom-image-viewer,.image-capture-dialog {width:min(860px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);margin:auto;padding:20px;border:1px solid #d8d1c6;border-radius:14px;background:var(--surface-warm);color:var(--ink);overflow:auto;overscroll-behavior:contain;}
.classroom-image-viewer::backdrop,.image-capture-dialog::backdrop {background:#201c18bf;}
.classroom-image-viewer__header,.image-capture-dialog__header {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
.classroom-image-viewer h2,.image-capture-dialog h2 {font-size:18px;line-height:1.4;margin:0;}
.classroom-image-viewer button,.image-capture-dialog button {min-height:44px;}
.classroom-image-viewer>img {display:block;width:100%;height:auto;}
.image-capture-dialog {width:min(640px,calc(100vw - 24px));}
.image-capture-dialog>p {font-size:13px;line-height:1.6;margin:12px 0;color:#625b52;}
.image-capture-dialog>.classroom-image__error {color:var(--danger-ink);}
.image-capture-dialog__camera {display:grid;place-items:center;min-height:120px;background:#ede9e2;border-radius:10px;overflow:hidden;}
.image-capture-dialog__camera video {width:100%;max-height:55dvh;object-fit:contain;}
.image-capture-dialog__camera>img {display:block;width:100%;height:auto;max-height:55dvh;object-fit:contain;}
.image-capture-dialog__camera p {padding:24px;}
.image-capture-dialog__actions {display:flex;gap:12px;justify-content:center;margin-top:16px;}
.image-capture-dialog__actions button {flex:1;}
.recording-page__image-card {margin:0 0 14px;padding:16px 22px;background:var(--surface);border:1px solid #e2dcd2;border-radius:12px;}
.recording-page__image-card>small,.playback-image-card>small {font-size:12px;line-height:1.5;color:#625b52;}
.recording-page__image-card .classroom-images,.playback-image-card .classroom-images {margin-top:8px;}
.recording-page .recording-page__camera {padding:6px;width:44px;height:44px;font-size:20px;flex:none;}
.recording-page__images-status {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;margin:0 0 8px;color:#714613;}
.playback-image-card {margin:0 0 16px;padding:18px 26px;border:1px solid #eee9e2;border-radius:16px;background:var(--surface);}
.reader-tools .reader-add-image {white-space:nowrap;}
@media(max-width:600px){.classroom-images__grid{grid-template-columns:1fr;}.recording-page__image-card{padding:14px 12px;}.playback-image-card{padding:16px 18px;}.classroom-image-viewer,.image-capture-dialog{padding:14px;}}

.recording-page .classroom-image {max-width:300px;}
.recording-page .classroom-image__preview {max-height:225px;}
.classroom-image-viewer__tools {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;}
.classroom-image-viewer__tools button {font-size:13px;padding:8px 10px;}
.classroom-image-viewer__canvas {max-height:65dvh;overflow:auto;overscroll-behavior:contain;}
.classroom-image-viewer__canvas img {display:block;max-width:none;height:auto;}
.recording-page .recording-page__camera {display:flex;align-items:center;gap:6px;width:auto;font-size:13px;}
.reading-parts {display:block;min-width:0;}
.reading-part {display:block;}
.reading-part+.reading-part {margin-top:.7em;}
.reference-reader [hidden] {display:none!important;}
.reader-views {display:flex;gap:8px;flex-shrink:0;padding:6px 0;}
.reader-views button {min-height:44px;padding:8px 16px;}
.reader-views button[aria-pressed="true"] {background:var(--soft);border-color:var(--accent-ink);color:var(--accent-ink);}
.summary-panel {flex:1;min-height:0;overflow:auto;padding:12px 16px 24px;overscroll-behavior:contain;line-height:1.65;}
.summary-heading {display:flex;align-items:start;justify-content:space-between;gap:16px;}
.summary-heading h2 {font-size:22px;margin:0;}
.summary-heading p,.summary-disclosure,.summary-date {font-size:14px;color:var(--muted);margin:6px 0 12px;}
.summary-disclosure {max-width:72ch;}
.summary-warning {border-left:3px solid var(--warning-ink);padding-left:12px;color:var(--warning-ink);}
.summary-section {border-top:1px solid var(--line);padding:14px 0 4px;}
.summary-section h3 {font-size:16px;color:var(--accent-ink);margin:0 0 8px;}
.summary-item {margin:0 0 14px;}
.summary-item p {margin:0;font-size:18px;max-width:85ch;white-space:pre-wrap;}
.summary-generate {margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.summary-generate p {width:100%;margin:0;}
.summary-topic {margin:18px 0 24px;max-width:88ch;}
.summary-topic h4 {font-size:19px;margin:0 0 8px;color:var(--ink);line-height:1.5;}
.summary-prose,.summary-topic li,.summary-list li {font-size:17px;line-height:1.8;overflow-wrap:anywhere;}
.summary-prose {margin:8px 0;max-width:88ch;white-space:pre-wrap;}
.summary-topic ul,.summary-list {margin:8px 0;padding-left:1.35em;max-width:88ch;}
.summary-topic li,.summary-list li {margin:6px 0;padding-left:3px;}
.summary-examples {border-left:3px solid var(--line);padding:2px 0 2px 14px;margin-top:12px;}
.summary-examples h5 {font-size:13px;color:var(--muted);margin:2px 0;}
.summary-panel .summary-prose,.summary-panel .summary-topic li,.summary-panel .summary-list li,.summary-panel .summary-item p {font-size:var(--reading-font,22px);line-height:1.65;}
.summary-panel .summary-topic h4 {font-size:calc(var(--reading-font,22px) + 1px);}

/* Reuse the app's orange accent and paper surfaces for all minutes. */
.minutes-view {max-width:100%;}
.minutes-overview {padding:16px 18px;margin:12px 0 18px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:10px;background:var(--soft);}
.minutes-overview h3 {color:var(--accent-ink);}
.minutes-overview .summary-prose {margin:6px 0;color:var(--ink);}
.minutes-view .summary-topics {border-top:0;padding-top:0;}
.minutes-view .summary-topics>h3 {color:var(--ink);font-size:17px;}
.minutes-view .summary-topic {padding:16px 18px;margin:10px 0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);max-width:none;}
.minutes-view .summary-topic h4 {display:flex;align-items:baseline;gap:8px;color:var(--ink);}
.minutes-topic-number {flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:1.55em;height:1.55em;border-radius:5px;background:var(--surface-paper);color:var(--muted);font-size:.72em;}
.minutes-view .summary-prose,.minutes-view .summary-topic ul,.minutes-view .summary-list {max-width:none;}
.minutes-view .summary-examples {border-color:var(--line);background:var(--surface-paper);padding:8px 12px;border-radius:0 7px 7px 0;}
.minutes-actions,.minutes-uncertainties {padding:14px 18px;margin:14px 0;border:1px solid var(--line);border-radius:10px;background:var(--surface-warm);}
.minutes-actions h3 {color:var(--ink);}
.minutes-uncertainties {background:var(--warning-bg);}
.minutes-uncertainties h3 {color:var(--warning-ink);}
.minutes-stages {border-top:1px solid var(--line);margin-top:20px;padding-top:16px;}
.minutes-section-heading h3 {margin:0;font-size:16px;color:var(--ink);}
.minutes-section-heading p {margin:4px 0 12px;color:var(--muted);font-size:13px;line-height:1.6;}
.minutes-stage-list {display:grid;gap:14px;}
.minutes-stage {background:var(--surface-paper);border:1px solid var(--line);border-radius:10px;padding:16px 18px;}
.minutes-stage-heading {display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap;}
.minutes-stage-heading strong {font-size:15px;color:var(--ink);}
.minutes-stage-heading time {font:500 12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);}
.minutes-speakers {display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.minutes-speaker {border:1px solid var(--line);border-radius:5px;padding:2px 7px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1.5;}
.minutes-view--compact .summary-section {border:0;padding:0;margin:10px 0 0;background:transparent;}
.minutes-view--compact .summary-topic {padding:0;border:0;background:transparent;margin:10px 0 14px;}
.minutes-view--compact .summary-topic:last-child {margin-bottom:0;}
.minutes-stage .minutes-stage-section-title {margin:0 0 6px;font-size:13px;color:var(--muted);font-weight:600;}
.minutes-stage .summary-topic h4 {font-size:var(--reading-font,22px);}
.minutes-stage .summary-examples {background:var(--surface);border-color:var(--line);}
.live-summary-panel {padding:18px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left));overflow-anchor:none;}
.live-summary-panel>* {max-width:1100px;margin-left:auto;margin-right:auto;}
.live-summary-body>* {max-width:1100px;margin-left:auto;margin-right:auto;}
.live-summary-follow {position:sticky;bottom:0;display:flex;justify-content:center;height:0;overflow:visible;z-index:1;}
.live-summary-follow button {transform:translateY(-100%);box-shadow:0 2px 12px #0002;}
.minutes-stage-empty {margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.7;}
.live-summary-tools {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.live-summary-switch {display:flex;flex-direction:row;align-items:center;gap:8px;flex:none;min-height:44px;cursor:pointer;color:var(--ink);font-size:14px;font-weight:600;}
.live-summary-switch input[type="checkbox"] {appearance:none;flex:none;position:relative;width:38px;height:22px;min-height:22px;border:1px solid var(--line);border-radius:999px;padding:0;margin:0;background:var(--surface-paper);transition:background .15s,border-color .15s;cursor:pointer;}
.live-summary-switch input[type="checkbox"]::before {content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border:1px solid var(--line);border-radius:50%;background:var(--surface);transition:transform .15s;}
.live-summary-switch input[type="checkbox"]:checked {background:var(--accent);border-color:var(--accent);}
.live-summary-switch input[type="checkbox"]:checked::before {transform:translateX(16px);border-color:var(--surface);}
.live-summary-switch input[type="checkbox"]:disabled {opacity:.5;cursor:not-allowed;}
.live-summary-font {display:flex;align-items:center;gap:4px;flex:none;}
.live-summary-font button,.recording-page .live-summary-font button {width:44px;min-width:44px;min-height:44px;padding:6px;font-size:14px;}
.live-summary-font output {min-width:24px;text-align:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;}
.live-summary-disclosure {margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.6;}
.live-summary-disclosure>summary {min-height:44px;padding:10px 0;cursor:pointer;font-weight:500;}
.live-summary-disclosure p {margin:0 0 8px;font-size:13px;}
.live-summary-status {display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 10px;margin-top:10px;margin-bottom:12px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--muted);}
.live-summary-status strong {color:var(--ink);font-weight:600;}
.live-summary-dot {width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none;}
.live-summary-dot.is-enabled {background:var(--accent);}
.live-summary-failure {display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--warning-bg);color:var(--warning-ink);}
.live-summary-failure p {margin:0;line-height:1.6;font-size:14px;}
.live-summary-panel .live-summary-failure {flex-direction:column;align-items:stretch;}
.live-summary-panel .live-summary-failure button {align-self:flex-start;max-width:100%;}
.live-summary-empty {padding:32px 8px;text-align:center;max-width:34em;}
.live-summary-empty>span {font-size:32px;color:var(--muted);}
.live-summary-empty h3 {font-size:18px;margin:12px 0 8px;}
.live-summary-empty p {font-size:15px;line-height:1.7;color:var(--muted);margin:0;}
.recording-page [hidden] {display:none!important;}
.recording-page__body {position:relative;isolation:isolate;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;}
.recording-page__body.is-minutes-open {grid-template-columns:minmax(0,1fr) minmax(280px,33.333%);}
.recording-page__body.is-minutes-open.is-minutes-half {grid-template-columns:minmax(0,1fr) minmax(280px,50%);}
.recording-page__body>.recording-page__reader {min-width:0;min-height:0;}
.recording-page .recording-page__summary-toggle {color:var(--muted);background:var(--surface);border-color:var(--line);white-space:nowrap;}
.recording-page .recording-page__summary-toggle[aria-expanded="true"] {color:var(--accent-ink);background:var(--soft);border-color:var(--accent-ink);}
.recording-page__minutes-sidebar {display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--line);background:var(--surface-warm);}
.recording-page__minutes-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;border-bottom:1px solid var(--line);flex:none;background:var(--surface-paper);}
.recording-page__minutes-toolbar h2 {flex:1;margin:0;min-width:64px;font-size:16px;line-height:1.5;color:var(--ink);}
.recording-page__minutes-width {display:inline-flex;gap:4px;}
.recording-page .recording-page__minutes-width button {padding:6px 8px;min-width:44px;min-height:44px;border-radius:6px;font-size:13px;}
.recording-page .recording-page__minutes-width button[aria-pressed="true"] {background:var(--soft);border-color:var(--accent-ink);color:var(--accent-ink);}
.recording-page .recording-page__minutes-close {padding:6px;border:0;background:transparent;color:var(--muted);font-size:13px;}
.recording-page__minutes-sidebar .live-summary-panel {flex:1;min-width:0;min-height:0;width:100%;padding:12px 12px 20px;overflow:auto;}
.recording-page__minutes-sidebar .live-summary-tools {position:sticky;top:0;z-index:1;padding-block:4px;background:var(--surface-warm);box-shadow:0 1px var(--line);}
.recording-page__minutes-sidebar .summary-heading {flex-wrap:wrap;gap:8px;}
.recording-page__minutes-sidebar .summary-heading h2 {display:none;}
.recording-page__minutes-sidebar .summary-heading p {margin:0;}
.recording-page__minutes-sidebar .summary-disclosure {font-size:13px;margin:4px 0;}
.recording-page__minutes-sidebar .minutes-overview,.recording-page__minutes-sidebar .minutes-stage {padding:12px;}
.minutes-close-narrow {display:none;}
@media(max-width:767px){
 .recording-page__body.is-minutes-open,.recording-page__body.is-minutes-open.is-minutes-half {grid-template-columns:minmax(0,1fr);}
 .recording-page__body.is-minutes-open>.recording-page__reader {display:none;}
 .recording-page__minutes-sidebar {position:relative;width:100%;max-width:100%;border-left:0;}
 .minutes-close-wide {display:none;}
 .minutes-close-narrow {display:inline;}
 .recording-page__minutes-width {display:none;}
}
@media(max-width:600px){
 .summary-panel {padding:8px 4px 20px;}
 .summary-heading {flex-wrap:wrap;}
 .summary-heading h2 {font-size:20px;}
 .minutes-overview,.minutes-actions,.minutes-uncertainties,.minutes-view .summary-topic,.minutes-stage {padding:14px 12px;}
 .minutes-view--compact .summary-topic {padding:0;}
 .live-summary-panel {padding:12px max(12px,env(safe-area-inset-right)) 20px max(12px,env(safe-area-inset-left));}
 .live-summary-failure {flex-wrap:wrap;}
}
.summary-source-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.summary-source-actions button,.summary-find-source,.minutes-stage-heading button {min-height:44px;color:var(--accent-ink);}
.summary-evidence+.summary-evidence {border-top:1px solid var(--line);margin-top:12px;padding-top:12px;}
.summary-find-source {margin-top:8px;font-size:14px;}
.summary-source-status {font-size:14px;color:var(--muted);margin:8px 0;}
.summary-source-details {font-size:13px;margin:8px 0 12px;color:var(--muted);}
.summary-source-details>summary {min-height:32px;cursor:pointer;}
.summary-expectations {border-top:1px solid var(--line);padding-top:10px;margin-bottom:12px;}
.summary-expectations p,.summary-expectations small {font-size:13px;line-height:1.6;color:var(--muted);margin:4px 0;}

/* Saved summaries keep the reader's full width with a quiet document layout. */
.summary-panel--saved {overflow-wrap:anywhere;}
.summary-panel--saved .summary-heading {align-items:center;}
.summary-panel--saved .summary-heading h2 {margin:0;font-size:20px;}
.summary-panel--saved .summary-heading button {flex:none;min-height:44px;}
.summary-panel--saved .summary-source-status {margin:2px 0 0;font-size:14px;line-height:1.5;}
.summary-panel--saved .summary-heading>div {min-width:0;}
.summary-panel--saved .summary-source-status time {white-space:nowrap;font-variant-numeric:tabular-nums;}
.summary-panel--saved .summary-options,.summary-panel--saved .summary-stages-disclosure {font-size:14px;color:var(--muted);}
.summary-panel--saved .summary-options>summary,.summary-panel--saved .summary-outline>summary,.summary-panel--saved .summary-stages-disclosure>summary,.summary-panel--saved .minutes-source-points details>summary {min-height:44px;padding-block:10px;cursor:pointer;font-size:14px;line-height:1.7;}
.summary-panel--saved .summary-options[open] {padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px;}
.summary-panel--saved .summary-options p {margin:6px 0;}
.summary-panel--saved .summary-cost .summary-date {font-size:14px;}
.summary-panel--saved .summary-options .summary-disclosure,.summary-panel--saved .summary-options .summary-date {display:block;margin:6px 0;font-size:14px;}
.summary-panel--saved .summary-outline {border-bottom:1px solid var(--line);margin-bottom:20px;}
.summary-panel--saved .summary-outline>summary {color:var(--accent-ink);font-weight:600;}
.summary-outline nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding-bottom:12px;}
.summary-outline nav button {text-align:left;background:transparent;border-color:transparent;color:var(--accent-ink);min-height:44px;padding:8px;overflow-wrap:anywhere;}
.summary-panel--saved .minutes-view>[tabindex],.summary-panel--saved .summary-topic[tabindex] {scroll-margin-block:16px;}
.summary-panel--saved .minutes-overview {border:0;border-radius:0;background:transparent;margin:0 0 28px;padding:0;}
.summary-panel--saved .summary-section h3 {font-size:16px;letter-spacing:normal;color:var(--muted);margin:0 0 12px;}
.summary-panel--saved .minutes-view .summary-topic {border:0;border-radius:0;background:transparent;padding:20px 0;margin:0;border-top:1px solid var(--line);}
.summary-panel--saved .minutes-topic-number {display:none;}
.summary-panel--saved .minutes-view .summary-topic h4 {line-height:1.5;margin-bottom:12px;}
.summary-panel--saved .summary-prose,.summary-panel--saved .summary-item p,.summary-panel--saved .summary-topic li,.summary-panel--saved .summary-list li {line-height:1.8;}
.summary-panel--saved .summary-examples {border:0;border-radius:0;padding:12px 16px;background:var(--surface-paper);}
.summary-panel--saved .summary-examples h5 {font-size:14px;}
.summary-panel--saved .minutes-actions,.summary-panel--saved .minutes-uncertainties {border:0;border-radius:0;padding:16px;margin-block:24px;}
.summary-panel--saved .minutes-uncertainties h3 {color:var(--warning-ink);}
.summary-panel--saved .summary-warning {border:0;padding:0;color:var(--warning-ink);font-size:14px;}
.summary-panel--saved .summary-generate {border:0;margin:8px 0 0;padding:0;}
.summary-panel--saved .summary-expectations {width:100%;padding-top:12px;margin-bottom:8px;}
.summary-panel--saved .summary-expectations p,.summary-panel--saved .summary-expectations small {font-size:14px;}
.summary-generate-actions,.summary-confirm>div {display:flex;flex-wrap:wrap;gap:8px;}
.summary-generate button[aria-disabled="true"] {opacity:.55;cursor:wait;}
.summary-generate button:disabled {cursor:not-allowed;}
.summary-confirm {width:100%;}
.summary-confirm>p {margin-bottom:12px!important;}
.summary-panel--saved .summary-feedback,.summary-panel--saved .summary-progress {padding:12px 16px;margin:12px 0;background:var(--warning-bg);color:var(--warning-ink);font-size:14px;}
.summary-panel--saved .summary-progress {background:var(--surface-paper);color:var(--ink);}
.summary-panel--saved .summary-feedback p,.summary-panel--saved .summary-progress p {margin:4px 0 8px;}
.summary-panel--saved .summary-empty {padding:16px 0;}
.summary-empty h3 {font-size:18px;margin:0 0 8px;}
.summary-empty>p {font-size:14px;color:var(--muted);margin:8px 0;}
.summary-panel--saved .summary-empty .summary-disclosure {font-size:14px;display:block;margin:8px 0;}
.summary-loading {padding:20px 0;color:var(--muted);font-size:14px;}
.summary-loading>div {height:14px;background:var(--surface-paper);margin:12px 0;}
.summary-loading>div:last-child {width:65%;}
.summary-panel--saved .summary-stages-disclosure {border-top:1px solid var(--line);margin-top:24px;}
.summary-panel--saved .summary-stages-disclosure .minutes-stages {border:0;padding:0;margin:8px 0;}
.summary-back-to-outline {min-height:44px;color:var(--accent-ink);margin-top:16px;}
@media(max-width:600px){
 .summary-outline nav {grid-template-columns:minmax(0,1fr);}
 .summary-panel--saved .summary-heading {flex-wrap:nowrap;}
 .summary-panel--saved .summary-source-status {gap:2px 10px;}
 .summary-panel--saved .summary-examples {padding:12px;}
 .summary-panel--saved .minutes-actions,.summary-panel--saved .minutes-uncertainties {padding:12px;}
 .summary-panel--saved .summary-outline {margin-bottom:12px;}
 .summary-panel--saved .summary-section {padding-top:8px;}
}

/* Density changes spacing, never the user's chosen font size or reading width. */
.reference-reader.is-compact .summary-panel--saved .summary-prose,
.reference-reader.is-compact .summary-panel--saved .summary-item p,
.reference-reader.is-compact .summary-panel--saved .summary-topic li,
.reference-reader.is-compact .summary-panel--saved .summary-list li {line-height:1.5;}
.reference-reader.is-compact .summary-panel--saved .minutes-overview {margin-bottom:16px;}
.reference-reader.is-compact .summary-panel--saved .minutes-view .summary-topic {padding-block:12px;}
.reference-reader.is-compact .summary-panel--saved .summary-section h3,
.reference-reader.is-compact .summary-panel--saved .minutes-view .summary-topic h4 {margin-bottom:8px;}
.reference-reader.is-compact .summary-panel--saved .minutes-actions,
.reference-reader.is-compact .summary-panel--saved .minutes-uncertainties {margin-block:12px;padding:12px;}
.speaker-label{display:inline-block;margin:0 0 .55rem;padding:.2rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-paper);color:var(--ink);font-size:.85rem;font-weight:650;line-height:1.6;overflow-wrap:anywhere}
.reference-reader .playback-segment>.speaker-label{grid-column:1/-1;justify-self:start;max-width:100%;}
.speaker-editor{margin:.8rem 0;padding:.75rem 1rem;border:1px solid var(--line,#dce3ed);border-radius:14px;background:var(--surface,#fff)}
.speaker-editor summary{cursor:pointer;font-weight:650;line-height:1.6;min-height:44px;align-content:center}.speaker-editor p{font-size:14px;color:var(--muted);line-height:1.7}
.speaker-editor form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.speaker-editor label,.reader-tools .speaker-editor form label{display:grid;gap:6px;flex:1 1 160px;min-width:0;font-size:14px}
.speaker-editor input,.speaker-editor select{width:100%;min-height:44px;min-width:0;font-size:16px}.speaker-editor button,.reader-tools .speaker-editor button{min-height:44px;font-size:14px;background:var(--soft);color:var(--accent-ink)}
.speaker-editor input[readonly]{cursor:wait}
.speaker-editor form input{padding:10px 15px}
.speaker-editor button[aria-disabled=true]{opacity:.55;cursor:default}
.speaker-editor .speaker-editor__hint{flex-basis:100%;margin:0;font-size:13px;overflow-wrap:anywhere}
.speaker-editor__actions{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.speaker-editor button.speaker-editor__undo{background:var(--surface);color:var(--muted)}
.speaker-editor .speaker-editor__error{color:var(--danger-ink);overflow-wrap:anywhere}
.speaker-editor__receipt:empty{margin:0}
.speaker-editor .speaker-editor__receipt{overflow-wrap:anywhere;color:var(--ink)}
.live-summary-setting{max-width:32rem}.live-summary-setting input[type=checkbox]{width:1.1rem;height:1.1rem;vertical-align:middle}
/* A full-height recording surface with one transcript scroll area. */
.recording-page {
 --recording-ink:var(--ink);
 --recording-muted:#625b52;
 --recording-border:#d8d1c6;
 --recording-accent:#a13b12;
 height:100vh;
 height:100dvh;
 min-height:0;
 width:100%;
 max-width:none;
 margin:0;
 padding:0;
 display:grid;
 grid-template-rows:auto minmax(0,1fr) auto;
 overflow:hidden;
 color:var(--recording-ink);
 background:#f8f7f4;
 isolation:isolate;
}
.recording-page * {box-sizing:border-box;}
.recording-page button {
 min-width:44px;
 min-height:44px;
 padding:10px 14px;
 border:1px solid var(--recording-border);
 border-radius:10px;
 background:var(--surface);
 color:var(--recording-ink);
 font-family:inherit;
 font-weight:600;
 font-size:.875rem;
 line-height:1.4;
 white-space:normal;
 overflow-wrap:anywhere;
}
.recording-page button:hover:not(:disabled) {background:#f0ebe4;border-color:#9f9180;}
.recording-page button:disabled {opacity:1;background:#f0ede7;color:#706960;border-color:#ded8cf;cursor:not-allowed;}
.recording-page .recording-page__primary {min-height:48px;background:var(--accent);border-color:#be4b15;color:#2e190d;}
.recording-page .recording-page__primary:hover:not(:disabled) {background:#ed6728;border-color:#9f380d;}
.recording-page .recording-page__primary:disabled {background:#eee4da;border-color:#d8cbbd;color:#6e6255;}
.recording-page :is(button,input,[tabindex]):focus-visible {outline:3px solid #81310f;outline-offset:3px;}
.recording-page__header {
 min-height:48px;
 padding:8px max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));
 padding-top:max(8px,env(safe-area-inset-top));
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:8px 20px;
 flex-wrap:wrap;
 border-bottom:1px solid var(--recording-border);
}
.recording-page__header h1 {margin:0;font-size:1.125rem;line-height:1.45;letter-spacing:0;font-weight:650;}
.recording-page__heading {display:flex;align-items:center;gap:16px;min-width:0;}
.recording-page .recording-page__back {background:transparent;color:var(--recording-accent);border-color:transparent;}
.recording-page__back-compact {display:none;}
.recording-page__header>span {color:var(--recording-muted);font-size:.875rem;line-height:1.5;}
.recording-page__reader {
 min-height:0;
 overflow:auto;
 overflow-x:hidden;
 overscroll-behavior:contain;
 overflow-anchor:none;
 scrollbar-gutter:stable;
 scroll-behavior:auto;
 scroll-padding-block:16px;
 padding:16px max(20px,env(safe-area-inset-right)) 20px max(20px,env(safe-area-inset-left));
}
.recording-page .recording-page__reader:focus-visible {outline-offset:-4px;}
.recording-page__text {width:100%;max-width:1100px;min-height:100%;margin:0 auto;}
.recording-page__history {margin:0 0 16px;display:flex;justify-content:center;}
.recording-page__caption {min-width:0;}
.recording-page__caption article {margin:0 0 14px;padding:18px 22px;background:var(--surface);border:1px solid #e2dcd2;border-radius:12px;overflow-wrap:anywhere;}
.recording-page__caption article>small {display:block;margin:0 0 10px;color:var(--recording-muted);font-size:.75rem;line-height:1.5;}
.recording-page__caption :is(.original,.translation) {display:grid;grid-template-columns:2rem minmax(0,1fr);gap:10px;margin:0;line-height:1.65;color:var(--recording-ink);letter-spacing:0;white-space:pre-wrap;overflow-wrap:anywhere;}
.recording-page__caption .translation {margin-top:12px;padding-top:12px;border-top:1px solid #e7e1d8;color:#483624;}
.recording-page__caption .language-label {display:block;align-self:start;margin-top:.4em;padding:3px 2px;border-radius:4px;background:#f2eee7;color:#5a4b3d;text-align:center;font-size:.6875rem;line-height:1.4;font-weight:600;white-space:normal;}
.recording-page__empty {min-height:100%;padding:32px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
.recording-page__sound {font-size:3rem;line-height:1;color:var(--recording-accent);}
.recording-page__empty h2 {font-size:1.375rem;line-height:1.5;margin:20px 0 8px;}
.recording-page__empty p {max-width:32em;margin:0;color:var(--recording-muted);font-size:1rem;line-height:1.7;}
.recording-page__controls {
 position:relative;
 z-index:1;
 display:block;
 margin:0;
 padding:8px max(20px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
 border-top:1px solid var(--recording-border);
 background:#fffcf7;
 box-shadow:0 -3px 12px #38260d05;
}
.recording-page__controls>div {width:100%;margin:0;}
.recording-page__control-row {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;}
.recording-page__status {min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;line-height:1.5;font-size:.875rem;}
.recording-page__status strong {font-weight:600;}
.recording-page__status time {font:500 .9375rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--recording-muted);}
.recording-page__level {flex:0 1 44px;min-width:24px;}
.recording-page__level .meter {height:4px;margin:0;background:#e4dacc;border-radius:2px;overflow:hidden;}
.recording-page__level .meter>div {background:#a13b12;}
.recording-page__dot {width:8px;height:8px;flex:none;background:#776c60;border-radius:50%;}
.recording-page__dot.is-recording {background:#b43c0d;box-shadow:0 0 0 3px #fbe4d7;}
.recording-page .recording-page__cancel {color:#812b1d;background:transparent;}
.recording-page .recording-page__destructive {color:var(--surface);background:#8f2c1c;border-color:#8f2c1c;}
.recording-page__actions {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;}
.recording-page .recording-page__reading {background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:4px;color:#733212;}
.recording-page__controls .recording-page__notice {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;padding:8px 12px;border-radius:8px;background:#fff0da;color:#714613;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;}
.recording-page__notice p {margin:0;}
.recording-page__notice button {flex:none;}
.recording-page__controls .recording-page__summary-notice {background:var(--surface-paper);color:var(--muted);border:1px solid var(--line);}
.recording-page__summary-notice p {flex:1;min-width:0;}
.recording-page__summary-notice button {color:var(--accent-ink);white-space:nowrap;}
.recording-page__controls .recording-page__notice--error {background:#fff0ec;color:#812b1d;border:1px solid #c98777;}
.recording-page__notice--error p {max-height:min(20dvh,8rem);overflow:auto;overscroll-behavior:contain;}
.recording-page__controls .recording-page__health {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#87340f;font-size:.8125rem;line-height:1.5;}
.recording-page__health button {flex:none;color:#733212;padding-block:6px;}
.recording-page__controls .recording-page__follow {display:flex;align-items:center;justify-content:space-between;gap:8px 12px;margin:0 0 8px;color:var(--recording-muted);font-size:.8125rem;line-height:1.5;}
.recording-page__follow span {flex:1;min-width:0;}
.recording-page__follow button {flex:none;width:auto;white-space:nowrap;color:var(--accent-ink);background:var(--soft);border-color:var(--line);}
.recording-page__dialog {
 width:min(560px,calc(100vw - 32px));
 max-width:calc(100vw - 32px);
 max-height:calc(100vh - 32px);
 max-height:calc(100dvh - max(32px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));
 margin:auto;
 padding:24px;
 overflow:auto;
 overscroll-behavior:contain;
 border:1px solid var(--recording-border);
 border-radius:16px;
 background:var(--surface-warm);
 color:var(--recording-ink);
 box-shadow:0 16px 80px #20160f33;
}
.recording-page__dialog::backdrop {background:#201c18a6;}
.recording-page__dialog-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;}
.recording-page__dialog h2 {font-size:1.375rem;line-height:1.4;letter-spacing:0;margin:0;}
.recording-page__dialog h3 {font-size:1rem;line-height:1.5;margin:0 0 12px;}
.recording-page__dialog p {margin:12px 0 0;font-size:.875rem;line-height:1.7;color:var(--recording-muted);overflow-wrap:anywhere;}
.recording-page__settings,.recording-page__details {border-top:1px solid var(--recording-border);margin-top:20px;padding-top:20px;}
.recording-page__settings label {display:flex;flex-direction:row;justify-content:space-between;color:var(--recording-ink);font-size:1rem;line-height:1.5;font-weight:600;}
.recording-page__font-controls {display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:12px;}
.recording-page__font-controls input {width:100%;min-width:0;min-height:44px;margin:0;padding:0;accent-color:var(--recording-accent);}
.recording-page__details dl {display:grid;gap:12px;margin:0;font-size:.875rem;line-height:1.5;}
.recording-page__details dl>div {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px;}
.recording-page__details dt {color:var(--recording-muted);}
.recording-page__details dd {margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.recording-page__dialog .recording-page__attention {color:#87340f;font-weight:600;}
.recording-page__dialog-actions {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px;}
.recording-page__dialog-actions button {flex:1;}
@media(max-width:600px) {
 .recording-page__header {display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 8px;}
 .recording-page__heading {gap:8px;}
 .recording-page .recording-page__back {padding-inline:6px;}
 .recording-page__back-destination {display:none;}
 .recording-page__back-compact {display:none;}
 .recording-page__header button {font-size:.8125rem;}
 .recording-page .recording-page__summary-toggle {padding-inline:10px;}
 .recording-page__header {padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));}
 .recording-page__reader {padding:12px max(12px,env(safe-area-inset-right)) 16px max(12px,env(safe-area-inset-left));}
 .recording-page__caption article {padding:14px 12px;}
 .recording-page__controls {padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));}
 .recording-page__control-row {gap:8px;}
 .recording-page__status {width:100%;flex-wrap:nowrap;}
 .recording-page__status .recording-page__camera {margin-left:auto;}
 .recording-page__actions {flex:1 1 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
 .recording-page__actions--four {grid-template-columns:repeat(2,minmax(0,1fr));}
 .recording-page__actions button {padding-inline:8px;}
 .recording-page__actions .recording-page__reading {padding:6px;}
 .recording-page__dialog {padding:18px;}
}
@media(max-width:360px) {
 .recording-page__caption :is(.original,.translation) {grid-template-columns:minmax(0,1fr);gap:4px;}
 .recording-page__caption .language-label {justify-self:start;margin:0;padding:3px 6px;}
 .recording-page__header {gap:4px 6px;}
 .recording-page__dialog-heading {flex-wrap:wrap;}
 .recording-page__font-controls {gap:8px;}
 .recording-page__details dl>div {grid-template-columns:minmax(0,1fr);gap:2px;}
 .recording-page__details dd {text-align:left;}
}
@media(prefers-reduced-motion:reduce) {
 .recording-page,.recording-page *,.recording-page *::before,.recording-page *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

.recording-page__secondary {border-top:1px solid var(--line);padding-top:16px;margin-top:20px;}
.recording-page__secondary h3 {font-size:16px;}
.recording-page__secondary p {font-size:14px;color:var(--recording-muted);line-height:1.7;}

/* Reading controls stay available while listening, without opening a dialog. */
.recording-page__quick-reading,.recording-page__quick-font {display:flex;align-items:center;gap:6px;}
.recording-page__quick-font output {font-size:13px;font-variant-numeric:tabular-nums;min-width:2ch;text-align:center;}
.recording-page .recording-page__quick-font button {min-width:44px;min-height:44px;padding:6px;color:var(--recording-accent);}
.recording-page__controls .recording-page__notice--success {background:#edf5ef;color:#28563a;border:1px solid #bbd4c1;}
@media(max-width:600px){
 .recording-page__header {grid-template-columns:minmax(0,1fr) auto;}
 .recording-page__heading {grid-column:1/-1;}
 .recording-page__quick-reading {grid-column:2;grid-row:2;gap:4px;}
 .recording-page__quick-font {gap:2px;}
}
@media(max-width:767px){
 .recording-page:has(.is-minutes-open) .recording-page__quick-font {display:none;}
}
@media(max-width:360px){
 .recording-page__heading {grid-column:1;grid-row:1;}
 .recording-page__quick-reading {grid-column:2;grid-row:1;}
 .recording-page__mark-actions {grid-column:1/-1;grid-row:2;}
}
.reference-reader.is-markers .study-markers {flex:1;min-height:0;overflow:auto;padding:4px 8px 24px 0;scroll-padding:16px;}
/* Keep replay controls reachable while the marker cards use the remaining space. */
main:has(.reference-reader.is-markers) {overflow:auto;}
main:has(.reference-reader.is-markers)>div:has(.reader-page) {min-height:0;flex-shrink:1;}
.reference-reader.is-markers .reader-tools label[hidden] {display:none;}
.study-markers__heading h2 {margin:0 0 8px;font-size:1.25rem;}
.study-markers__heading p,.study-markers__empty {color:var(--muted);line-height:1.7;}
.study-markers__total {font-size:.8125rem;font-weight:400;color:var(--muted);white-space:nowrap;}
.study-markers__filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;}
.study-markers__filters label {display:flex;flex-direction:column;gap:5px;min-width:0;font-size:.8125rem;color:var(--muted);}
.study-markers__filters select {width:100%;min-width:0;min-height:44px;padding-inline:10px;font-size:1rem;color:var(--ink);}
.study-markers__notice,.study-marker .study-marker__error {font-size:.875rem;line-height:1.6;margin:10px 0;overflow-wrap:anywhere;}
.study-markers__notice {color:var(--muted);}
.study-markers__notice:empty {display:none;}
.study-markers__count {color:var(--muted);font-size:.8125rem;margin:8px 0;}
.study-markers__empty {display:flex;flex-wrap:wrap;gap:8px;}
.study-markers__empty p {flex-basis:100%;}
.study-marker .study-marker__error {color:var(--danger-ink);background:var(--danger-bg);padding:12px;border-radius:10px;}
.study-marker {padding:20px;margin:16px 0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere;}
.study-marker.is-reviewed {background:#fbfbf8;}
.study-marker:focus-visible {outline:2px solid var(--accent-ink);outline-offset:-2px;}
.study-marker__heading {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.study-marker__heading h3 {font-size:1.05rem;margin:0;}
.study-marker__review {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;}
.study-marker__review-state {font-size:.8125rem;color:var(--muted);}
.study-marker__review button {min-height:44px;font-size:.875rem;}
.study-marker__review button[aria-disabled=true] {opacity:.6;cursor:wait;}
.study-marker time,.study-marker small,.study-marker figcaption {font-size:.8125rem;color:var(--muted);}
.study-marker time {font-variant-numeric:tabular-nums;white-space:nowrap;}
.study-marker__listen {margin:16px 0;background:var(--soft);color:var(--accent-ink);}
.study-marker small {display:block;margin-top:16px;}
.study-marker p {line-height:1.75;white-space:pre-wrap;margin:12px 0;}
.study-marker__excerpt {max-width:70ch;}
.study-marker__translation {border-top:1px solid var(--line);padding-top:12px;}
.study-marker .study-marker__warning {color:var(--warning-ink);}
.study-marker figure {margin:20px 0 0;}
.study-marker img {display:block;max-width:100%;max-height:260px;object-fit:contain;border-radius:8px;}
.study-marker figcaption {margin-top:8px;}
.recording-page__mark-actions {display:flex;align-items:center;gap:6px;}
.recording-page__mark-actions>span {font-size:.8125rem;color:var(--recording-muted);margin-right:6px;}
.recording-page .recording-page__mark {background:#fff6ed;color:#733212;border-color:#be9b79;}
.recording-page__mark-toast {position:absolute;z-index:2;top:72px;right:16px;max-width:calc(100% - 32px);padding:10px 14px;border:1px solid #be9b79;border-radius:10px;background:#fff6ed;color:#733212;font-size:.875rem;pointer-events:none;box-shadow:0 2px 14px #38260d14;}
@media(max-width:600px){
 .reference-reader.is-markers .reader-tools {display:flex;flex-wrap:wrap;}
 .study-markers__heading h2 {margin-bottom:4px;}
 .study-markers__heading p {margin:4px 0;font-size:.875rem;line-height:1.5;}
 .study-markers__filters {gap:8px;margin:8px 0;}
 .recording-page__mark-actions>span {display:none;}
 .recording-page__header h1 {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
 .recording-page .recording-page__mark {padding-inline:10px;}
 .study-marker {padding:16px;}
}
.study-marker__review {margin:6px 0 10px;}
.study-marker__question {padding:8px 12px;border-left:3px solid var(--accent-ink);background:var(--soft);}
.study-marker details>summary {color:var(--accent-ink);min-height:44px;cursor:pointer;}
.study-marker details p {max-width:70ch;}

.reference-reader.is-compact .study-marker {padding:12px;margin-block:10px;}
.reference-reader.is-compact .study-marker p {line-height:1.5;margin-block:8px;}
.reference-reader.is-compact .study-marker__listen {margin-block:8px;}
.reference-reader.is-compact .study-marker small {margin-top:8px;}
.reference-reader.is-compact .study-marker figure {margin-top:12px;}
.import-dialog{--import-padding:24px;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:var(--import-padding);border:1px solid var(--line,#dce1df);border-radius:20px;color:var(--ink,#17232c);background:var(--paper,#faf9f6);overflow:auto}
.import-dialog::backdrop{background:rgba(20,30,36,.5)}
.import-dialog{background:var(--surface-warm);border-radius:var(--radius-card);overscroll-behavior:contain;scroll-padding-block:100px 20px}
.import-dialog>p{font-size:14px;font-weight:400;color:var(--muted)}
.import-jump-links,.import-jobs__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.import-jump-links{justify-content:flex-start;padding-block:8px;border-bottom:1px solid var(--line)}
.import-jump-links button,.import-jobs__heading button{background:transparent;color:var(--accent-ink);font-size:14px}
.import-jobs__heading h3{margin:0;font-size:18px}
.import-form .import-resume-note{margin:0;padding:12px 0;color:var(--ink);font-size:14px;font-weight:400;overflow-wrap:anywhere}
.import-form .import-preview{background:var(--surface-paper)}
.import-form .import-error{margin:0;color:var(--danger-ink);background:var(--danger-bg)}
.import-job .import-error{color:var(--danger-ink);background:var(--danger-bg)}
.import-job__receipt{color:var(--accent-ink)}
.import-job:focus-visible,.import-jobs h3:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.import-heading{position:sticky;top:calc(-1 * var(--import-padding));z-index:2;background:var(--surface-warm);padding-block:12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.import-heading h2{margin:0}.import-heading>button{flex-shrink:0;white-space:nowrap}.import-dialog p{line-height:1.6}.import-form{display:grid;gap:16px;margin:24px 0}.import-form label{display:grid;gap:8px;font-weight:600}.import-form input,.import-form textarea,.import-form select{width:100%;min-width:0;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #bfc9c7;border-radius:10px;background:#fff}.import-form small,.import-disclosure{font-weight:400;font-size:14px;color:#536568}.import-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.import-preview{display:grid;gap:8px;padding:16px;background:#eef3ef;border-radius:12px;overflow-wrap:anywhere}.import-preview audio{width:100%}.import-actions{display:flex;flex-wrap:wrap;gap:10px}.import-dialog button{min-height:44px;padding:10px 14px}.import-progress{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.import-progress progress{flex:1;min-width:100px;accent-color:#e56e32}.import-error{padding:12px;border-radius:10px;background:#fff1e8;color:#854b22;overflow-wrap:anywhere}.import-job{padding:16px 0;border-top:1px solid #dce1df;overflow-wrap:anywhere}.import-job p{margin:8px 0}.import-notice{padding:12px 16px;margin:12px 0;background:#eef3ef;border-radius:12px}.import-file{padding:16px;border:1px dashed #98aaa4;border-radius:12px}.import-form input:disabled,.import-form select:disabled{opacity:.7}@media(max-width:480px){.import-dialog{--import-padding:16px}.import-options{grid-template-columns:1fr}.import-heading{gap:8px}}

.import-form input,.import-form textarea,.import-form select{font-size:var(--font-input)}
.import-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.import-notice button{color:var(--accent-ink);flex-shrink:0}
.cloud-recordings__list article{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--line);min-width:0}
.cloud-recordings__list article>div:first-child{min-width:0;flex:1}
.cloud-recordings h3{margin:0 0 8px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.cloud-recordings__action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0;max-width:45%}
.cloud-recordings .management-meta{margin:0}
.cloud-recordings__action p{margin:0}
.cloud-recordings__more{margin-top:8px!important}
.cloud-restore-progress{margin:20px 0;padding:16px 0;border-block:1px solid var(--line);scroll-margin:20px}
.cloud-recordings .cloud-recordings__id{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.cloud-recordings__advanced{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}
.cloud-recordings .cloud-recordings__advanced>summary{min-height:44px;align-content:center;font-size:14px;cursor:pointer}
.cloud-recordings .cloud-recordings__advanced form{display:grid;gap:12px;max-width:620px;margin-top:16px}
.cloud-recordings .cloud-recordings__advanced label{display:block;font-size:14px;margin:0}
.cloud-recordings__advanced input{width:100%;min-width:0;min-height:44px;font-size:16px}
.cloud-recordings__advanced button{justify-self:start}
.cloud-recordings .management-feedback:focus-visible,.cloud-recordings .cloud-restore-progress:focus-visible{outline:3px solid var(--accent-ink);outline-offset:4px}
@media(max-width:600px){.cloud-recordings__list article{align-items:flex-start;flex-direction:column;gap:12px}.cloud-recordings__action{max-width:100%}.cloud-recordings__advanced button{justify-self:stretch}}

.cloud-recordings__open-error{flex-basis:100%;margin:0}
.reader-heading .course-button {display:inline-block;max-width:100%;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:44px;margin:0 0 0 8px;padding:4px 8px;color:var(--accent-ink);font-size:.8125rem;}
.library-course-filter {grid-column:1/-1;grid-row:2;display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 12px;min-width:0;}
.library-course-filter label {display:flex;flex-direction:column;align-items:stretch;gap:8px;flex:1;max-width:420px;min-width:160px;}
.library-course-filter select {width:100%;min-width:0;max-width:100%;}
.library-course-label {display:block;width:fit-content;max-width:100%;margin-top:12px;padding:4px 10px;border-radius:8px;background:var(--soft);color:var(--accent-ink);font-size:.8125rem;overflow-wrap:anywhere;}
.course-dialog {box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--paper,var(--surface-paper));overflow:auto;}
.course-dialog::backdrop {background:#1f25294d;}
.course-dialog h2 {font-size:1.3rem;margin:0 0 16px;}
.course-dialog p {font-size:.875rem;line-height:1.7;overflow-wrap:anywhere;}
.course-dialog .course-dialog__current {margin:16px 0 0;font-size:.875rem;color:var(--muted);}
.course-dialog__current strong {color:var(--ink);font-weight:500;}
.course-dialog label {display:block;margin-top:20px;margin-bottom:8px;}
.course-dialog input {box-sizing:border-box;width:100%;font-size:var(--font-input);}
.course-dialog small {display:block;color:var(--muted);font-size:.8125rem;line-height:1.6;margin:10px 0;}
.course-dialog__actions {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:24px;}
.course-dialog__actions button {margin:0;min-height:44px;white-space:normal;}
.course-dialog__actions .course-dialog__remove {grid-column:1/-1;justify-self:start;background:transparent;border-color:transparent;color:var(--accent-ink);}
.course-dialog__actions .course-dialog__remove:hover:not(:disabled) {background:var(--soft);}
.course-dialog .course-dialog__error {padding:12px;border-radius:8px;color:var(--danger-ink);background:var(--danger-bg);font-size:.875rem;}
.course-dialog .course-dialog__status {font-size:.875rem;color:var(--accent-ink);}
.course-dialog__status:empty,.course-receipt:empty {display:none;}
.reader-organize .course-receipt {flex-basis:100%;min-width:0;margin:0;color:var(--ink);font-size:.875rem;line-height:1.6;overflow-wrap:anywhere;}
@media(max-width:600px){.library-course-filter label {width:100%;max-width:none;flex-basis:100%;}.course-dialog {padding:20px;}.reader-heading .course-button {max-width:calc(100% - 72px);min-height:44px;}}

.course-preparation {width:100%;max-width:820px;margin:16px auto 24px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper,var(--surface-paper));}
.course-preparation>label {display:block;margin-bottom:8px;}
.course-preparation input,.course-preparation textarea {box-sizing:border-box;width:100%;max-width:100%;font-size:var(--font-input);}
.course-preparation input {min-height:44px;}
.course-preparation textarea {padding:12px;border:1px solid var(--line);border-radius:10px;resize:vertical;}
.course-preparation p,.course-preparation__hint {font-size:.875rem;line-height:1.65;color:var(--muted);}
.course-preparation__terms {margin-top:12px;}
.course-preparation__terms>summary {padding:10px 0;min-height:44px;box-sizing:border-box;}
.course-preparation__terms label {display:block;margin:16px 0 8px;}
.course-preparation__reuse {padding:12px 16px;border-radius:10px;background:var(--soft);margin:12px 0;}
.course-preparation__reuse p {margin-top:0;}
.course-preparation__terms button {margin-top:8px;}
.course-preparation .course-preparation__notice {color:var(--accent-ink);}
.course-preparation .course-preparation__error {color:#87340f;}
.saved-recognition-terms ul {padding-left:20px;overflow-wrap:anywhere;}
@media(max-width:600px){.course-preparation {padding:16px;margin:12px 0 20px;}.course-preparation__terms button {max-width:100%;white-space:normal;}}

.preparation-card {width:100%;max-width:820px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-section);}
.preparation-card>h2 {margin:0 0 20px;}
.preparation-card .course-preparation {padding:0;margin:0 0 20px;border:0;background:transparent;}
.preparation-card .controls {padding:20px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;margin:0;}
.live-page>.service-details {order:2;margin:16px auto;width:100%;max-width:820px;}
@media(max-width:600px){.preparation-card {padding:16px;}.preparation-card .controls {padding-top:16px;}}
.course-preparation__optional>summary {min-height:44px;padding:10px 0;color:var(--accent-ink);font-size:14px;cursor:pointer;overflow-wrap:anywhere;}
.live-workspace .recording-ready>summary {text-align:left;min-height:44px;color:var(--muted);font-size:14px;cursor:pointer;}
.live-workspace .recording-ready:not([open]) {padding-block:12px;}
.merge-chapters{flex-shrink:0;min-width:0;border-bottom:1px solid var(--line);background:var(--surface)}
.merge-chapters>summary{min-height:44px;padding:10px 16px;cursor:pointer;font-size:14px;overflow-wrap:anywhere}
.merge-chapters__body{max-height:min(30dvh,280px);overflow:auto;overscroll-behavior:contain;padding:0 16px 12px}
.merge-chapters__body>p{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 8px}
.merge-chapters ol{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.merge-chapters li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;border-radius:8px}
.merge-chapters li[aria-current=true]{background:var(--soft)}
.merge-chapters__play{flex:1;min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:8px 10px;white-space:normal;overflow-wrap:anywhere}
.merge-chapters__play small{font-size:12px;color:var(--muted)}
.merge-chapters a{display:flex;align-items:center;min-height:44px;padding:6px;font-size:13px;flex-shrink:0}
.merge-chapters__terms{flex-basis:100%;min-width:0;padding:0 10px}
.merge-chapters__terms>summary{min-height:44px;padding:10px 0;font-size:13px}
.merge-chapters__terms>p{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px}
.study-marker__chapter{font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:420px){.merge-chapters>summary{padding:10px 12px}.merge-chapters__body{padding-inline:12px}.merge-chapters li{flex-wrap:wrap;gap:0}.merge-chapters__play{flex-basis:100%}.merge-chapters a{margin-left:4px}}
/* Preserve this order: later workspace rules refine the shared base. */
:root {
  font-family: Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif;
  color: var(--ink);
  background: #f8f7f4;
  font-synthesis: none;
  --font-input: 16px;
  --font-label: 14px;
  --control-height: 44px;
  --radius-card: 16px;
  --surface: #fff;
  --surface-warm: #fffdf9;
  --surface-paper: #faf9f6;
  --warning-ink: #77520f;
  --warning-bg: #fff2df;
  --danger-ink: #8b2419;
  --danger-bg: #fff0ed;
  --focus: var(--accent-ink);
  --space-section: 24px;
  --accent: #f47535;
  --ink: #25231f;
  --muted: #706b63;
  --line: #e4e0d9;
  --soft: #fff0e6;
  --accent-ink: #a63c0d;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,input,select,textarea {
  font: inherit;
}
button,a,input,select,summary {
  -webkit-tap-highlight-color: transparent;
}
button,select,input {
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 15px;
  background: var(--surface);
  color: var(--ink);
}
button,summary,a,select {
  cursor: pointer;
}
button {
  font-size: 14px;
  font-weight: 600;
  transition: background .15s,border-color .15s;
}
button:hover:not(:disabled) {
  background: #f0ede7;
  border-color: #b9b1a6;
}
button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
a {
  color: var(--accent-ink);
  text-underline-offset: 4px;
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}
main {
  max-width: 1152px;
  margin: auto;
  padding: 0 40px 24px;
}
.skip {
  position: absolute;
  top: -90px;
  padding: 16px;
  background: white;
  z-index: 10;
}
.skip:focus {
  top: 8px;
}
.app-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 108px;
  border-bottom: 1px solid var(--line);
}
.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 23px;
  font-weight: 750;
  letter-spacing: .04em;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border-radius: 13px;
  background: var(--accent);
  font-size: 24px;
  transform: rotate(-5deg);
}
.brand div>span {
  display: block;
  font-size: 9px;
  color: var(--muted);
  letter-spacing: .1em;
  margin-top: 5px;
}
nav {
  display: flex;
  background: #eeebe5;
  padding: 4px;
  border-radius: 13px;
  gap: 4px;
}
nav button {
  border: 0;
  background: transparent;
  min-width: 112px;
}
nav button[aria-pressed=true] {
  background: var(--surface);
  box-shadow: 0 2px 6px #28231b0b;
}
nav button[aria-pressed=true]:hover {
  background: white;
}
.count {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
  background: #efede8;
  border-radius: 6px;
  padding: 2px 6px;
  margin-left: 6px;
}
.nav-dot,.dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: #a39b90;
  margin-right: 9px;
}
.nav-dot {
  background: var(--accent);
  margin: 0 0 0 8px;
}
.dot.on {
  background: var(--accent);
  box-shadow: 0 0 0 4px var(--soft);
}
.intro {
  margin: 40px 0 28px;
}
.eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .15em;
  color: var(--accent-ink);
  margin: 0 0 13px;
}
h1 {
  font-size: 38px;
  font-weight: 650;
  letter-spacing: -.05em;
  margin: 0 0 14px;
  line-height: 1.3;
}
h1 span {
  color: var(--accent-ink);
}
.intro>p:last-child {
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
  margin: 0;
}
h2 {
  font-size: 20px;
  letter-spacing: -.03em;
}
p {
  line-height: 1.7;
}
.panel {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
}
.service-details {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 16px;
}
.service-details summary {
  min-height: 44px;
  line-height: 44px;
}
.service-details p {
  max-width: 780px;
}
.controls {
  display: flex;
  align-items: end;
  gap: 16px;
  padding: 20px 24px;
  margin-bottom: 16px;
}
.controls label {
  flex: 1;
}
label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: var(--font-label);
  color: var(--muted);
}
input,textarea,select {font-size:var(--font-input);}
select {
  width: 100%;
  font-size: var(--font-input);
}
.primary {
  background: var(--accent);
  color: #27170c;
  border-color: var(--accent);
  padding: 12px 26px;
  min-width: 168px;
}
.primary:hover:not(:disabled) {
  background: #ff8b4e;
  border-color: #ff8b4e;
}
.primary span {
  margin-right: 8px;
  font-size: 13px;
}
.live {
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px #34261a04;
}
.live-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 26px 16px;
  gap: 20px;
}
.live-head>div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  font-size: 14px;
}
.time {
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .05em;
  font-size: 24px;
  margin-left: 22px;
  font-variant-numeric: tabular-nums;
}
.font-control {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.font-control input {
  width: 105px;
  padding: 0;
  min-height: 32px;
  accent-color: var(--accent-ink);
}
.metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding: 0 26px 18px;
  font-size: 11px;
  color: var(--muted);
}
.meter {
  height: 3px;
  background: #f3f0ea;
  margin: 0 26px;
}
.meter>div {
  height: 100%;
  background: var(--accent);
}
.transcript {
  height: 350px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 24px 30px;
  scrollbar-width: thin;
  scrollbar-color: #d4cec5 transparent;
}
.transcript article {
  padding: 0 0 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid #eeeae4;
  overflow-wrap: anywhere;
}
.transcript small {
  font-size: 11px;
  color: var(--muted);
}
.original {
  font-size: 16px;
  color: var(--muted);
  margin: 10px 0;
}
.translation {
  line-height: 1.65;
  letter-spacing: .01em;
  margin: 0;
}
.empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 290px;
  text-align: center;
}
.empty h2 {
  font-size: 21px;
  font-weight: 550;
  margin: 22px 0 8px;
}
.empty p {
  max-width: 400px;
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}
.wave {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 50px;
  width: 80px;
}
.wave i {
  width: 5px;
  border-radius: 8px;
  background: var(--accent);
  height: 16px;
}
.wave i:nth-child(2),.wave i:nth-child(6) {
  height: 26px;
}
.wave i:nth-child(3),.wave i:nth-child(5) {
  height: 37px;
}
.wave i:nth-child(4) {
  height: 50px;
}
footer {
  border-top: 1px solid var(--line);
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  background: #fdfcfb;
}
footer>span {
  font-size: 11px;
  color: var(--muted);
}
footer>div {
  display: flex;
  gap: 8px;
}
.danger {
  color: #a13124;
  border-color: #e5c8c2;
}
.warning {
  padding: 14px 24px;
  background: var(--warning-bg);
  color: var(--warning-ink);
  font-size: 13px;
  margin: 0;
}
.follow {
  position: absolute;
  bottom: 98px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 4px 16px #0001;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
  gap: 16px;
}
.section-heading h2 {
  margin: 0;
}
.section-heading .eyebrow {
  margin-bottom: 8px;
}
.record {
  border: 1px solid var(--line);
  background: white;
  border-radius: 14px;
  padding: 22px 24px;
  margin: 14px 0;
}
.record>div>strong {
  font-size: 16px;
}
.record p {
  font-size: 12px;
  color: var(--muted);
  margin: 9px 0 14px;
}
.record>div+div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.record audio {
  width: 260px;
  max-width: 100%;
  height: 44px;
}
.record a {
  font-size: 13px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 6px 3px;
}
.record-technical {
  width: 100%;
  border-top: 1px solid var(--line);
  margin-top: 8px;
  padding-top: 8px;
}
.record-technical summary {
  min-height: 44px;
  line-height: 44px;
  color: var(--muted);
  font-size: 12px;
}
.record-id {
  overflow-wrap: anywhere;
}
.result-detail {
  padding: 24px;
  margin-top: 24px;
  overflow-wrap: anywhere;
}
.result-detail>p {
  font-size: 14px;
  color: var(--muted);
}
.result-detail details {
  margin-top: 16px;
}
.result-detail summary {
  min-height: 44px;
  line-height: 44px;
  font-size: 13px;
}
.result-detail form {
  display: flex;
  gap: 12px;
  align-items: end;
  margin: 16px 0;
}
.result-detail form label {
  flex: 1;
}
.login {
  max-width: 460px;
  margin: 40px auto;
  padding: 32px;
}
.login h2 {
  margin-top: 0;
}
.login label {
  margin: 18px 0;
}
.login .primary {
  width: 100%;
}
.login p {
  font-size: 12px;
  color: var(--muted);
}
.error {
  background: var(--danger-bg);
  border: 1px solid #deb7af;
  border-radius: 12px;
  color: var(--danger-ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  margin: 16px 0;
  overflow-wrap: anywhere;
}
.error button {
  background: transparent;
  border: 0;
  font-size: 22px;
  flex-shrink: 0;
}
.footnote {
  color: var(--muted);
  font-size: 11px;
  text-align: center;
  margin: 26px 0 8px;
}
[hidden] {
  display: none!important;
}
@media(min-width:1400px) {
  .transcript {
    height: 400px;
  }
  .empty {
    min-height: 335px;
  }
  .intro {
    margin-top: 48px;
  }
}
@media(max-width:760px) {
  main {
    padding: 0 22px 20px;
  }
  .app-header {
    gap: 16px;
    min-height: 94px;
    flex-wrap: wrap;
    padding: 20px 0;
  }
  .brand {
    font-size: 21px;
  }
  .brand div>span {
    font-size: 8px;
  }
  .app-header nav {
    margin-left: auto;
  }
  nav button {
    min-width: 90px;
    padding: 10px;
  }
  .intro {
    margin: 30px 0 24px;
  }
  h1 {
    font-size: 32px;
  }
  .controls {
    padding: 18px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .controls label {
    min-width: calc(50% - 12px);
  }
  .controls .primary {
    width: 100%;
  }
  .live-head {
    padding: 20px 18px 14px;
    gap: 12px;
  }
  .metrics {
    padding: 0 18px 16px;
    gap: 8px 14px;
  }
  .meter {
    margin: 0 18px;
  }
  .transcript {
    padding: 22px 20px;
    height: 370px;
  }
  footer {
    padding: 16px 18px;
    flex-wrap: wrap;
  }
  footer>div {
    margin-left: auto;
  }
  .record {
    padding: 18px;
  }
  .record audio {
    width: 100%;
  }
  .result-detail {
    padding: 20px;
  }
  .time {
    font-size: 21px;
    margin-left: 14px;
  }
  .font-control input {
    width: 80px;
  }
}
@media(max-width:440px) {
  main {
    padding: 0 16px 16px;
  }
  .app-header {
    gap: 16px;
  }
  .app-header nav {
    width: 100%;
    justify-content: center;
  }
  .app-header nav button {
    flex: 1;
  }
  .intro {
    margin: 26px 0 22px;
  }
  h1 {
    font-size: 28px;
  }
  .intro>p:last-child {
    font-size: 13px;
  }
  .controls label {
    flex-basis: 100%;
  }
  .live-head {
    flex-wrap: wrap;
  }
  .font-control {
    margin-left: auto;
  }
  .time {
    font-size: 22px;
  }
  .transcript {
    height: 340px;
  }
  .empty h2 {
    font-size: 19px;
  }
  .empty p {
    font-size: 12px;
  }
  .metrics span:last-child {
    display: none;
  }
  footer>div {
    width: 100%;
  }
  footer button {
    flex: 1;
  }
  .result-detail form {
    flex-direction: column;
    align-items: stretch;
  }
  .record>div+div {
    gap: 8px;
  }
  .record button {
    font-size: 12px;
  }
  .login {
    padding: 24px;
  }
  .footnote {
    font-size: 10px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation: none!important;
    transition: none!important;
    scroll-behavior: auto!important;
  }
}
/* Reading workspace: stable controls and progressive disclosure. */
.intro {
  margin: 28px 0 22px;
}
.app-header {
  min-height: 88px;
}
h1 {
  font-size: 34px;
}
.controls {
  padding: 16px 22px;
}
.live-head {
  padding: 18px 24px 14px;
}
.reading-tools {
  display: flex;
  align-items: center;
  gap: 18px;
}
.font-control output {
  font-variant-numeric: tabular-nums;
  min-width: 2ch;
  color: var(--ink);
}
.focus-toggle {
  min-height: 44px;
  padding: 8px 12px;
  font-size: 12px;
}
.focus-toggle[aria-pressed=true] {
  background: var(--soft);
  color: var(--accent-ink);
  border-color: #e6c7b2;
}
.language-label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--muted);
  margin-bottom: 5px;
}
.transcript {
  height: clamp(260px,38dvh,480px);
  scroll-padding-bottom: 24px;
}
.empty {
  min-height: 100%;
  padding: 22px 0;
}
.live footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding-bottom: max(16px,env(safe-area-inset-bottom));
  box-shadow: 0 -5px 16px #30241603;
}
.live {
  overflow: clip;
}
.follow {
  bottom: 100px;
  z-index: 3;
}
.details-hint {
  float: right;
  font-size: 11px;
}
.recording-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 18px;
  background: var(--soft);
  border: 1px solid #e6c7b2;
  border-radius: 12px;
  margin: 20px 0;
  font-size: 14px;
}
.quality-details {
  border-top: 1px solid var(--line);
  padding-top: 8px;
  color: var(--muted);
  font-size: 12px;
}
.quality-details p {
  font-size: 12px;
}
.focus-mode .intro,.focus-mode .service-details,.focus-mode .controls,.focus-mode .footnote {
  display: none;
}
.focus-mode .app-header {
  min-height: 70px;
}
.focus-mode .live {
  margin-top: 18px;
}
.focus-mode .transcript {
  height: calc(100dvh - 292px);
  min-height: 260px;
}
.focus-mode .live-head {
  padding-top: 20px;
}
.skip:focus {
  z-index: 5;
}
.service-details summary {
  min-height: 44px;
  line-height: 44px;
}
.font-control input {
  min-height: 44px;
}
@media(max-width:760px) {
  .app-header {
    min-height: 88px;
  }
  .reading-tools {
    gap: 10px;
  }
  .live-head {
    padding: 16px 18px 12px;
    flex-wrap: wrap;
  }
  .reading-tools {
    margin-left: auto;
  }
  .transcript {
    height: 38dvh;
    min-height: 280px;
  }
  .focus-mode .transcript {
    height: calc(100dvh - 325px);
  }
  .intro {
    margin: 24px 0 18px;
  }
}
@media(max-width:440px) {
  .app-header {
    padding: 16px 0;
    gap: 12px;
  }
  .brand div>span {
    font-size: 8px;
  }
  .intro h1 {
    font-size: 27px;
  }
  .intro .eyebrow {
    font-size: 10px;
  }
  .controls {
    padding: 16px;
  }
  .controls label {
    flex-basis: calc(50% - 12px);
    min-width: 0;
  }
  .controls select {
    padding: 10px 5px;
    font-size: 12px;
  }
  .reading-tools {
    width: 100%;
    justify-content: space-between;
  }
  .font-control input {
    width: 100px;
  }
  .live-head {
    gap: 10px;
  }
  .metrics {
    font-size: 11px;
  }
  .focus-mode .app-header .brand {
    display: none;
  }
  .focus-mode .app-header {
    min-height: 70px;
    padding: 8px 0;
  }
  .focus-mode .live {
    margin-top: 12px;
  }
  .focus-mode .transcript {
    height: calc(100dvh - 365px);
    min-height: 180px;
  }
  .details-hint {
    display: none;
  }
  .record-technical summary {
    line-height: 1.6;
    padding: 12px 0;
  }
  .live footer>span {
    font-size: 11px;
  }
  .recording-banner {
    flex-wrap: wrap;
  }
}
.recovery-back {
  display: block;
  width: 100%;
  margin-top: 12px;
  color: var(--accent-ink);
  border-color: transparent;
  background: transparent;
}
.login .recovery-message {
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--soft);
  color: var(--ink);
}
.login .error {
  color: var(--danger-ink);
}
.recovery-panel input[readonly] {
  background: #f4f2ed;
}
.recovery-panel h2 {
  scroll-margin-top: 24px;
}
.trash-confirm {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #e6c7b2;
  border-radius: 10px;
  background: var(--soft);
}
.trash-confirm button+button {
  margin-left: 8px;
}
.playback {
  width: 100%;
}
.segment-time {
  font-variant-numeric: tabular-nums;
}
.record .playback audio {
  width: 100%;
  margin: 14px 0;
}
.playback-segments {
  position: relative;
  max-height: 55dvh;
  overflow: auto;
  margin-top: 16px;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.playback-segment {
  display: block;
  width: 100%;
  text-align: left;
  padding: 20px;
  margin: 0 0 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  font-weight: 400;
  white-space: normal;
}
.playback-segment.is-current {
  background: var(--soft);
  border-color: var(--accent);
  box-shadow: inset 3px 0 var(--accent);
}
.segment-time {
  display: block;
  color: var(--accent-ink);
  font-weight: 650;
  margin-bottom: 14px;
}
.segment-original {
  display: block;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 14px;
}
.segment-translation {
  display: block;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.playback-segment[aria-disabled=true] {
  cursor: default;
}
@media(max-width:600px) {
  .playback-segment {
    padding: 16px;
  }
  .segment-translation {
    font-size: 20px;
  }
}

.recovery-panel .recovery-field-error {color:var(--danger-ink);font-size:14px;line-height:1.6;font-weight:400;overflow-wrap:anywhere;}
.recovery-panel .recovery-help {color:var(--muted);font-size:14px;line-height:1.6;font-weight:400;}
.recovery-panel input[aria-invalid=true] {border-color:var(--danger-ink);}
.recovery-panel .recovery-visibility {min-height:44px;font-size:14px;margin-bottom:12px;color:var(--accent-ink);}
.recovery-panel button[aria-disabled=true] {cursor:default;}
.recovery-panel form[aria-busy=true] button[aria-disabled=true] {cursor:wait;}

/* Optional review density uses the existing surfaces and reading preference. */
.reference-reader .segment-original,.reference-reader .segment-translation {max-width:72ch;}
.reference-reader.is-compact .playback-segment {padding:12px 16px;margin-bottom:8px;}
.reference-reader.is-compact .segment-original,.reference-reader.is-compact .segment-translation {line-height:1.5;margin-block:8px;}
.reference-reader.is-compact .reading-part+.reading-part {margin-top:.3em;}
.reference-reader .reading-parts mark {background:var(--soft);color:var(--accent-ink);box-shadow:inset 0 -2px var(--accent-ink);border-radius:2px;}
.segment-folded-translation {grid-column:1/-1;}
.segment-folded-translation summary,.segment-mark {color:var(--accent-ink);font-size:13px;min-height:44px;}
.reference-reader button.speaker-label {width:fit-content;min-height:44px;cursor:pointer;}
.reference-reader .segment-mark {grid-column:1/-1;justify-self:start;background:transparent;border-color:transparent;}
.reader-preferences-content input[type=checkbox] {width:auto!important;min-height:20px;}
.study-marker-dialog label {display:grid;gap:6px;margin:14px 0;}
.study-marker-dialog input,.study-marker-dialog select {width:100%;font-size:16px;min-height:44px;}
/* Workspace revision: one primary action per surface. */
main {
  max-width: 1200px;
  padding-inline: max(24px,env(safe-area-inset-left));
  padding-bottom: 40px;
}
.app-header {
  min-height: 96px;
}
.brand-mark {
  border-radius: 14px;
  transform: none;
}
.app-header nav {
  border: 1px solid var(--line);
  background: #f0ede7;
  padding: 5px;
}
.app-header nav button {
  min-width: 132px;
}
.intro {
  margin: 44px 0 28px;
}
.intro h1 {
  font-size: clamp(28px,3.3vw,42px);
  letter-spacing: -.045em;
}
.service-details {
  margin: 0 0 14px;
}
.service-label {
  color: var(--muted);
}
.service-summary {
  font-weight: 600;
}
.controls {
  padding: 20px 24px;
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 4px 20px #34261a03;
}
.controls label {
  max-width: 290px;
}
.controls .primary {
  margin-left: auto;
  min-height: 52px;
}
.live {
  border-radius: 22px;
  box-shadow: 0 12px 40px #352a1805;
}
.live-head {
  padding: 24px 28px 18px;
}
.time {
  font-size: 30px;
  letter-spacing: -.04em;
}
.metrics {
  padding-inline: 28px;
}
.transcript {
  height: clamp(320px,45dvh,620px);
  padding: 28px 36px;
}
.transcript article {
  max-width: 780px;
  margin: 0 auto 28px;
  padding-bottom: 28px;
}
.live footer {
  padding: 20px 28px;
}
.live footer .danger {
  background: #fff7f4;
}
.empty {
  padding: 32px 16px;
}
.empty h2 {
  font-size: 24px;
}
.library-empty {
  padding: 64px 24px;
  text-align: center;
  border: 1px dashed #d7cfc3;
  border-radius: 22px;
  background: #fffaf6;
}
.library-empty p {
  color: var(--muted);
}
.empty-symbol {
  font-size: 42px;
  color: var(--accent-ink);
}
.records {
  max-width: 960px;
  margin: auto;
}
.records .section-heading {
  margin: 28px 0 20px;
}
.library-card {
  padding: 24px 28px;
  box-shadow: 0 4px 18px #30241603;
  border-radius: 18px;
}
.library-card>div:first-child {
  position: relative;
  padding-left: 64px;
}
.record-symbol {
  position: absolute;
  left: 0;
  top: 0;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  background: var(--soft);
  border-radius: 14px;
  color: var(--accent-ink);
  font-size: 28px;
}
.library-card strong {
  display: block;
  font-size: 18px!important;
  font-weight: 650;
}
.record-date {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 5px;
}
.library-card>div:first-child>p {
  line-height: 1.8;
  max-width: 690px;
  margin-top: 12px;
}
.library-card>div+div {
  padding-left: 64px;
}
.record-open {
  color: var(--accent-ink);
  background: var(--soft);
  border-color: #efcfb9;
  min-height: 48px;
  padding: 12px 22px;
}
.record-technical {
  border-top: 0;
  margin: 0;
  padding: 0;
}
.record-technical summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.record-exports {
  display: flex;
  gap: 20px;
}
.library-management {
  max-width: 960px;
  margin: 32px auto 0;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.library-management>summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 56px;
  gap: 16px;
  color: var(--muted);
  cursor: pointer;
}
.library-management>summary:after {
  content: '＋';
  font-size: 22px;
}
.library-management[open]>summary:after {
  content: '−';
}
.library-management summary small {
  font-size: 12px;
  margin-left: auto;
}
.library-management .result-detail {
  border-radius: 16px;
}
.reader-page {
  max-width: 960px;
  margin: 24px auto 0;
}
.reader-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  margin-bottom: 28px;
}
.reader-heading>button {
  border: 0;
  background: transparent;
  color: var(--accent-ink);
  padding-left: 0;
  flex-basis: 100%;
  text-align: left;
}
.reader-heading h1 {
  font-size: 30px;
  letter-spacing: -.03em;
  margin: 0;
}
.reader-heading p:last-child {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 0;
}
.reader-heading>.reader-download {
  margin-left: auto;
  max-width: 100%;
  font-size: 13px;
}
.reader-download summary {
  min-height: 44px;
  line-height: 44px;
  cursor: pointer;
}
.reader-download>a {
  display: block;
  padding: 12px;
}
.reader-download .quality-details {
  max-width: 480px;
}
.reader-page .playback {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface);
  overflow: clip;
  box-shadow: 0 10px 35px #352a1805;
}
.playback audio {
  width: 100%;
  height: 48px;
  margin-top: 16px;
  display: block;
}
.playback-segments {
  height: clamp(300px,49dvh,660px);
  max-height: none;
  padding: 24px 28px;
  margin: 0;
  scroll-padding: 20px;
}
.playback-segment {
  border-radius: 14px;
  border-color: transparent;
  border-bottom-color: var(--line);
  padding: 24px;
  margin-bottom: 12px;
}
.playback-segment:hover:not(:disabled) {
  background: #fffaf6;
}
.playback-segment.is-current,.playback-segment.is-current:hover {
  background: var(--soft);
  border-color: #efc3a5;
  box-shadow: inset 3px 0 var(--accent);
}
.segment-time {
  font-size: 12px;
  letter-spacing: .03em;
}
.segment-original,.segment-translation {
  overflow-wrap: anywhere;
}
.segment-original {
  line-height: 1.8;
}
.segment-translation {
  line-height: 1.85;
}
.login {
  border-radius: 22px;
  box-shadow: 0 16px 50px #3f291008;
  padding: 36px;
}
.login input {
  min-height: 52px;
}
.login .primary {
  min-height: 52px;
}
.footnote {
  margin-top: 32px;
}
@media(max-width:900px) {
  .intro {
    margin-top: 28px;
  }
  .app-header {
    min-height: 88px;
  }
  .app-header nav button {
    min-width: 105px;
  }
  .live-head {
    flex-wrap: wrap;
  }
  .reading-tools {
    margin-left: auto;
  }
  .reader-page {
    margin-top: 16px;
  }
  .reader-heading {
    gap: 16px;
  }
  .playback-segments {
    padding: 18px;
    height: 48dvh;
  }
  .transcript {
    padding: 24px;
    height: 42dvh;
  }
  .controls label {
    max-width: none;
  }
  .library-card {
    padding: 22px;
  }
  .reader-heading h1 {
    font-size: 27px;
  }
}
@media(max-width:540px) {
  main {
    padding-inline: max(16px,env(safe-area-inset-left));
  }
  .app-header {
    padding: 18px 0;
    gap: 18px;
  }
  .app-header nav {
    width: 100%;
    margin: 0;
  }
  .app-header nav button {
    flex: 1;
  }
  .intro {
    margin: 28px 0 22px;
  }
  .controls {
    padding: 16px;
  }
  .controls label {
    flex: 1;
    min-width: 0;
  }
  .controls .primary {
    width: 100%;
    margin: 4px 0 0;
  }
  .live-head {
    padding: 20px;
  }
  .metrics {
    padding-inline: 20px;
  }
  .live footer {
    padding: 16px;
  }
  .transcript {
    padding: 20px;
  }
  .library-card {
    padding: 18px;
  }
  .library-card>div:first-child {
    padding-left: 0;
  }
  .record-symbol {
    display: none;
  }
  .library-card>div+div {
    padding-left: 0;
  }
  .record-open {
    width: 100%;
  }
  .library-management summary small {
    display: none;
  }
  .reader-heading h1 {
    font-size: 25px;
  }
  .reader-heading>.reader-download {
    margin-left: 0;
  }
  .reader-heading>div {
    flex-basis: 100%;
  }
  .reader-page .playback {
    border-radius: 18px;
  }
  .playback-segments {
    padding: 10px;
    height: 46dvh;
  }
  .playback-segment {
    padding: 18px 14px;
  }
  .time {
    font-size: 26px;
  }
  .login {
    padding: 26px;
  }
  .reader-download[open] {
    width: 100%;
  }
}
.reader-heading {
  gap: 12px;
  margin-bottom: 20px;
}
.reader-heading>button {
  padding-block: 6px;
}
.reader-heading .eyebrow {
  margin-bottom: 8px;
}
.reader-page {
  margin-top: 12px;
}
.playback-segments {
  height: clamp(280px,50dvh,660px);
}
.recording-ready {
  display: grid;
  justify-items: center;
  padding: 20px;
  margin: 16px 0;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
}
.recording-ready h2 {
  margin: 0 0 8px;
}
.recording-ready p {
  max-width: 36em;
  margin: 0 0 12px;
}
.recording-ready small {
  color: #625c54;
  line-height: 1.6;
}
/* Transcript-first reading with a persistent bottom transport. */
main:has(.reference-reader) {
  max-width: 1440px;
  padding-bottom: calc(180px + env(safe-area-inset-bottom));
}
main:has(.reference-reader) .app-header {
  min-height: 74px;
}
main:has(.reference-reader) .brand div>span,main:has(.reference-reader) .footnote {
  display: none;
}
.reader-page:has(.reference-reader) {
  max-width: 1280px;
}
.reader-heading:has(+.reference-reader) {
  margin: 8px 0 18px;
  gap: 8px;
}
.reader-heading:has(+.reference-reader) h1 {
  font-size: 28px;
}
.reader-heading:has(+.reference-reader) .eyebrow {
  display: none;
}
.reader-heading:has(+.reference-reader)>button {
  min-height: 44px;
}
.reader-page .reference-reader {
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  border-radius: 0;
}
.reference-reader>audio {
  display: none;
}
.reader-tools {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 12px 0 20px;
}
.reader-tools label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}
.reader-tools input {
  width: 100px;
  min-height: 44px;
  padding: 0;
  accent-color: var(--accent-ink);
}
.reader-tools button {
  background: white;
  font-size: 12px;
}
.reader-count {
  font-size: 13px;
  color: var(--muted);
}
.reference-reader .playback-segments {
  height: calc(100dvh - 405px - env(safe-area-inset-bottom));
  min-height: 200px;
  padding: 4px 6px 24px 0;
  scroll-padding-bottom: 24px;
}
.reference-reader .playback-segment {
  background: var(--surface);
  border: 1px solid #eee9e2;
  border-radius: 16px;
  margin: 0 0 16px;
  padding: 22px 26px;
  box-shadow: 0 2px 8px #34261a02;
}
.reference-reader .playback-segment.is-current {
  background: #fff9f3;
  border-color: #edba96;
  box-shadow: inset 4px 0 var(--accent);
}
.reference-reader .segment-original {
  color: var(--ink);
  line-height: 1.85;
  margin-bottom: 0;
}
.reference-reader .segment-translation {
  line-height: 1.85;
}
.segment-divider {
  display: block;
  border-top: 1px solid var(--line);
  margin: 16px 0;
}
.reference-reader .segment-time {
  margin-bottom: 12px;
}
.reference-reader .language-label {
  display: inline-block;
  margin-right: 10px;
  background: #f4f1ec;
  padding: 3px 7px;
  border-radius: 5px;
  font-size: 10px;
}
.bottom-player {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--surface);
  border-top: 1px solid var(--line);
  padding: 10px max(24px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom));
  z-index: 20;
  box-shadow: 0 -5px 24px #2b221008;
}
.player-progress {
  max-width: 1000px;
  margin: 0 auto 6px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.player-progress input {
  flex: 1;
  min-width: 0;
  padding: 0;
  min-height: 44px;
  accent-color: var(--accent-ink);
  border: 0;
}
.player-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  max-width: 1000px;
  margin: auto;
  align-items: center;
  justify-items: center;
  gap: 16px;
}
.speed-control {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.speed-control select {
  width: 78px;
  padding: 8px;
  min-height: 44px;
}
.skip-audio {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 0;
  background: transparent;
  min-width: 80px;
  padding: 4px 12px;
  gap: 2px;
}
.skip-audio>span {
  font-size: 29px;
  line-height: 30px;
}
.skip-audio small {
  font-size: 11px;
  color: var(--muted);
  font-weight: 400;
}
.main-play {
  border: 0;
  border-radius: 50%;
  width: 58px;
  height: 58px;
  background: var(--accent);
  font-size: 25px;
  color: #29180d;
  padding: 0;
}
.main-play:hover:not(:disabled) {
  background: #ff8b4e;
}
.player-state {
  font-size: 12px;
  color: var(--muted);
}
.playback-error {
  padding: 12px;
  background: var(--danger-bg);
  color: var(--danger-ink);
  border-radius: 10px;
}
@media(max-width:600px) {
  .reader-heading:has(+.reference-reader) h1 {
    font-size: 23px;
  }
  .reader-tools {
    gap: 10px;
    flex-wrap: wrap;
  }
  .reader-count {
    flex-basis: 100%;
  }
  .reader-tools label {
    margin-left: 0;
    margin-right: auto;
  }
  .reference-reader .playback-segments {
    height: calc(100dvh - 480px);
    min-height: 200px;
  }
  .reference-reader .playback-segment {
    padding: 18px;
  }
  .bottom-player {
    padding-inline: 16px;
  }
  .player-actions {
    gap: 6px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .player-state {
    display: none;
  }
  .speed-control {
    flex-direction: column;
    gap: 0;
  }
  .speed-control>span {
    display: none;
  }
  .skip-audio {
    min-width: 60px;
    padding: 4px;
  }
  .main-play {
    width: 54px;
    height: 54px;
  }
  .reference-reader .segment-original,.reference-reader .segment-translation {
    line-height: 1.75;
  }
}
.reference-reader .playback-segments {
  height: calc(100dvh - 455px - env(safe-area-inset-bottom));
}
@media(max-width:600px) {
  .reference-reader .playback-segments {
    height: calc(100dvh - 535px - env(safe-area-inset-bottom));
  }
}
@media(max-width:600px) {
  .reference-reader .playback-segments {
    height: calc(100dvh - 605px - env(safe-area-inset-bottom));
    padding-bottom: 32px;
  }
}
/* Compact reading: allocate remaining viewport to transcript, not fixed offsets. */
main:has(.reference-reader) {
  height: 100dvh;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  overflow: hidden;
}
main:has(.reference-reader)>.app-header {
  min-height: 60px;
  flex-shrink: 0;
  padding-block: 6px;
}
main:has(.reference-reader)>div:not([hidden]) {
  min-height: 0;
}
main:has(.reference-reader)>div:has(.reader-page) {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.reader-page:has(.reference-reader) {
  width: 100%;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.reader-heading:has(+.reference-reader) {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  margin: 8px 0;
}
.reader-heading:has(+.reference-reader)>button {
  padding: 6px 0;
  flex-basis: auto;
}
.reader-heading:has(+.reference-reader) h1 {
  font-size: 22px;
}
.reader-heading:has(+.reference-reader) p:last-child {
  margin: 4px 0 0;
  font-size: 12px;
}
.reader-heading:has(+.reference-reader)>.reader-download {
  margin: 0;
}
.reader-page .reference-reader {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}
.reader-tools {
  padding: 4px 0 8px;
  gap: 14px;
  flex-shrink: 0;
}
.reader-tools button {
  min-height: 44px;
}
.reference-reader .playback-segments {
  flex: 1;
  min-height: 0;
  height: auto;
  padding: 2px 4px 12px 0;
  overflow: auto;
}
.reference-reader .playback-segment {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  column-gap: 8px;
  row-gap: 2px;
  padding: 12px 16px;
  margin-bottom: 8px;
  border-radius: 12px;
}
.reference-reader .segment-time {
  grid-column: 1/-1;
  margin: 0 0 4px;
  font-size: 11px;
}
.reference-reader .language-label {
  align-self: start;
  font-size: 10px;
  padding: 2px 3px;
  margin: 4px 0 0;
  text-align: center;
}
.reference-reader .segment-original,.reference-reader .segment-translation {
  line-height: 1.55;
  margin: 0;
}
.reference-reader .segment-divider {
  grid-column: 1/-1;
  margin: 6px 0;
}
.reference-reader .bottom-player {
  position: static;
  flex-shrink: 0;
  box-shadow: none;
  padding: 6px 8px max(8px,env(safe-area-inset-bottom));
  background: #f8f7f4;
}
.player-progress {
  margin-bottom: 0;
}
.player-actions {
  gap: 10px;
}
.main-play {
  height: 48px;
  width: 48px;
  font-size: 22px;
}
.skip-audio>span {
  font-size: 24px;
  line-height: 24px;
}
@media(max-width:600px) {
  main:has(.reference-reader) {
    padding-inline: 12px;
  }
  main:has(.reference-reader) .app-header {
    gap: 6px;
    min-height: 56px;
    flex-wrap: nowrap;
  }
  main:has(.reference-reader) .brand {
    font-size: 17px;
    gap: 6px;
  }
  main:has(.reference-reader) .brand-mark {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }
  main:has(.reference-reader) .app-header nav {
    width: auto;
    margin-left: auto;
  }
  main:has(.reference-reader) .app-header nav button {
    min-width: 72px;
    padding: 8px;
    font-size: 12px;
  }
  .reader-heading:has(+.reference-reader) {
    grid-template-columns: 1fr auto;
    gap: 4px 10px;
    margin: 4px 0;
  }
  .reader-heading:has(+.reference-reader)>button {
    grid-column: 1;
    min-height: 44px;
  }
  .reader-heading:has(+.reference-reader)>div {
    grid-row: 2;
    grid-column: 1/-1;
  }
  .reader-heading:has(+.reference-reader)>.reader-download {
    grid-column: 2;
    grid-row: 1;
  }
  .reader-heading:has(+.reference-reader) h1 {
    font-size: 20px;
  }
  .reader-tools {
    gap: 8px;
    flex-wrap: nowrap;
  }
  .reader-count {
    flex-basis: auto;
    font-size: 11px;
  }
  .reader-tools label {
    margin-left: auto;
    margin-right: 0;
    gap: 4px;
    font-size: 11px;
  }
  .reader-tools input {
    width: 64px;
  }
  .reader-tools button {
    padding: 6px 8px;
    font-size: 11px;
  }
  .reference-reader .playback-segment {
    padding: 10px 12px;
    column-gap: 6px;
    grid-template-columns: 28px minmax(0,1fr);
  }
  .reference-reader .playback-segments {
    height: auto;
    min-height: 0;
    padding-bottom: 12px;
  }
}

/* A short viewport may scroll the page; never clip the reading controls. */
main:has(.reference-reader) { min-height:520px; overflow:visible; }
main:has(.reference-reader)>div:has(.reader-page) { min-height:0; flex-shrink:1; }
.reader-heading:has(+.reference-reader) { position:relative;grid-template-columns:auto minmax(0,1fr) auto; }
.reader-heading:has(+.reference-reader) h1 { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%; }
.reader-heading:has(+.reference-reader)>button { white-space:nowrap; }
.reader-download {position:relative;}
.reader-download-content { position:absolute;right:0;top:100%;z-index:40;width:var(--disclosure-width,min(440px,calc(100vw - 40px)));max-height:min(60dvh,var(--disclosure-space,60dvh));overflow:auto;overscroll-behavior:contain;background:white;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 12px 32px #25231f22; }
.reader-download-content>a{display:flex;align-items:center;min-height:44px;margin:8px 0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere;}
.reader-download-content>p:not(.full-recording-title){font-size:13px;color:var(--muted);line-height:1.6;}
.full-recording-title { font-weight:600;overflow-wrap:anywhere; }
.reference-reader .playback-segments { min-height:160px;max-height:none; }
.reference-reader .summary-panel { min-height:160px; }
.reader-tools { flex-wrap:wrap; }
.reader-tools .skip-player { font-size:12px; }
@media(max-width:600px){
 .reader-heading:has(+.reference-reader) { grid-template-columns:minmax(0,1fr) auto; }
 .reader-heading:has(+.reference-reader) h1 { -webkit-line-clamp:1; }
 .reader-tools .reader-count { display:none; }
 .reader-tools label { margin-left:0; }
 .reader-tools .skip-player { margin-left:auto; }
 .reader-heading:has(+.reference-reader)>div { column-gap:8px; }
}

.reader-preferences {position:relative;margin-left:auto;font-size:14px;}
.reader-preferences>summary {display:flex;align-items:center;min-height:44px;padding:6px 8px;cursor:pointer;color:var(--accent-ink);}
.reader-preferences-content {position:absolute;right:0;top:100%;z-index:40;width:var(--disclosure-width,300px);max-height:var(--disclosure-space,50dvh);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 12px 32px #25231f22;}
.reader-tools .reader-preferences-content label {display:flex;flex-wrap:wrap;gap:8px;font-size:14px;margin:0;}
.reader-tools .reader-preferences-content input {width:100%;min-width:0;}
.reader-preferences-content .speaker-editor {padding:12px 0 0;margin:12px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;}
.transcript-search {flex-shrink:0;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:8px;font-size:14px;}
.transcript-search>div {display:flex;gap:6px;align-items:center;margin-top:6px;}
.transcript-search input {flex:1;width:100%;min-width:0;font-size:16px;}
.transcript-search button {flex-shrink:0;min-width:44px;min-height:44px;padding:8px;}
.transcript-search p {margin:6px 0 0;font-size:13px;color:var(--muted);}
.reference-reader .playback-segment.is-search-match {outline:2px solid var(--accent-ink);outline-offset:-2px;}
@media(max-width:600px){.reader-preferences {margin-left:0;font-size:13px;}.reader-preferences-content {left:0;right:auto;width:min(360px,calc(100vw - 40px));}.reader-tools {gap:4px;}.reader-tools button {font-size:12px;}.transcript-search>div {flex-wrap:wrap;}.transcript-search input {flex-basis:100%;}}

/* The transport is already visible on phones; retain its shortcut for keyboard users. */
@media(max-width:600px){
 .reader-tools {padding-block:0 4px;}
 .reader-tools .skip-player:not(:focus-visible) {position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
 .reader-tools .skip-player:focus-visible {position:fixed;right:16px;top:64px;z-index:50;margin:0;}
 .reader-views {padding-block:2px;gap:6px;}
 .reader-views button {padding-inline:12px;}
 .reference-reader.is-compact .playback-segment {padding:8px 12px;}
}
/* Live recording shares the compact, transcript-first workspace. */
main.live-workspace {
  height: 100dvh;
  min-height: 640px;
  display: flex;
  flex-direction: column;
  padding-bottom: 12px;
  max-width: 1440px;
}
.live-workspace .app-header {
  min-height: 60px;
  padding-block: 6px;
  flex-shrink: 0;
}
.live-workspace .intro {
  margin: 12px 0 8px;
  flex-shrink: 0;
}
.live-workspace .intro .eyebrow,.live-workspace .intro>p:last-child,.live-workspace>.footnote {
  display: none;
}
.live-workspace .intro h1 {
  font-size: 24px;
  margin: 0;
}
.live-workspace .live-page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.live-workspace .service-details {
  margin: 0;
  font-size: 11px;
  flex-shrink: 0;
}
.live-workspace .service-details summary {
  min-height: 32px;
  line-height: 32px;
}
.live-workspace .controls {
  padding: 10px 16px;
  gap: 12px;
  margin-bottom: 10px;
  flex-shrink: 0;
}
.live-workspace .controls label {
  gap: 4px;
}
.live-workspace .controls .primary {
  min-height: 46px;
}
.live-workspace .live {
  flex: 1;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  background: transparent;
  border: 0;
  overflow: hidden;
  border-radius: 0;
}
.live-workspace .live-head {
  padding: 10px 8px;
  flex-shrink: 0;
}
.live-workspace .time {
  font-size: 25px;
}
.live-workspace .metrics {
  padding: 0 8px 8px;
  gap: 8px 16px;
}
.live-workspace .meter {
  margin: 0 8px;
  flex-shrink: 0;
}
.live-workspace .transcript {
  flex: 1;
  height: auto!important;
  min-height: 0!important;
  padding: 10px 4px 12px 0;
}
.live-workspace .transcript article {
  max-width: none;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 16px;
  margin: 0 0 8px;
}
.live-workspace .transcript article>small {
  display: block;
  font-size: 11px;
  color: var(--accent-ink);
  margin-bottom: 5px;
}
.live-workspace .transcript .original,.live-workspace .transcript .translation {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  gap: 8px;
  line-height: 1.55;
  color: var(--ink);
  margin: 0;
  overflow-wrap: anywhere;
}
.live-workspace .transcript .translation {
  border-top: 1px solid var(--line);
  padding-top: 7px;
  margin-top: 7px;
}
.live-workspace .transcript .language-label {
  align-self: start;
  font-size: 10px;
  padding: 2px 3px;
  margin: 4px 0 0;
  background: #f4f1ec;
  border-radius: 5px;
  text-align: center;
}
.live-workspace .live footer {
  position: static;
  flex-shrink: 0;
  padding: 10px 8px max(8px,env(safe-area-inset-bottom));
  background: #f8f7f4;
  box-shadow: none;
}
.live-workspace .follow {
  bottom: 80px;
}
.live-workspace .reading-tools {
  gap: 12px;
}
.live-workspace.focus-mode .live {
  margin: 0;
}
.live-workspace .empty {
  padding: 16px;
}
.live-workspace .warning {
  padding: 8px 16px;
  flex-shrink: 0;
}
@media(max-width:600px) {
  main.live-workspace {
    padding-inline: 12px;
    min-height: 710px;
  }
  .live-workspace .app-header {
    flex-wrap: nowrap;
    gap: 6px;
  }
  .live-workspace .brand {
    font-size: 17px;
    gap: 6px;
  }
  .live-workspace .brand-mark {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }
  .live-workspace .brand div>span {
    display: none;
  }
  .live-workspace .app-header nav {
    width: auto;
    margin-left: auto;
  }
  .live-workspace .app-header nav button {
    min-width: 72px;
    padding: 8px;
    font-size: 12px;
  }
  .live-workspace .intro h1 {
    font-size: 21px;
  }
  .live-workspace .controls {
    padding: 10px;
    gap: 8px;
  }
  .live-workspace .controls .primary {
    margin-top: 0;
  }
  .live-workspace .live-head {
    padding: 8px 4px;
    gap: 6px;
  }
  .live-workspace .reading-tools {
    gap: 8px;
  }
  .live-workspace .transcript article {
    padding: 10px 12px;
  }
  .live-workspace .metrics {
    font-size: 10px;
  }
  .live-workspace .live footer>span {
    display: none;
  }
  .live-workspace .live footer>div {
    width: 100%;
  }
  .live-workspace .live footer button {
    flex: 1;
  }
  .live-workspace .font-control input {
    width: 90px;
  }
  .live-workspace.focus-mode {
    min-height: 520px;
  }
}

.live-workspace .controls[hidden] {display:none;}
.active-settings {margin:4px 8px 8px;color:var(--muted);font-size:12px;flex-shrink:0;}
.focus-mode .active-settings {display:none;}
.live-workspace .time::after {content:' 会话';font:11px Inter,-apple-system,sans-serif;color:var(--muted);}

.course-terms{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--border,#d8d8d8);border-radius:12px}
.course-terms label{display:flex;flex-direction:column;gap:.5rem;margin:.8rem 0}
.course-terms textarea{box-sizing:border-box;width:100%;max-width:100%;font:inherit;padding:.7rem;border:1px solid var(--border,#d8d8d8);border-radius:8px;background:var(--surface,var(--surface));color:inherit;resize:vertical}
.course-terms small{display:block;line-height:1.5}
/* Library hierarchy: learning tasks first, storage operations inside management. */
.library-workspace {max-width:1200px;padding-bottom:32px;}
.library-workspace .app-header {min-height:72px;}
.library-workspace .records,.library-workspace .library-management {max-width:none;}
.library-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 16px;}
.library-heading h1 {font-size:30px;margin:0;letter-spacing:-.03em;}
.library-heading p:last-child {font-size:15px;color:var(--muted);margin:8px 0 0;}
.library-heading .eyebrow {margin-bottom:8px;}
.library-heading .primary {flex-shrink:0;}
.library-overview {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;}
.library-overview>div,.library-overview>button {display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:left;min-width:0;}
.library-overview strong {font-size:20px;font-variant-numeric:tabular-nums;}
.library-overview span {font-size:14px;line-height:1.6;color:var(--muted);font-weight:400;}
.library-overview button[aria-pressed=true] {border-color:var(--accent-ink);background:var(--soft);}
.library-course-browser {margin:0 0 8px;}
.library-course-browser>summary {padding:12px 0;min-height:44px;color:var(--accent-ink);font-size:14px;}
.library-course-browser nav {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:12px 0;background:transparent;}
.library-course-browser nav button {min-width:0;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:left;background:var(--surface);overflow-wrap:anywhere;}
.library-course-browser nav button[aria-pressed=true] {background:var(--soft);border-color:var(--accent-ink);box-shadow:none;}
.library-course-browser nav strong {display:block;font-size:14px;line-height:1.6;}
.library-course-browser nav span {display:block;font-size:13px;color:var(--muted);margin-top:6px;}
.library-workspace .library-toolbar {display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(150px,1fr);align-items:end;gap:12px;margin:12px 0;}
.library-workspace .library-toolbar label {min-width:0;font-size:14px;}
.library-workspace .library-toolbar input,.library-workspace .library-toolbar select {width:100%;min-width:0;font-size:16px;}
.library-results-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 8px;}
.library-results-heading h2 {font-size:18px;margin:0;}
.library-results-heading>div {display:flex;gap:8px;flex-wrap:wrap;}
.library-state {font-size:14px;color:var(--muted);padding:14px 16px;background:var(--surface);border-left:3px solid var(--accent-ink);border-radius:8px;}
.library-workspace .library-card {display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:8px 20px;padding:16px 20px;margin:12px 0;border-radius:var(--radius-card);background:var(--surface);box-shadow:none;}
.library-workspace .library-card>div:first-child {display:flex;flex-direction:column;min-width:0;padding-left:0;}
.library-workspace .record-symbol {display:none;}
.library-workspace .library-card strong {font-size:18px!important;line-height:1.55;overflow-wrap:anywhere;}
.library-workspace .library-course-label {order:-1;margin:0 0 4px;padding:3px 8px;font-size:13px;}
.library-workspace .record-date {font-size:13px;margin-top:6px;}
.library-workspace .library-card-meta {font-size:14px;line-height:1.6;margin:6px 0;color:var(--muted);}
.library-card-status {display:flex;gap:8px 16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:8px;}
.library-card-status .has-review {color:var(--accent-ink);font-weight:600;}
.library-workspace .library-card>div+div {display:flex;flex-wrap:wrap;align-content:center;gap:8px;min-width:0;padding:0;}
.library-workspace .record-open {min-height:48px;width:100%;padding:12px 14px;background:var(--soft);color:var(--accent-ink);}
.library-workspace .record-technical {width:100%;min-width:0;font-size:13px;}
.library-workspace .record-technical summary {min-height:44px;line-height:1.6;padding:10px 0;display:flex;align-items:center;flex-wrap:wrap;gap:4px;}
.library-workspace .record-technical .details-hint {font-size:12px;}
.library-workspace .library-card:has(.record-technical[open]) {grid-template-columns:minmax(0,1fr) auto;}
.library-workspace .library-card:has(.record-technical[open]) .record-open {width:auto;}
.library-workspace .record-attention {font-size:14px;line-height:1.7;margin:10px 0 0;}
.library-workspace .library-management {margin-top:32px;padding-top:20px;border-top:1px solid var(--line);}
.library-workspace .library-management>summary {min-height:44px;}
.library-pagination {display:flex;justify-content:center;align-items:center;gap:16px;margin:24px 0;color:var(--muted);font-size:14px;}
.library-empty--filtered {padding:32px 20px;margin:16px 0;text-align:center;}
.library-empty--filtered h3 {font-size:18px;}
@media(max-width:700px){
 .library-heading {align-items:flex-start;flex-wrap:wrap;margin:16px 0 12px;gap:12px;}
 .library-heading h1 {font-size:26px;}
 .library-heading .primary {min-width:0;}
 .library-overview {gap:8px;}
 .library-overview>div,.library-overview>button {padding:12px;}
 .library-overview strong {font-size:18px;}
 .library-overview span {font-size:13px;}
 .library-workspace .library-toolbar {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .library-toolbar>.library-search {grid-column:1/-1;}
 .library-workspace .library-card {grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:8px 12px;}
 .library-workspace .library-card>div+div {display:block;}
 .library-workspace .record-open {width:100%;}
 .library-results-heading {align-items:flex-start;flex-wrap:wrap;}
 .library-pagination {flex-wrap:wrap;}
}
@media(max-width:360px){.library-overview {grid-template-columns:1fr;}.library-overview>div,.library-overview>button {flex-direction:row;align-items:center;gap:12px;}.library-overview strong {min-width:32px;}.library-course-browser nav {grid-template-columns:minmax(0,1fr);}}

.library-workspace .library-toolbar label {margin:0;max-width:none;display:flex;flex-direction:column;gap:8px;}
@media(min-width:701px) and (max-width:1000px){.library-workspace .library-toolbar {grid-template-columns:repeat(2,minmax(0,1fr));}.library-toolbar>.library-search {grid-column:1/-1;}}
/* Keep the title and playback action in place when storage details expand. */
.library-workspace .library-card>div.record-actions {display:contents;}
.library-workspace .record-actions>.record-open {grid-column:2;grid-row:1;align-self:center;}
.library-workspace .record-actions>div {grid-column:2;}
.library-workspace .library-card:has(.record-technical[open]) {grid-template-columns:minmax(0,1fr) 200px;}
.library-workspace .record-technical {grid-column:1;margin:0;border-top:1px solid var(--line);}
.library-workspace .record-technical[open] {grid-column:1/-1;}
.library-workspace .record-technical>summary {padding:8px 0;gap:8px;font-size:14px;color:var(--muted);cursor:pointer;list-style:none;}
.library-workspace .record-technical>summary::-webkit-details-marker {display:none;}
.record-details-chevron {margin-left:auto;font-size:20px;transition:transform .15s;}
.record-technical[open]>summary .record-details-chevron {transform:rotate(180deg);}
.record-details-content {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:24px;padding-top:22px;font-size:14px;line-height:1.7;}
.library-workspace .record-details-content h3 {font-size:15px;margin:0 0 8px;}
.library-workspace .record-details-content p {font-size:14px;line-height:1.7;margin:8px 0;color:var(--muted);overflow-wrap:anywhere;}
.library-workspace .record-details-content .record-saved-label {color:var(--ink);font-weight:600;}
.library-workspace .record-details-content button,.library-workspace .record-details-content a {min-height:44px;}
.library-workspace .record-exports {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;}
.library-workspace .record-exports a {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;overflow-wrap:anywhere;}
.record-exports a span {font-size:14px;font-weight:600;}
.record-exports a small {font-size:12px;line-height:1.6;color:var(--muted);}
.record-exports a:hover {background:var(--soft);}
.record-diagnostics,.record-trash {grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;}
.library-workspace .record-diagnostics>summary {padding:0;min-height:44px;display:list-item;list-style-position:inside;font-size:14px;cursor:pointer;}
.record-diagnostics>a {display:inline-flex;align-items:center;}
.record-trash {display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,auto);gap:16px;align-items:start;}
.record-trash-actions {min-width:0;}
.library-workspace .record-trash .trash-confirm {max-width:440px;margin-top:12px;}
.library-workspace .record-trash .trash-confirm strong {font-size:14px!important;}
@media(max-width:700px){
 .library-workspace .library-card:has(.record-technical[open]) {grid-template-columns:minmax(0,1fr) auto;}
 .library-workspace .record-actions>.record-open {grid-column:1/-1;grid-row:auto;width:100%;}
 .library-workspace .record-actions>div {grid-column:1;}
 .record-details-content,.record-trash {grid-template-columns:minmax(0,1fr);gap:18px;}
 .library-workspace .record-exports {grid-template-columns:minmax(0,1fr);}
 .library-workspace .record-exports a {flex-direction:row;justify-content:space-between;align-items:center;gap:12px;}
 .record-exports a small {text-align:right;}
}
@media(prefers-reduced-motion:reduce){.record-details-chevron {transition:none;}}

/* The reversible removal action remains visible without opening saving details. */
.library-workspace .record-actions>.record-trash {grid-column:2;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px;}
.library-workspace .record-trash>div:first-child {display:none;}
.library-workspace .record-actions>.record-trash:has(.trash-confirm) {grid-column:1/-1;}
.library-workspace .record-trash h3 {display:none;}
.library-workspace .record-trash p {font-size:13px;color:var(--muted);margin:0;line-height:1.65;}
.library-workspace .record-trash-actions>button {min-height:44px;white-space:nowrap;}
.library-workspace .record-trash .trash-confirm p {margin:8px 0;overflow-wrap:anywhere;}
@media(max-width:700px){.library-workspace .library-card>div:first-child {grid-column:1/-1;}.library-workspace .record-actions>.record-trash:has(.trash-confirm) {align-items:stretch;}.record-trash-actions>button {float:none;}.library-course-browser {display:none;}}
.library-operation-message:empty {display:none;}
.library-operation-message {font-size:14px;color:var(--accent-ink);line-height:1.6;}

/* Management keeps each operation and its feedback together. */
.management-panel {min-width:0;}
.management-panel>header {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.management-panel>header h2 {margin:0;font-size:20px;}
.management-panel p {font-size:14px;line-height:1.7;overflow-wrap:anywhere;}
.management-panel button {min-height:44px;max-width:100%;margin:0;white-space:normal;}
.management-panel button[aria-disabled=true] {opacity:.5;cursor:wait;}
.management-count {margin-left:10px;color:var(--muted);font-size:14px;font-weight:400;}
.management-usage {margin:20px 0;font-size:14px;}
.management-usage>div {display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);}
.management-usage dt {color:var(--muted);}
.management-usage dd {margin:0;text-align:right;font-variant-numeric:tabular-nums;}
.management-panel .management-feedback {margin:12px 0;font-size:14px;line-height:1.7;overflow-wrap:anywhere;}
.management-feedback:empty,.management-feedback>p:empty {display:none;}
.management-panel .is-error {color:var(--danger-ink);background:var(--danger-bg);padding:12px;border-radius:8px;}
.management-note,.management-meta {color:var(--muted);}
.management-empty {padding:16px 0;color:var(--muted);}
.management-trash-list article {padding:20px 0;border-top:1px solid var(--line);min-width:0;}
.management-trash-list article:last-child {padding-bottom:0;}
.management-trash-list h3 {font-size:16px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 8px;}
.management-panel .management-meta {margin:8px 0 16px;font-size:13px;}
.management-actions {display:flex;flex-wrap:wrap;gap:8px;}
.management-panel .management-confirm {display:block;max-width:680px;margin:16px 0 0;padding:16px;background:var(--surface-paper);border:1px solid var(--line);border-radius:12px;}
.management-confirm>p:first-child {margin-top:0;}
.management-confirm label {display:block;margin:16px 0 8px;font-size:14px;}
.management-confirm input {width:100%;min-width:0;max-width:100%;font-size:16px;}
.management-confirm .management-actions {margin-top:16px;}
@media(max-width:700px){.management-panel {padding:20px 16px;}.management-panel>header {align-items:flex-start;}.management-panel>header h2 {flex-basis:100%;}.management-panel .management-confirm {padding:12px;}}
.library-search-main {display:grid;gap:6px;font-size:14px;}
.library-search-main input {width:100%;font-size:16px;}
.library-filters {margin:8px 0;}
.library-filters>summary {min-height:44px;padding:10px 0;color:var(--accent-ink);cursor:pointer;font-size:14px;}
.library-workspace .library-filters .library-toolbar {grid-template-columns:repeat(2,minmax(0,1fr));}
.library-heading__more {position:relative;}
.library-heading__more>summary {min-height:44px;padding:10px 12px;color:var(--accent-ink);cursor:pointer;}
.library-heading__more>div {position:absolute;right:0;top:100%;z-index:5;display:grid;gap:8px;min-width:160px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:0 4px 20px #30201515;}
.library-management [hidden] {display:none!important;}
.management-navigation {display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;}
.management-navigation button[aria-pressed=true] {background:var(--soft);border-color:var(--accent-ink);color:var(--accent-ink);}
.management-trash-list article:focus-visible {outline:2px solid var(--accent-ink);outline-offset:3px;}
@media(max-width:700px){.library-heading__actions {width:auto;flex-wrap:nowrap;}.library-heading__actions>.primary {flex:none;}.library-heading__more>summary {white-space:nowrap;}}
/* Account actions remain available in every signed-in workspace. */
.header-account {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 11px;
  color: var(--muted);
}
.header-account>span {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.header-account button {
  min-height: 44px;
  white-space: nowrap;
  padding: 9px 12px;
  background: transparent;
}
@media(max-width:900px) {
  .header-account>span {
    display: none;
  }
}
@media(max-width:600px) {
  .app-header {
    flex-wrap: wrap;
    gap: 8px;
    padding-block: 8px;
  }
  .app-header .brand div>span {
    display: none;
  }
  .app-header .brand {
    font-size: 18px;
    gap: 6px;
  }
  .app-header .brand-mark {
    width: 32px;
    height: 32px;
    font-size: 20px;
  }
  .app-header nav {
    width: auto;
    margin: 0;
    padding: 3px;
    gap: 0;
  }
  .app-header nav button {
    min-width: 0;
    padding: 10px 8px;
    font-size: 12px;
  }
  .header-account {
    margin-left: auto;
  }
  .header-account button {
    font-size: 12px;
    padding-inline: 8px;
  }
  .app-header nav .count {
    display: none;
  }
}

.account-dialog {width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);overflow:auto;overscroll-behavior:contain;}
.account-dialog::backdrop {background:#25231f66;}
.account-dialog>header {position:sticky;top:-20px;z-index:1;background:var(--surface);padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.account-dialog h2 {font-size:22px;margin:0;}
.account-dialog h3 {font-size:18px;line-height:1.5;margin:0 0 8px;scroll-margin-top:80px;}
.account-dialog section,.account-dialog form {border-top:1px solid var(--line);margin-top:18px;padding-top:16px;}
.account-dialog p,.account-dialog li {font-size:16px;line-height:1.7;overflow-wrap:anywhere;}
.account-dialog label {display:grid;gap:6px;margin:12px 0;}
.account-dialog textarea {font:inherit;min-height:120px;width:100%;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:10px;}
.account-allowance {display:flex;flex-wrap:wrap;gap:16px 40px;}
.account-allowance dd {margin:8px 0;font-size:24px;color:var(--accent-ink);}
.feedback-receipt {border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0;}
.feedback-receipt small {display:block;margin-top:6px;color:var(--muted);}
.feedback-receipt p {white-space:pre-wrap;}
@media(max-width:600px){.header-account .account-help{font-size:11px;padding-inline:6px}.account-dialog{padding:16px}.account-dialog textarea{font-size:16px}.header-account .account-identity{display:none}}

@media(max-width:600px){.account-dialog>header{top:-16px}}
.account-dialog__identity {overflow-wrap:anywhere;line-height:1.7;}
.account-dialog__identity strong {display:block;color:var(--ink);}
.recording-checklist {padding-left:1.5em;color:var(--muted);line-height:1.8;}

.account-dialog__nav {display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;}
.account-dialog__nav button {min-height:44px;padding:8px 10px;color:var(--accent-ink);font-size:14px;}
.account-dialog select {min-height:44px;font-size:16px;max-width:100%;}
.account-dialog__draft-meta {display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);}
.account-dialog__draft-meta small {font-size:14px;line-height:1.6;}
.account-dialog__draft-meta small:last-child {flex:none;font-variant-numeric:tabular-nums;}
.account-dialog__deletion-note {padding:12px;background:var(--soft);border-radius:8px;color:var(--accent-ink);}
.account-rules>summary {min-height:44px;padding-block:10px;line-height:1.7;color:var(--accent-ink);font-size:14px;cursor:pointer;}
.account-rules ul {padding-left:1.25em;margin:8px 0;}
.account-rules li+li {margin-top:8px;}
@media(max-width:400px){.account-dialog__nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.account-dialog__draft-meta {flex-wrap:wrap;gap:4px;}}
/* Product states must remain readable at all viewport sizes. */
.metrics span:last-child {
  display: inline!important;
}
.privacy-note {
  max-width: 960px;
  margin: 12px auto;
  font-size: 12px;
  color: var(--muted);
}
.privacy-note summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.privacy-note p {
  line-height: 1.7;
}
.live-workspace>.privacy-note {
  margin: 0;
  flex-shrink: 0;
  font-size: 11px;
}
.live-workspace>.privacy-note[open] {
  max-height: 25dvh;
  overflow: auto;
}
.library-search {
  margin: 12px 0;
  max-width: 480px;
}
.library-search input {
  width: 100%;
}
.rename-button {
  min-height: 44px;
  background: transparent;
  border: 0;
  color: var(--accent-ink);
  padding-inline: 0;
}
.rename-form {
  display: flex;
  align-items: end;
  gap: 8px;
  flex-wrap: wrap;
}
.rename-form label {
  flex: 1;
  min-width: 180px;
}
.rename-form input {
  width: 100%;
}
.completion-note {
  font-size: 12px;
  line-height: 1.6;
  padding: 8px 12px;
  background: var(--soft);
  margin: 0;
  flex-shrink: 0;
}
.resume-playback {
  align-self: flex-start;
  font-size: 12px;
  min-height: 44px;
  margin-bottom: 8px;
}
main.live-workspace {
  min-height: 0;
  height: auto;
  min-height: 100dvh;
}
.live-workspace .transcript {
  min-height: 240px!important;
  max-height: 60dvh;
}
@media(min-height:740px) {
  main.live-workspace {
    height: 100dvh;
  }
  .live-workspace .transcript {
    min-height: 100px!important;
    max-height: none;
  }
}
@media(max-width:380px) {
  .live-workspace .app-header,.library-workspace .app-header,main:has(.reference-reader) .app-header {
    flex-wrap: wrap;
  }
  .app-header .header-account {
    margin-left: 0;
  }
  .reading-tools {
    flex-wrap: wrap;
  }
  .reader-tools {
    flex-wrap: wrap;
  }
}

.privacy-content {max-width:72ch;padding-block:4px 12px;}
.privacy-content section {margin-top:24px;}
.privacy-content h3 {margin:0 0 8px;font-size:17px;line-height:1.5;color:var(--ink);}
.privacy-note .privacy-content p {margin:0;font-size:16px;line-height:1.8;color:var(--muted);}
/* Separate readable bilingual text from the paragraph playback action. */
.reference-reader .playback-segment {
  position: relative;
  text-align: left;
  font-weight: 400;
}
.reference-reader .segment-jump {
  grid-column: 1/-1;
  justify-self: start;
  min-height: 44px;
  margin: -8px 0 -4px;
  padding: 8px 0;
  background: transparent;
  border: 0;
  color: var(--accent-ink);
  font-size: 12px;
}
.reference-reader .segment-jump .segment-time {
  margin: 0;
}
.reference-reader .segment-jump:focus-visible {
  outline: 0;
}
.reference-reader .playback-segment:has(.segment-jump:focus-visible) {
  outline: 3px solid var(--accent-ink);
  outline-offset: 2px;
}
.reference-reader .segment-original,.reference-reader .segment-translation {
  position: relative;
  user-select: text;
}
#workspace:focus-visible {
  outline: 2px solid var(--accent-ink);
  outline-offset: 4px;
}
.skip:focus {
  z-index: 100;
}

.app-shell input:not([type=range]),.app-shell textarea,.account-dialog textarea {font-size:var(--font-input);}
.app-error {position:sticky;top:8px;z-index:40;box-shadow:0 4px 20px #25231f14;}
.pending-uploads {padding:16px 20px;margin:16px 0;}
.pending-uploads>summary {min-height:44px;line-height:1.6;padding:10px 0;font-weight:600;}
.pending-uploads section {padding:16px 0;border-top:1px solid var(--line);overflow-wrap:anywhere;}
.pending-uploads p {font-size:14px;line-height:1.65;overflow-wrap:anywhere;}
.pending-uploads strong {display:block;line-height:1.5;}
.pending-uploads .pending-intro,.pending-uploads .pending-meta,.pending-uploads .pending-download-help {color:var(--muted);font-weight:400;}
.pending-uploads .pending-meta {margin:8px 0 2px;}
.pending-uploads .pending-counts {margin:0 0 12px;font-variant-numeric:tabular-nums;}
.pending-actions {display:flex;flex-wrap:wrap;gap:8px;}
.pending-actions button {min-height:44px;white-space:normal;}
.pending-actions button:first-child {color:var(--accent-ink);}
.pending-uploads .pending-feedback,.pending-receipt {padding:12px 16px;border-radius:8px;}
.pending-uploads .is-error {color:var(--danger-ink);background:var(--danger-bg);}
.pending-uploads .is-warning {color:var(--warning-ink);background:var(--warning-bg);}
.pending-uploads .is-success,.pending-receipt {color:var(--accent-ink);background:var(--soft);}
.pending-receipt {margin-block:16px;overflow-wrap:anywhere;}
.pending-receipt p {margin:0;font-size:14px;line-height:1.65;}
.pending-uploads [tabindex]:focus-visible,.pending-receipt [tabindex]:focus-visible {outline:2px solid var(--focus);outline-offset:4px;}
@media(max-width:480px){.pending-uploads {padding:12px 16px;}.pending-actions button {flex:1;}}
.photo-discard {padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);}
@media(max-height:700px){
 main:has(.reference-reader.is-markers) {height:auto;min-height:100dvh;overflow:visible;}
 .reference-reader.is-markers {min-height:460px;}
 .reference-reader.is-markers .study-markers {flex:0 0 auto;height:55dvh;min-height:240px;}

}

.reference-reader [hidden] {display:none!important;}
.reader-views {display:flex;gap:8px;flex-shrink:0;padding:6px 0;}
.reader-views button {min-height:44px;padding:8px 16px;}
.reader-views button[aria-pressed="true"] {background:var(--soft);border-color:var(--accent-ink);color:var(--accent-ink);}
.summary-panel {flex:1;min-height:0;overflow:auto;padding:12px 16px 24px;overscroll-behavior:contain;line-height:1.65;}
.summary-heading {display:flex;align-items:start;justify-content:space-between;gap:16px;}
.summary-heading h2 {font-size:22px;margin:0;}
.summary-heading p,.summary-disclosure,.summary-date {font-size:14px;color:var(--muted);margin:6px 0 12px;}
.summary-disclosure {max-width:72ch;}
.summary-warning {border-left:3px solid var(--warning-ink);padding-left:12px;color:var(--warning-ink);}
.summary-section {border-top:1px solid var(--line);padding:14px 0 4px;}
.summary-section h3 {font-size:16px;color:var(--accent-ink);margin:0 0 8px;}
.summary-item {margin:0 0 14px;}
.summary-item p {margin:0;font-size:18px;max-width:85ch;white-space:pre-wrap;}
.summary-generate {margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.summary-generate p {width:100%;margin:0;}
.summary-topic {margin:18px 0 24px;max-width:88ch;}
.summary-topic h4 {font-size:19px;margin:0 0 8px;color:var(--ink);line-height:1.5;}
.summary-prose,.summary-topic li,.summary-list li {font-size:17px;line-height:1.8;overflow-wrap:anywhere;}
.summary-prose {margin:8px 0;max-width:88ch;white-space:pre-wrap;}
.summary-topic ul,.summary-list {margin:8px 0;padding-left:1.35em;max-width:88ch;}
.summary-topic li,.summary-list li {margin:6px 0;padding-left:3px;}
.summary-examples {border-left:3px solid var(--line);padding:2px 0 2px 14px;margin-top:12px;}
.summary-examples h5 {font-size:13px;color:var(--muted);margin:2px 0;}
.summary-panel .summary-prose,.summary-panel .summary-topic li,.summary-panel .summary-list li,.summary-panel .summary-item p {font-size:var(--reading-font,22px);line-height:1.65;}
.summary-panel .summary-topic h4 {font-size:calc(var(--reading-font,22px) + 1px);}

/* Reuse the app's orange accent and paper surfaces for all minutes. */
.minutes-view {max-width:100%;}
.minutes-overview {padding:16px 18px;margin:12px 0 18px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:10px;background:var(--soft);}
.minutes-overview h3 {color:var(--accent-ink);}
.minutes-overview .summary-prose {margin:6px 0;color:var(--ink);}
.minutes-view .summary-topics {border-top:0;padding-top:0;}
.minutes-view .summary-topics>h3 {color:var(--ink);font-size:17px;}
.minutes-view .summary-topic {padding:16px 18px;margin:10px 0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);max-width:none;}
.minutes-view .summary-topic h4 {display:flex;align-items:baseline;gap:8px;color:var(--ink);}
.minutes-topic-number {flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:1.55em;height:1.55em;border-radius:5px;background:var(--surface-paper);color:var(--muted);font-size:.72em;}
.minutes-view .summary-prose,.minutes-view .summary-topic ul,.minutes-view .summary-list {max-width:none;}
.minutes-view .summary-examples {border-color:var(--line);background:var(--surface-paper);padding:8px 12px;border-radius:0 7px 7px 0;}
.minutes-actions,.minutes-uncertainties {padding:14px 18px;margin:14px 0;border:1px solid var(--line);border-radius:10px;background:var(--surface-warm);}
.minutes-actions h3 {color:var(--ink);}
.minutes-uncertainties {background:var(--warning-bg);}
.minutes-uncertainties h3 {color:var(--warning-ink);}
.minutes-stages {border-top:1px solid var(--line);margin-top:20px;padding-top:16px;}
.minutes-section-heading h3 {margin:0;font-size:16px;color:var(--ink);}
.minutes-section-heading p {margin:4px 0 12px;color:var(--muted);font-size:13px;line-height:1.6;}
.minutes-stage-list {display:grid;gap:14px;}
.minutes-stage {background:var(--surface-paper);border:1px solid var(--line);border-radius:10px;padding:16px 18px;}
.minutes-stage-heading {display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap;}
.minutes-stage-heading strong {font-size:15px;color:var(--ink);}
.minutes-stage-heading time {font:500 12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);}
.minutes-speakers {display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.minutes-speaker {border:1px solid var(--line);border-radius:5px;padding:2px 7px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1.5;}
.minutes-view--compact .summary-section {border:0;padding:0;margin:10px 0 0;background:transparent;}
.minutes-view--compact .summary-topic {padding:0;border:0;background:transparent;margin:10px 0 14px;}
.minutes-view--compact .summary-topic:last-child {margin-bottom:0;}
.minutes-stage .minutes-stage-section-title {margin:0 0 6px;font-size:13px;color:var(--muted);font-weight:600;}
.minutes-stage .summary-topic h4 {font-size:var(--reading-font,22px);}
.minutes-stage .summary-examples {background:var(--surface);border-color:var(--line);}
.live-summary-panel {padding:18px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left));overflow-anchor:none;}
.live-summary-panel>* {max-width:1100px;margin-left:auto;margin-right:auto;}
.live-summary-body>* {max-width:1100px;margin-left:auto;margin-right:auto;}
.live-summary-follow {position:sticky;bottom:0;display:flex;justify-content:center;height:0;overflow:visible;z-index:1;}
.live-summary-follow button {transform:translateY(-100%);box-shadow:0 2px 12px #0002;}
.minutes-stage-empty {margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.7;}
.live-summary-tools {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.live-summary-switch {display:flex;flex-direction:row;align-items:center;gap:8px;flex:none;min-height:44px;cursor:pointer;color:var(--ink);font-size:14px;font-weight:600;}
.live-summary-switch input[type="checkbox"] {appearance:none;flex:none;position:relative;width:38px;height:22px;min-height:22px;border:1px solid var(--line);border-radius:999px;padding:0;margin:0;background:var(--surface-paper);transition:background .15s,border-color .15s;cursor:pointer;}
.live-summary-switch input[type="checkbox"]::before {content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border:1px solid var(--line);border-radius:50%;background:var(--surface);transition:transform .15s;}
.live-summary-switch input[type="checkbox"]:checked {background:var(--accent);border-color:var(--accent);}
.live-summary-switch input[type="checkbox"]:checked::before {transform:translateX(16px);border-color:var(--surface);}
.live-summary-switch input[type="checkbox"]:disabled {opacity:.5;cursor:not-allowed;}
.live-summary-font {display:flex;align-items:center;gap:4px;flex:none;}
.live-summary-font button,.recording-page .live-summary-font button {width:44px;min-width:44px;min-height:44px;padding:6px;font-size:14px;}
.live-summary-font output {min-width:24px;text-align:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;}
.live-summary-disclosure {margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.6;}
.live-summary-disclosure>summary {min-height:44px;padding:10px 0;cursor:pointer;font-weight:500;}
.live-summary-disclosure p {margin:0 0 8px;font-size:13px;}
.live-summary-status {display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 10px;margin-top:10px;margin-bottom:12px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--muted);}
.live-summary-status strong {color:var(--ink);font-weight:600;}
.live-summary-dot {width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none;}
.live-summary-dot.is-enabled {background:var(--accent);}
.live-summary-failure {display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--warning-bg);color:var(--warning-ink);}
.live-summary-failure p {margin:0;line-height:1.6;font-size:14px;}
.live-summary-panel .live-summary-failure {flex-direction:column;align-items:stretch;}
.live-summary-panel .live-summary-failure button {align-self:flex-start;max-width:100%;}
.live-summary-empty {padding:32px 8px;text-align:center;max-width:34em;}
.live-summary-empty>span {font-size:32px;color:var(--muted);}
.live-summary-empty h3 {font-size:18px;margin:12px 0 8px;}
.live-summary-empty p {font-size:15px;line-height:1.7;color:var(--muted);margin:0;}
.recording-page [hidden] {display:none!important;}
.recording-page__body {position:relative;isolation:isolate;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;}
.recording-page__body.is-minutes-open {grid-template-columns:minmax(0,1fr) minmax(280px,33.333%);}
.recording-page__body.is-minutes-open.is-minutes-half {grid-template-columns:minmax(0,1fr) minmax(280px,50%);}
.recording-page__body>.recording-page__reader {min-width:0;min-height:0;}
.recording-page .recording-page__summary-toggle {color:var(--muted);background:var(--surface);border-color:var(--line);white-space:nowrap;}
.recording-page .recording-page__summary-toggle[aria-expanded="true"] {color:var(--accent-ink);background:var(--soft);border-color:var(--accent-ink);}
.recording-page__minutes-sidebar {display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--line);background:var(--surface-warm);}
.recording-page__minutes-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;border-bottom:1px solid var(--line);flex:none;background:var(--surface-paper);}
.recording-page__minutes-toolbar h2 {flex:1;margin:0;min-width:64px;font-size:16px;line-height:1.5;color:var(--ink);}
.recording-page__minutes-width {display:inline-flex;gap:4px;}
.recording-page .recording-page__minutes-width button {padding:6px 8px;min-width:44px;min-height:44px;border-radius:6px;font-size:13px;}
.recording-page .recording-page__minutes-width button[aria-pressed="true"] {background:var(--soft);border-color:var(--accent-ink);color:var(--accent-ink);}
.recording-page .recording-page__minutes-close {padding:6px;border:0;background:transparent;color:var(--muted);font-size:13px;}
.recording-page__minutes-sidebar .live-summary-panel {flex:1;min-width:0;min-height:0;width:100%;padding:12px 12px 20px;overflow:auto;}
.recording-page__minutes-sidebar .live-summary-tools {position:sticky;top:0;z-index:1;padding-block:4px;background:var(--surface-warm);box-shadow:0 1px var(--line);}
.recording-page__minutes-sidebar .summary-heading {flex-wrap:wrap;gap:8px;}
.recording-page__minutes-sidebar .summary-heading h2 {display:none;}
.recording-page__minutes-sidebar .summary-heading p {margin:0;}
.recording-page__minutes-sidebar .summary-disclosure {font-size:13px;margin:4px 0;}
.recording-page__minutes-sidebar .minutes-overview,.recording-page__minutes-sidebar .minutes-stage {padding:12px;}
.minutes-close-narrow {display:none;}
@media(max-width:767px){
 .recording-page__body.is-minutes-open,.recording-page__body.is-minutes-open.is-minutes-half {grid-template-columns:minmax(0,1fr);}
 .recording-page__body.is-minutes-open>.recording-page__reader {display:none;}
 .recording-page__minutes-sidebar {position:relative;width:100%;max-width:100%;border-left:0;}
 .minutes-close-wide {display:none;}
 .minutes-close-narrow {display:inline;}
 .recording-page__minutes-width {display:none;}
}
@media(max-width:600px){
 .summary-panel {padding:8px 4px 20px;}
 .summary-heading {flex-wrap:wrap;}
 .summary-heading h2 {font-size:20px;}
 .minutes-overview,.minutes-actions,.minutes-uncertainties,.minutes-view .summary-topic,.minutes-stage {padding:14px 12px;}
 .minutes-view--compact .summary-topic {padding:0;}
 .live-summary-panel {padding:12px max(12px,env(safe-area-inset-right)) 20px max(12px,env(safe-area-inset-left));}
 .live-summary-failure {flex-wrap:wrap;}
}
.summary-source-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.summary-source-actions button,.summary-find-source,.minutes-stage-heading button {min-height:44px;color:var(--accent-ink);}
.summary-evidence+.summary-evidence {border-top:1px solid var(--line);margin-top:12px;padding-top:12px;}
.summary-find-source {margin-top:8px;font-size:14px;}
.summary-source-status {font-size:14px;color:var(--muted);margin:8px 0;}
.summary-source-details {font-size:13px;margin:8px 0 12px;color:var(--muted);}
.summary-source-details>summary {min-height:32px;cursor:pointer;}
.summary-expectations {border-top:1px solid var(--line);padding-top:10px;margin-bottom:12px;}
.summary-expectations p,.summary-expectations small {font-size:13px;line-height:1.6;color:var(--muted);margin:4px 0;}

/* Saved summaries keep the reader's full width with a quiet document layout. */
.summary-panel--saved {overflow-wrap:anywhere;}
.summary-panel--saved .summary-heading {align-items:center;}
.summary-panel--saved .summary-heading h2 {margin:0;font-size:20px;}
.summary-panel--saved .summary-heading button {flex:none;min-height:44px;}
.summary-panel--saved .summary-source-status {margin:2px 0 0;font-size:14px;line-height:1.5;}
.summary-panel--saved .summary-heading>div {min-width:0;}
.summary-panel--saved .summary-source-status time {white-space:nowrap;font-variant-numeric:tabular-nums;}
.summary-panel--saved .summary-options,.summary-panel--saved .summary-stages-disclosure {font-size:14px;color:var(--muted);}
.summary-panel--saved .summary-options>summary,.summary-panel--saved .summary-outline>summary,.summary-panel--saved .summary-stages-disclosure>summary,.summary-panel--saved .minutes-source-points details>summary {min-height:44px;padding-block:10px;cursor:pointer;font-size:14px;line-height:1.7;}
.summary-panel--saved .summary-options[open] {padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px;}
.summary-panel--saved .summary-options p {margin:6px 0;}
.summary-panel--saved .summary-cost .summary-date {font-size:14px;}
.summary-panel--saved .summary-options .summary-disclosure,.summary-panel--saved .summary-options .summary-date {display:block;margin:6px 0;font-size:14px;}
.summary-panel--saved .summary-outline {border-bottom:1px solid var(--line);margin-bottom:20px;}
.summary-panel--saved .summary-outline>summary {color:var(--accent-ink);font-weight:600;}
.summary-outline nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding-bottom:12px;}
.summary-outline nav button {text-align:left;background:transparent;border-color:transparent;color:var(--accent-ink);min-height:44px;padding:8px;overflow-wrap:anywhere;}
.summary-panel--saved .minutes-view>[tabindex],.summary-panel--saved .summary-topic[tabindex] {scroll-margin-block:16px;}
.summary-panel--saved .minutes-overview {border:0;border-radius:0;background:transparent;margin:0 0 28px;padding:0;}
.summary-panel--saved .summary-section h3 {font-size:16px;letter-spacing:normal;color:var(--muted);margin:0 0 12px;}
.summary-panel--saved .minutes-view .summary-topic {border:0;border-radius:0;background:transparent;padding:20px 0;margin:0;border-top:1px solid var(--line);}
.summary-panel--saved .minutes-topic-number {display:none;}
.summary-panel--saved .minutes-view .summary-topic h4 {line-height:1.5;margin-bottom:12px;}
.summary-panel--saved .summary-prose,.summary-panel--saved .summary-item p,.summary-panel--saved .summary-topic li,.summary-panel--saved .summary-list li {line-height:1.8;}
.summary-panel--saved .summary-examples {border:0;border-radius:0;padding:12px 16px;background:var(--surface-paper);}
.summary-panel--saved .summary-examples h5 {font-size:14px;}
.summary-panel--saved .minutes-actions,.summary-panel--saved .minutes-uncertainties {border:0;border-radius:0;padding:16px;margin-block:24px;}
.summary-panel--saved .minutes-uncertainties h3 {color:var(--warning-ink);}
.summary-panel--saved .summary-warning {border:0;padding:0;color:var(--warning-ink);font-size:14px;}
.summary-panel--saved .summary-generate {border:0;margin:8px 0 0;padding:0;}
.summary-panel--saved .summary-expectations {width:100%;padding-top:12px;margin-bottom:8px;}
.summary-panel--saved .summary-expectations p,.summary-panel--saved .summary-expectations small {font-size:14px;}
.summary-generate-actions,.summary-confirm>div {display:flex;flex-wrap:wrap;gap:8px;}
.summary-generate button[aria-disabled="true"] {opacity:.55;cursor:wait;}
.summary-generate button:disabled {cursor:not-allowed;}
.summary-confirm {width:100%;}
.summary-confirm>p {margin-bottom:12px!important;}
.summary-panel--saved .summary-feedback,.summary-panel--saved .summary-progress {padding:12px 16px;margin:12px 0;background:var(--warning-bg);color:var(--warning-ink);font-size:14px;}
.summary-panel--saved .summary-progress {background:var(--surface-paper);color:var(--ink);}
.summary-panel--saved .summary-feedback p,.summary-panel--saved .summary-progress p {margin:4px 0 8px;}
.summary-panel--saved .summary-empty {padding:16px 0;}
.summary-empty h3 {font-size:18px;margin:0 0 8px;}
.summary-empty>p {font-size:14px;color:var(--muted);margin:8px 0;}
.summary-panel--saved .summary-empty .summary-disclosure {font-size:14px;display:block;margin:8px 0;}
.summary-loading {padding:20px 0;color:var(--muted);font-size:14px;}
.summary-loading>div {height:14px;background:var(--surface-paper);margin:12px 0;}
.summary-loading>div:last-child {width:65%;}
.summary-panel--saved .summary-stages-disclosure {border-top:1px solid var(--line);margin-top:24px;}
.summary-panel--saved .summary-stages-disclosure .minutes-stages {border:0;padding:0;margin:8px 0;}
.summary-back-to-outline {min-height:44px;color:var(--accent-ink);margin-top:16px;}
@media(max-width:600px){
 .summary-outline nav {grid-template-columns:minmax(0,1fr);}
 .summary-panel--saved .summary-heading {flex-wrap:nowrap;}
 .summary-panel--saved .summary-source-status {gap:2px 10px;}
 .summary-panel--saved .summary-examples {padding:12px;}
 .summary-panel--saved .minutes-actions,.summary-panel--saved .minutes-uncertainties {padding:12px;}
 .summary-panel--saved .summary-outline {margin-bottom:12px;}
 .summary-panel--saved .summary-section {padding-top:8px;}
}

/* Density changes spacing, never the user's chosen font size or reading width. */
.reference-reader.is-compact .summary-panel--saved .summary-prose,
.reference-reader.is-compact .summary-panel--saved .summary-item p,
.reference-reader.is-compact .summary-panel--saved .summary-topic li,
.reference-reader.is-compact .summary-panel--saved .summary-list li {line-height:1.5;}
.reference-reader.is-compact .summary-panel--saved .minutes-overview {margin-bottom:16px;}
.reference-reader.is-compact .summary-panel--saved .minutes-view .summary-topic {padding-block:12px;}
.reference-reader.is-compact .summary-panel--saved .summary-section h3,
.reference-reader.is-compact .summary-panel--saved .minutes-view .summary-topic h4 {margin-bottom:8px;}
.reference-reader.is-compact .summary-panel--saved .minutes-actions,
.reference-reader.is-compact .summary-panel--saved .minutes-uncertainties {margin-block:12px;padding:12px;}

/* Shared interaction details: compact, readable, and usable with touch or keyboard. */
button,input,select,summary { touch-action:manipulation; }
input,select { transition:border-color .15s,box-shadow .15s; }
input:focus,select:focus { border-color:var(--accent-ink); }
button:active:not(:disabled) { filter:brightness(.97); }
button:disabled { filter:none; }
input[type=range] { accent-color:var(--accent-ink); }
.time,.segment-time,.player-progress,.record-date { font-variant-numeric:tabular-nums; }
.transcript,.playback-segments,.summary-panel { scrollbar-gutter:stable;scroll-padding-block:16px; }
.error,.warning,.recording-banner,.recording-notice { flex-shrink:0;overflow-wrap:anywhere; }
.error button { flex-shrink:0;min-width:44px; }
.account-identity { display:none;position:relative; }
.account-identity summary { list-style:none;min-height:44px;min-width:44px;display:flex;align-items:center;padding:8px; }
.account-identity summary::-webkit-details-marker { display:none; }
.account-identity>span { position:absolute;z-index:30;right:0;top:100%;background:white;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 8px 28px #25231f12;width:max-content;max-width:min(300px,80vw);overflow-wrap:anywhere;font-size:14px; }
.login { max-width:440px; }
.login label { gap:8px; }
.login .password-field { display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:white; }
.login .password-field:focus-within { border-color:var(--accent-ink); }
.login .password-field input { flex:1;min-width:0;width:100%;border:0;background:transparent; }
.login .password-field button { flex-shrink:0;border:0;background:transparent;font-size:12px;padding-inline:10px;color:var(--accent-ink); }
.login>button.primary { width:100%; }
.library-search-row { display:flex;align-items:end;gap:10px;margin:12px 0; }
.library-search-row .library-search { flex:1;margin:0; }
.library-search-row>button { margin-bottom:0;white-space:nowrap; }
.record-date { font-size:12px;color:var(--muted); }
.record-attention { color:var(--accent-ink);font-weight:600; }
.recording-notice { display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff4e8;border:1px solid #edd4b6;border-radius:12px;padding:10px 14px;margin:10px 0;font-size:13px; }
.recording-notice p { margin:3px 0 0;line-height:1.5; }
.recording-notice button { flex-shrink:0; }
.reader-heading:has(+.reference-reader)>div { min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 12px; }
.reader-heading:has(+.reference-reader) h1 { overflow-wrap:anywhere;margin:0;line-height:1.4; }
.reader-heading:has(+.reference-reader)>div>p:last-child { width:100%; }
.reader-heading .rename-button { padding:6px 2px; }
.reader-download[open] { max-height:none;overflow:visible; }
.summary-panel { padding:16px 20px 28px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:12px; }
.summary-heading h2 { font-size:20px; }
.summary-heading p { margin-bottom:4px; }
.summary-disclosure { margin:6px 0;color:var(--muted);font-size:12px; }
.summary-date { font-size:12px;margin:4px 0 16px; }
.summary-section { padding:16px 0 0; }
.summary-section h3 { font-size:15px;letter-spacing:.03em; }
.summary-item p { line-height:1.8;max-width:80ch; }
.summary-generate { border-top:1px solid var(--line);padding-top:12px; }
.summary-generate>button { color:var(--accent-ink); }
@media(max-width:900px){.account-identity{display:block}.header-account{gap:2px}}
@media(max-width:600px){
 .app-header nav button{white-space:nowrap}
 .app-header .header-account{margin-left:0}
 .app-header{column-gap:6px!important}
 .app-header .brand div>span{display:none}
 .library-search-row{align-items:stretch;flex-direction:column;gap:6px}
 .library-search-row>button{align-self:flex-start}
 .summary-panel{padding:14px 12px 20px}
 .summary-item p{font-size:17px}
 .summary-heading{gap:8px}
 .recording-notice{align-items:flex-start;flex-wrap:wrap}
 main:has(.reference-reader) .reader-tools{flex-wrap:wrap}
 main:has(.reference-reader) .app-header nav button{min-width:0;padding-inline:8px}
 .login input{font-size:16px}
}
@media(max-width:430px){
 .app-header .brand{display:none}
 .app-header nav{margin-right:auto!important;margin-left:0!important}
 main:not(:has(nav)) .brand{display:flex}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.summary-panel:not(.summary-panel--saved):has(.summary-date) .summary-heading p { display:none; }
.summary-panel:has(.summary-date) .summary-disclosure,.summary-panel .summary-date { display:inline-block;margin:8px 14px 12px 0; }

/* Compact transport: one row on tablets, two short rows on phones. */
.bottom-player {padding:6px max(16px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:20px;}
.bottom-player[hidden] {display:none;}
.bottom-player .player-progress {flex:1;max-width:none;margin:0;gap:10px;}
.bottom-player .player-actions {display:flex;flex:none;gap:12px;margin:0;}
.bottom-player .main-play {width:44px;height:44px;min-height:44px;font-size:20px;}
.bottom-player .skip-audio {min-width:44px;min-height:44px;padding:0 4px;gap:0;}
.bottom-player .skip-audio>span {font-size:24px;line-height:24px;}
.bottom-player .skip-audio small {font-size:10px;line-height:14px;}
.bottom-player .speed-control>span {display:none;}
.bottom-player .player-state {display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.bottom-player .speed-control select {min-height:44px;width:72px;}
main:has(.reference-reader) {padding-bottom:0;}
@media(max-width:600px){
 .bottom-player {display:block;}
 .bottom-player .player-progress {margin-bottom:2px;}
 .bottom-player .player-progress input {min-height:24px;}
 .bottom-player .player-actions {justify-content:space-between;}

}


/* Signed-out identity remains visible even on the narrowest supported screen. */
@media(max-width:430px){main:not(:has(nav)) .app-header .brand{display:flex}}
.login .login-error {color:var(--danger-ink);background:var(--danger-bg);border-radius:8px;padding:12px;font-size:14px;line-height:1.6;overflow-wrap:anywhere;}
.login .login-help {font-size:14px;line-height:1.7;}
.login .password-field button {font-size:14px;min-height:44px;}
.login button[aria-disabled=true] {opacity:.65;cursor:wait;}
.login h2 {scroll-margin-top:24px;}
.recording-notice {padding:2px 10px;margin:4px 0;flex-wrap:nowrap;gap:8px;font-size:12px;}
.recording-notice button {min-height:44px;padding:6px 8px;font-size:12px;background:transparent;border-color:transparent;}
@media(max-width:600px){.notice-reassurance{display:none}}

.reader-course-name {display:block;width:100%;font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;}
.reader-organize {display:flex;gap:8px;flex-wrap:wrap;padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid var(--line);}
.reader-organize .rename-button,.reader-organize .course-button {min-height:44px;margin:0;padding:8px 12px;max-width:100%;white-space:normal;text-align:left;}
.reader-organize .rename-form {flex-basis:100%;min-width:0;display:flex;flex-wrap:wrap;gap:8px;}
.reader-organize .rename-form label {flex:1 0 100%;width:100%;min-width:0;}
.reader-organize .rename-form input {width:100%;min-width:0;}
.rename-error {width:100%;color:var(--danger-ink);font-size:14px;margin:0;}
.rename-receipt {flex-basis:100%;font-size:14px;line-height:1.6;color:var(--ink);margin:0;}
.rename-receipt:empty {display:none;}

/* Account cost controls retain the warm, quiet recording-management style. */
.budget-panel{flex-shrink:0;margin:2px 0;color:var(--muted);font-size:14px;line-height:1.65}
.budget-panel:empty,.budget-read-feedback:empty,.budget-setting-message:empty{display:none}
.budget-panel>details{position:relative}
.budget-panel summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.6;overflow-wrap:anywhere}
.budget-panel summary span{font-weight:400}
.budget-panel>details[open]>.budget-content{position:static;width:100%;max-height:none;overflow:visible}
.budget-content{max-width:760px;padding:12px 16px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.budget-compact {max-width:760px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.budget-heading h2 {font-size:20px;line-height:1.5;color:var(--ink);margin:0;}
.budget-heading p {margin:4px 0 12px;font-variant-numeric:tabular-nums;}
.budget-compact>.budget-content {padding:0;border:0;border-radius:0;}
.budget-content p{max-width:72ch;line-height:1.7;overflow-wrap:anywhere}
.budget-content h3{font-size:16px;color:var(--ink);margin:20px 0 6px}
.budget-content dl{display:flex;flex-wrap:wrap;gap:16px 32px;margin:16px 0}
.budget-content dd{margin:6px 0 0;color:var(--ink);font-size:20px;font-variant-numeric:tabular-nums}
.budget-content dd small{font-size:14px}
.budget-content .budget-day{border-bottom:1px solid var(--line);padding-bottom:8px}
.budget-content form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin:16px 0}
.budget-content .month-limit-form{grid-template-columns:minmax(0,300px) max-content;justify-content:start}
.budget-content label{display:grid;gap:6px;min-width:0;color:var(--ink);font-size:14px}
.budget-content input{width:100%;min-width:0;min-height:44px;font-size:16px;caret-color:var(--accent-ink)}
.budget-content input[readonly]{background:var(--surface-paper)}
.budget-content button,.budget-read-feedback button{min-height:44px}
.budget-panel button[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.budget-content .summary-limit-form{padding-bottom:16px;border-bottom:1px solid var(--line)}
.budget-content form>p{grid-column:1/-1;margin:0}
.budget-content .budget-field-help{font-size:13px;color:var(--muted)}
.budget-setting-message{color:var(--ink)}
.budget-setting-message.is-error,.budget-read-feedback.is-error{color:var(--danger-ink);background:var(--danger-bg);border-radius:8px;padding:12px}
.budget-read-feedback{margin:8px 0}
.budget-read-feedback p{margin:0 0 10px}
.budget-warning{color:var(--warning-ink);background:var(--warning-bg);border-radius:8px;padding:10px 12px}
@media(max-width:600px){.budget-content form,.budget-content .month-limit-form{grid-template-columns:minmax(0,1fr)}.budget-content form>button{justify-self:start}.budget-content{padding:12px}.budget-content dl{gap:16px 24px}}

/* Shared chrome owns its geometry; workspace content must not resize it.
   Specificity intentionally supersedes legacy page-scoped header rules. */
html { scrollbar-gutter: stable; }
main.app-shell {
  max-width: 1440px;
  padding-left: max(24px, env(safe-area-inset-left));
  padding-right: max(24px, env(safe-area-inset-right));
}
main.app-shell .app-header.shared-header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  height: 72px;
  min-height: 72px;
  flex-shrink: 0;
  padding: 6px 0;
  gap: 12px;
}
main.app-shell .shared-header .brand {
  display: flex;
  gap: 12px;
  font-size: 23px;
  white-space: nowrap;
}
main.app-shell .shared-header .brand-mark {
  width: 43px;
  height: 43px;
  font-size: 24px;
  flex-shrink: 0;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  transform: none;
}
main.app-shell .shared-header .brand div>span { display: block; }
main.app-shell .shared-header nav {
  grid-column: 2;
  width: 280px;
  height: 58px;
  margin: 0 !important;
  padding: 5px;
  gap: 4px;
}
main.app-shell .shared-header nav button {
  position: relative;
  flex: 1;
  width: 0;
  min-width: 0;
  min-height: 46px;
  padding: 10px 8px;
  font-size: 14px;
  white-space: nowrap;
}
main.app-shell .shared-header .nav-dot {
  position: absolute;
  right: 6px;
  top: 6px;
  margin: 0;
}
main.app-shell .shared-header .count {
  display: inline-block;
  max-width: 48px;
  overflow: hidden;
  vertical-align: middle;
}
main.app-shell .shared-header .header-account {
  grid-column: 3;
  justify-self: end;
  max-width: 100%;
  margin: 0;
}
main.app-shell .shared-header .header-account>span { min-width: 0; }
main.app-shell .shared-header .header-account button { flex-shrink: 0; }
@media(max-width:1000px) {
  main.app-shell .shared-header .brand div>span { display: none; }
  main.app-shell .shared-header nav { width: 226px; }
  main.app-shell .shared-header .header-account>span { display: none; }
  main.app-shell .shared-header .account-identity { display: block; }
}
@media(max-width:760px) {
  main.app-shell {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }
  main.app-shell .app-header.shared-header {
    grid-template-columns: auto minmax(0,1fr);
    height: 64px;
    min-height: 64px;
    column-gap: 6px !important;
    padding: 4px 0;
  }
  main.app-shell .shared-header .brand { display: none; }
  main.app-shell .shared-header:not(:has(nav)) .brand { display: flex; font-size: 18px; }
  main.app-shell .shared-header .brand-mark { width:32px; height:32px; font-size:20px; }
  main.app-shell .shared-header nav {
    grid-column: 1;
    width: 152px;
    height: 54px;
    padding: 3px;
    gap: 0;
  }
  main.app-shell .shared-header nav button { font-size:12px; padding:8px; }
  main.app-shell .shared-header nav .count { display:none; }
  main.app-shell .shared-header .header-account { grid-column:2; gap:2px; }
  main.app-shell .shared-header .account-identity { display:none; }
  main.app-shell .shared-header .header-account button { font-size:12px; padding:9px 8px; }
  main.app-shell .shared-header .header-account .account-help { font-size:11px; padding-inline:6px; }
}

/* Keep more of the viewport available for saved transcript reading. */
main.app-shell:has(.reference-reader) .app-header.shared-header {height:56px;min-height:56px;}
main.app-shell:has(.reference-reader) .shared-header nav {height:48px;padding:2px;}
main.app-shell:has(.reference-reader) .shared-header nav button {min-height:44px;padding-block:6px;}

/* Leave room for account actions and the scrollbar on the narrowest phones. */
@media(max-width:360px){main.app-shell .shared-header nav{width:136px;}}

/* Keep every dismiss target reachable without squeezing the message or its action. */
.dismissible-banner {display:flex;align-items:center;gap:8px;}
.dismissible-banner__content {flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.dismissible-banner .banner-dismiss {flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:24px;line-height:1;color:var(--muted);}
.dismissible-banner .banner-dismiss:hover {color:var(--ink);background:#25231f08;}
.pending-uploads.dismissible-banner {align-items:flex-start;}
@media(max-width:600px){.dismissible-banner__content {flex-wrap:wrap;}}
.library-heading__actions {display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;}
.merge-tasks {margin:12px 0;padding:12px 16px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;min-width:0;}
.merge-tasks summary {min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--accent-ink);font-weight:600;}
.merge-tasks p {font-size:14px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere;}
.merge-tasks ul {list-style:none;margin:0;padding:0;}
.merge-tasks li {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);}
.merge-tasks li>div {min-width:0;}
.merge-tasks strong {display:block;overflow-wrap:anywhere;}
.merge-tasks li span {display:block;color:var(--muted);font-size:13px;margin-top:6px;}
.merge-tasks button {min-height:44px;white-space:normal;}
.merge-tasks li:focus-visible {outline:2px solid var(--focus);outline-offset:4px;}
.merge-tasks li>div:last-child {flex-shrink:0;}
.merge-unknown {padding:12px;border:1px solid #bb8143;border-radius:10px;}
.merge-dialog {width:min(760px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;margin:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface-warm);color:var(--ink);overflow:hidden;}
.merge-dialog[open] {display:flex;flex-direction:column;}
.merge-dialog::backdrop {background:#201c18a6;}
.merge-dialog header,.merge-dialog footer {flex-shrink:0;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.merge-dialog header {border-bottom:1px solid var(--line);}
.merge-dialog header h2 {font-size:22px;line-height:1.4;margin:0;}
.merge-dialog .merge-step {font-size:12px;color:var(--muted);margin:0 0 4px;}
.merge-dialog__body {min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 20px 16px;scroll-padding:16px;}
.merge-dialog p {line-height:1.65;overflow-wrap:anywhere;}
.merge-dialog__body>p:not(.merge-error):not(.merge-notice) {font-size:14px;font-weight:400;color:var(--muted);}
.merge-dialog button {min-width:44px;min-height:44px;white-space:normal;}
.merge-dialog :is(button,input,select,[tabindex]):focus-visible {outline:3px solid var(--accent-ink);outline-offset:2px;}
.merge-dialog :is(input:not([type=checkbox]),select) {width:100%;min-width:0;font-size:16px;}
.merge-dialog label {min-width:0;font-size:14px;}
.merge-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.merge-filters label,.merge-fields label {display:flex;flex-direction:column;gap:6px;}
.merge-filter-status {display:flex;align-items:center;gap:12px;margin-top:12px;}
.merge-filter-status p {flex:1;margin:0;font-size:14px;color:var(--accent-ink);}
.merge-filter-status button {flex-shrink:0;color:var(--accent-ink);}
.merge-choices,.merge-order {padding:0;margin:12px 0;list-style:none;}
.merge-choices li,.merge-order li {min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;margin:8px 0;padding:12px;}
.merge-choices li[data-selected=true] {background:var(--soft);border-color:var(--accent-ink);}
.merge-choices label {display:flex;flex-direction:row;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer;}
.merge-choices input[type=checkbox] {flex:none;width:24px;height:24px;min-height:24px;padding:0;margin:2px 0;accent-color:var(--accent-ink);}
.merge-choices label>span {min-width:0;}
.merge-choices strong,.merge-order strong {display:block;font-size:15px;line-height:1.6;overflow-wrap:anywhere;}
.merge-choices small,.merge-order small,.merge-fields small {display:block;font-size:13px;color:var(--muted);line-height:1.6;margin-top:4px;overflow-wrap:anywhere;}
.merge-choices .merge-unavailable {color:#87340f;}
.merge-fields {display:grid;gap:14px;margin:16px 0;}
.merge-order li {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.merge-order li>div {min-width:0;}
.merge-order__buttons {display:flex;gap:6px;flex-shrink:0;}
.merge-order__buttons button {padding:8px;}
.merge-dialog footer {border-top:1px solid var(--line);background:var(--surface-paper);flex-wrap:wrap;}
.merge-dialog footer p {margin:0;font-size:14px;font-variant-numeric:tabular-nums;}
.merge-dialog footer>div {display:flex;gap:8px;margin-left:auto;}
.merge-error {color:var(--danger-ink);overflow-wrap:anywhere;}
.merge-tasks li .merge-error {padding:10px 12px;background:var(--danger-bg);border-radius:8px;}
.merge-notice {padding:10px 12px;border-radius:8px;background:#fff0da;color:#714613;}
.merge-confirm h3 {font-size:18px;overflow-wrap:anywhere;}
@media(max-width:600px){
 .library-heading__actions {width:100%;}
 .library-heading__actions button {flex:1;}
 .merge-dialog header,.merge-dialog footer {padding:12px;}
 .merge-dialog__body {padding:0 12px 12px;}
 .merge-dialog header h2 {font-size:20px;}
 .merge-filters {grid-template-columns:minmax(0,1fr);}
 .merge-filter-status {align-items:flex-start;flex-direction:column;gap:8px;}
 .merge-order li,.merge-tasks li {align-items:flex-start;flex-direction:column;}
 .merge-order__buttons {width:100%;}
 .merge-order__buttons button {flex:1;}
 .merge-dialog footer>p {width:100%;}
 .merge-dialog footer>div {width:100%;}
 .merge-dialog footer>div button {flex:1;}
}
/* Keep native pickers, with an aligned settings row and a separate optional feature. */
.live-workspace .controls.recording-settings {
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:start;
 gap:12px 20px;
}
.recording-settings__fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;}
.recording-settings__fields--single {grid-template-columns:minmax(0,1fr);max-width:480px;}
.recording-settings__field {display:grid;grid-template-rows:auto 48px auto;gap:6px;min-width:0;}
.live-workspace .recording-settings__field label {display:block;min-width:0;margin:0;font-size:14px;line-height:20px;color:var(--muted);}
.live-workspace .recording-settings__field select {
 width:100%;min-width:0;max-width:100%;min-height:48px;height:48px;margin:0;
 padding:10px 40px 10px 12px;font-size:16px;line-height:1.5;color:var(--ink);
 appearance:none;-webkit-appearance:none;background-color:var(--surface);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23625b52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 12px center;
 border:1px solid var(--line);border-radius:10px;
}
.recording-settings__field select:hover:not(:disabled) {border-color:var(--accent-ink);}
.recording-settings__field select:disabled {background-color:var(--soft);color:var(--muted);cursor:not-allowed;}
.recording-settings__field small {font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;}
 .live-workspace .controls.recording-settings .primary {margin:0;min-height:48px;}
.live-workspace .controls.recording-settings .live-summary-setting {grid-column:1/-1;min-width:0;gap:4px;margin:0;padding-top:10px;border-top:1px solid var(--line);}
.recording-settings .live-summary-setting>span {display:flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);}
.recording-settings .live-summary-setting input {flex:none;width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--accent-ink);}
.recording-settings .live-summary-setting small {font-size:13px;line-height:1.5;}
.live-workspace .controls.recording-settings .recording-start {grid-column:1/-1;display:flex;align-items:center;gap:16px;min-width:0;}
.recording-allowance {flex:1;margin:0;color:var(--ink);font-size:14px;line-height:1.6;overflow-wrap:anywhere;}
.recording-allowance small {display:block;color:var(--muted);font-size:13px;}
.recording-allowance__retry {margin-left:8px;color:var(--accent-ink);}
@media(max-width:700px) {
 .live-workspace .controls.recording-settings {grid-template-columns:minmax(0,1fr);gap:12px;}
 .live-workspace .controls.recording-settings .recording-start {flex-direction:column;align-items:stretch;}
 .live-workspace .controls.recording-settings .primary {margin:0;width:100%;}
}
@media(max-width:540px) {
 .recording-settings__fields {grid-template-columns:minmax(0,1fr);gap:12px;}
 .recording-settings__fields--single {max-width:none;}
}
/* One outer grid for the live setup cards; nested fields use the same inset. */
.live-workspace {--live-card-padding:24px;}
main.live-workspace:has(.preparation-card) {height:auto;min-height:100dvh;}
.live-workspace .live-page:has(>.preparation-card) {flex:none;}
.live-workspace .live-page>:is(.preparation-card,.recording-ready,.service-details) {
 width:100%;max-width:none;min-width:0;margin-inline:0;
 padding:var(--live-card-padding);
 border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);
}
.live-workspace .preparation-card .course-preparation {
 width:100%;max-width:none;min-width:0;padding:0;
}
.live-workspace .preparation-card .controls.recording-settings {
 padding:20px 0 0;margin:0;background:transparent;box-shadow:none;
}
.live-workspace .recording-settings label {max-width:none;}
.live-workspace .recording-settings .live-summary-setting {width:100%;max-width:none;}
.live-workspace .recording-settings .live-summary-setting small {max-width:75ch;}
.live-workspace .live-page>.service-details {font-size:14px;}
.live-workspace .live-page>.service-details summary {
 min-height:44px;line-height:1.5;padding-block:10px;list-style-position:inside;
}
.live-workspace .live-page>.service-details :is(p,.service-summary) {max-width:75ch;overflow-wrap:anywhere;}
@media(max-width:600px) {
 .live-workspace {--live-card-padding:16px;}
 .live-workspace .preparation-card .controls.recording-settings {padding-top:16px;}
}
