:root{--bg:#f3f5fa;--paper:#fff;--ink:#182b43;--muted:#64738b;--line:#dae2ef;--blue:#275ec0;--soft:#eaf1ff;--amber:#965906;--green:#177250;--shadow:0 8px 35px #182b4308}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{height:100%;margin:0}body{font:14px/1.7 Inter,"Segoe UI","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{border:1px solid var(--line);border-radius:7px;background:var(--theme-background-ffffff,white);color:var(--ink);padding:7px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--blue);border-color:var(--blue);color:white}button.danger{color:var(--theme-color-b12e35,#b12e35)}.danger-text{color:var(--theme-color-b12e35,#b12e35)}a{color:var(--blue)}input,textarea,select{border:1px solid var(--line);border-radius:7px;padding:9px 10px;color:var(--ink);background:var(--theme-background-ffffff,white);min-width:0}textarea{resize:vertical;width:100%;min-height:100px}label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);margin:12px 0}label.inline{flex-direction:row;align-items:flex-start}label.inline input{margin-top:5px;flex:none}h1,h2,h3,h4,p{margin-top:0}h1{font-size:24px;line-height:1.4}h2{font-size:20px}h3{font-size:16px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted)}.badge{font-size:11px;border-radius:4px;padding:3px 7px;display:inline-block;background:var(--soft);color:var(--blue)}.badge.warn{background:var(--theme-background-fff3dd,#fff3dd);color:var(--amber)}.badge.ok{background:var(--theme-background-e8f6ee,#e8f6ee);color:var(--green)}.top{background:var(--paper);padding:12px 22px;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center;justify-content:space-between;min-height:68px}.top h1{font-size:18px;margin:0}.actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.actions button,.actions a{font-size:12px}.lang{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.lang button{border:0;border-radius:0;padding:5px 9px}.lang button[aria-pressed=true]{color:white;background:var(--blue)}.auth-wrap{max-width:1000px;margin:7vh auto;display:grid;grid-template-columns:1fr 1.05fr;padding:20px;gap:50px;align-items:center}.intro h2{font-size:38px;line-height:1.3;letter-spacing:-.03em;margin:14px 0}.intro p{font-size:15px;color:var(--muted)}.numbered{display:flex;gap:12px;align-items:center;margin:18px 0}.numbered strong{font:600 22px Georgia,serif;color:var(--blue)}.auth{background:var(--theme-background-ffffff,white);border:1px solid var(--line);border-radius:15px;padding:30px;box-shadow:var(--shadow)}.auth h2{margin:0 0 8px}.auth .primary{width:100%;margin-top:10px;padding:11px}.error{color:var(--theme-color-b12e35,#b12e35);font-size:12px;white-space:pre-wrap}.message{padding:14px 16px;border:1px solid var(--line);background:var(--soft);border-radius:8px;margin:14px 0}.lesson-tabs{display:flex;gap:8px;padding:10px 18px 0;border-bottom:1px solid var(--line);background:var(--theme-background-ffffff,white)}.lesson-tabs button{flex:1;text-align:left;padding:10px 12px;border-bottom:3px solid transparent;border-radius:7px 7px 0 0;font-size:13px}.lesson-tabs button[aria-selected=true]{color:var(--blue);background:var(--soft);border-bottom-color:var(--blue)}.classroom{height:calc(100dvh - 133px);display:flex;min-height:350px}.toc{width:210px;flex:none;padding:20px 12px;overflow:auto;border-right:1px solid var(--line)}.toc button{display:block;width:100%;text-align:left;border-color:transparent;background:transparent;font-size:12px;margin:3px 0;padding:8px}.toc button[aria-current=page]{background:var(--theme-background-ffffff,white);border-color:var(--line);color:var(--blue)}.toc .eyebrow{padding:0 8px 10px}.reader{flex:1;min-width:260px;display:flex;flex-direction:column}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:9px 14px;border-bottom:1px solid var(--line)}.toolbar button,.toolbar select{font-size:11px;padding:5px 8px}.toolbar .badge{margin-left:auto}.reading{overflow:auto;flex:1;padding:20px;scroll-behavior:smooth}.sheet{max-width:900px;min-height:100%;margin:auto;background:var(--theme-background-ffffff,white);padding:26px 30px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.page-label{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:var(--muted);margin-bottom:16px}.markdown h2{font-size:24px;line-height:1.45;letter-spacing:-.02em}.markdown h3{margin:20px 0 8px}.markdown p{margin:12px 0}.markdown li{margin:6px 0}.markdown ul,.markdown ol{padding-left:22px}.markdown .table-wrap{overflow:auto;margin:16px 0}.markdown table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.8}.markdown th,.markdown td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px;min-width:90px}.markdown th{background:var(--soft)}.markdown blockquote{margin:15px 0;padding:12px;border-left:3px solid var(--blue);background:var(--soft)}.markdown blockquote p{margin:0}.markdown code{font:12px Consolas,monospace;background:var(--bg);padding:2px 5px}.markdown pre{overflow:auto;padding:12px;background:var(--bg)}.page-nav{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--theme-background-ffffff,white)}.page-nav span{flex:1;text-align:center;font-size:11px;color:var(--muted)}.study-panel{height:36%;min-height:0;display:flex;flex-direction:column;border-top:1px solid var(--line);background:var(--theme-background-ffffff,white)}.panel-tabs{display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding:6px 12px}.panel-tabs button{font-size:11px;padding:4px 9px;border-color:transparent}.panel-tabs button[aria-selected=true]{background:var(--soft);color:var(--blue)}.panel-tabs .spacer{flex:1}.panel-body{flex:1;min-height:0;overflow:auto;padding:12px 18px}.panel-body textarea{min-height:65px}.panel-body p{margin:0 0 7px}.annotation{border-left:3px solid #c69326;padding:10px 14px;background:var(--theme-background-fff8e9,#fff8e9);margin:14px 0}.annotation .markdown{font-size:13px}.annotation .meta{font-size:11px;color:var(--amber)}.questions-controls{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.questions-controls select{font-size:11px;padding:4px}.question{border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0;background:var(--paper)}.question .meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.question .text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.question .actions button{padding:3px 7px;font-size:11px}.reply{margin:10px 0 0 10px;padding:8px 0 0 12px;border-left:2px solid var(--line)}.speaker{font-size:14px;line-height:1.9}.browser-panel{width:49%;min-width:300px;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--theme-background-ffffff,#fff)}.browser-tabs{display:flex;align-items:center;gap:4px;background:var(--bg);padding:7px;overflow:auto;border-bottom:1px solid var(--line)}.browser-tabs button{white-space:nowrap;font-size:11px;padding:6px 8px;max-width:210px;overflow:hidden;text-overflow:ellipsis}.browser-tabs button[aria-selected=true]{background:var(--theme-background-ffffff,white);color:var(--blue);border-color:var(--blue)}.browser-body{flex:1;min-height:0;overflow:auto;padding:18px}.browser-body .markdown{max-width:1050px;margin:auto;font-size:16px}.browser-body .markdown h2{font-size:30px}.browser-body iframe{width:100%;height:100%;min-height:300px;border:0;background:var(--theme-background-ffffff,white)}.browser-body:has(iframe){padding:0}.browser-address{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--line)}.browser-address input{flex:1;padding:6px;font-size:11px}.browser-address button{font-size:11px}.browser-panel.maximized{position:fixed;inset:0;width:100%;z-index:20}.browser-panel.maximized .browser-body{padding:30px}.mobile-toc{display:none}.admin-shell{max-width:1450px;margin:0 auto;padding:20px 26px}.admin-nav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}.admin-nav button[aria-current=page]{background:var(--blue);color:white}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.stat{padding:18px;background:var(--theme-background-ffffff,white);border:1px solid var(--line);border-radius:10px}.stat strong{display:block;font-size:28px;font-weight:650;color:var(--blue)}.stat span{font-size:12px;color:var(--muted)}.card{background:var(--theme-background-ffffff,white);border:1px solid var(--line);padding:22px;border-radius:10px;margin:16px 0}.card h2{font-size:17px}.table-scroll{overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:12px}table.data th,table.data td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.data th{color:var(--muted);font-size:11px;white-space:nowrap}.filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.filters label{margin:0;flex:1;min-width:130px}.filters button{height:39px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .full{grid-column:1/-1}.editor textarea{min-height:300px;font:13px/1.8 Consolas,"Microsoft YaHei",monospace}.editor textarea.speaker{min-height:120px}.editor .form-grid label{font-weight:600}.chart{display:flex;align-items:flex-end;gap:5px;height:125px;padding-top:15px;border-bottom:1px solid var(--line)}.chart div{flex:1;min-width:5px;background:var(--soft);height:100%;display:flex;align-items:flex-end}.chart i{display:block;width:100%;min-height:2px;background:var(--blue)}.request{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.request p{margin:0}.loading{display:grid;place-content:center;height:70vh;color:var(--muted)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#192c43;color:white;padding:11px 18px;border-radius:8px;z-index:60;box-shadow:var(--shadow);max-width:90%;display:none}dialog{border:1px solid var(--line);border-radius:12px;width:min(700px,94vw);max-height:88vh;padding:26px;background:var(--theme-background-ffffff,white);color:var(--ink)}dialog::backdrop{background:#14263c77}dialog .close{float:right;border:0;font-size:22px;padding:0 6px}dialog textarea{min-height:160px}.empty-state{max-width:450px;margin:12vh auto;text-align:center;padding:20px}.empty-state h2{font-size:24px}.empty-state p{color:var(--muted)}#print-area{display:none}
@media(max-width:1150px){.toc{width:170px}.sheet{padding:22px}.reading{padding:12px}.browser-panel{width:45%}.top{padding:10px 14px}.top .user-name{display:none}}
@media(max-width:820px){.top{padding:10px 12px;gap:8px;flex-wrap:wrap}.top h1{font-size:16px}.auth-wrap{display:block;margin:12px auto;padding:14px}.intro{max-width:550px;margin:auto}.intro h2{font-size:28px;margin:14px 0}.intro .numbered{display:none}.auth{max-width:550px;margin:20px auto;padding:22px}.toc{display:none}.lesson-tabs{padding:6px 7px 0;gap:4px}.lesson-tabs button{font-size:11px;padding:8px;line-height:1.6}.classroom{height:calc(100dvh - 145px)}.mobile-toc{display:block;width:100%}.reader{min-width:0}.toolbar{padding:7px 9px}.toolbar .badge{margin-left:0}.reading{padding:8px}.sheet{padding:18px 14px}.markdown h2{font-size:22px}.markdown table{font-size:11px}.study-panel{height:35%}.page-nav{padding:8px}.page-nav button{font-size:12px;padding:6px}.browser-panel{position:fixed;inset:0;width:100%;z-index:20;min-width:0}.browser-body .markdown{font-size:15px}.browser-body .markdown h2{font-size:25px}.browser-panel.maximized .browser-body{padding:18px}.admin-shell{padding:16px 12px}.admin-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.card{padding:15px}.request{flex-direction:column;gap:8px}.chart{height:85px}}
@media print{body>*{display:none!important}#print-area{display:block!important}.print-page{break-after:page}.print-page:last-child{break-after:auto}.markdown table{font-size:10px}.markdown h2{font-size:22px}}
.chart{display:block;height:auto;max-height:260px;overflow:auto}.chart-row{display:flex!important;align-items:center!important;gap:12px;margin:8px 0;background:transparent!important;height:auto!important;font-size:11px}.chart-row span{width:90px;flex:none}.chart-row progress{flex:1;height:14px;accent-color:var(--blue)}.hours-input{width:85px}
.browser-tabs button{flex-shrink:0}.browser-tabs [data-tab]{max-width:200px}.toolbar #materialVersion{max-width:165px}
.quick-question{position:fixed;right:23px;bottom:77px;z-index:50;background:var(--blue);color:#fff;border-color:var(--blue);border-radius:28px;padding:12px 18px;box-shadow:0 5px 22px #153e7b35;font-weight:600}.quick-question:hover:not(:disabled){color:#fff;background:#194896}.system-links{margin:20px 0}.faq-card{border:1px solid var(--line);border-radius:8px;padding:16px;margin:14px 0}.faq-card h3{margin-bottom:10px}.faq-tabs{display:flex;gap:6px;flex-wrap:wrap}.faq-tabs button[aria-selected=true]{color:#fff;background:var(--blue)}.token-display{font:12px/1.6 Consolas,monospace;overflow-wrap:anywhere;padding:14px;background:var(--soft)}
.instructor-nav{margin-top:20px}
.objective{background:var(--soft);padding:10px 13px;border-radius:6px;font-size:13px}.exercise{border:1px solid var(--line);border-radius:8px;background:var(--theme-background-f8faff,#f8faff);padding:15px;margin:22px 0}.exercise summary{color:var(--blue);cursor:pointer}.exercise .actions{margin-top:14px}.exercise button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
.editor textarea.exercise-field{min-height:100px}

button.primary:hover:not(:disabled),button.primary:active,button.primary:focus-visible{color:#fff;background:#204fa3}.quick-question{left:23px;right:auto}.quick-question:hover:not(:disabled){color:#fff;background:#204fa3}
#workspaceDivider{width:9px;flex:none;cursor:col-resize;touch-action:none;background:var(--line)}#workspaceDivider:hover,#workspaceDivider:focus-visible{background:var(--blue)}.classroom:has(#browserPanel[hidden]) #workspaceDivider{display:none}.resizing-workspace{cursor:col-resize;user-select:none}.resizing-workspace iframe{pointer-events:none}.browser-panel.maximized{width:100%!important}@media(max-width:820px){#workspaceDivider{display:none}.browser-panel{width:100%!important}}

/* Mobile classroom: one focused pane, full tools, touch-sized controls. */
.lesson-tools{display:contents}.mobile-panel-close,.mobile-browser-back{display:none}
@media(max-width:820px){
html,body{height:100%;overscroll-behavior-y:none}#app:has(.classroom){height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.top{flex:none;padding:12px 16px;background:linear-gradient(135deg,var(--theme-background-ffffff,#fff),var(--theme-background-f1f5ff,#f1f5ff));gap:8px}.top>div{min-width:0}.top h1{font-size:17px;line-height:1.4;overflow-wrap:anywhere}.top .eyebrow{font-size:9px}.top>.actions{width:100%;gap:12px}.top .actions a{font-size:12px}.top #logout{margin-left:auto}.top button,.lang button{min-height:40px}
.auth-wrap{padding:18px 16px 30px;margin:0 auto}.intro h2{font-size:30px;line-height:1.25}.intro p{font-size:14px}.intro .numbered{display:flex;margin:8px 0;font-size:12px}.numbered strong{font-size:18px}.auth{padding:22px 18px;border-radius:18px;margin:22px auto}.auth label{font-size:13px}.auth input:not([type=checkbox]){min-height:46px;width:100%}
input,textarea,select{font-size:16px!important}button{min-height:44px}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--blue)}
.lesson-tabs{flex:none;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 12px 0;gap:6px}.lesson-tabs button{flex:0 0 74%;scroll-snap-align:start;font-size:13px;padding:10px 12px;line-height:1.5;min-height:56px}.lesson-tabs button[aria-selected=true]{font-weight:600}
.classroom{height:auto;flex:1;min-height:0}.reader{min-height:0;width:100%}.toolbar{flex:none;padding:8px 12px;gap:7px;background:var(--theme-background-ffffff,white)}.mobile-toc{flex:1;width:0;min-width:0;min-height:44px;border-radius:9px}.toolbar .badge{font-size:10px;white-space:nowrap}.lesson-tools{display:flex;width:100%;overflow:auto;gap:6px;padding-bottom:2px;scrollbar-width:thin}.lesson-tools>*{flex-shrink:0}.toolbar button{font-size:12px;padding:6px 10px}.toolbar #materialVersion{max-width:150px;font-size:12px!important}
.reading{min-height:0;overscroll-behavior:contain;padding:12px 12px 72px}.sheet{padding:22px 18px;border-radius:14px;min-height:100%;overflow-wrap:anywhere}.markdown{font-size:16px;line-height:1.85}.markdown h2{font-size:24px;line-height:1.4}.markdown h3{font-size:18px}.markdown table{font-size:13px}.markdown .table-wrap{max-width:100%;overscroll-behavior-x:contain}.markdown th,.markdown td{min-width:125px}.objective{font-size:14px}.exercise{padding:16px}.exercise summary{padding:8px 0;min-height:44px}.page-label span:last-child{display:none}.page-nav{flex:none;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:10px}.page-nav button{min-width:82px;font-size:14px}.page-nav span{font-size:12px}
.study-panel{position:fixed;inset:14% 0 0;height:auto;z-index:30;border-radius:20px 20px 0 0;box-shadow:0 -20px 80px #182b4340;padding-bottom:env(safe-area-inset-bottom)}.panel-tabs{flex-wrap:wrap;padding:12px;gap:4px}.panel-tabs button{font-size:13px}.panel-tabs .spacer{display:none}#panelPrivacy{order:2;width:100%}.mobile-panel-close{display:block;margin-left:auto}.panel-body{padding:16px 16px 80px}.panel-body textarea{min-height:130px}.question .actions button{min-height:44px;padding:8px}.questions-controls select{min-height:44px;max-width:100%}
.browser-panel,.browser-panel.maximized{top:52px;bottom:0;min-height:0;padding-bottom:env(safe-area-inset-bottom)}.mobile-browser-back{position:fixed;top:0;left:0;right:0;height:52px;border-radius:0;z-index:21;background:var(--blue);color:white;text-align:left;padding-left:16px}.classroom:has(#browserPanel:not([hidden])) .mobile-browser-back{display:block}.browser-tabs{padding:8px}.browser-tabs button{min-height:44px;font-size:12px}.browser-address input{min-height:44px}.browser-address button{font-size:13px}.browser-body{padding:16px}.browser-body .markdown{font-size:16px}.browser-body iframe{min-height:0}.quick-question{left:12px;bottom:calc(79px + env(safe-area-inset-bottom));padding:10px 15px;font-size:13px;min-height:44px}body:has(.study-panel:not([hidden])) .quick-question,body:has(#browserPanel:not([hidden])) .quick-question{bottom:calc(15px + env(safe-area-inset-bottom))}
dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:20px 16px;border-radius:18px;overflow:auto}dialog .close{min-width:44px;min-height:44px}dialog h2{font-size:21px}.faq-tabs button{flex:1;font-size:12px}.faq-card{padding:14px;overflow-wrap:anywhere}#toast{bottom:calc(20px + env(safe-area-inset-bottom));width:max-content;max-width:92%;font-size:13px}
.admin-nav{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.admin-nav button{flex-shrink:0}.admin-grid{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}.card{overflow-wrap:anywhere}.filters{align-items:stretch}.filters label{min-width:0;flex-basis:100%}.filters button{height:auto}.form-grid{min-width:0}.form-grid>*{min-width:0}.table-scroll{max-width:100%}
}
@media(max-width:360px){.top{padding:8px 12px}.top h1{font-size:15px}.top>.actions{gap:8px}.lesson-tabs button{flex-basis:88%}.sheet{padding:18px 14px}.reading{padding:8px 8px 70px}}
@media(max-height:500px) and (max-width:820px){.top>div:first-child{display:none}.lesson-tabs button{min-height:44px}.toolbar{padding:4px 8px}.lesson-tools{max-height:48px}.study-panel{inset:0}.reading{padding-top:8px}}

.browser-home-toolbar{display:flex;align-items:center;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--soft);flex:none}.browser-home-toolbar button{color:var(--blue);font-weight:600;font-size:13px}

.admin-edited{margin:6px;white-space:normal;font-size:11px}.message-history-text{white-space:pre-wrap;overflow-wrap:anywhere}

/* Adjustable chapter, reference-browser and discussion boundaries. */
.pane-divider{flex:none;touch-action:none;background:var(--line);position:relative;z-index:2;user-select:none}
.pane-divider:hover,.pane-divider:focus-visible{background:var(--blue)}
.pane-divider.vertical{width:9px;cursor:col-resize}.pane-divider.horizontal{height:12px;cursor:row-resize}
.pane-divider.horizontal:after{content:"";position:absolute;width:44px;height:4px;border-radius:4px;background:var(--muted);left:calc(50% - 22px);top:4px}
.reader{min-height:0}.reading{min-height:0}.toolbar,.page-nav{flex-shrink:0}
.classroom:has(#studyPanel[hidden]) #studyDivider{display:none}
@media(min-width:821px){.browser-panel{min-width:0}.study-panel{overflow:hidden}.toc{border-right:0}}
@media(max-width:820px){#tocDivider{display:none}#studyDivider{position:fixed;top:calc(var(--study-top,14dvh) - 12px);left:0;right:0;z-index:31;height:12px;border-radius:12px 12px 0 0}.study-panel{top:var(--study-top,14dvh)}}

.historical-note{white-space:pre-wrap;overflow-wrap:anywhere}

/* Give the lesson the viewport; supporting panes are opened on demand. */
#app:has(.classroom){height:100dvh;display:flex;flex-direction:column;overflow:hidden}
#app:has(.classroom)>.top{min-height:46px;padding:5px 14px;flex:none}
#app:has(.classroom)>.top .eyebrow{display:none}
#app:has(.classroom)>.lesson-tabs{flex:none;padding:3px 10px 0;gap:5px}
#app:has(.classroom)>.lesson-tabs button{padding:6px 10px}
#app:has(.classroom)>.classroom{height:auto;flex:1;min-height:0}
.classroom .reading{padding:10px;min-height:0}
.classroom .sheet{max-width:none;padding:18px 24px;border-radius:8px}
.classroom .page-label{margin-bottom:8px}
.classroom .toc{padding:10px 8px}
.classroom .page-nav{padding:5px 10px}
#focusReading{flex:none;color:var(--blue);font-weight:600;white-space:nowrap}
@media(min-width:821px){.classroom .toolbar{flex-wrap:nowrap;padding:5px 8px;min-height:42px;overflow-x:auto}.classroom .toolbar>*{flex-shrink:0}.classroom .toolbar .badge{order:3}.classroom .sheet{font-size:15px;line-height:1.85}.classroom .markdown table{font-size:13px}}
#app.presentation-focus:has(.classroom)>.top,#app.presentation-focus>.lesson-tabs,#app.presentation-focus .toc,#app.presentation-focus #tocDivider,#app.presentation-focus #workspaceDivider,#app.presentation-focus #studyDivider,#app.presentation-focus #studyPanel,#app.presentation-focus #browserPanel,#app.presentation-focus .mobile-browser-back{display:none!important}
#app.presentation-focus .lesson-tools,#app.presentation-focus .toolbar .badge{display:none}
#app.presentation-focus .reading{padding:6px}
#app.presentation-focus .sheet{padding:20px 30px;box-shadow:none}
#app.presentation-focus #focusReading{background:var(--soft)}
@media(max-width:820px){
 #app:has(.classroom)>.top{padding:6px 10px;gap:3px}
 #app:has(.classroom)>.top h1{font-size:15px}
 #app:has(.classroom)>.top>.actions{gap:6px}
 #app:has(.classroom)>.lesson-tabs button{min-height:44px;font-size:12px;flex-basis:65%}
 .classroom .toolbar{padding:5px 8px;gap:5px}
 .classroom .reading{padding:6px 6px 54px}
 .classroom .sheet{padding:16px 14px}
 .classroom .page-nav{padding:5px 10px calc(5px + env(safe-area-inset-bottom))}
 #app.presentation-focus .sheet{padding:16px 14px}
 #app.presentation-focus .mobile-toc{display:block}
}

/* Text selection actions and persistent discussion presentation. */
.discussion-fields{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.discussion-fields label{flex:1;min-width:140px}.discussion-labels{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:8px 0}.selected-quote{margin:10px 0;padding:10px 14px;border-left:3px solid #5378da;border-radius:0 8px 8px 0;background:var(--theme-background-f1f5ff,#f1f5ff);color:var(--theme-color-405477,#405477);white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}
.selection-menu{position:fixed;z-index:90;display:flex;gap:3px;padding:5px;background:var(--theme-background-ffffff,#fff);border:1px solid var(--theme-border-d6e0f6,#d6e0f6);border-radius:13px;box-shadow:0 8px 30px #243c732b;max-width:calc(100vw - 16px)}.selection-menu button{border:0;display:flex;gap:6px;align-items:center;padding:9px 11px;font-size:13px;white-space:nowrap}.selection-menu button span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--theme-background-eaf0ff,#eaf0ff);color:var(--theme-color-285ac9,#285ac9);font-weight:700}.selection-menu button:hover{background:var(--theme-background-edf3ff,#edf3ff)}
.discussion-float{position:fixed;z-index:75;width:440px;height:480px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);min-width:260px;min-height:180px;display:flex;flex-direction:column;border:1px solid var(--theme-border-b9ccef,#b9ccef);border-radius:14px;background:var(--theme-background-ffffff,white);box-shadow:0 12px 48px #1e376b38;overflow:hidden;resize:both}.discussion-float:focus-within{z-index:80}.discussion-float-handle{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--theme-background-edf3ff,#edf3ff);cursor:move;touch-action:none;flex:none}.discussion-float-handle strong{flex:1}.discussion-float-handle button{padding:3px 9px}.discussion-float-content{padding:12px;overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}.discussion-float-content .text{white-space:pre-wrap;overflow-wrap:anywhere}.discussion-float-tools{display:flex;gap:6px;padding:5px 10px;flex:none}.discussion-float-reply{padding:8px 10px;flex:none;border-top:1px solid #e2e9f5}.discussion-float-reply textarea{min-height:54px;height:54px}.discussion-float-reply span{font-size:12px;padding-left:6px}.discussion-float.minimized{height:auto!important;min-height:0;resize:none}.discussion-float.minimized>:not(header){display:none}::highlight(discussion-origin){background:var(--theme-background-ffe39c,#ffe39c);color:var(--theme-color-182744,#182744)}
@media(max-width:820px){.selection-menu button{padding:8px 6px;font-size:12px;min-height:42px}.discussion-float{width:calc(100vw - 24px);height:60dvh;min-width:240px}.discussion-fields{gap:6px}.discussion-fields label{min-width:120px}.discussion-float-tools button{font-size:12px}}

.pinned-badge{background:var(--theme-background-fff3d5,#fff3d5);color:var(--theme-color-805b14,#805b14)}.actions button[data-discussion-pin][aria-pressed=true],.actions button[data-discussion-bookmark][aria-pressed=true],.actions button[data-discussion-like][aria-pressed=true]{background:var(--theme-background-edf3ff,#edf3ff);color:var(--theme-color-2455bc,#2455bc);border-color:var(--theme-bordercolor-9eb6ed,#9eb6ed)}


/* Draggable, edge-collapsible global question control. */
#quickDock{position:fixed;z-index:50;display:flex;align-items:stretch;border-radius:24px;background:var(--blue);box-shadow:0 4px 18px #153e7b30;max-width:calc(100vw - 8px)}#quickDock[hidden]{display:none}#quickDock #quickQuestion{position:static;inset:auto;min-height:44px;padding:9px 12px;border-radius:24px 0 0 24px;border:0;box-shadow:none;touch-action:none;user-select:none;cursor:grab;white-space:nowrap;font-size:13px}#quickDock #quickDockToggle{min-height:44px;width:32px;padding:4px;border:0;border-left:1px solid #ffffff35;border-radius:0 24px 24px 0;background:transparent;color:white;font-size:22px}#quickDock #quickDockToggle:hover{background:#194896}#quickDock.dragging{opacity:.86;box-shadow:0 6px 24px #153e7b55}#quickDock.dragging #quickQuestion{cursor:grabbing}#quickDock.collapsed{box-shadow:0 2px 10px #153e7b20;border-radius:0 14px 14px 0}#quickDock.collapsed #quickQuestion{width:44px;padding:4px;border-radius:inherit;opacity:.8}#quickDock.collapsed[data-side=right]{border-radius:14px 0 0 14px}#quickDock button:focus-visible{outline:3px solid #f0b848;outline-offset:2px}
@media(max-width:820px){#quickDock #quickQuestion{padding:8px 10px;font-size:12px}#quickDock #quickDockToggle{width:36px}#quickDock.collapsed #quickQuestion{width:44px;padding:4px}}

/* On phones, the header, lesson tabs and toolbar share the lesson scroll. */
@media(max-width:820px){
 #app:has(.classroom){overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto}
 #app:has(.classroom)>.classroom{flex:none;min-height:0}
 .classroom .reader{flex:none;min-width:0}
 .classroom .reading{flex:none;overflow:visible;overscroll-behavior:auto}
 .classroom .sheet{min-height:0}
}

/* A single live notes/discussion panel can occupy a workspace tab. */
#browserBody:has(>.workspace-study){padding:0;overflow:hidden;display:flex;flex-direction:column}
#browserBody>.workspace-study{position:static;inset:auto;flex:1!important;width:100%;height:100%!important;min-height:0;border:0;border-radius:0;box-shadow:none;padding:0}
.workspace-study .panel-body{flex:1;min-height:0;overflow:auto}
.workspace-study .panel-tabs{flex-wrap:wrap}
.workspace-study #panelPrivacy{width:100%;order:2}
.workspace-study .mobile-panel-close,.study-docked #studyDivider{display:none!important}

.image-composer{margin:8px 0 12px}.image-previews,.message-images{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.image-previews figure{margin:0;padding:8px;border:1px solid var(--line);border-radius:10px;max-width:190px;background:var(--bg)}.image-previews img{width:100%;height:110px;object-fit:contain;border-radius:6px}.image-previews figcaption{font-size:11px;color:var(--muted)}.image-previews button{font-size:11px;padding:4px 7px;margin:3px}.message-images a{display:block;max-width:240px}.message-images img{display:block;max-width:100%;width:auto;height:auto;max-height:240px;border-radius:8px;border:1px solid var(--line);object-fit:contain}.workspace-study .message-images a{max-width:360px}.image-status{color:var(--muted)}

/* Keep lesson navigation within its pane; give the workspace one compact strip. */
.lesson-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
.lesson-panes{display:flex;flex:1;min-height:0;min-width:0}
.lesson-pane>.lesson-tabs{flex:none;padding:3px 8px 0;gap:4px;overflow-x:auto}
.lesson-pane>.lesson-tabs button{padding:5px 8px;font-size:12px;min-width:0}
.workspace-tools{display:flex;align-items:center;gap:3px;flex:none;height:38px;min-width:0;padding:3px;background:var(--bg);border-bottom:1px solid var(--line)}
.workspace-tools .browser-home-toolbar{padding:0;border:0;background:none}
.workspace-tools .browser-tabs{flex:1;min-width:70px;padding:0;border:0;gap:2px;scrollbar-width:thin}
.workspace-tools button{height:28px;min-height:28px;padding:2px 6px;font-size:12px;line-height:20px}
.workspace-tools .browser-tabs [data-tab]{max-width:130px}
.workspace-tools .browser-address{flex:0 1 160px;min-width:90px;gap:2px;padding:0;border:0}
.workspace-tools .browser-address input{width:0;min-width:25px;min-height:28px;height:28px;padding:2px 4px}
.workspace-tools .browser-address button{padding:2px 4px}
#app.presentation-focus .lesson-pane>.lesson-tabs{display:none!important}
@media(max-width:820px){
 .lesson-pane,.lesson-panes{flex:none;width:100%}
 .lesson-pane>.lesson-tabs button{flex:0 0 65%;min-height:44px}
 .workspace-tools{height:48px}
 .workspace-tools button,.workspace-tools .browser-address input{height:40px;min-height:40px}
 .workspace-tools .browser-address{flex-basis:110px}
}

/* Consistent, accessible lesson tools with localized native tooltips. */
.classroom .toolbar .lesson-tool{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);white-space:nowrap}
.classroom .toolbar .lesson-tool:hover,.classroom .toolbar .lesson-tool:focus-visible{background:var(--soft);border-color:var(--line);color:var(--blue)}
.classroom .toolbar .lesson-tool[aria-pressed=true]{background:var(--soft);color:var(--blue)}
.classroom .toolbar .lesson-tool svg{flex:none;pointer-events:none}
.classroom .toolbar .badge{white-space:nowrap}
@media(max-width:820px){.classroom .toolbar .lesson-tool{width:44px;height:44px;min-height:44px;flex-basis:44px}.lesson-tools{gap:3px}}

.earlier-revisions{margin:12px 0;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.earlier-revisions>summary{cursor:pointer;color:var(--blue);font-size:13px;padding:4px 0}.earlier-revisions[open]>summary{margin-bottom:8px}

.lesson-diagram{margin:18px 0;text-align:center}.diagram-open{display:block;width:100%;padding:12px;background:var(--theme-background-ffffff,white);border:1px solid var(--line);border-radius:10px;cursor:zoom-in}.diagram-open img{display:block;width:100%;max-height:520px;object-fit:contain}.lesson-diagram figcaption{font-size:12px;color:var(--muted);padding:5px}.diagram-viewer[open]{display:flex;flex-direction:column;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--theme-background-f5f7fb,#f5f7fb)}.diagram-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--theme-background-ffffff,white);flex:none}.diagram-controls span{flex:1;font-size:12px;color:var(--muted)}.diagram-controls button{font-size:12px;min-height:36px}.diagram-stage{flex:1;position:relative;min-height:0;overflow:hidden;touch-action:none;cursor:grab;user-select:none}.diagram-stage:active{cursor:grabbing}.diagram-stage img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}@media(max-width:820px){.diagram-controls span{flex-basis:100%}.diagram-controls button{min-height:44px;flex:1;padding:6px}.diagram-controls{padding-top:calc(8px + env(safe-area-inset-top))}}

/* Compact shared dock: preserve the original footprint on desktop and mobile. */
#quickDock:not(.collapsed){width:88px;height:44px}#quickDock:not(.collapsed) #quickQuestion,#quickDock #quickShare{width:36px;min-width:0;min-height:44px;padding:8px;flex:0 0 36px;border:0;box-shadow:none;color:white;background:transparent}#quickDock #quickShare{border-radius:0;touch-action:manipulation}#quickDock #quickShare:hover{background:#194896}#quickDock:not(.collapsed) #quickDockToggle{width:16px;min-width:0;padding:0;flex:0 0 16px;font-size:18px}#quickDock svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#quickDock [hidden]{display:none!important}#dialogContent .ppt-qr{display:block;width:220px;max-width:100%;height:auto;margin:16px auto}

/* Same sharing dialog layout in the classroom and PPT reader. */
dialog:has(.reading-share){width:min(560px,calc(100vw - 24px));overflow:auto}
.reading-share{clear:both;min-width:0;display:flex;flex-direction:column;gap:16px}
.reading-share h2,.reading-share p{margin:0;overflow-wrap:anywhere}
.reading-share h2{font-size:21px;line-height:1.4}
.reading-share form{display:flex;flex-direction:column;gap:16px;margin:0}
.reading-share label{margin:0;font-size:13px;gap:8px}
.reading-share input:not([type=checkbox]),.reading-share select{width:100%;max-width:100%;min-height:44px}
.reading-share .share-consent{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:14px;background:var(--soft);border-radius:8px;line-height:1.7}
.reading-share .share-consent input{width:18px;height:18px;margin:3px 0 0;padding:0;accent-color:var(--blue)}
.reading-share button{min-height:44px;white-space:normal}
.reading-share .actions{display:flex;flex-wrap:wrap;gap:8px}
.reading-share .actions button{flex:1}
.reading-share #myShares{align-self:center;border-color:transparent;color:var(--blue)}
.reading-share #shareUrl{width:100%;margin:0;font-size:13px}
.reading-share #pptError{margin:0;color:var(--theme-color-b12e35,#b12e35);font-size:13px}
.reading-share #pptError:empty{display:none}
.reading-share .card{margin:0;padding:14px}
#dialogContent .reading-share .ppt-qr,.reading-share .ppt-qr{width:220px;max-width:100%;height:auto;align-self:center;margin:0}
@media(max-width:480px){dialog:has(.reading-share){padding:16px}.reading-share{gap:14px}.reading-share .share-consent{padding:12px}}
.sa-dashboard{max-width:1400px;margin:auto}.sa-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:12px 0 24px}.sa-heading h1{font-size:30px;margin:6px 0}.sa-heading p{color:var(--muted);margin:0}.sa-badge{background:var(--theme-background-edf3ff,#edf3ff);color:var(--theme-color-285ba8,#285ba8);padding:7px 12px;border-radius:30px;font-size:12px;white-space:nowrap}.sa-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:18px 0}.sa-filters label{margin:0;min-width:140px}.sa-filters button{min-height:42px}.sa-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.sa-chips span{font-size:12px;background:var(--theme-background-e8effc,#e8effc);border-radius:16px;padding:4px 10px;overflow-wrap:anywhere}.sa-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:22px}.sa-kpi{padding:20px;background:linear-gradient(145deg,var(--theme-background-ffffff,#fff),var(--theme-background-f0f5ff,#f0f5ff));border:1px solid var(--line);border-radius:16px}.sa-kpi span{display:block;font-size:12px;color:var(--muted)}.sa-kpi strong{font-size:30px;font-weight:650;letter-spacing:-.03em;color:var(--theme-color-244e87,#244e87)}.sa-kpi.sa-warn{background:var(--theme-background-fff8f0,#fff8f0)}.sa-kpi.sa-warn strong{color:var(--theme-color-ac4d2a,#ac4d2a)}.sa-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sa-card{background:var(--theme-background-ffffff,#fff);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px;min-width:0}.sa-grid .sa-card{margin:0}.sa-wide{grid-column:1/-1}.sa-grid{margin-bottom:18px}.sa-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.sa-section-title h2{margin:0}.sa-section-title>span{font-size:12px}.sa-dot{display:inline-block;width:9px;height:9px;background:#4b7dda;border-radius:50%;margin:0 5px}.sa-dot.danger{background:#e98358}.sa-timeline{display:flex;align-items:end;gap:6px;overflow-x:auto;margin:20px 0 8px;min-height:190px}.sa-timeline button{border:0;background:transparent;min-width:54px;flex:1;padding:4px}.sa-bars{height:145px;display:flex;flex-direction:column;justify-content:end;gap:1px}.sa-bars i{display:block;background:#4b7dda;border-radius:4px;min-height:0}.sa-bars i.danger{background:#e98358}.sa-timeline button:hover{background:var(--theme-background-f0f5ff,#f0f5ff)}.sa-timeline small{font-size:10px;white-space:nowrap}.sa-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto}.sa-signals button{display:flex;align-items:center;gap:14px;text-align:left;background:var(--theme-background-fffaf4,#fffaf4);border-color:var(--theme-bordercolor-f0ddc4,#f0ddc4);padding:16px}.sa-signals small,.sa-ranking small{display:block;color:var(--muted);font-size:11px}.sa-signal-number{font-size:26px;font-weight:700;color:var(--theme-color-b85b2b,#b85b2b)}.sa-signals b{font-size:13px}.sa-ranking{display:flex;position:relative;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:12px 8px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;overflow:hidden}.sa-ranking i{position:absolute;bottom:0;left:0;height:4px;background:#729bdf;border-radius:2px}.sa-ranking span{font-size:13px;overflow-wrap:anywhere}.sa-empty{color:var(--muted);padding:24px 4px}.sa-method{color:var(--muted);padding:12px;font-size:12px}.sa-method summary{cursor:pointer}.sa-dashboard .data button{font-size:11px;padding:3px 6px}.sa-dashboard #saError{color:var(--theme-color-b12e35,#b12e35)}@media(max-width:900px){.sa-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sa-grid{grid-template-columns:1fr}.sa-signals{grid-template-columns:1fr}.sa-heading{align-items:start;flex-direction:column}}@media(max-width:480px){.sa-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sa-kpi{padding:14px}.sa-card{padding:16px}.sa-section-title{flex-wrap:wrap}.sa-filters label{min-width:0;flex:1 1 40%}.sa-filters input,.sa-filters select{width:100%}.sa-heading h1{font-size:26px}}

.sa-timeline{background:repeating-linear-gradient(to top,transparent 0,transparent 46px,var(--theme-background-edf1f7,#edf1f7) 47px,transparent 48px)}.sa-timeline button{flex:0 0 78px;max-width:78px}.sa-heat{overflow-x:auto}.sa-heat-row{display:grid;grid-template-columns:48px repeat(24,minmax(18px,1fr));gap:4px;min-width:620px;margin:4px 0;align-items:center;font-size:11px}.sa-heat-row button{padding:0;height:24px;min-width:0;border:0;border-radius:4px;background:var(--theme-background-f1f4f9,#f1f4f9);font-size:9px;color:var(--theme-color-64738b,#64738b)}.sa-heat-row .reading{background:#7da7e9;color:var(--theme-color-183c72,#183c72)}.sa-heat-row .warm{background:var(--theme-background-f9d5b7,#f9d5b7);color:var(--theme-color-874122,#874122)}.sa-heat-row .hot{background:#e98358;color:var(--theme-color-492411,#492411)}.sa-heat-row button:hover{outline:2px solid #275ec0;outline-offset:1px}

/* Breadcrumbs wrap long course titles on narrow screens. */
.breadcrumbs{flex:none;padding:8px 20px;font-size:13px;border-bottom:1px solid #dce3eb;background:var(--theme-background-ffffff,#fff);min-width:0}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;list-style:none;padding:0;margin:0}.breadcrumbs li{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%;overflow-wrap:anywhere}.breadcrumbs li+li:before{content:"/";color:var(--theme-color-8793a5,#8793a5)}.breadcrumbs a{color:var(--theme-color-345b85,#345b85);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs a:focus-visible{outline:2px solid #345b85;outline-offset:3px}.breadcrumbs [aria-current]{color:var(--theme-color-42536b,#42536b)}@media(max-width:820px){.breadcrumbs{padding:8px 12px;font-size:12px}}

.admin-shell:has(>#adminMain){display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;max-width:1600px;align-items:start;padding-top:28px}.admin-shell>#adminMain{min-width:0}.admin-shell:has(>#adminMain)>.admin-nav{position:sticky;top:20px;display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;max-height:calc(100vh - 40px);overflow:auto;padding:16px 12px;background:var(--theme-background-ffffff,white);border:1px solid var(--line);border-radius:14px}.admin-shell:has(>#adminMain)>.admin-nav button{text-align:left;border-color:transparent;padding:12px 14px;font-size:14px;white-space:normal}.admin-shell>#adminMain>.card:first-child{margin-top:0}@media(max-width:800px){.admin-shell:has(>#adminMain){grid-template-columns:1fr;gap:16px}.admin-shell:has(>#adminMain)>.admin-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;margin:0;padding:10px}.admin-shell:has(>#adminMain)>.admin-nav button{font-size:12px;padding:9px}}

#quickDock:not(.collapsed):has(#quickCreateClassroom:not([hidden])){width:124px}#quickDock #quickCreateClassroom{width:36px;flex:0 0 36px;min-height:44px;padding:8px;display:flex;align-items:center;color:white;text-decoration:none;background:transparent}#quickDock #quickCreateClassroom:hover{background:#194896}#quickDock #quickCreateClassroom:focus-visible{outline:3px solid #f0b848;outline-offset:2px}

/* Breadcrumbs occupy the existing title slot, never a separate header row. */
.top>div:first-child:has(.breadcrumbs ol){flex:1 1 240px;min-width:80px;overflow:hidden}
.top>div:first-child:has(.breadcrumbs ol)>h1,.top>div:first-child:has(.breadcrumbs ol)>.eyebrow{display:none}
.top .breadcrumbs,.ppt-top .breadcrumbs{padding:0;border:0;background:transparent;max-width:100%;overflow-x:auto;white-space:nowrap;font-size:12px}
.top .breadcrumbs ol,.ppt-top .breadcrumbs ol{flex-wrap:nowrap;width:max-content;gap:4px 6px}
.top .breadcrumbs li,.ppt-top .breadcrumbs li{flex:none;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .breadcrumbs a,.top .breadcrumbs span,.ppt-top .breadcrumbs a,.ppt-top .breadcrumbs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ppt-top>div:first-child:has(.breadcrumbs)>strong,.ppt-top>div:first-child:has(.breadcrumbs)>span{display:none}
@media(max-width:820px){.top .breadcrumbs li,.ppt-top .breadcrumbs li{max-width:120px}}

.admin-nav .sidebar-usage{border-top:1px solid var(--line);padding:14px 2px 2px;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5;grid-column:1/-1}
.sidebar-usage h2{font-size:12px;color:var(--ink);margin:0 0 9px}.sidebar-usage dl{margin:0}.sidebar-usage dl>div{display:flex;justify-content:space-between;gap:8px;margin:6px 0}.sidebar-usage dt{flex:none}.sidebar-usage dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sidebar-usage p{margin:10px 0 0;font-size:10px}

.course-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.course-list-heading h2{margin:0}.course-list-heading label{min-width:0;flex:0 1 340px}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;margin-top:16px}.course-tile{display:flex;flex-direction:column;align-items:stretch;text-align:start;gap:8px;padding:18px;min-width:0;white-space:normal}.course-tile[hidden]{display:none}.course-tile[aria-pressed=true]{border:2px solid var(--primary,#285cca);box-shadow:0 0 0 2px #285cca18}.course-tile-title{font-size:1.05rem;font-weight:700;overflow-wrap:anywhere}.course-tile-subtitle{opacity:.75;overflow-wrap:anywhere}.course-tile-state{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem}.course-tile-state span{padding:3px 8px;border-radius:20px;background:#80808012}.course-tile-action{margin-top:auto;padding-top:8px;font-weight:600}.course-tile:focus-visible{outline:3px solid #638bea;outline-offset:3px}
