.lonewolf-learning-hub {
  --lesson-bg: #f4f3f0;
  --lesson-paper: #fff;
  --lesson-ink: #242b30;
  --lesson-muted: #60686d;
  --lesson-line: #dedfda;
  --lesson-accent: var(--kw-red);
  --lesson-tint: #faf0ed;
  background: var(--lesson-bg);
  color: var(--lesson-ink);
  font-family: var(--font-body);
}
.lonewolf-learning-hub *, .lonewolf-learning-hub *::before, .lonewolf-learning-hub *::after { box-sizing: border-box; }
.lonewolf-learning-hub [hidden] { display: none !important; }
.lonewolf-learning-hub :is(h1, h2, h3, h4, p) { margin: 0; }
.lonewolf-learning-hub :is(h1, h2, h3, h4) { color: var(--lesson-ink); font-family: var(--font-display); text-transform: none; letter-spacing: -.025em; }
.lonewolf-learning-hub p { color: var(--lesson-muted); line-height: 1.7; }
.lonewolf-learning-hub a { color: var(--lesson-accent); text-underline-offset: 4px; }
.lonewolf-learning-hub :is(a, button, input, summary):focus-visible { outline: 3px solid var(--lesson-accent); outline-offset: 4px; }
.lonewolf-learning-hub button { font: inherit; cursor: pointer; }
.lonewolf-learning-hub .lesson-eyebrow { font-size: .69rem; font-weight: 700; letter-spacing: .13em; line-height: 1.6; text-transform: uppercase; color: var(--lesson-accent); }
.lesson-hero { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(230px, 1fr); gap: 40px; padding: clamp(24px, 4vw, 48px); background: var(--lesson-paper); border-bottom: 1px solid var(--lesson-line); }
.lonewolf-learning-hub .lesson-hero h1 { font-size: clamp(2.25rem, 4vw, 4rem); font-weight: 700; line-height: 1.06; letter-spacing: -.055em; margin: 16px 0 20px; }
.lesson-hero > div > p:last-child { max-width: 55ch; font-size: 1rem; }
.lesson-course-map { align-self: center; border-left: 1px solid var(--lesson-line); padding-left: 32px; }
.lesson-course-map ol { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 14px; }
.lesson-course-map li { display: flex; align-items: center; gap: 14px; font-size: .9rem; font-weight: 600; }
.lesson-course-map li span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--lesson-line); border-radius: 50%; color: var(--lesson-muted); font-size: .65rem; }
.lesson-course-body { padding: clamp(16px, 3vw, 32px); }
.lesson-navigation { scroll-margin-top: 100px; margin-bottom: 24px; }
.lesson-navigation-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.lesson-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.lonewolf-learning-hub .lesson-tab { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 18px 16px; border: 1px solid var(--lesson-line); border-radius: 10px; background: var(--lesson-paper); color: var(--lesson-ink); text-decoration: none; min-width: 0; transition: border-color .15s, background .15s; }
.lesson-tab-number { font-size: .72rem; font-weight: 700; color: var(--lesson-muted); }
.lesson-tab strong { display: block; font-size: .88rem; line-height: 1.4; }
.lesson-tab small { display: block; margin-top: 7px; color: var(--lesson-muted); font-size: .68rem; line-height: 1.5; }
.lonewolf-learning-hub .lesson-tab[aria-selected="true"] { border-color: var(--lesson-accent); box-shadow: inset 0 3px 0 var(--lesson-accent); background: var(--lesson-tint); }
.lesson-tab[aria-selected="true"] .lesson-tab-number { color: var(--lesson-accent); }
.lesson-tab:hover { border-color: var(--lesson-accent); }
.transaction-training-section { padding: clamp(20px, 3.5vw, 40px); background: var(--lesson-paper); border: 1px solid var(--lesson-line); border-radius: 12px; scroll-margin-top: 110px; }
.transaction-training-section + .transaction-training-section { margin-top: 24px; }
.is-guided .transaction-training-section { margin-top: 0; }
.lesson-heading { padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid var(--lesson-line); }
.lonewolf-learning-hub .lesson-heading h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.2; margin: 10px 0 12px; }
.lesson-heading > p:last-child { font-size: .95rem; max-width: 75ch; }
.lonewolf-learning-hub h3 { font-size: 1.25rem; line-height: 1.35; font-weight: 700; }
.lonewolf-learning-hub h4 { font-size: .98rem; line-height: 1.5; font-weight: 700; letter-spacing: -.01em; }
.lesson-choice-group { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.lesson-choice-group legend { font-size: 1.15rem; font-weight: 700; color: var(--lesson-ink); padding: 0; margin-bottom: 8px; }
.lesson-choice-group > p { font-size: .9rem; }
.lesson-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.lesson-choice { display: flex; gap: 12px; align-items: start; padding: 22px; border: 1px solid var(--lesson-line); border-radius: 10px; cursor: pointer; background: var(--lesson-paper); }
.lesson-choice:hover { border-color: var(--lesson-accent); }
.lesson-choice:has(input:checked) { border-color: var(--lesson-accent); box-shadow: inset 0 0 0 1px var(--lesson-accent); background: var(--lesson-tint); }
.lesson-choice input { margin: 3px 0 0; width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--lesson-accent); }
.lesson-choice strong { font-size: 1.05rem; line-height: 1.4; }
.lesson-choice small, .lesson-choice em { display: block; font-size: .82rem; line-height: 1.65; }
.lesson-choice small { color: var(--lesson-muted); margin-top: 8px; }
.lesson-choice em { color: var(--lesson-accent); margin-top: 18px; font-style: normal; font-weight: 600; }
.lesson-path-prompt { padding: 20px; text-align: center; border: 1px dashed var(--lesson-line); border-radius: 8px; font-size: .86rem; }
.lesson-path-heading { padding: 24px 0 18px; border-top: 1px solid var(--lesson-line); }
.lesson-badge { display: inline-block; padding: 5px 9px; background: var(--lesson-tint); color: var(--lesson-accent); border-radius: 4px; font-size: .66rem; letter-spacing: .07em; font-weight: 700; text-transform: uppercase; }
.lesson-path-heading h3 { margin: 12px 0 8px; }
.lesson-path-heading p { font-size: .9rem; }
.lesson-entry { scroll-margin-top: 130px; }
.lesson-entry + .lesson-entry { border-top: 1px solid var(--lesson-line); padding-top: 24px; margin-top: 24px; }
.lesson-entry > p { margin-top: 10px; font-size: .9rem; }
.lesson-entry > h4 { margin-top: 24px; }
.lesson-steps { margin: 16px 0 24px; padding: 0; list-style: none; }
.lesson-steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 16px; padding: 22px 0; }
.lesson-steps li + li { border-top: 1px solid var(--lesson-line); }
.lesson-step-number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--lesson-bg); color: var(--lesson-ink); font-size: .78rem; font-weight: 700; }
.lesson-steps p { font-size: .91rem; margin-top: 8px; max-width: 76ch; }
.lesson-steps p strong { color: var(--lesson-ink); font-weight: 600; }
.lesson-branch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.lesson-branch { padding: 22px; border: 1px solid var(--lesson-line); border-radius: 8px; background: var(--lesson-bg); }
.lonewolf-learning-hub .lesson-branch h5 { margin: 14px 0 12px; color: var(--lesson-ink); font-family: Arial, sans-serif; font-size: 1.1rem; font-weight: 700; line-height: 1.4; text-transform: none; letter-spacing: -.02em; }
.lesson-branch .lesson-badge { line-height: 1.65; }
.lesson-note, .lesson-prerequisite { padding: 20px 22px; border-radius: 8px; margin: 24px 0; background: var(--lesson-bg); border-left: 3px solid var(--lesson-line); }
.lesson-note > strong, .lesson-prerequisite > strong { font-size: .88rem; line-height: 1.5; color: var(--lesson-ink); }
.lesson-note p, .lesson-prerequisite p { font-size: .85rem; margin-top: 6px; }
.lesson-note a, .lesson-prerequisite a { display: inline-block; margin-top: 10px; font-size: .78rem; line-height: 1.6; }
.lesson-prerequisite { margin-top: 0; border-left-color: var(--lesson-accent); }
.lesson-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 28px 0; padding: 24px 0; border-top: 1px solid var(--lesson-line); border-bottom: 1px solid var(--lesson-line); }
.lesson-sources > span, .lesson-library > span { color: var(--lesson-muted); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lesson-sources > span { grid-column: 1 / -1; margin-bottom: 4px; }
.lesson-sources a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 84px; padding: 20px; border: 1px solid var(--lesson-line); border-radius: 8px; background: var(--lesson-bg); color: var(--lesson-ink); font-size: .92rem; font-weight: 600; line-height: 1.5; text-decoration: none; }
.lesson-sources a:hover { border-color: var(--lesson-accent); background: var(--lesson-tint); }
.lesson-sources a > span { color: var(--lesson-accent); font-size: 1.1rem; flex-shrink: 0; }
.team-lesson-nav { display: flex; flex-wrap: wrap; gap: 10px; border-bottom: 1px solid var(--lesson-line); padding-bottom: 20px; margin-bottom: 28px; scroll-margin-top: 130px; }
.lonewolf-learning-hub .team-lesson-nav a { display: flex; gap: 8px; align-items: center; color: var(--lesson-muted); font-size: .76rem; text-decoration: none; padding: 10px 12px; background: var(--lesson-bg); border: 1px solid transparent; border-radius: 6px; }
.team-lesson-nav span { font-weight: 700; }
.lonewolf-learning-hub .team-lesson-nav a[aria-current="step"] { border-color: var(--lesson-accent); background: var(--lesson-tint); color: var(--lesson-accent); }
[data-team-stage] > h3 { margin: 10px 0 12px; }
[data-team-stage] > p:not(.lesson-eyebrow) { font-size: .9rem; }
[data-team-stage] + [data-team-stage] { margin-top: 24px; }
.is-guided [data-team-stage] { margin-top: 0; }
.ownership-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0; gap: 12px; }
.ownership-cards > div { padding: 18px; border: 1px solid var(--lesson-line); border-radius: 8px; }
.ownership-cards dt { color: var(--lesson-accent); font-size: .95rem; font-weight: 700; }
.ownership-cards dd { margin: 10px 0 0; font-size: .83rem; line-height: 1.65; color: var(--lesson-muted); }
.ownership-cards dd strong { display: block; color: var(--lesson-ink); font-weight: 600; }
.lesson-contact-choice { margin-top: 24px; }
.lesson-contact-choice legend { font-size: .85rem; }
.lesson-contact-choice .lesson-choices { margin-top: 8px; }
.lesson-contact-choice .lesson-choice { padding: 18px; }
.lesson-contact-choice .lesson-choice strong { font-size: .92rem; }
.lesson-watch, .lesson-help { border: 1px solid var(--lesson-line); border-radius: 8px; margin: 24px 0; overflow: hidden; }
.lesson-watch-heading { padding: 22px 22px 18px; }
.lonewolf-learning-hub .lesson-watch-heading h3 { margin-top: 8px; font-size: 1.05rem; line-height: 1.5; }
.lesson-watch-heading > p:last-child { margin-top: 6px; font-size: .8rem; }
.lesson-watch-body { padding: 0 22px 22px; }
.lesson-video { aspect-ratio: 16 / 9; background: #121212; border-radius: 6px; overflow: hidden; }
.lesson-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.lesson-watch-body > a { display: inline-block; font-size: .8rem; margin-top: 12px; }
.lesson-help { padding: 18px 20px; }
.lesson-help summary { cursor: pointer; font-size: .88rem; font-weight: 600; color: var(--lesson-ink); line-height: 1.5; }
.lesson-help p { margin: 14px 0 10px; font-size: .85rem; }
.lesson-help a { font-size: .8rem; line-height: 1.6; }
.lesson-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--lesson-line); padding-top: 24px; }
.lonewolf-learning-hub .lesson-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 46px; padding: 14px 20px; border-radius: 6px; font-size: .8rem; line-height: 1.5; font-weight: 600; text-decoration: none; }
.lonewolf-learning-hub .lesson-button--primary { background: var(--kw-red); color: var(--kw-white); }
.lonewolf-learning-hub .lesson-button--primary:hover { background: var(--kw-red-dark); }
.lesson-back { font-size: .8rem; line-height: 1.6; }
.lesson-finish { padding: 24px 0; }
.lesson-finish h3 { margin: 14px 0 10px; }
.lesson-finish p { font-size: .9rem; }
.lesson-library { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px 24px; padding: 28px 10px 0; }
.lesson-library a { font-size: .76rem; line-height: 1.5; }
body.portal-shell-theme-dark .lonewolf-learning-hub { --lesson-bg: #1b2025; --lesson-paper: #242b31; --lesson-ink: #f3f2ee; --lesson-muted: #bec5ca; --lesson-line: #41494f; --lesson-accent: #ffaaa0; --lesson-tint: #382a2c; }
@media (max-width: 900px) {
  .lesson-hero { gap: 24px; grid-template-columns: minmax(0, 1.5fr) minmax(200px, 1fr); }
  .lesson-course-map { padding-left: 22px; }
  .lesson-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lonewolf-learning-hub .lesson-tab { flex-direction: row; gap: 12px; padding: 16px 20px 16px 14px; }
  .lesson-tab-number { padding-top: 2px; }
}
@media (max-width: 600px) {
  .lesson-hero { grid-template-columns: 1fr; gap: 24px; }
  .lesson-course-map { border-left: 0; border-top: 1px solid var(--lesson-line); padding: 20px 0 0; }
  .lesson-course-map ol { grid-template-columns: 1fr 1fr; gap: 12px; }
  .lesson-course-map li { font-size: .75rem; gap: 8px; }
  .lesson-choices, .ownership-cards, .lesson-branch-grid { grid-template-columns: 1fr; }
  .lesson-sources { grid-template-columns: 1fr; }
  .lesson-watch-body { padding: 0 0 18px; }
  .lesson-watch-body > a { margin-left: 18px; }
  .lesson-video { border-radius: 0; }
  .lesson-choice { padding: 18px; }
  .lesson-tab strong { font-size: .78rem; }
  .lesson-tab small { font-size: .64rem; }
  .lesson-tab-number { font-size: .65rem; }
  .lonewolf-learning-hub .lesson-tab { gap: 8px; padding: 14px 12px; }
  .lesson-footer { align-items: stretch; flex-direction: column; }
  .lesson-footer > span:empty { display: none; }
  .team-lesson-nav { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .lesson-note, .lesson-prerequisite { padding: 18px; }
  .lesson-steps li { gap: 12px; grid-template-columns: 28px minmax(0, 1fr); }
  .lesson-step-number { width: 28px; height: 28px; }
}
@media (prefers-reduced-motion: reduce) { .lonewolf-learning-hub * { transition: none; scroll-behavior: auto; } }
@media print {
  .lonewolf-learning-hub { --lesson-bg: #f5f5f5; --lesson-paper: #fff; --lesson-ink: #111; --lesson-muted: #333; --lesson-line: #ccc; --lesson-accent: #800000; }
  .is-guided [data-lesson-panel][hidden] { display: block !important; margin-top: 24px; }
  .lesson-tabs, .lesson-footer, .lesson-watch, .lesson-library { display: none; }
}
