/* Academy operations extend the Library and Board & Rook teaching world. */
html:has(.is-dashboard) { background: #faf9f6; scrollbar-color: #bbb9b3 #f0efeb; }
.auth.is-dashboard {
  --dash-paper: #faf9f6; --dash-rail: #f0efeb; --dash-soft: #eae9e4;
  --dash-ink: #171717; --dash-muted: #62615d; --dash-line: #deddd7;
  --dash-outline: #aaa8a1; --dash-green: #171717; --dash-hover: #e3e2dc;
  --dash-on-action: #fff; --dash-action-hover: #343434; --dash-error: #a32f28;
  --on-dark: var(--dash-ink); --on-dark-dim: var(--dash-muted); --on-dark-faint: var(--dash-muted);
  --on-light: var(--dash-ink); --on-light-dim: var(--dash-muted); --on-light-faint: var(--dash-muted);
  --hair: var(--dash-line); --hair-strong: var(--dash-outline); --void: var(--dash-paper);
  --ebony: var(--dash-soft); --ebony-2: var(--dash-rail); --ebony-3: var(--dash-hover);
  --fg: var(--dash-ink); --fg-inv: var(--dash-paper); --knight: var(--dash-green);
  color-scheme: light; background: var(--dash-paper); color: var(--dash-ink); font: 500 16px/1.5 var(--sans);
}
html[data-dashboard-theme="dark"]:has(.is-dashboard) { background: #101010; scrollbar-color: #66645f #191919; }
html[data-dashboard-theme="dark"] .auth.is-dashboard {
  --dash-paper: #101010; --dash-rail: #191919; --dash-soft: #242424;
  --dash-ink: #f2f1ed; --dash-muted: #b7b5ae; --dash-line: #363636;
  --dash-outline: #686660; --dash-green: #f2f1ed; --dash-hover: #303030;
  --dash-on-action: #101010; --dash-action-hover: #d8d6cf; --dash-error: #ffaaa1;
  color-scheme: dark;
}
.auth.is-dashboard.is-library {
  --lib-ink: var(--dash-ink); --lib-muted: var(--dash-muted); --lib-paper: var(--dash-paper);
  --lib-sidebar: var(--dash-rail); --lib-soft: var(--dash-soft); --lib-track: var(--dash-rail);
  --lib-line: var(--dash-line); --lib-control-line: var(--dash-outline); --lib-green: var(--dash-green);
  color-scheme: inherit;
}
.dash-theme { display: inline-flex; align-items: center; flex: none; gap: 2px; padding: 3px; border: 1px solid var(--dash-line); border-radius: 12px; background: var(--dash-rail); }
.dash-theme button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--dash-muted); }
.dash-theme button:hover { background: var(--dash-hover); color: var(--dash-ink); }
.dash-theme button[aria-pressed="true"] { background: var(--dash-green); color: var(--dash-on-action); border-color: var(--dash-green); }
.dash-help { padding: 18px 22px; margin: 0 0 24px; border: 1px solid var(--dash-line); border-radius: 16px; color: var(--dash-muted); font-size: 14px; }
.dash-help ol { display: flex; flex-wrap: wrap; gap: 12px 38px; margin: 10px 0 0; padding-left: 20px; }
.dash-help p { margin: 8px 0 0; }
.dash-help strong { color: var(--dash-ink); }
.dash-main .manage-form details { padding: 8px 0; }
.dash-main .manage-form details > .manage-form { margin-top: 8px; }
.dash-main .manage-form .auth-help { margin: 0; font-size: 13px; color: var(--dash-muted); }
.dash-class-next { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 22px; }
.is-dashboard ::selection { color: var(--dash-ink); background: var(--dash-hover); }
.is-dashboard :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--dash-green); outline-offset: 4px; box-shadow: none; }
.is-dashboard :is(h1,h2,h3,h4) { color: var(--dash-ink); font-family: var(--display); letter-spacing: -.025em; text-wrap: balance; }
.is-dashboard :is(button,input,select,textarea) { font: inherit; letter-spacing: 0; }
.is-dashboard a { color: var(--dash-green); text-underline-offset: 4px; }
.is-dashboard button { cursor: pointer; }
.is-dashboard [hidden] { display: none !important; }
.is-dashboard :is(input,textarea) { caret-color: var(--dash-green); }
.is-dashboard :is(input,textarea)::placeholder { color: var(--dash-muted); opacity: 1; }
.is-dashboard :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--dash-green) !important; }
.is-dashboard .pg-skip:focus { background: var(--dash-green); color: var(--dash-on-action); }
.dash-layout { display: grid; grid-template-columns: 248px minmax(0,1fr); min-height: 100dvh; }
.dash-sidebar { position: sticky; top: 0; z-index: 40; display: flex; flex-direction: column; width: 248px; height: 100dvh; padding: 26px 16px 18px; overflow-y: auto; background: var(--dash-rail); color: var(--dash-ink); }
.dash-brand.navbar-brand { display: flex; align-items: center; justify-content: space-between; min-height: 36px; padding: 0 12px; margin-bottom: 34px; }
.dash-brand .auth-brand { color: var(--dash-ink); }
.dash-workspace-label { margin: 0 12px 12px; color: var(--dash-muted); font: 500 13px/1.4 var(--sans); }
.dash-nav,.dash-sidebar-bottom { display: grid; gap: 5px; }
.dash-nav .nav-link,.dash-sidebar-bottom .nav-link { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 11px 12px; border: 0; border-radius: 12px; color: var(--dash-muted); text-decoration: none; font: 500 14px/1.5 var(--sans); transition: background-color 160ms,color 160ms; }
.dash-nav .nav-link:hover,.dash-sidebar-bottom .nav-link:hover { color: var(--dash-green); background: var(--dash-hover); }
.dash-nav .nav-link[aria-current="page"],.dash-sidebar-bottom .nav-link[aria-current="page"] { color: var(--dash-on-action); background: var(--dash-green); }
.dash-icon { flex: none; color: currentColor; }
.dash-nav .nav-link span,.dash-sidebar-bottom .nav-link span { min-width: 0; }
.dash-sidebar-bottom { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--dash-line); }
.dash-auth-pending .dash-nav [data-nav] { display: none; }
.dash-auth-pending .dash-nav::after { content: "Loading workspace…"; padding: 12px; color: var(--dash-muted); font-size: 13px; }
.dash-workarea { min-width: 0; background: var(--dash-paper); }
.dash-topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 16px; min-height: 70px; padding: 12px 40px; border-bottom: 1px solid var(--dash-line); background: var(--dash-paper); }
.dash-breadcrumb { display: flex; align-items: center; flex: 1; gap: 14px; min-width: 0; color: var(--dash-muted); font-size: 13px; }
.dash-workspace-prefix { display: inline-flex; align-items: center; flex: none; gap: 14px; white-space: nowrap; }
.dash-top-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--dash-ink); font-weight: 500; white-space: nowrap; }
.dash-user { min-width: 0; max-width: 30vw; margin-left: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--dash-muted); font-size: 12px; }
.dash-avatar { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border: 0; border-radius: 50%; color: var(--dash-green); background: var(--dash-soft); }
.dash-avatar:hover { background: var(--dash-hover); }
.dash-menu,.dash-close,.dash-scrim { display: none; }
.dash-content,.dash-main.con-main,.is-dashboard.is-library .library-main { width: 100%; max-width: 1224px; min-height: calc(100dvh - 70px); margin: 0 auto; padding: 40px 40px 28px; color: var(--dash-ink); background: var(--dash-paper); }
.dash-page-heading { margin-bottom: 30px; }
.dash-page-heading h1,.dash-main .mg-heading h1 { margin: 0 0 10px; font: 700 36px/1.12 var(--display); letter-spacing: -.035em; }
.dash-page-heading > p:last-child,.dash-main .mg-heading > p { max-width: 70ch; margin: 0; font-size: 15px; line-height: 1.6; color: var(--dash-muted); }
.is-dashboard .auth-eyebrow { display: none; }
.dash-welcome { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 22px; border-bottom: 1px solid var(--dash-line); margin-bottom: 24px; }
.dash-welcome h2 { margin: 0; font: 500 20px/1.3 var(--display); }
.dash-welcome .mono { margin: 7px 0 0; color: var(--dash-muted); font: 500 13px/1.5 var(--sans); }
.dash-teaching-feature { display: grid; grid-template-columns: minmax(0,1fr) 210px; align-items: center; gap: 32px; padding: 30px 38px; border-radius: 24px; background: var(--dash-soft); margin-bottom: 32px; }
.dash-teaching-feature h2 { font: 700 30px/1.15 var(--display); margin: 0 0 12px; }
.dash-teaching-feature p { max-width: 47ch; margin: 0 0 22px; color: var(--dash-muted); font-size: 15px; line-height: 1.6; }
.dash-feature-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.dash-feature-actions > a:not(.btn) { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 13px; text-decoration: none; }
.dash-feature-actions > a:not(.btn):hover { text-decoration: underline; }
.dash-feature-board { display: grid; grid-template-columns: repeat(8,1fr); width: 210px; aspect-ratio: 1; border-radius: 10px; overflow: hidden; }
.dash-feature-board > span { display: grid; place-items: center; aspect-ratio: 1; background: #dfddd4; }
.dash-feature-board > span.dark { background: #7a7a74; }
.dash-feature-board img { width: 95%; height: 95%; }
.dash-live-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; margin: 24px 0 28px; }
.dash-live-panel { min-width: 0; color: var(--dash-ink); }
.dash-live-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.dash-live-head h2 { margin: 0; font: 700 21px/1.2 var(--display); }
.dash-live-head > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--dash-green); font-size: 13px; text-decoration: none; white-space: nowrap; }
.dash-live-head > a:hover { text-decoration: underline; }
.dash-live-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--dash-line); }
.dash-live-list:empty { display: none; }
.dash-live-list li { min-width: 0; border-bottom: 1px solid var(--dash-line); }
.dash-live-list li > a { display: grid; gap: 5px; padding: 14px 4px; text-decoration: none; border-radius: 8px; }
.dash-live-list li > a:hover { background: var(--dash-soft); }
.dash-live-primary { font: 500 16px/1.3 var(--display); color: var(--dash-ink); overflow-wrap: anywhere; }
.dash-live-meta { font-size: 12px; color: var(--dash-muted); overflow-wrap: anywhere; }
.dash-live-panel [role="status"] { font-size: 13px; line-height: 1.6; color: var(--dash-muted); }
.dash-live-panel [role="status"]:empty { display: none; }
.dash-live-panel .dash-empty { min-height: 130px; margin: 0; padding: 24px; border-radius: 16px; background: var(--dash-rail); display: grid; align-content: center; gap: 8px; }
.dash-empty strong { color: var(--dash-ink); font: 500 16px/1.3 var(--display); }
.dash-empty a { width: fit-content; padding: 4px 0; font-size: 13px; min-height: 32px; }
.dash-quick-links { display: flex; flex-wrap: wrap; gap: 10px 28px; padding: 10px 0 22px; }
.dash-quick-links a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; text-decoration: none; }
.dash-quick-links a:hover { text-decoration: underline; }
.dash-secondary,.dash-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; border-top: 1px solid var(--dash-line); padding: 12px 0; }
.dash-secondary a,.dash-footer a,.dash-footer button { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--dash-muted); font: 500 13px/1.4 var(--sans); text-decoration: none; }
.dash-secondary a:hover,.dash-footer a:hover,.dash-footer button:hover { color: var(--dash-green); text-decoration: underline; }
.dash-footer button { padding: 0; border: 0; background: transparent; }
.dash-info-panel { max-width: 800px; padding: 26px 30px; border: 1px solid var(--dash-line); border-radius: 16px; }
.dash-facts { margin: 0; }
.dash-facts > div { display: grid; grid-template-columns: minmax(120px,.7fr) minmax(0,1.3fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--dash-line); }
.dash-facts > div:last-child { border: 0; }
.dash-facts dt { color: var(--dash-muted); font-size: 14px; }
.dash-facts dd { margin: 0; color: var(--dash-ink); font-size: 15px; overflow-wrap: anywhere; }
.dash-note,.dash-info-panel > .mono { font: 500 14px/1.6 var(--sans); color: var(--dash-muted); }
.dash-account-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.is-dashboard .btn,.is-dashboard button.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: auto; min-height: 46px; padding: 11px 20px; border: 1px solid transparent; border-radius: 28px; color: var(--dash-on-action); background: var(--dash-green); box-shadow: none; font: 500 13px/1.4 var(--sans); text-decoration: none; transition: background-color 160ms; }
.is-dashboard .btn:hover { background: var(--dash-action-hover); color: var(--dash-on-action); box-shadow: none; transform: none; }
.is-dashboard .btn-ghost,.is-dashboard .btn-light { background: var(--dash-paper); color: var(--dash-green); border-color: var(--dash-outline); }
.is-dashboard .btn-ghost:hover,.is-dashboard .btn-light:hover { background: var(--dash-soft); color: var(--dash-green); border-color: var(--dash-green); }
.is-dashboard button:disabled,.is-dashboard .btn:disabled { opacity: .5; cursor: default; transform: none; }
.dash-main .con-top { display: none; }
.is-dashboard .con-gate { min-height: 0; margin: 0; padding: 32px 0; text-align: left; color: var(--dash-muted); font: 500 15px/1.6 var(--sans); }
.is-dashboard .con-gate p { margin: 0 0 16px; }
.dash-main .mg-heading { margin: 0 0 28px; }
.dash-main .mg-heading h2 { margin: 0 0 8px; font: 500 24px/1.25 var(--display); }
.dash-main #manage-role { display: none; }
.dash-main .mg-heading p { font-size: 14px; line-height: 1.6; color: var(--dash-muted); }
.dash-main .manage-area-links { display: flex; flex-wrap: wrap; gap: 24px; margin: 12px 0 0; }
.dash-main .manage-area-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; }
.is-dashboard .dash-main .manage-panel { min-width: 0; padding: 24px; margin: 0 0 24px; border: 1px solid var(--dash-line); border-radius: 16px; background: var(--dash-paper); box-shadow: none; color: var(--dash-ink); }
.is-dashboard .dash-main .manage-panel :is(h2,h3,summary) { color: var(--dash-ink); }
.dash-main .manage-panel h2 { margin: 0 0 18px; font: 700 21px/1.25 var(--display); }
.dash-main .manage-panel h3 { margin: 28px 0 16px; font: 500 18px/1.3 var(--display); }
.is-dashboard .dash-main .manage-panel p { color: var(--dash-muted); font: 500 14px/1.6 var(--sans); overflow-wrap: anywhere; }
.dash-main .manage-panel p:empty { display: none; }
.dash-main .manage-panel summary { cursor: pointer; min-height: 44px; font: 500 18px/1.4 var(--display); }
.dash-main .manage-form { display: grid; gap: 10px; margin: 20px 0 0; }
.dash-main .manage-form label { margin-top: 8px; color: var(--dash-ink); font: 500 14px/1.4 var(--sans); }
.is-dashboard .dash-main .manage-form :is(input,select,textarea),.dash-management input[type="search"],.is-dashboard .dash-main .bookmark-panel :is(input,select) { min-width: 0; width: 100%; min-height: 46px; border: 1px solid var(--dash-outline); border-radius: 12px; padding: 11px 13px; background: var(--dash-paper); color: var(--dash-ink); font: 500 14px/1.5 var(--sans); }
.dash-main .manage-form select option { background: var(--dash-paper); color: var(--dash-ink); }
.dash-main .manage-form input[type="checkbox"] { min-height: 18px; width: 18px; padding: 0; }
.dash-main .manage-form input[aria-invalid="true"] { border-color: var(--dash-error); }
.dash-main .manage-form > .btn { justify-self: start; margin-top: 14px; }
.dash-main .manage-inline { flex-wrap: wrap; align-items: center; gap: 10px; }
.dash-main .manage-inline > h2 { margin: 0 auto 0 0; }
.dash-main .manage-inline input { min-width: 100px; }
.dash-main .manage-inline > label { font-size: 14px; }
.dash-main .manage-form > .manage-inline { margin-top: 14px; }
.dash-main .manage-list { margin: 18px 0; border-top: 1px solid var(--dash-line); }
.dash-main .manage-list li { min-width: 0; padding: 8px 0; border-bottom: 1px solid var(--dash-line); }
.dash-main .manage-list button { min-width: 0; min-height: 48px; padding: 12px; border: 0; border-radius: 10px; background: transparent; color: var(--dash-ink); text-align: left; font: 500 14px/1.5 var(--sans); box-shadow: none; }
.dash-main .manage-list button:hover { background: var(--dash-soft); }
.dash-main .manage-list button[aria-pressed="true"] { background: var(--dash-green); color: var(--dash-on-action); }
.dash-main .manage-list button[aria-pressed="true"] .manage-row-meta { color: var(--dash-on-action); }
.dash-main .manage-row-title { color: inherit; font: 500 16px/1.3 var(--display); overflow-wrap: anywhere; }
.dash-main .manage-row-meta { margin-top: 5px; color: var(--dash-muted); font: 500 12px/1.5 var(--sans); overflow-wrap: anywhere; }
.dash-main .manage-form .field-error { color: var(--dash-error); }
.dash-main .manage-form .field-error:empty { display: none; }
.dash-main #activity-list { color: var(--dash-muted); font-size: 13px; }
.dash-main .mg-stats,.dash-live-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 20px 0 28px; background: var(--dash-soft); border-radius: 16px; padding: 20px; }
.dash-main .mg-stats > div,.dash-live-stats > div { min-width: 0; padding: 12px 20px; background: transparent; border: 0; border-right: 1px solid var(--dash-line); }
.dash-main .mg-stats > div:last-child,.dash-live-stats > div:last-child { border: 0; }
.dash-main .mg-stats dt,.dash-live-stats dt { color: var(--dash-muted); font-size: 13px; }
.dash-main .mg-stats dd,.dash-live-stats dd { margin: 8px 0 0; color: var(--dash-green); font: 500 28px/1.1 var(--display); font-variant-numeric: tabular-nums; }
.dash-main .curriculum-grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
.dash-main .curriculum-report { background: var(--dash-rail); color: var(--dash-ink); border-color: var(--dash-line); }
.dash-main .curriculum-detail { border-top-color: var(--dash-line); }
.dash-main .funnel-chart-wrap { border-radius: 12px; background: var(--dash-soft); border: 0; box-shadow: none; }
.dash-main .funnel-axis,.dash-main .funnel-label,.dash-main .funnel-empty { fill: var(--dash-muted); }
.dash-main .funnel-home { stroke: var(--dash-green); color: var(--dash-green); }
.dash-main .funnel-sample { stroke: #687c4e; color: #687c4e; }
.dash-main .funnel-plans { stroke: #a15d39; color: #a15d39; }
.dash-main .funnel-checkout { stroke: #417a87; color: #417a87; }
.dash-main .funnel-note,.dash-main .funnel-window,.dash-main #funnel-status { color: var(--dash-muted); }
.is-dashboard.is-library .dash-library-navigation { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 14px 24px; margin: 26px 0; }
.dash-library-navigation .lib-pathway { margin: 0; padding: 0; grid-row: 1 / 3; }
.dash-library-navigation .lib-browse { display: flex; gap: 8px; }
.dash-library-navigation .lib-stage-block { margin: 0; }
.dash-library-navigation .lib-stage-block .lib-stage-heading { display: none; }
.dash-library-navigation .lib-stages { display: flex; flex-wrap: wrap; gap: 8px; }
.is-dashboard.is-library .dash-library-navigation .lib-nav { width: auto; min-height: 44px; padding: 8px 12px; gap: 8px; font-size: 13px; }
.dash-library-navigation .lib-browse .lib-nav { flex: 0 0 auto; }
.dash-library-navigation .lib-stages .lib-nav { flex: 1 0 auto; }
.dash-library-navigation .lib-nav > span:nth-child(2) { flex: 0 0 auto; }
.dash-main #class-panel { scroll-margin-top: 90px; }
.dash-main #academy-details { max-width: 800px; }
.dash-main #academy-details .dash-account-actions { margin-top: 18px; }
.dash-library-navigation .lib-nav .lib-piece img { width: 20px; height: 20px; }
.dash-library-navigation .lib-browse .lib-nav[data-library-access="free"] { display: none; }
.is-dashboard .con-next { min-height: 44px; margin: 0 0 18px; padding: 10px 18px; border: 1px solid var(--dash-line); border-radius: 24px; background: var(--dash-soft); color: var(--dash-green); font: 500 14px/1.4 var(--sans); }
.is-dashboard .con-next:hover { background: var(--dash-hover); }
.dash-main #con-continuity { scroll-margin-top: 90px; margin: 0 0 26px; padding: 0; border: 1px solid var(--dash-line); border-radius: 16px; }
.dash-main #con-continuity > summary { padding: 16px 20px; min-height: 48px; cursor: pointer; color: var(--dash-green); font: 500 15px/1.4 var(--sans); }
.dash-main #con-continuity .bookmark-panel { margin: 0; padding: 20px; border: 0; background: transparent; border-radius: 0; }
.dash-main #con-continuity .bookmark-panel > header h2 { font: 500 23px/1.3 var(--display); }
.dash-main #con-continuity .bookmark-card { border: 0; border-radius: 0; padding: 0; background: transparent; }
.dash-main #con-continuity .bookmark-card + .bookmark-card { border-left: 1px solid var(--dash-line); padding-left: 24px; }
.dash-main #con-continuity .bookmark-card :is(h3,h4) { font: 500 18px/1.3 var(--display); }
.dash-main #con-continuity .bookmark-list li { border-color: var(--dash-line); }
.dash-main #con-continuity .bookmark-list button { color: var(--dash-green); }
.dash-main #con-continuity .bookmark-list button[aria-pressed="true"] { background: var(--dash-soft); outline: 2px solid var(--dash-green); }
.dash-main .bookmark-panel p { color: var(--dash-muted); font-size: 14px; }
.dash-main .bookmark-panel label { font-size: 14px; }
.dash-main .con-status { padding: 12px 16px; border: 1px solid var(--dash-outline); border-radius: 12px; color: var(--dash-muted); font: 500 14px/1.5 var(--sans); background: var(--dash-soft); }
.is-dashboard.is-library .lib-session-link[aria-disabled="true"],.is-dashboard.is-library .lib-primary[aria-disabled="true"] { opacity: .65; cursor: default; }
@media (max-width: 1100px) {
  .dash-live-grid { gap: 24px; }
  .dash-topbar { padding-inline: 24px; }
  .dash-content,.dash-main.con-main,.is-dashboard.is-library .library-main { padding: 32px 24px 24px; }
  .dash-teaching-feature { grid-template-columns: minmax(0,1fr) 170px; padding: 28px; gap: 24px; }
  .dash-feature-board { width: 170px; }
  .dash-main .mg-columns { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 800px) {
  .dash-layout { display: block; }
  .dash-sidebar { position: fixed; inset: 0 auto 0 0; width: min(292px,86vw); height: 100dvh; transform: translateX(-105%); transition: transform 220ms cubic-bezier(.22,1,.36,1); }
  .dash-nav-open { overflow: hidden; }
  .dash-nav-open .dash-sidebar { transform: translateX(0); }
  .dash-scrim { position: fixed; inset: 0; z-index: 35; display: block; width: 100%; height: 100%; border: 0; background: rgb(21 23 25 / 35%); }
  .dash-menu,.dash-close { display: grid; place-content: center; flex: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--dash-line); border-radius: 12px; background: var(--dash-paper); color: var(--dash-green); }
  .dash-menu { gap: 4px; }
  .dash-menu span { display: block; width: 16px; height: 1px; background: var(--dash-green); }
  .dash-brand.navbar-brand { padding-inline: 8px; }
  .dash-breadcrumb { gap: 10px; }
  .dash-workspace-prefix { display: none; }
  .dash-topbar { gap: 12px; min-height: 70px; padding: 10px 20px; }
  .dash-user { display: none; }
  .dash-avatar { margin-left: 0; }
  .dash-content,.dash-main.con-main,.is-dashboard.is-library .library-main { padding: 28px 20px 24px; }
  .dash-main .curriculum-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 560px) {
  .dash-page-heading h1,.dash-main .mg-heading h1 { font-size: 30px; }
  .dash-page-heading { margin-bottom: 24px; }
  .dash-breadcrumb { font-size: 12px; }
  .dash-theme button { width: 34px; height: 34px; }
  .dash-welcome { align-items: flex-start; flex-direction: column; gap: 14px; }
  .dash-teaching-feature { grid-template-columns: minmax(0,1fr) 96px; gap: 16px; padding: 24px; border-radius: 20px; }
  .dash-teaching-feature h2 { font-size: 26px; grid-column: 1; grid-row: 1; }
  .dash-teaching-feature p { font-size: 14px; grid-column: 1 / -1; grid-row: 2; margin-bottom: 0; }
  .dash-feature-board { width: 96px; align-self: start; margin-top: 4px; grid-column: 2; grid-row: 1; }
  .dash-feature-actions { grid-column: 1 / -1; gap: 4px 20px; }
  .dash-teaching-feature > div:first-child { display: contents; }
  .dash-live-grid { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .dash-live-head { margin-bottom: 12px; }
  .dash-live-panel .dash-empty { min-height: 120px; }
  .dash-info-panel { padding: 18px; }
  .dash-facts > div { grid-template-columns: minmax(72px,.6fr) minmax(0,1.4fr); gap: 12px; }
  .dash-main .manage-panel { padding: 20px; }
  .dash-account-actions { align-items: stretch; flex-direction: column; }
  .dash-account-actions .btn { width: 100%; }
  .is-dashboard.is-library .dash-library-navigation { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .dash-library-navigation .lib-pathway { grid-row: auto; }
  .dash-library-navigation .lib-stage-block { min-width: 0; }
  .dash-library-navigation .lib-nav { flex: 1 0 auto; }
  .dash-main #con-continuity .bookmark-class { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .dash-main #con-continuity .bookmark-class p { grid-column: auto; }
  .dash-main #con-continuity .bookmark-grid { grid-template-columns: minmax(0,1fr); }
  .dash-main #con-continuity .bookmark-card + .bookmark-card { border-left: 0; padding: 24px 0 0; border-top: 1px solid var(--dash-line); }
  .dash-main .mg-stats,.dash-live-stats { grid-template-columns: minmax(0,1fr); }
  .dash-main .mg-stats > div,.dash-live-stats > div { border-right: 0; border-bottom: 1px solid var(--dash-line); }
  .dash-main .mg-stats > div:last-child,.dash-live-stats > div:last-child { border: 0; }
}
@media (max-width: 360px) {
  .dash-breadcrumb { font-size: 11px; gap: 6px; }
  .dash-topbar { padding-inline: 16px; gap: 8px; }
  .dash-content,.dash-main.con-main,.is-dashboard.is-library .library-main { padding-inline: 16px; }
  .dash-teaching-feature { padding: 20px; grid-template-columns: minmax(0,1fr) 76px; }
  .dash-feature-board { width: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .is-dashboard *,.is-dashboard *::before,.is-dashboard *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.is-dashboard .lib-primary,.is-dashboard .lib-nav[aria-current="page"],.is-dashboard .lib-nav[aria-pressed="true"],.is-dashboard .lib-page[aria-current="page"] { color: var(--dash-on-action); }
.is-dashboard .lib-free-badge { background: var(--dash-paper); color: var(--dash-ink); }

/* Shared catalogue surfaces follow the chosen console appearance. */
.auth.is-dashboard.is-library .lib-feature-meta,.auth.is-dashboard.is-library .lib-feature-copy > p,.auth.is-dashboard.is-library .lib-feature-detail { color: var(--dash-muted); }
.auth.is-dashboard.is-library .lib-primary:hover { background: var(--dash-action-hover); color: var(--dash-on-action); box-shadow: none; }
.auth.is-dashboard.is-library .lib-nav:hover,.auth.is-dashboard.is-library .lib-session-link:hover { background: var(--dash-hover); }
.auth.is-dashboard.is-library .lib-nav[aria-pressed='true']:hover { background: var(--dash-green); }
.auth.is-dashboard.is-library .lib-homework-row:is(:hover,:active) { background: transparent; transform: none; }
.auth.is-dashboard.is-library .lib-homework-row { grid-template-columns: 44px minmax(0, 1fr) 130px; }
@media (max-width: 700px) {
  .auth.is-dashboard.is-library .lib-homework-row { grid-template-columns: 38px minmax(0, 1fr); }
}
.auth.is-dashboard.is-library[data-library-view="homework"] #con-next { display: none; }
.auth.is-dashboard.is-library .lib-nav-count { background: var(--dash-soft); color: var(--dash-muted); }
.auth.is-dashboard.is-library .lib-nav[aria-pressed='true'] .lib-nav-count { background: transparent; color: var(--dash-on-action); }
.auth.is-dashboard.is-library .lib-page[aria-pressed='true'] { color: var(--dash-on-action); }
.auth.is-dashboard.is-library .lib-piece { background: transparent; }
html[data-dashboard-theme="dark"] .auth.is-dashboard.is-library .lib-piece img { filter: invert(1); }
html[data-dashboard-theme="dark"] .auth.is-dashboard.is-library .lib-stage[aria-pressed='true'] .lib-piece img { filter: none; }
.auth.is-dashboard.is-library :is(.lib-session-number,.lib-session-action) { background: var(--dash-soft); color: var(--dash-ink); }
.auth.is-dashboard.is-library .lib-session-link:is(:hover,:focus-visible) :is(.lib-session-number,.lib-session-action) { background: var(--dash-green); color: var(--dash-on-action); }
