/* Canonical home map styling, imported unchanged for lesson slices. */
  #ll-full-flow-map{
    --llf-ink:#252a25;
    --llf-muted:rgba(37,42,37,.62);
    --llf-stroke:rgba(37,42,37,.34);
    --llf-stroke-width:1.25px;
    --llf-accent:#936b32;
    --llf-radius:14px;
    --llf-node-width:280px;
    --llf-gap:minmax(112px,10vw);
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
    color:var(--llf-ink);
    font-family:inherit;
    font-size:16px;
    line-height:1.45;
    isolation:isolate;
  }

  #ll-full-flow-map,
  #ll-full-flow-map *{
    box-sizing:border-box;
  }

  #ll-full-flow-map .llf-card{
    position:relative;
    width:100%;
    margin:0 auto;
    padding:0;
    overflow:visible;
    border:0;
    background:transparent;
  }

  #ll-full-flow-map .llf-toolbar{
    display:flex;
    justify-content:flex-start;
    margin:0 0 2px;
  }

  #ll-full-flow-map .llf-expand-all{
    appearance:none;
    width:34px;
    height:34px;
    margin:0;
    padding:6px;
    border:0;
    background:transparent;
    color:var(--llf-accent);
    cursor:pointer;
    transition:transform 160ms ease,color 160ms ease;
  }

  #ll-full-flow-map .llf-expand-all:hover,
  #ll-full-flow-map .llf-expand-all:focus-visible{
    transform:translateY(-2px);
    color:var(--llf-ink);
  }

  #ll-full-flow-map .llf-expand-all svg{
    display:block;
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
  }

  #ll-full-flow-map .llf-stage{
    position:relative;
    width:100%;
    min-height:360px;
    padding:14px 18px 48px;
    overflow-x:auto;
    overflow-y:visible;
    scrollbar-width:thin;
    scrollbar-color:rgba(147,107,50,.45) transparent;
    -webkit-overflow-scrolling:touch;
  }

  #ll-full-flow-map .llf-canvas{
    position:relative;
    width:max-content;
    min-width:100%;
    padding:0;
  }

  #ll-full-flow-map .llf-svg{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    height:100%;
    overflow:visible;
    pointer-events:none;
  }

  #ll-full-flow-map .llf-flow{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:
      var(--llf-node-width) var(--llf-gap)
      var(--llf-node-width) var(--llf-gap)
      var(--llf-node-width) var(--llf-gap)
      var(--llf-node-width) var(--llf-gap)
      var(--llf-node-width) var(--llf-gap)
      var(--llf-node-width) var(--llf-gap)
      var(--llf-node-width);
    align-items:center;
  }

  #ll-full-flow-map .llf-group{
    width:var(--llf-node-width);
    min-width:0;
  }

  #ll-full-flow-map .llf-group:nth-child(1){ grid-column:1; }
  #ll-full-flow-map .llf-group:nth-child(2){ grid-column:3; }
  #ll-full-flow-map .llf-group:nth-child(3){ grid-column:5; }
  #ll-full-flow-map .llf-group:nth-child(4){ grid-column:7; }
  #ll-full-flow-map .llf-group:nth-child(5){ grid-column:9; }
  #ll-full-flow-map .llf-group:nth-child(6){ grid-column:11; }
  #ll-full-flow-map .llf-group:nth-child(7){ grid-column:13; }

  #ll-full-flow-map .llf-stack{
    display:flex;
    width:100%;
    flex-direction:column;
    gap:14px;
  }

  #ll-full-flow-map .llf-node{
    position:relative;
    display:block;
    width:100%;
    height:62px;
    margin:0;
    padding:0;
    overflow:hidden;
    border:var(--llf-stroke-width) solid rgba(37,42,37,.25);
    border-radius:var(--llf-radius);
    background:rgba(255,255,255,.22);
    color:var(--llf-ink);
    cursor:pointer;
    transition:
      height 240ms cubic-bezier(.2,.8,.2,1),
      transform 200ms cubic-bezier(.2,.8,.2,1),
      border-color 200ms ease,
      box-shadow 200ms ease,
      background-color 200ms ease,
      color 200ms ease;
  }

  #ll-full-flow-map .llf-node:hover,
  #ll-full-flow-map .llf-node.llf-pinned{
    transform:translateY(-2px);
    border-color:var(--llf-accent);
    box-shadow:0 10px 22px rgba(37,42,37,.08);
  }

  #ll-full-flow-map .llf-node.llf-milestone{
    height:62px;
    border-color:var(--llf-ink);
    background:var(--llf-ink);
    color:#f6f3ec;
  }

  #ll-full-flow-map .llf-node:hover .llf-node-icon,
  #ll-full-flow-map .llf-node.llf-pinned .llf-node-icon{
    color:var(--llf-accent);
  }

  #ll-full-flow-map .llf-node.llf-milestone .llf-title{
    font-size:17px;
  }

  #ll-full-flow-map .llf-face{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:14px 16px 13px;
    transition:
      opacity 180ms ease,
      transform 220ms cubic-bezier(.2,.8,.2,1);
  }

  #ll-full-flow-map .llf-face-rest{
    bottom:auto;
    height:62px;
    opacity:1;
  }

  #ll-full-flow-map .llf-rest-line{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
  }

  #ll-full-flow-map .llf-node-icon{
    color:var(--llf-muted);
    font-size:18px;
    font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20;
    transition:color 180ms ease;
  }

  #ll-full-flow-map .llf-face-open{
    justify-content:flex-start;
    padding:48px 16px 12px;
    opacity:0;
    transform:translateY(8px);
  }

  #ll-full-flow-map .llf-title{
    margin:0;
    text-align:left;
    font-size:15px;
    font-weight:500;
    letter-spacing:.02em;
  }

  #ll-full-flow-map .llf-open-line,
  #ll-full-flow-map .llf-more{
    margin:0;
    color:var(--llf-muted);
    font-size:13px;
    font-weight:300;
    letter-spacing:.01em;
    line-height:1.55;
  }

  #ll-full-flow-map .llf-open-line{
    text-align:left;
  }

  #ll-full-flow-map .llf-open-line strong{
    display:none;
  }

  #ll-full-flow-map .llf-more-hint{
    margin:6px 0 0;
    color:var(--llf-accent);
    font-size:11px;
    font-weight:500;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  #ll-full-flow-map .llf-more{
    display:none;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid rgba(37,42,37,.16);
    opacity:.9;
  }

  #ll-full-flow-map .llf-milestone .llf-more{
    border-top-color:rgba(246,243,236,.28);
  }

  #ll-full-flow-map .llf-milestone .llf-face-open,
  #ll-full-flow-map .llf-milestone .llf-open-line,
  #ll-full-flow-map .llf-milestone .llf-more{
    color:rgba(246,243,236,.86);
  }

  #ll-full-flow-map .llf-node.llf-expanded .llf-face-open{
    inset:auto 0 auto;
    top:0;
    justify-content:flex-start;
    padding-bottom:18px;
  }

  #ll-full-flow-map .llf-node.llf-pinned:not(.llf-milestone):not(.llf-expanded){
    height:96px;
    background:rgba(245,196,107,.18);
  }

  #ll-full-flow-map .llf-node.llf-pinned:not(.llf-milestone){
    border-color:var(--llf-accent);
    background:rgba(245,196,107,.18);
  }

  #ll-full-flow-map .llf-node.llf-expanded .llf-more-hint{ display:none; }
  #ll-full-flow-map .llf-node.llf-expanded .llf-more{ display:block; }

  @media (hover:hover) and (pointer:fine){
    #ll-full-flow-map .llf-node:hover .llf-face-rest{ opacity:1; }
    #ll-full-flow-map .llf-node:hover .llf-face-open{ opacity:0; }
  }

  #ll-full-flow-map .llf-node.llf-pinned .llf-face-rest,
  #ll-full-flow-map .llf-node.llf-expanded .llf-face-rest{
    opacity:1;
    transform:translateY(-5px);
  }

  #ll-full-flow-map .llf-node.llf-pinned .llf-face-open,
  #ll-full-flow-map .llf-node.llf-expanded .llf-face-open{
    opacity:1;
    transform:none;
  }

  #ll-full-flow-map .llf-node[data-id^="strength-"][class~="llf-expanded"]{
    border-color:var(--llf-accent);
    background:rgba(245,196,107,.18);
    color:var(--llf-ink);
    box-shadow:0 10px 22px rgba(37,42,37,.08);
  }

  #ll-full-flow-map .llf-node[data-id^="strength-"][class~="llf-expanded"] .llf-more{
    border-top-color:rgba(37,42,37,.16);
  }

  #ll-full-flow-map .llf-line-in{
    animation:llf-line-in 700ms ease both;
  }

  #ll-full-flow-map .llf-node-in{
    animation:llf-node-in 520ms ease both;
  }

  @keyframes llf-line-in{ from{opacity:0;} to{opacity:1;} }
  @keyframes llf-node-in{ from{opacity:0;} to{opacity:1;} }

  @media (max-width:760px){
    #ll-full-flow-map{
      --llf-node-width:min(78vw,280px);
      --llf-gap:96px;
    }

    #ll-full-flow-map .llf-toolbar{
      margin-bottom:2px;
    }

    #ll-full-flow-map .llf-stage{
      min-height:360px;
      padding:10px 24px 42px;
      overflow-x:auto;
      overflow-y:visible;
      scroll-padding-inline:24px;
      scroll-snap-type:x mandatory;
    }

    #ll-full-flow-map .llf-canvas{
      width:max-content;
      min-width:0;
      padding:0 28vw;
    }

    #ll-full-flow-map .llf-group{
      scroll-snap-align:center;
      scroll-snap-stop:always;
    }
  }

@media (prefers-reduced-motion:reduce){
    #ll-full-flow-map .llf-node,
    #ll-full-flow-map .llf-face{
      transition:none;
    }

    #ll-full-flow-map .llf-line-in,
    #ll-full-flow-map .llf-node-in{
      animation:none;
    }
  }

/* Lesson slices use the home map system with two visible groups. */
#ll-full-flow-map .llf-flow{
  grid-template-columns:
    var(--llf-node-width) var(--llf-gap)
    var(--llf-node-width);
}

@media (max-width:760px){
  #ll-full-flow-map .llf-canvas{
    padding:0;
  }
}
