/* Learn prototype: reuse the measured Watchlist/0DTE material pair.
   Category identity is an accent; neutral course progress is not a warning. */
html body {
  background-color: var(--aku-sky-3) !important;
  color: var(--aku-text);
}
html body :is(.knowledge-page, .lf-panel) {
  --pp-ink: var(--aku-card-ink);
  --pp-ink2: var(--aku-copy);
  --pp-ink3: var(--aku-copy);
  --pp-accent: var(--aku-accent);
  --pp-green: var(--aku-good);
  --pp-amber: var(--aku-warn);
  --pp-line: var(--aku-card-border);
  --kl-ink: var(--aku-card-ink);
  --kl-muted: var(--aku-copy);
  color: var(--aku-card-ink);
}
html body .knowledge-page { background: transparent !important; }
html body :is(.lf-tabs, .knowledge-page .kl-library-head,
  .knowledge-page .kc-panel, .knowledge-page .kc-cards,
  .knowledge-page .km-video-zone,
  .knowledge-page .kl-list-group,
  .lf-panel .lf-card) {
  background: var(--aku-card-bg) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid var(--aku-card-border) !important;
  box-shadow: none !important;
}
html body .lf-tabs { padding: 10px 16px !important; border-radius: 18px !important; }
html:root body .lf-tabs.lf-tabs { border-radius: 18px !important; }
html body .knowledge-page .kl-library-head { margin-bottom: 32px !important; padding: 32px !important; }
html body .knowledge-page .aku-head-chip {
  --aku-tone: var(--aku-copy);
  background: transparent;
  border: 0;
  border-left: 3px solid var(--aku-accent);
  border-radius: 0;
  padding: 0 0 0 12px;
}
html body .knowledge-page :is(h1,h2,h3,.kc-card-title,.kc-ch-title,.kl-row-copy b) {
  color: var(--aku-card-ink) !important;
}
html body .knowledge-page :is(.aku-learn-lead,.aku-step-trail-head,.aku-step-trail-head span,
  .km-lead,.kc-sort,.kc-top p,.kc-hint,.kc-head-copy p,.kc-card-meta,.kc-card-done,
  .kc-ch-meta,.kc-ch-sum,.kc-st,.km-graph-note,.km-video-copy>p,.km-video-copy>span) {
  color: var(--aku-copy) !important;
}
html body .knowledge-page .aku-title-accent { color: var(--aku-accent) !important; }
#knowledge-map-app .aku-cta .aku-cta-tx { color: var(--ink,var(--aku-primary-ink)) !important; }
html body .knowledge-page .aku-learn-guide {
  background: none !important;
  border: 0 !important;
  border-top: 1px solid var(--aku-card-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 16px 0 0 !important;
  color: var(--aku-card-ink) !important;
}
html body .knowledge-page .aku-learn-guide span { color: var(--aku-copy) !important; }
html body .knowledge-page .aku-step-row {
  background: var(--aku-box-neutral-bg) !important;
  border: 1px solid var(--aku-card-border) !important;
  border-left: 3px solid var(--aku-accent) !important;
  box-shadow: none !important;
  color: var(--aku-card-ink) !important;
}
html body .knowledge-page .aku-step-row :is(b,strong) { color: var(--aku-card-ink) !important; }
html body .knowledge-page .aku-step-row small { color: var(--aku-copy) !important; }
html body .knowledge-page .aku-step-row :is(b,small) { line-height: 1.55 !important; }
html body .knowledge-page .aku-step-row :is(.aku-step-num,.aku-step-disc) {
  background: transparent !important;
  color: var(--aku-accent) !important;
  border: 1px solid var(--aku-card-border) !important;
}
/* One coherent navigation surface, rather than three framed bands. */
html body .knowledge-page .learn-library-nav {
  background: var(--aku-stage-bg);
  border: 1px solid var(--aku-card-border);
  border-radius: 20px;
  margin-bottom: 28px;
}
html body .knowledge-page :is(.km-hero,.kl-domains,.km-map-toolbar) {
  background: transparent !important;
  color: var(--aku-card-ink) !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 18px 24px !important;
}
html body .knowledge-page .km-hero { border-radius: 20px 20px 0 0 !important; }
html body .knowledge-page .kl-domains { border-radius: 0 !important; gap: 8px !important; position: relative !important; top: auto !important; }
html body .knowledge-page .km-map-toolbar { border-radius: 0 0 20px 20px !important; }
html body .knowledge-page .learn-map-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; }
html body .knowledge-page .learn-map-tools :is(.km-collapse-all,.km-zoom) { position: static !important; inset: auto !important; transform: none !important; background: transparent; border: 0; box-shadow: none; color: var(--aku-card-ink); padding: 0; gap: 8px; }
html body .knowledge-page .learn-map-tools :is(button,output) { color: var(--aku-card-ink) !important; }
html body .knowledge-page .learn-map-tools .km-collapse-all { display: flex !important; flex-wrap: wrap; }
html body .knowledge-page .learn-map-tools button { background: var(--aku-card-bg); border: 1px solid var(--aku-line); border-radius: 999px; min-height: 36px; font-family: var(--aku-font-body); box-shadow: inset 0 1px 0 color-mix(in srgb,var(--aku-card-ink) 12%,transparent); }
html body .knowledge-page .learn-map-tools button[data-collapse-all=expand] { background: var(--aku-box-green-bg); color: var(--aku-box-green-ink) !important; border-color: var(--aku-box-green-accent); }
html body .knowledge-page .learn-map-tools button span { color: inherit; }
html body .knowledge-page .learn-map-tools button:is(:hover,:focus-visible) { border-color: var(--aku-accent); box-shadow: 0 0 0 2px color-mix(in srgb,var(--aku-accent) 22%,transparent); }
html body .knowledge-page .learn-map-tools button:focus-visible { outline: 2px solid var(--aku-accent); outline-offset: 3px; }
html body .knowledge-page .learn-map-tools .km-zoom { border-radius: 999px; }
html body .knowledge-page .learn-map-tools .km-zoom button { width: 36px; }
html body .knowledge-page .km-graph-scroll { height: min(70vh,680px) !important; min-height: 420px; overflow: auto; }
html body .knowledge-page .km-legend { position: relative !important; inset: auto !important; width: auto; max-width: none; box-sizing: border-box; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
html body .knowledge-page .km-legend > div { min-width: 0 !important; border: 0 !important; }
html body .knowledge-page .km-legend-categories { flex-wrap: wrap; min-width: 0; row-gap: 8px; }
html body .knowledge-page .km-mobile-pan { position: relative !important; inset: auto !important; width: auto; margin: 0; padding: 0 12px 12px; background: none; border-radius: 0; font-size: .75rem; line-height: 1.5; }
html body .knowledge-page .kl-view-switch { border: 0 !important; padding: 0 !important; }
html body .knowledge-page :is(.km-search,.kc-mark,.kc-check,.kc-on-map) {
  background: var(--aku-card-bg) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid var(--aku-line) !important;
  box-shadow: none !important;
}
html body .knowledge-page .km-search input {
  background: transparent !important; color: var(--aku-card-ink) !important;
  border: 0 !important; box-shadow: none !important;
  font-family: var(--aku-font-body) !important;
}
html body .knowledge-page .km-search input::placeholder { color: var(--aku-copy) !important; opacity: 1; }
html body :is(.lf-tabs .lf-tab, .knowledge-page .kl-domains button,
  .knowledge-page .kl-view-switch button) {
  background: var(--aku-card-bg) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid var(--aku-line) !important;
  box-shadow: none !important;
  font-family: var(--aku-font-body) !important;
}
html body :is(.lf-tabs .lf-tab[aria-selected="true"],
  .knowledge-page .kl-domains button[aria-pressed="true"],
  .knowledge-page .kl-view-switch button[aria-pressed="true"]) {
  background: var(--aku-box-green-bg) !important;
  color: var(--aku-box-green-ink) !important;
  border-color: var(--aku-box-green-accent) !important;
  box-shadow: inset 0 -2px var(--aku-box-green-accent) !important;
}
/* Category navigation retains its topic colour after the pointer leaves.
   Collection filters below it have a different job and never inherit this fill. */
#knowledge-map-app .kl-domains button {
  --choice-fill: linear-gradient(145deg,
    color-mix(in srgb,var(--domain) 65%,var(--aku-card-ink)),
    color-mix(in srgb,var(--domain) 85%,var(--aku-card-ink)));
  --choice-ink: var(--aku-sky-3);
}
#knowledge-map-app .kl-domains button[data-domain="finance"] { --domain: var(--aku-accent) !important; }
html[data-theme="light"] #knowledge-map-app .kl-domains button {
  --choice-fill: linear-gradient(145deg,
    color-mix(in srgb,var(--domain) 15%,var(--aku-sky-2)),
    color-mix(in srgb,var(--domain) 30%,var(--aku-sky-2)));
  --choice-ink: var(--aku-card-ink);
}
#knowledge-map-app .kl-domains button:is(:hover,:focus-visible,[aria-pressed="true"]) {
  background: var(--choice-fill) !important;
  color: var(--choice-ink) !important;
  border-color: var(--domain) !important;
  box-shadow: inset 0 -3px color-mix(in srgb,var(--choice-ink) 45%,transparent) !important;
  transform: none !important; translate: none !important;
}
#knowledge-map-app .knowledge-page :is(.km-filters,.kc-filters) {
  display: flex !important; flex-wrap: wrap !important; justify-content: flex-start !important;
  gap: 10px 20px !important; width: auto !important; max-width: 100%;
  margin: 0 !important; padding: 0 !important; overflow: visible !important;
}
#knowledge-map-app .knowledge-page :is(.km-filter,.kc-filters button) {
  --filter-ink: color-mix(in srgb,var(--filter-color,var(--aku-accent)) 70%,var(--aku-card-ink));
  position: relative; min-height: 38px !important; height: auto !important;
  padding: 6px 2px !important; gap: 8px !important;
  background: none !important; border: 0 !important;
  border-bottom: 2px solid transparent !important; border-radius: 0 !important;
  box-shadow: none !important; color: var(--aku-copy) !important;
  font-family: var(--aku-font-body) !important; line-height: 1.5 !important;
  transform: none !important; translate: none !important;
}
html[data-theme="light"] #knowledge-map-app .knowledge-page :is(.km-filter,.kc-filters button) {
  --filter-ink: color-mix(in srgb,var(--filter-color,var(--aku-accent)) 20%,var(--aku-card-ink));
}
#knowledge-map-app .knowledge-page :is(.km-filter,.kc-filters button):is(:hover,:focus-visible,.is-active,[aria-pressed="true"]) {
  background: none !important; color: var(--filter-ink) !important;
  border-bottom-color: var(--filter-ink) !important; font-weight: 700 !important;
}
#knowledge-map-app .knowledge-page :is(.km-filter,.kc-filters button)::after { display: none !important; }
/* The selected curriculum is the work area; course choices remain compact. */
html body .knowledge-page .kc { display: grid !important; grid-template-columns: 240px minmax(0,1fr); gap: 20px; align-items: start; }
html body .knowledge-page .kc-top { grid-column: 1 / -1; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; margin: 0 !important; }
html body .knowledge-page .kc-filters { grid-column: 1 / -1; }
html body .knowledge-page .learn-course-picker { grid-column: 1; min-width: 0; }
html body .knowledge-page .learn-course-picker > summary { display: none; }
html body .knowledge-page .kc-cards { grid-column: 1; display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; padding: 10px !important; border-radius: 18px; margin: 0 !important; }
html body .knowledge-page .kc-card {
  background: transparent !important; border: 1px solid transparent !important;
  border-radius: 10px !important; box-shadow: none !important;
  padding: 12px !important; min-height: 0 !important;
  color: var(--aku-card-ink) !important; transform: none;
  grid-template-columns: 28px minmax(0,1fr) !important;
  grid-template-areas: "icon title" "icon meta" !important;
  gap: 2px 12px !important;
}
html body .knowledge-page .kc-card-icon { font-size: 22px !important; width: 28px !important; height: 28px !important; background: transparent !important; box-shadow: none !important; }
html body .knowledge-page .kc-card-title { font-size: .98rem !important; line-height: 1.5 !important; }
html body .knowledge-page .kc-card-meta { font-size: .82rem !important; line-height: 1.5 !important; }
html body .knowledge-page .kc-card-done { display: none; }
html body .knowledge-page .kc-cards .kc-bar { display: none !important; }
html body .knowledge-page .kc-card.is-selected {
  background: var(--aku-box-green-bg) !important;
  border-color: var(--aku-box-green-accent) !important;
}
html body .knowledge-page .kc-card.is-selected .kc-card-title { color: var(--aku-box-green-ink) !important; }
html body .knowledge-page .kc-card.is-selected :is(.kc-card-meta,.kc-st) { color: var(--aku-box-green-sub) !important; }
html body .knowledge-page .kc-panel { grid-column: 2; padding: 24px !important; margin: 0 !important; min-width: 0; }
html body .knowledge-page .kc-chapters { grid-template-columns: 1fr !important; gap: 10px !important; }
html body .knowledge-page .kc-ch {
  background: transparent !important; border: 0 !important;
  border-bottom: 1px solid var(--aku-card-border) !important;
  border-radius: 0 !important; box-shadow: none !important;
  color: var(--aku-card-ink) !important; padding: 14px 4px !important;
}
html body .knowledge-page .kc-ch.is-next { border-left: 3px solid var(--aku-accent) !important; padding-left: 14px !important; }
html body .knowledge-page .kc-ch-go { color: var(--aku-accent) !important; }
html body .knowledge-page .kc-ch-title { line-height: 1.5 !important; }
html body .knowledge-page #km-video-title { line-height: 1.5 !important; }
html body .knowledge-page .kc-mark span { color: inherit !important; }
html body .knowledge-page :is(.kc-mark.is-on,.kc-check.is-done) {
  background: var(--aku-box-green-bg) !important; color: var(--aku-box-green-ink) !important; border-color: var(--aku-box-green-accent) !important;
}
html body .knowledge-page :is(.kc-bar,.kc-meter) { background: var(--aku-card-border) !important; }
html body .knowledge-page :is(.kc-bar i,.kc-meter i) { background: var(--aku-accent) !important; }
html body .knowledge-page :is(.kc-card,.kc-ch,.aku-step-row):is(:hover,:focus-visible) {
  background: var(--aku-box-neutral-bg) !important;
  color: var(--aku-card-ink) !important;
  border-color: var(--aku-accent) !important;
}
html body .knowledge-page .kc-card.is-selected:is(:hover,:focus-visible) { background: var(--aku-box-green-bg) !important; }
/* Open details need the complete material pair too. The legacy paper pass
   left cream fills under the new dark-mode ink in these descendant objects. */
html body .knowledge-page {
  --learn-detail-edge: color-mix(in srgb,var(--aku-line) 70%,var(--aku-card-ink));
  --learn-glint: color-mix(in srgb,var(--aku-card-ink) 15%,transparent);
  --learn-shade: color-mix(in srgb,var(--aku-sky-3) 70%,black);
  --learn-lowlight: color-mix(in srgb,var(--learn-shade) 72%,transparent);
  --learn-surface-depth: inset 0 1px 0 var(--learn-glint), inset 0 -1px 0 var(--learn-lowlight), 0 8px 18px -10px var(--learn-shade);
  --learn-row-depth: inset 0 1px 0 var(--learn-glint), 0 2px 0 var(--learn-lowlight), 0 5px 10px -6px var(--learn-shade);
}
html[data-theme=light] body .knowledge-page {
  --learn-glint: color-mix(in srgb,var(--aku-paper) 92%,transparent);
  --learn-shade: color-mix(in srgb,var(--aku-text) 24%,transparent);
  --learn-lowlight: color-mix(in srgb,var(--aku-text) 12%,transparent);
}
html body .knowledge-page .km-inspector {
  display: flex; flex-direction: column; gap: 0;
  min-height: min(640px,calc(100dvh - 112px)) !important;
  padding: 24px !important; border-radius: 28px !important;
  background: radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--category-color) 24%,transparent),transparent 55%),var(--aku-card-bg) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid var(--learn-detail-edge) !important;
  box-shadow: inset 0 1px 0 var(--learn-glint),0 16px 34px -16px var(--learn-shade),0 3px 0 var(--learn-lowlight) !important;
}
html body .knowledge-page .km-inspector > * { flex-shrink: 0; }
html body .knowledge-page .km-inspector-category { padding: 0; border: 0; border-radius: 0; background: none; color: var(--aku-accent) !important; font-size: .8rem; }
html body .knowledge-page .km-inspector-hero { margin: 18px 0 12px; }
html body .knowledge-page .km-inspector-summary { margin: 0 0 24px; font-size: 1rem; line-height: 1.7; }
html body .knowledge-page :is(.km-lesson-preview,.km-content-status) {
  background: linear-gradient(145deg,var(--learn-glint),transparent 55%),var(--aku-box-neutral-bg) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid var(--learn-detail-edge) !important; border-radius: 20px;
  box-shadow: var(--learn-surface-depth) !important;
}
html body .knowledge-page :is(.km-inspector-category,.km-lesson-preview>div,
  .km-no-prerequisite strong,.km-content-status span) { color: var(--aku-card-ink) !important; }
html body .knowledge-page :is(.km-inspector-path,.km-inspector-summary,.km-map-status,
  .km-lesson-preview li,.km-no-prerequisite small,.km-content-status small,
  .km-level-heading>span,.km-level p,.km-tags small) { color: var(--aku-card-sub) !important; }
html body .knowledge-page .km-lesson-preview>p { color: var(--aku-accent) !important; }
html body .knowledge-page .km-lesson-preview ul { border-top-color: var(--aku-line) !important; }
html body .knowledge-page .km-lesson-preview li i {
  background: var(--aku-box-green-bg) !important; color: var(--aku-box-green-ink) !important;
}
html body .knowledge-page :is(.km-tags span,.km-inspector-route) {
  background: var(--aku-box-neutral-bg) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid var(--learn-detail-edge) !important; box-shadow: none !important;
}
html body .knowledge-page :is(.kl-child-menu,.km-prerequisites) { display: grid; gap: 12px; margin: 0 0 24px; }
html body .knowledge-page :is(.kl-child-menu,.km-prerequisites) h3 { margin: 0 0 2px; font-size: 1.2rem; }
html body .knowledge-page :is(.kl-child-menu button,.km-prerequisites button) {
  --choice-base: color-mix(in srgb,var(--topic-color,var(--category-color)) 14%,var(--aku-sky-3));
  background: radial-gradient(ellipse at 0% 0%,color-mix(in srgb,var(--topic-color,var(--category-color)) 18%,transparent),transparent 72%),linear-gradient(145deg,var(--choice-base),color-mix(in srgb,var(--choice-base) 68%,var(--aku-sky-3))) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid color-mix(in srgb,var(--topic-color,var(--category-color)) 55%,var(--aku-line)) !important;
  border-radius: 22px !important;
  margin: 0;
  box-shadow: var(--learn-row-depth) !important;
  transition: translate 180ms var(--aku-ease),box-shadow 180ms var(--aku-ease),border-color 180ms !important;
}
html body .knowledge-page :is(.kl-child-menu button,.km-prerequisites button,
  .km-inspector-route):is(:hover,:focus-visible) {
  color: var(--aku-card-ink) !important; border-color: var(--aku-accent) !important;
}
html[data-theme=light] body .knowledge-page :is(.kl-child-menu button,.km-prerequisites button) { --choice-base: color-mix(in srgb,var(--topic-color,var(--category-color)) 18%,var(--aku-paper)); }
html body .knowledge-page :is(.kl-child-menu button,.km-prerequisites button):is(:hover,:focus-visible) {
  translate: 0 -1px;
  box-shadow: var(--learn-row-depth),0 0 0 2px color-mix(in srgb,var(--category-color) 16%,transparent) !important;
}
html body .knowledge-page :is(.kl-child-menu button,.km-prerequisites button):active {
  translate: 0 1px;
  box-shadow: inset 0 2px 4px var(--learn-lowlight),inset 0 1px 0 var(--learn-glint) !important;
}
html body .knowledge-page :is(.km-prerequisites button i,.km-inspector-route small) { color: var(--aku-card-sub) !important; }
html body .knowledge-page .km-level { --level-color: var(--aku-accent); }
html body .knowledge-page .km-readiness { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--aku-card-border); display: grid; gap: 12px; }
html body .knowledge-page .km-readiness :is(.km-level,.km-no-prerequisite) { border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; margin: 0; padding: 0; }
html body .knowledge-page .km-readiness .km-no-prerequisite { display: flex; align-items: center; gap: 8px; color: var(--aku-card-sub) !important; font-size: .8rem; }
html body .knowledge-page .km-readiness .km-no-prerequisite > i { width: auto; height: auto; border: 0; padding: 0; }
html body .knowledge-page .km-readiness .km-level-heading { justify-content: flex-start; flex-wrap: wrap; gap: 10px; }
html body .knowledge-page .km-readiness .km-level p { margin: 8px 0 0; }
html body .knowledge-page .km-level-heading strong { border-radius: 999px; }
html body .knowledge-page .km-level-heading strong {
  background: var(--aku-box-green-bg) !important; color: var(--aku-box-green-ink) !important;
}
html body .knowledge-page .km-level.is-level-2 .km-level-heading strong {
  background: var(--aku-box-amber-bg) !important; color: var(--aku-box-amber-ink) !important;
}
html body .knowledge-page .km-level.is-level-3 .km-level-heading strong {
  background: var(--aku-box-red-bg) !important; color: var(--aku-box-red-ink) !important;
}
html body .knowledge-page :is(.km-no-prerequisite>i,.km-content-status>i) { background: none !important; color: var(--aku-accent) !important; }
/* The map's reading-order entry and its opened strip use the same pair. */
html body .knowledge-page :is(.km-route-entry,.km-route) {
  background: var(--aku-card-bg) !important; color: var(--aku-card-ink) !important;
  border: 1px solid var(--learn-detail-edge) !important; box-shadow: none !important;
}
html body .knowledge-page :is(.km-route-entry,.km-route)::before { display: none !important; }
html body .knowledge-page :is(.km-route-entry-copy b,.km-route-now strong) { color: var(--aku-card-ink) !important; }
html body .knowledge-page :is(.km-route-entry-copy small,.km-route-head h2 small,
  .km-route-count,.km-route-status,.km-route-soon) { color: var(--aku-card-sub) !important; }
html body .knowledge-page :is(.km-route-done,.km-route-count b) { color: var(--aku-accent) !important; }
html body .knowledge-page :is(.km-route-star,.km-route-close,.km-route-icon,
  .km-route-btn.is-secondary,.km-route-btn.is-open,.km-route-btn.is-mark,.km-guide-button.is-active) {
  --ink: var(--aku-card-ink);
  background: var(--aku-box-neutral-bg) !important; color: var(--aku-card-ink) !important;
  border: 1px solid var(--learn-detail-edge) !important; box-shadow: none !important;
}
html body .knowledge-page :is(.km-route-star.is-current,.km-route-star.is-read,.km-route-btn.is-mark.is-on) {
  --ink: var(--aku-box-green-ink);
  background: var(--aku-box-green-bg) !important; color: var(--aku-box-green-ink) !important;
  border-color: var(--aku-box-green-accent) !important;
}
html body .knowledge-page .km-route :is(button,a):hover { border-color: var(--aku-accent) !important; }
html body .knowledge-page .km-route-btn:disabled { opacity: 1 !important; color: var(--aku-card-sub) !important; }
html body .knowledge-page .km-route-undo { color: var(--aku-accent) !important; }
/* Graph hit areas include all readable children and a separate fold row. */
#knowledge-map-app .km-graph-node { gap: 8px; }
#knowledge-map-app .km-graph-node.is-hub { gap: 16px; }
#knowledge-map-app .km-node-title { line-height: 1.5; }
#knowledge-map-app .km-graph-node.is-hub .km-node-orbit::before { inset: -10px; }
#knowledge-map-app .km-collapse-toggle { font-family: var(--aku-font-body); }
/* The graph must use the same paired material/ink as its detail surface. */
#knowledge-map-app .km-graph-shell { background: var(--aku-stage-bg); color: var(--aku-card-ink); border: 1px solid var(--aku-card-border); border-radius: 28px; box-shadow: 0 14px 30px -18px var(--learn-shade); overflow: hidden; }
#knowledge-map-app .km-graph-stage { background: var(--aku-card-bg) !important; border: 0 !important; box-shadow: none !important; }
#knowledge-map-app .km-graph-scroll { scrollbar-width: thin; scrollbar-color: var(--aku-line) transparent; }
#knowledge-map-app .km-legend { border-radius: 20px; }
#knowledge-map-app .km-graph-stage::before { background: none; }
#knowledge-map-app .km-node-title { color: var(--aku-card-ink); text-shadow: none; }
#knowledge-map-app .km-graph-node.is-hub .km-node-title { color: color-mix(in srgb,var(--aku-card-ink) 85%,var(--node-color)); text-shadow: none; }
#knowledge-map-app .km-graph-node.is-selected .km-node-title { color: var(--aku-accent); }
#knowledge-map-app .km-node-orbit { background: var(--aku-box-neutral-bg); color: var(--aku-card-ink); border-color: color-mix(in srgb,var(--node-color) 65%,var(--aku-card-ink)); }
#knowledge-map-app .km-node-core { filter: none; }
#knowledge-map-app .km-hub-kicker,
#knowledge-map-app .km-collapse-toggle { background: var(--aku-box-neutral-bg); color: var(--aku-card-ink); border-color: var(--aku-card-border); }
#knowledge-map-app .km-collapse-toggle:is(:hover,:focus-visible),
#knowledge-map-app .km-collapse-toggle.is-collapsed { background: var(--aku-box-green-bg); color: var(--aku-box-green-ink); border-color: var(--aku-accent); }
#knowledge-map-app .km-graph-node.is-relationship-muted:not(.is-selected) { opacity: 1; }
#knowledge-map-app :is(.km-graph-node,.km-edge,.km-collapse-toggle).is-filtered { visibility: hidden; }
#km-map-empty { position: relative; z-index: 5; inset: auto; margin: 16px; padding: 20px; border: 1px solid var(--aku-card-border); border-radius: 20px; background: var(--aku-card-bg); color: var(--aku-card-ink); text-align: center; }
#km-map-empty[hidden] { display: none !important; }
#knowledge-map-app .km-graph-shell:has(#km-map-empty:not([hidden])) .km-mobile-pan { visibility: hidden; }
#knowledge-map-app .km-graph-shell:has(#km-map-empty:not([hidden])) :is(.km-graph-scroll,.km-legend) { display: none !important; }
#km-map-empty button { padding: 8px 12px; border: 1px solid var(--aku-line); border-radius: 10px; background: var(--aku-box-neutral-bg); color: var(--aku-card-ink); font: 600 .9rem/1.5 var(--aku-font-body); cursor: pointer; }
#knowledge-map-app .km-legend { background: var(--aku-card-bg); border-color: var(--aku-card-border); }
#knowledge-map-app .km-legend b { color: var(--aku-card-ink); }
#knowledge-map-app .km-legend span { color: var(--aku-copy); }
#knowledge-map-app .km-edge { stroke: var(--aku-line); }
#knowledge-map-app .km-edges { pointer-events: none; }
#knowledge-map-app .km-edge-guide { stroke: var(--aku-warn); }
#knowledge-map-app .km-edge.is-related-focus { stroke: var(--aku-accent); }
#knowledge-map-app #km-arrow path { fill: var(--aku-line); }
#knowledge-map-app .km-mobile-pan { color: var(--aku-copy); }
#knowledge-map-app .kl-child-menu button {
  display: grid !important; grid-template-columns: 36px minmax(0,1fr) 28px;
  align-items: center; gap: 12px; min-height: 88px; height: auto;
  padding: 16px; text-align: left; font-family: var(--aku-font-body);
  line-height: 1.5;
}
#knowledge-map-app .kl-child-icon { display: grid; place-items: center; width: 36px; height: 36px; font-size: 28px; line-height: 1; }
#knowledge-map-app .kl-child-copy { min-width: 0; }
#knowledge-map-app .kl-child-title { display: block; min-width: 0; font-size: 1rem; line-height: 1.5; }
#knowledge-map-app .kl-child-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-top: 4px; color: var(--aku-copy); font-size: .78rem; font-weight: 400; line-height: 1.55; }
#knowledge-map-app .kl-child-menu.is-many button { min-height: 72px; padding-block: 12px; }
#knowledge-map-app .kl-child-menu.is-many .kl-child-summary { -webkit-line-clamp: 1; }
#knowledge-map-app .kl-child-go { display: grid; place-items: center; width: 28px; height: 28px; justify-self: end; border-radius: 50%; background: color-mix(in srgb,var(--topic-color) 20%,transparent); color: var(--aku-card-ink); }
/* The legacy mobile rule hid every direct span, including the A+ label. */
#knowledge-map-app .km-guide-button.aku-cta > .aku-cta-tx { display: block !important; }
#knowledge-map-app .km-guide-button.aku-cta > .aku-cta-ic {
  display: grid !important; width: 26px !important; min-width: 26px !important;
  height: 26px !important; flex: 0 0 26px !important; margin-left: 0 !important;
}
/* Legacy tab rules use IDs and shared control pseudo-elements. Override the
   actual buttons, including their true unselected and hover states. */
html body .lf-tabs :is(#lf-tab-map,#lf-tab-faq),
#knowledge-map-app .kl-view-switch button.aku-control {
  background: var(--aku-card-bg) !important;
  color: var(--aku-card-ink) !important;
  border: 1px solid var(--aku-line) !important;
  box-shadow: none !important;
  transform: none !important;
}
html body .lf-tabs :is(#lf-tab-map,#lf-tab-faq)[aria-selected="true"],
#knowledge-map-app .kl-view-switch button.aku-control[aria-pressed="true"] {
  background: var(--aku-box-green-bg) !important;
  color: var(--aku-box-green-ink) !important;
  border-color: var(--aku-box-green-accent) !important;
}
html body .lf-tabs button::after,
#knowledge-map-app .kl-view-switch button.aku-control::after { display: none !important; }
html body .lf-tabs button:focus-visible,
#knowledge-map-app .kl-view-switch button:focus-visible { outline: 2px solid var(--aku-accent); outline-offset: 3px; }
html body .knowledge-page :is(button,a):focus-visible { outline: 2px solid var(--aku-accent); outline-offset: 3px; }
html body .lf-panel { font-family: var(--aku-font-body); }
html body .lf-panel :is(button,input,summary,small,span,li,p) { font-family: var(--aku-font-body) !important; }
html body .lf-panel :is(h1,h2,h3,b,.lf-tl,.lf-search input,.lf-qt b) { color: var(--aku-card-ink); font-family: var(--aku-font-head); }
html body .lf-panel :is(p,small,.lf-meta,.lf-filter-note,.lf-lead) { color: var(--aku-copy); }
html body .lf-panel :is(.lf-search,.lf-tl,.lf-steps li,.lf-sort button,.lf-dice) { background: var(--aku-box-neutral-bg); border-color: var(--aku-line); color: var(--aku-card-ink); }
html body .lf-panel .lf-card[open] { background: var(--aku-card-bg) !important; }
#learn-faq .lf-hero {
  background: var(--aku-card-bg) !important; border: 1px solid var(--aku-card-border) !important;
  color: var(--aku-card-ink) !important;
}
#learn-faq .lf-kicker { background: transparent; color: var(--aku-accent); padding-inline: 0; }
#learn-faq :is(.lf-path button,.lf-sort button,.lf-dice,.lf-search,.lf-filter-note button) {
  background: var(--aku-card-bg) !important; color: var(--aku-card-ink) !important;
  border: 1px solid var(--aku-line) !important; box-shadow: none !important;
}
#learn-faq :is(.lf-path button.is-on,.lf-sort button.is-on) {
  background: var(--aku-box-green-bg) !important; border-color: var(--aku-box-green-accent) !important;
  color: var(--aku-box-green-ink) !important;
}
#learn-faq :is(.lf-path b,.lf-tl,.lf-body strong,.lf-body b,.lf-qt b) { color: var(--aku-card-ink) !important; }
#learn-faq :is(.lf-path small,.lf-path em,.lf-step-n,.lf-qt small,.lf-meta,.lf-footnote,.lf-body p,.lf-body li) { color: var(--aku-copy) !important; }
#learn-faq :is(.lf-path button.is-on b,.lf-path button.is-on small,.lf-path button.is-on em) { color: var(--aku-box-green-ink) !important; }
#learn-faq :is(.lf-tl,.lf-steps li,.lf-example,.lf-note) { background: var(--aku-box-neutral-bg) !important; color: var(--aku-card-ink) !important; border-color: var(--aku-card-border) !important; }
#learn-faq .lf-toggle { color: var(--aku-accent); border-color: var(--aku-line); }
#learn-faq :is(button,summary):is(:hover,:focus-visible) { outline-color: var(--aku-accent); border-color: var(--aku-accent) !important; }
#learn-faq .lf-search input { background: transparent !important; color: var(--aku-card-ink) !important; }
#learn-faq .lf-hot { color: var(--aku-warn) !important; background: var(--aku-box-neutral-bg) !important; white-space: nowrap; line-height: 1.55; }
#learn-faq .lf-body a { line-height: 1.5 !important; }
#learn-faq .lf-vote :is(span,em) { color: var(--aku-copy) !important; }
#learn-faq .lf-vote button { color: var(--aku-card-ink) !important; background: var(--aku-card-bg) !important; border-color: var(--aku-line) !important; }
html body .lf-tabs .lf-badge { color: inherit !important; }
@media(max-width:900px) {
  html body .knowledge-page .km-workspace:not(:has(.kl-topic-list:not([hidden]))) { display: flex !important; flex-direction: column; }
  html body .knowledge-page .km-workspace > :is(.km-graph-shell,.km-inspector) { width: 100% !important; min-width: 0 !important; flex: none; }
  html body .knowledge-page .km-inspector { position: relative !important; inset: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; }
  html body .knowledge-page .kc { grid-template-columns: 1fr; }
  html body .knowledge-page .kc-cards { grid-column: 1; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body .knowledge-page .kc-panel { grid-column: 1; }
  html body .knowledge-page .learn-course-picker > summary {
    display: flex; justify-content: space-between; align-items: center; gap: 14px;
    padding: 14px 16px; border: 1px solid var(--aku-line); border-radius: 14px;
    background: var(--aku-card-bg); color: var(--aku-card-ink); cursor: pointer;
    font: 600 .86rem/1.5 var(--aku-font-body); list-style: none;
  }
  html body .knowledge-page .learn-course-picker > summary b { display: block; font-size: 1.05rem; }
  html body .knowledge-page .learn-course-picker > summary > span:last-child { white-space: nowrap; color: var(--aku-accent); }
  html body .knowledge-page .learn-course-picker[open] .kc-cards { margin-top: 10px !important; }
}
/* Utility companions must leave the inspector readable on short desktops too. */
html body #ak-quick-dock { position: relative !important; inset: auto !important; width: max-content; max-width: calc(100% - 24px); margin: 20px auto; }
html body #slime-mate { position: relative !important; inset: auto !important; display: block !important; margin: 12px auto 20px !important; transform: none !important; }
@media(max-width:600px) {
  html body .knowledge-page .kl-library-head { padding: 22px 18px !important; }
  html body .knowledge-page :is(.km-hero,.kl-domains,.km-map-toolbar) { padding: 16px !important; }
  html body .knowledge-page .kl-domains { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  #knowledge-map-app .kl-domains button {
    min-width: 0 !important; min-height: 44px !important; height: auto !important;
    padding: 10px 4px !important; gap: 6px !important; white-space: normal !important;
    text-align: left !important; justify-content: flex-start !important;
    font-size: .875rem !important; line-height: 1.5 !important;
  }
  #knowledge-map-app .kl-domains button > span { flex: 0 0 auto; }
  html body .knowledge-page .kc-panel { padding: 18px !important; }
  html body .knowledge-page .kc-card { padding: 10px !important; }
  html body .knowledge-page .kc-cards { grid-template-columns: 1fr !important; }
  html body .knowledge-page .kc-ch { grid-template-columns: 30px minmax(0,1fr) !important; }
  html body .knowledge-page .kc-mark { grid-column: 2 !important; justify-self: start; }
  html body .knowledge-page .aku-learn-guide img { width: 48px; height: 48px; flex-shrink: 0; }
}
@media(min-width:2100px) {
  html body :is(.lf-tabs,.knowledge-page,.lf-panel) { max-width: 1640px !important; width: calc(100% - 96px) !important; }
  html body .knowledge-page .kc-chapters { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media(prefers-reduced-motion:reduce) {
  html body .knowledge-page * { scroll-behavior: auto !important; }
  html body .knowledge-page :is(.kl-child-menu button,.km-prerequisites button) { transition: none !important; }
}
html[data-motion=paused] body .knowledge-page :is(.kl-child-menu button,.km-prerequisites button) { transition: none !important; }
