/* Lectio */
  /* Base (moved to mount, since .llm wrapper is removed) */
  #ll-mind-lectio{
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    color:inherit;
    line-height:1.45;
  }

#ll-mind-lectio .llm-rail{
  max-width:1080px;
  margin:0 auto;
  width:100%;
}

  /* =========================================================
     Lectio body (remaining UI)
  ========================================================= */

  #ll-mind-lectio .llm-lectioBody{
    padding:0;
  }

  #ll-mind-lectio .llm-lectioGrid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    align-items:start;
  }

  #ll-mind-lectio .llm-lectioLeft{
    padding:0 0 18px 0;
    border-bottom:1px solid rgba(0,0,0,.12);
  }

  #ll-mind-lectio .llm-lectioRight{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

/* =========================================================
     Pass group container + individual pass cards
  ========================================================= */

#ll-mind-lectio .llm-passGroup{
    border:1px solid rgba(255,255,255,.22);
    border-radius:16px;
    padding:14px;
    box-sizing:border-box;
  }

  #ll-mind-lectio .llm-passCard{
    border:1px solid rgba(255,255,255,.22);
    border-radius:14px;
    padding:14px;
    box-sizing:border-box;
  }

  #ll-mind-lectio .llm-lectioRightTitle{
    margin:0 0 4px 0;
    font-size:15px;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  #ll-mind-lectio .llm-lectioRightDesc{
    margin:0;
    font-size: var(--portal-body-copy-size);
    line-height:1.5;
    opacity:.9;
    max-width:none;
  }

  #ll-mind-lectio .llm-lectioQLabel{
    margin:0 0 6px 0;
    font-size:15px;
    font-weight:900;
    letter-spacing:.02em;
  }

#ll-mind-lectio .llm-lectioQPrompt{
  margin:0 0 8px 0;
  font-size:17px;
  line-height:1.5;
  opacity:.9;
}

  #ll-mind-lectio .llm-lectioTA{
  width:100%;
  min-height:96px;
  resize:vertical;
  padding:12px 14px;
  background:#f2f2f2;
  color:#111;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  font:inherit;
  font-size:16px;
  line-height:1.5;
  box-sizing:border-box;
}

  #ll-mind-lectio .llm-lectioTA:focus{
    outline:none;
    border-color:rgba(0,0,0,.28);
  }

#ll-mind-lectio .llm-openFrozen{
  width:100%;
  padding:12px 14px;

  background:transparent;
  color:#fff;

  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;

  box-sizing:border-box;

  font:inherit;
  font-size:16px;
  line-height:1.5;

  white-space:pre-wrap;
}

.llm-miniInput:focus{
  outline:none;
  box-shadow:none;
  border-color:rgba(255,255,255,.22);
}


  /* =========================================================
     Lectio actions (bottom buttons)
  ========================================================= */

  #ll-mind-lectio .llm-lectioActions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.22);
}

  #ll-mind-lectio .llm-lectioBtn{
  appearance:none;
  border:1px solid rgba(255,255,255,.28);
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  font-weight:850;
  letter-spacing:-0.01em;
  cursor:pointer;
  line-height:1;
}

#ll-mind-lectio .llm-lectioBtn:hover{
  background:rgba(255,255,255,.08);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transform:translateY(-1px);
}

#ll-mind-lectio .llm-lectioBtn:active{
  transform:translateY(0);
  box-shadow:0 6px 14px rgba(0,0,0,.16);
}


  @media (prefers-reduced-motion:reduce){
    #ll-mind-lectio .llm-lectioBtn:hover,
    #ll-mind-lectio .llm-lectioBtn:active{
      transform:none;
    }
  }

  /* =========================================================
     Mini input grid (passes)
  ========================================================= */

  .llm-miniGrid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:12px;
    align-items:stretch;
    margin-top:20px;
  }

.llm-miniBox{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  padding:12px 12px 10px 12px;
  box-sizing:border-box;

  display:flex;
  flex-direction:column;
}

.llm-miniPrompt{
  font-size: var(--portal-body-copy-size);
  line-height:1.45;
  opacity:.9;
  margin:0 0 8px 0;
}

.llm-miniInput{
  width:100%;
  height:64px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.22);
  background:#f2f2f2;
  color:#111;
  font:inherit;
  font-size:15px;
  line-height:1.45;
  padding:10px 12px;
  box-sizing:border-box;

  margin-top:auto;
}

.llm-miniFrozen{
  display:none;
  font-size:15px;
  line-height:1.45;
  opacity:.95;
}

  .llm-miniFrozen strong{
    font-weight:950;
    opacity:1;
  }

  .llm-miniBox.llm-frozen .llm-miniPrompt{ display:none; }
  .llm-miniBox.llm-frozen .llm-miniInput{ display:none; }
  .llm-miniBox.llm-frozen .llm-miniFrozen{ display:block; }

  @media (max-width:760px){
    .llm-miniGrid{ grid-template-columns:repeat(2, 1fr); }
  }

  /* =========================================================
     Summary section (Recognize and Remember)
  ========================================================= */

  #ll-mind-lectio #llmDivAfterSummary{
    height:1px;
    background:rgba(0,0,0,.12);
    margin:14px 0 12px 0;
  }

  #ll-mind-lectio #llmSummary{
  background:#fff;
  color:#111;
  border-radius:16px;
  padding:14px 14px 16px 14px;
  border:1px solid rgba(0,0,0,.12);
}

/* Summary copy should read like normal black text (not Lectio-white / dimmed) */
#ll-mind-lectio #llmSummary .llm-lectioQPrompt,
#ll-mind-lectio #llmSummary .llm-lectioQPrompt p{
  color:inherit;
  font-size:inherit;
  line-height:inherit;
  opacity:1;
}

  .llm-summaryGrid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    margin-top:16px;
  }

  .llm-summaryGrid > div{
  border:1.5px solid #111;
  border-radius:14px;
  padding:12px;
  background:#fff;   /* explicit */
  box-sizing:border-box;
}

/* Summary grid — Box 4 (Purpose) inverted */
.llm-summaryGrid > div:nth-child(4){
  background:#111;   /* explicit */
  border-color:#111;
}

.llm-summaryGrid > div:nth-child(4){
  color:#fff;
}

.llm-summaryGrid > div:nth-child(4) *{
  color:#fff;
}

.llm-summaryGrid > div:not(:nth-child(4)),
.llm-summaryGrid > div:not(:nth-child(4)) *{
  color:#111;
}

  @media (max-width: 640px){
    .llm-summaryGrid{ grid-template-columns:1fr; }
  }

  .llm-summaryBoxTitle{
    margin:0 0 10px 0;
    font-size:16px;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
    opacity:.95;
  }

  .llm-summaryList{
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .llm-summaryLine{
    font-size: var(--portal-body-copy-size);
    line-height:1.45;
    opacity:.98;
    white-space:pre-wrap;
  }

#ll-mind-lectio .llm-summaryLine{
  font-size:17px;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.03em;
}

  /* Simple divider utility used in the template */
  .llm-divider{
    height:1px;
    background:rgba(0,0,0,.12);
    margin:10px 0 12px 0;
  }

@media (max-width:760px){
  :is(
    #ll-soul-start-map,
    #ll-mind-map,
    #ll-strength-map,
    #ll-offering-map
  ) .llm-twoPaneGutter{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    row-gap:18px;
    min-height:0;
  }

  :is(
    #ll-soul-start-map,
    #ll-mind-map,
    #ll-strength-map,
    #ll-offering-map
  ) .llm-twoPaneGutter > div:nth-child(2){
    display:none;
  }

  :is(
    #ll-mind-map,
    #ll-offering-map
  ) #llmLeft.llm-pane{
    align-items:flex-start;
    justify-content:flex-start;
    padding-left:var(--llm-edgeInset);
    padding-right:50px;
  }

  :is(
    #ll-mind-map,
    #ll-offering-map
  ) #llmRight.llm-pane{
    align-items:flex-start;
    justify-content:flex-end;
    padding-left:32px;
    padding-right:var(--llm-edgeInset);
  }

  :is(
    #ll-soul-start-map #llmMapLeft,
    #ll-strength-map #llmLeft
  ).llm-pane{
    align-items:flex-start;
    justify-content:flex-start;
    padding-left:var(--llm-edgeInset);
    padding-right:32px;
  }

  :is(
    #ll-soul-start-map #llmMapRight,
    #ll-strength-map #llmRight
  ).llm-pane{
    align-items:flex-start;
    justify-content:flex-end;
    padding-left:50px;
    padding-right:var(--llm-edgeInset);
  }

  :is(
    #ll-soul-start-map,
    #ll-mind-map,
    #ll-strength-map,
    #ll-offering-map
  ) .llm-stackWrap{
    width:100%;
    max-width:420px;
  }
}

[data-ll-standalone="mind-reflection"]{
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  isolation:isolate;
}

[data-ll-standalone="mind-reflection"],
[data-ll-standalone="mind-reflection"] *{
  box-sizing:border-box;
}

/* Lesson 3 — Carry From Your Soul
   Original sources: Final Blocks/Soul Hold/Soul Hold Map.txt + Soul Hold Lectio.txt
   Integration note: copied mount IDs were renamed for this course to avoid collisions. */

/* Lectio */
.llm{
  font: inherit;
  color: inherit;
  line-height: inherit;
}

  .llm-card{
    max-width:1080px;
    margin:0 auto;
    border:none;
    border-radius:0;
    padding:0;
    background:transparent;
    box-sizing:border-box;
    overflow:visible;
  }

/* =========================================================
   Lectio section header — reuse tool header language
========================================================= */

#ll-soul-hold-lectio .llm-lectioHeader{
  margin:0 0 12px 0;
}

#ll-soul-hold-lectio .llm-lectioHeader .llm-journey{
  margin:0 0 2px 0;
}

#ll-soul-hold-lectio .llm-lectioHeader .llm-headStage{
  margin:0;
}

#ll-soul-hold-lectio .llm-lectioHeader .llm-headHint{
  margin:6px 0 0 0;
}

#ll-soul-hold-lectio .llm-lectioPrintNote{
  margin-top:28px;
  padding-top:0;
  border-top:none;
}

/* =========================================================
   Section header (used for Map + Lectio)
========================================================= */

/* Header row: left stack + right controls = full-width bar */
#ll-soul-hold-lectio .llm-sectionHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  width:100%;
  gap:16px;
}

/* Controls rail: hard-right */
#ll-soul-hold-lectio .llm-sectionControls{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  margin-left:auto;           /* forces hard-right */
  justify-content:flex-end;   /* aligns items within rail */
}

/* ✅ FINAL OVERRIDE: top-align controls in ALL section headers */
#ll-soul-hold-lectio .llm-sectionHeader .llm-sectionControls{
  align-items:flex-start;
}


/* Info icon */
#ll-soul-hold-lectio .llm-infoBtn{
  appearance:none;
  border:none;
  background:transparent;
  color:#111;

  width:16px;        /* tighter */
  height:16px;       /* tighter */
  border-radius:50%;

  font-size:11px;    /* smaller glyph */
  font-weight:900;
  line-height:16px;  /* lock line-height to box */

  cursor:pointer;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Hide/Show Lectio body */
#ll-soul-hold-lectio.llm-lectioHidden .llm-lectioBody{
  display:none;
}

#ll-soul-hold-lectio .llm-lectioBody{
  padding-top:18px;
}

/* Map header controls: top-align like Lectio */
#ll-soul-hold-lectio .llm-diagramBar.llm-sectionHeader .llm-sectionControls{
  align-items:flex-start;
}

/* Optional: nudge controls to line up with the EXPLORE line */
#ll-soul-hold-lectio .llm-diagramBar.llm-sectionHeader .llm-mapToggle,
#ll-soul-hold-lectio .llm-diagramBar.llm-sectionHeader .llm-infoBtn{
  margin-top:2px;
}

/* Lectio info button — white on black */
#ll-soul-hold-lectio .llm-lectioHeader .llm-infoBtn{
  color:#fff;
}

/* Thin divider + breathing room inside Respond/Marker box */
#ll-soul-hold-lectio .llm-markerDivider{
  height:1px;
  background:rgba(255,255,255,.22);
  margin:14px 0 16px 0;
}

  .llm-headStage{
    margin:0;
    font-size:18px;
    font-weight:950;
    letter-spacing:-0.01em;
  }

  .llm-headHint{
    margin:6px 0 0 0;
    font-size:12.5px;
    opacity:.78;
    max-width:none;
  }

  .llm-stackWrap{
    width:100%;
    max-width:520px;
    display:flex;
    flex-direction:column;
    gap:14px;
    box-sizing:border-box;
  }

#ll-soul-hold-lectio #llmLeft .llm-stackWrap{
  max-width:clamp(200px, 26vw, 260px);
}

  #ll-soul-hold-lectio #llmRight .llm-stackWrap{
    max-width:clamp(260px,38vw,380px);
  }

/* =========================================================
   Lectio actions (bottom buttons)
========================================================= */

#ll-soul-hold-lectio .llm-lectioActions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.22);
}

#ll-soul-hold-lectio .llm-lectioBtn{
  appearance:none;
  border:1px solid rgba(255,255,255,.28);
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  font-weight:850;
  letter-spacing:-0.01em;
  cursor:pointer;
  line-height:1;

  width:auto;
  display:inline-flex;
}

#ll-soul-hold-lectio .llm-lectioBtn:hover{
  background:rgba(255,255,255,.08);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transform:translateY(-1px);
}

#ll-soul-hold-lectio .llm-lectioBtn:active{
  transform:translateY(0);
  box-shadow:0 6px 14px rgba(0,0,0,.16);
}

@media (prefers-reduced-motion:reduce){
  #ll-soul-hold-lectio .llm-lectioBtn:hover,
  #ll-soul-hold-lectio .llm-lectioBtn:active{
    transform:none;
  }
}

#ll-soul-hold-lectio .llm-lectioGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
}

/* Right bare inputs */
#ll-soul-hold-lectio .llm-lectioRight{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* =========================================================
   12 Mini Boxes (4 x 3) — short answers
========================================================= */

#ll-soul-hold-lectio .llm-miniGrid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  align-items:stretch;
}

#ll-soul-hold-lectio .llm-miniDivider{
  height:1px;
  background:rgba(255,255,255,.22);
  margin:2px 0 0 0;
}
#ll-soul-hold-lectio .llm-miniFrozen{
  display:none;
  font-size:14.5px;
  line-height:1.45;
  opacity:.95;
}

#ll-soul-hold-lectio .llm-miniFrozen strong{
  font-weight:950;
  opacity:1;
}

#ll-soul-hold-lectio .llm-miniBox.llm-frozen .llm-miniPrompt{
  display:none;
}

#ll-soul-hold-lectio .llm-miniBox.llm-frozen .llm-miniInput{
  display:none;
}

#ll-soul-hold-lectio .llm-miniBox.llm-frozen .llm-miniFrozen{
  display:block;
}

#ll-soul-hold-lectio .llm-miniBox{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  padding:12px 12px 10px 12px;
  box-sizing:border-box;

  display:flex;
  flex-direction:column;
}

/* ---------------------------------------------------------
   Mini Box Resonance Cycle (frozen-only)
   States: unset (default) → black → gray → white
--------------------------------------------------------- */

#ll-soul-hold-lectio .llm-miniBox.llm-frozen{
  cursor:pointer;
}

/* Prevent text selection while cycling resonance (frozen-only) */
#ll-soul-hold-lectio .llm-miniBox.llm-frozen,
#ll-soul-hold-lectio .llm-miniBox.llm-frozen *{
  -webkit-user-select:none;
  user-select:none;
}

/* clear, explicit states */
#ll-soul-hold-lectio .llm-miniBox.llm-res-black{
  background:#111;
  border-color:rgba(255,255,255,.28);
  color:#fff;
}

#ll-soul-hold-lectio .llm-miniBox.llm-res-gray{
  background:#666;
  border-color:rgba(255,255,255,.28);
  color:#fff;
}

#ll-soul-hold-lectio .llm-miniBox.llm-res-white{
  background:#f2f2f2;
  border-color:rgba(0,0,0,.14);
  color:#111;
}

#ll-soul-hold-lectio .llm-miniPrompt{
  font-size: var(--portal-body-copy-size);
  line-height:1.35;
  opacity:.92;
  margin:0 0 10px 0;
}

#ll-soul-hold-lectio .llm-miniInput{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:#f2f2f2;
  color:#111;
  font:inherit;
  font-size:15px;
  padding:10px 12px;
  box-sizing:border-box;

  margin-top:auto;
}

/* Textareas: very light grey (not white) */
#ll-soul-hold-lectio .llm-lectioTA{
  width:100%;
  min-height:78px;
  resize:vertical;
  padding:10px 11px;

  background:#f2f2f2;                 /* light grey */
  color:#111;

  border:1px solid rgba(255,255,255,.22); /* subtle on black */
  border-radius:12px;

  font:inherit;
  font-size:13px;
  line-height:1.4;
  box-sizing:border-box;
}

/* =========================================================
   Lectio Cluster — Respond + 12 boxes
========================================================= */

#ll-soul-hold-lectio .llm-lectioCluster{
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:14px;
  box-sizing:border-box;
  align-items:stretch;
}

#ll-soul-hold-lectio .llm-clusterFooter{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between; /* left + right rails */
  gap:10px;
}

#ll-soul-hold-lectio .llm-clusterLeft,
#ll-soul-hold-lectio .llm-clusterRight{
  display:flex;
  align-items:center;
  gap:10px;
}


/* Disabled styling for Show Map (uses existing button class only) */
#ll-soul-hold-lectio button.llm-lectioBtn[disabled]{
  opacity:.55;
  cursor:not-allowed;
}

/* =========================================================
   Bar Map View (High resonance only) — scoped component
========================================================= */

#ll-mini-mapView{
  display:none;                 /* hidden by default */
  margin-top:14px;
}

#ll-mini-mapView .llb-card{
  background:#fff;
  border:1px solid #111;
  border-radius:0 0 16px 16px;   /* tabs define the top boundary */
  padding:14px;
  box-sizing:border-box;
}

#ll-mini-mapView .llb-headerTitle{
  margin:0 0 6px 0;
  font-size:15px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#111;
}

#ll-mini-mapView .llb-headerDesc{
margin:0 0 12px 0;
  font-size:15px;
  line-height:1.65;
  opacity:.92;
  color:#111;
}

/* Snapshot folder rail: outside the card; full-width; top corners only */
#ll-mini-mapView .llb-tabs{
  display:flex;
  gap:0;
  width:100%;
  margin:0;
}

#ll-mini-mapView .llb-tab{
  appearance:none;
  font:inherit;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;

  flex:1 1 0;
  text-align:center;

  border:1px solid #111;
  border-bottom:0;              /* tab merges into card below */
  background:#2b2b2b;
  color:#fff;

  padding:10px 8px;
  margin:0;
  cursor:pointer;

  border-radius:16px 16px 0 0;  /* TOP only */
}

/* connected rail: no double borders between tabs */
#ll-mini-mapView .llb-tab + .llb-tab{
  border-left:0;
}

/* active tab is the same surface as the card */
#ll-mini-mapView .llb-tab[aria-selected="true"]{
  background:#fff;
  color:#111;
  position:relative;
  z-index:2;
  margin-bottom:-1px;
}

#ll-mini-mapView[data-open="1"]{
  display:block;
}

#ll-mini-mapView .llb-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  align-items:stretch;
}

@media (max-width:760px){
  #ll-mini-mapView .llb-grid{
    grid-template-columns:1fr;
  }
}

/* Final Mind reflection grouping + actions */
#ll-soul-hold-lectio .llm-lectioGrid{
  gap:32px;
}

#ll-soul-hold-lectio .llr-shapingShell,
#ll-soul-hold-lectio .llr-rankingShell,
#ll-soul-hold-lectio .llr-responseShell{
  padding:20px;
  border:1px solid currentColor;
  border-radius:14px;
  background:transparent;
}

#ll-soul-hold-lectio .llr-shapingShell .llm-lectioCluster{
  margin-top:24px;
}

#ll-soul-hold-lectio .llr-rankingSection:not([hidden]){
  display:grid;
  gap:32px;
}

#ll-soul-hold-lectio .llr-rankingShell .llr-filterMenu{
  display:flex;
  margin:20px 0;
}

#ll-soul-hold-lectio .llr-rankingShell .llm-clusterFooter{
  margin-top:16px;
}

#ll-soul-hold-lectio .llr-responseShell .llr-zoneResponses{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-top:24px;
}

#ll-soul-hold-lectio .llr-responseShell .llr-zoneResponseLabel{
  padding:0;
  border:0;
  border-radius:0;
}

#ll-soul-hold-lectio .llr-responseShell .llr-zoneResponse{
  display:block;
  width:100%;
  min-height:78px;
  margin:0;
  padding:10px;
  border-radius:12px;
  background:#f2f2f2;
  color:#111;
  box-sizing:border-box;
  font:inherit;
  font-size:16px;
  resize:vertical;
}

#ll-soul-hold-lectio .llm-lectioPrintNote{
  margin-top:0;
}

#ll-soul-hold-lectio .llm-actionMenu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.22);
}

#ll-soul-hold-lectio .llm-actionIcon{
  appearance:none;
  width:40px;
  height:40px;
  padding:7px;
  border:1px solid currentColor;
  border-radius:999px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  transition:transform 160ms ease, filter 160ms ease, color 160ms ease, opacity 160ms ease;
}

#ll-soul-hold-lectio .llm-actionIcon:hover{
  transform:translateY(-2px);
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.22));
}

#ll-soul-hold-lectio .llm-actionIcon:disabled{
  cursor:default;
}

#ll-soul-hold-lectio .llm-actionIcon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#ll-soul-hold-lectio .llm-actionIcon.llm-clearAnswers svg{
  transform:translateX(.5px);
}

#ll-soul-hold-lectio .llm-actionIcon.llm-copySuccess{
  color:#f4e6a6;
}

#ll-soul-hold-lectio .llm-actionIcon.llm-copyFailed{
  opacity:.5;
}

@media (prefers-reduced-motion:reduce){
  #ll-soul-hold-lectio .llm-actionIcon:hover{
    transform:none;
  }
}

#ll-mini-mapView .llb-col{
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  padding:12px;
  box-sizing:border-box;
  background:rgba(255,255,255,.06);

  display:flex;
  flex-direction:column;
  min-height:0;

  align-self:end;
}

/* Mini-map column backgrounds: reuse first-map Tune/Theme/Mood exact values */
#ll-mini-mapView .llb-col[data-cat="Tune"]{ background:#ccffd1; }
#ll-mini-mapView .llb-col[data-cat="Theme"]{ background:#d9ecff; }
#ll-mini-mapView .llb-col[data-cat="Mood"]{ background:#ffd9f0; }

/* Title stays on top; stack area consumes remaining space */
#ll-mini-mapView .llb-title{
  margin:0 0 10px 0;
  font-size:13px;
  font-weight:950;
  letter-spacing:-0.01em;
  text-align:center;
  opacity:.95;
  color:#111;
}

/* Bottom-pack multiple bar nodes within each column */
#ll-mini-mapView .llb-stack{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;  /* baseline behavior */
  gap:10px;
  min-height:0;
}

/* Individual bar nodes: content-driven height */
#ll-mini-mapView .llb-bar{
  border:0;
  border-radius:0;
  padding:0;
  box-sizing:border-box;
  background:transparent;
  color:#111;

  font-size:13px;
  line-height:1.35;
  font-weight:650;

  height:auto;               /* explicit: content-driven */
}

/* =========================================================
   Info Card (click-only) — anchored overlay
========================================================= */

#ll-soul-hold-lectio .llm-infoCard{
  position:absolute;
  z-index:60;
  display:none;
  width:min(360px, 92vw);
}

#ll-soul-hold-lectio .llm-infoCard.llm-open{
  display:block;
}

#ll-soul-hold-lectio .llm-infoCardInner{
  background:#fff;
  border:1px solid rgba(0,0,0,.14);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(0,0,0,.16);
  padding:12px 12px 12px 12px;
  color:#111;
  font-size:12.5px;
  line-height:1.35;
}

#ll-soul-hold-lectio .llm-infoCardTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px 0;
}

#ll-soul-hold-lectio .llm-infoCardTitle{
  margin:0;
  font-size:12px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.85;
}

#ll-soul-hold-lectio .llm-infoClose{
  appearance:none;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#111;
  width:26px;
  height:26px;
  border-radius:10px;
  font-size:14px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}

#ll-soul-hold-lectio .llm-infoCardBody{
  margin:0;
  opacity:.86;
}

/* =========================================================
   Ranked discernment — simple drag ordering
========================================================= */

#ll-soul-hold-lectio .llr-slotNumber,
#ll-soul-hold-lectio .llr-rankedAnswer{
  display:none;
}

#ll-soul-hold-lectio .llr-rankSlot{
  display:contents;
}

#ll-soul-hold-lectio .llr-rankZone,
#ll-soul-hold-lectio .llr-zoneBody,
#ll-soul-hold-lectio .llr-zoneSlots{
  display:contents;
}

#ll-soul-hold-lectio .llr-zoneBracket,
#ll-soul-hold-lectio .llr-revealCategory,
#ll-soul-hold-lectio .llr-zoneResponses,
#ll-soul-hold-lectio .llr-zoneResponse{
  display:none;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-ranking{
  grid-template-columns:1fr;
  gap:9px;
}

#ll-soul-hold-lectio .llr-filterMenu{
  display:none;
  justify-content:flex-end;
  gap:8px;
}

#ll-soul-hold-lectio .llm-lectioCluster.llr-rankingActive .llr-filterMenu{
  display:flex;
}

#ll-soul-hold-lectio .llr-filterButton{
  padding:7px 11px;
  border:1px solid currentColor;
  border-radius:999px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:14px;
  cursor:pointer;
}

#ll-soul-hold-lectio .llr-filterButton[aria-pressed="true"]{
  border-color:#f4e6a6;
  background:#f4e6a6;
  color:#111;
}

#ll-soul-hold-lectio .llm-lectioCluster.llr-rankingActive{
  padding:0;
  border:0;
  border-radius:0;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-ranking .llr-rankSlot{
  display:grid;
  grid-template-columns:26px minmax(0, 1fr);
  align-items:center;
  gap:10px;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-ranking .llr-slotNumber{
  display:block;
  text-align:right;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-rankZone{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  gap:8px;
  padding:8px;
  border:1px solid currentColor;
  border-radius:16px;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-rankZone:has(.llr-zoneBracket[aria-pressed="true"]){
  border-color:#f4e6a6;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneSlots{
  display:grid;
  gap:9px;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBody{
  display:block;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneResponse{
  display:block;
  width:100%;
  min-height:78px;
  margin:0;
  padding:10px;
  border-radius:12px;
  background:#f2f2f2;
  color:#111;
  box-sizing:border-box;
  font:inherit;
  font-size:16px;
  resize:vertical;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneResponses{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:32px;
}

#ll-soul-hold-lectio .llr-zoneResponseLabel{
  display:flex;
  flex-direction:column;
  padding:16px;
  border:1px solid currentColor;
  border-radius:14px;
}

#ll-soul-hold-lectio .llr-zoneResponseTitle{
  display:block;
  margin:0 0 8px;
  font-size:15px;
  font-weight:650;
  line-height:1.4;
}

#ll-soul-hold-lectio .llr-zoneResponseDesc{
  display:block;
  margin:0 0 10px;
  font-size:16px;
  line-height:1.5;
}

#ll-soul-hold-lectio .llr-zoneResponsePrompt{
  min-width:0;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket{
  appearance:none;
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0;
  padding:0 8px 0 0;
  border-top:0;
  border-right:1px solid currentColor;
  border-bottom:0;
  border-left:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:15px;
  font-weight:650;
  letter-spacing:.02em;
  cursor:pointer;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket[aria-pressed="true"]{
  color:#f4e6a6;
}

#ll-soul-hold-lectio .llr-zoneBracketText{
  display:block;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  transform:rotate(180deg);
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket::before,
#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket::after{
  content:none;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket::before{ top:0; }
#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket::after{ bottom:0; }

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-revealCategory{
  display:inline;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking{
  display:flex;
  min-height:var(--llr-rank-card-height, 0);
  padding:10px 12px;
  border:1px solid currentColor;
  border-radius:14px;
  background:#1f1f1f;
  color:#fff;
  cursor:grab;
  position:relative;
  align-items:stretch;
  justify-content:flex-start;
  text-align:left;
  transition:
    opacity 180ms ease,
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease;
}

#ll-soul-hold-lectio .llr-card.llr-filterHighlighted{
  border-color:#f4e6a6;
  background:#f4e6a6;
  color:#111;
}

#ll-soul-hold-lectio .llr-card.llr-filterMuted{
  opacity:.22;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking .llm-miniPrompt,
#ll-soul-hold-lectio .llr-card.llr-isRanking .llm-miniInput{
  display:none;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking .llr-rankedAnswer{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  width:100%;
  min-width:0;
  text-align:left;
  font-size:15px;
  line-height:1.4;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking .llr-questionLine{
  display:block;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking .llr-prompt{
  display:inline;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking .llr-rankedAnswer strong,
#ll-soul-hold-lectio .llr-card.llr-isRanking .llr-rankedAnswer em{
  display:block;
  margin:4px 0 0;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking .llr-rankedAnswer strong{
  font-weight:650;
}

#ll-soul-hold-lectio .llr-card.llr-dragging{
  cursor:grabbing;
  opacity:.5;
}

#ll-soul-hold-lectio .llr-card.llr-dragPreview{
  position:fixed;
  z-index:9999;
  margin:0;
  pointer-events:none;
  cursor:grabbing;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  opacity:1;
}

#ll-soul-hold-lectio .llr-card.llr-dragPreview .llr-revealCategory{
  display:inline;
}

#ll-soul-hold-lectio .llr-snapshot:not([hidden]){
  display:block !important;
}

#ll-soul-hold-lectio .llr-snapshot .llb-card{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
}

#ll-soul-hold-lectio .llr-snapshot .llb-headerTitle,
#ll-soul-hold-lectio .llr-snapshot .llb-headerDesc{
  color:inherit;
  font:inherit;
  letter-spacing:normal;
  text-transform:none;
}

/* Heart/Soul-aligned reflection styling */
#ll-soul-hold-lectio .llm-lectioBody{
  position:relative;
  padding-top:0;
}

#ll-soul-hold-lectio .llm-reflectionToolbar{
  position:absolute;
  top:0;
  right:0;
  z-index:2;
}

#ll-soul-hold-lectio .llm-resetIcon{
  width:34px;
  height:34px;
  padding:6px;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  transition:transform 160ms ease, filter 160ms ease;
}

#ll-soul-hold-lectio .llm-resetIcon:hover{
  transform:translateY(-2px);
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.22));
}

#ll-soul-hold-lectio .llm-resetIcon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#ll-soul-hold-lectio .llm-lectioLeft .llm-lectioBox:first-child{
  padding-right:44px;
}

#ll-soul-hold-lectio .llm-lectioBox h2{
  margin:0 0 10px;
  font-size:20px;
  font-weight:650;
  line-height:1.25;
}

#ll-soul-hold-lectio .llm-lectioBox p{
  margin:0 0 12px;
  font-size: var(--portal-body-copy-size);
  line-height:1.5;
}

#ll-soul-hold-lectio .llm-lectioBox p:last-child{
  margin-bottom:0;
}

#ll-soul-hold-lectio .llm-lectioCluster{
  padding:0;
  border:0;
  border-radius:0;
  gap:16px;
}

#ll-soul-hold-lectio .llm-miniGrid{
  gap:14px;
}

#ll-soul-hold-lectio .llm-miniBox{
  padding:16px;
  border:1px solid currentColor;
  border-radius:14px;
  background:transparent;
}

#ll-soul-hold-lectio .llm-miniPrompt{
  margin:0 0 12px;
  font-size: var(--portal-body-copy-size);
  line-height:1.5;
  opacity:1;
}

#ll-soul-hold-lectio .llm-alternateQuestions{
  margin:0 0 12px;
}

#ll-soul-hold-lectio .llm-alternateControls{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
}

#ll-soul-hold-lectio .llm-alternateNav{
  display:flex;
  align-items:center;
  gap:2px;
}

#ll-soul-hold-lectio .llm-alternateControls button{
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
}

#ll-soul-hold-lectio .llm-alternateControls svg{
  display:block;
  width:20px;
  height:20px;
  margin:auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#ll-soul-hold-lectio .llm-alternateOutput{
  margin:0;
  font-size: var(--portal-body-copy-size);
  line-height:1.5;
}

@keyframes llmMindSlideFromLeft{
  from{ opacity:0; transform:translateX(-8px); }
  to{ opacity:1; transform:translateX(0); }
}

@keyframes llmMindSlideFromRight{
  from{ opacity:0; transform:translateX(8px); }
  to{ opacity:1; transform:translateX(0); }
}

#ll-soul-hold-lectio .llm-slideFromLeft{
  animation:llmMindSlideFromLeft 180ms ease;
}

#ll-soul-hold-lectio .llm-slideFromRight{
  animation:llmMindSlideFromRight 180ms ease;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking .llm-alternateQuestions{
  display:none;
}

#ll-soul-hold-lectio .llm-miniInput{
  height:auto;
  min-height:68px;
  padding:10px 12px;
  border-radius:12px;
  background:#f2f2f2;
  color:#111;
  font-size:16px;
  line-height:1.4;
  resize:vertical;
}

#ll-soul-hold-lectio .llm-clusterFooter{
  justify-content:flex-end;
}

/* One-at-a-time statement sorting */
#ll-soul-hold-lectio .llr-sorter{
  display:grid;
  gap:18px;
  max-width:720px;
  margin:0 auto;
}

#ll-soul-hold-lectio .llr-sortProgress{
  margin:0;
  text-align:center;
  font-size:14px;
  font-weight:650;
  letter-spacing:.02em;
}

#ll-soul-hold-lectio .llr-sortStatement{
  display:flex;
  align-items:center;
  justify-content:center;
  height:150px;
  padding:28px;
  border:1px solid currentColor;
  border-radius:18px;
  background:#fff;
  color:#111;
  text-align:center;
}

#ll-soul-hold-lectio .llr-sortStatement p{
  max-width:32ch;
  margin:0;
  font-size: var(--portal-body-copy-size);
  font-weight:650;
  line-height:1.35;
}

#ll-soul-hold-lectio .llr-sortChoices{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

#ll-soul-hold-lectio .llr-sortChoice{
  height:68px;
  padding:10px 12px;
  border:1px solid currentColor;
  border-radius:14px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:15px;
  font-weight:650;
  cursor:pointer;
  transition:transform 160ms ease, background-color 160ms ease, color 160ms ease;
}

#ll-soul-hold-lectio .llr-sortChoice:hover,
#ll-soul-hold-lectio .llr-sortChoice:focus-visible,
#ll-soul-hold-lectio .llr-sortChoice[aria-pressed="true"]{
  background:#111;
  color:#fff;
  transform:translateY(-1px);
}

#ll-soul-hold-lectio .llr-sortBack{
  justify-self:start;
  padding:6px 0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:14px;
  cursor:pointer;
}

#ll-soul-hold-lectio .llr-sortBack.llr-sortBackUnavailable{
  visibility:hidden;
  pointer-events:none;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneSlots{
  min-height:46px;
}

#ll-soul-hold-lectio .llr-emptyZone{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:1px dashed rgba(0,0,0,.3);
  border-radius:12px;
  font-size:13px;
  opacity:.65;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-rankZone.llr-dropZoneActive{
  border-color:#f4e6a6;
  box-shadow:0 0 0 2px #f4e6a6 inset;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking{
  touch-action:none;
}

#ll-soul-hold-lectio .llr-card.llr-dropBefore{
  box-shadow:0 -4px 0 #f4e6a6;
}

#ll-soul-hold-lectio .llr-card.llr-dropAfter{
  box-shadow:0 4px 0 #f4e6a6;
}

@media (max-width:760px){
  #ll-soul-hold-lectio .llr-sortChoices{
    grid-template-columns:1fr;
  }

  #ll-soul-hold-lectio .llr-sortStatement{
    height:145px;
    padding:22px 18px;
  }

  #ll-soul-hold-lectio .llr-sortStatement p{
    font-size: var(--portal-body-copy-size);
  }

  #ll-soul-hold-lectio .llm-miniGrid{
    grid-template-columns:1fr;
  }

  #ll-soul-hold-lectio .llm-clusterFooter{
    align-items:stretch;
    flex-direction:column;
  }

  #ll-soul-hold-lectio .llm-clusterLeft,
  #ll-soul-hold-lectio .llm-clusterRight{
    flex-wrap:wrap;
  }

  #ll-soul-hold-lectio .llm-miniGrid.llr-ranking .llr-rankSlot{
    grid-template-columns:22px minmax(0, 1fr);
    gap:8px;
  }

  #ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-rankZone{
    grid-template-columns:36px minmax(0, 1fr);
    gap:6px;
  }

  #ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneResponses{
    grid-template-columns:1fr;
  }
}

/* Mind shared-grid refinement */
#ll-soul-hold-lectio .llr-promptGrid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  margin-right:-20px;
  margin-left:-20px;
  border-top:1px solid currentColor;
  border-bottom:1px solid currentColor;
}

#ll-soul-hold-lectio .llr-promptGrid .llm-miniBox{
  padding:16px;
  border:0;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  border-radius:0;
}

#ll-soul-hold-lectio .llr-promptGrid .llm-miniBox:nth-child(3n){
  border-right:0;
}

#ll-soul-hold-lectio .llr-promptGrid .llm-miniBox:nth-last-child(-n+3){
  border-bottom:0;
}

#ll-soul-hold-lectio .llr-rankingShell .llr-filterMenu{
  justify-content:center;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-rankZone{
  grid-template-columns:48px minmax(0, 1fr);
  gap:0;
  padding:0;
  overflow:hidden;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket{
  padding:0;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBody{
  padding:10px 12px;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-ranking .llr-rankSlot{
  grid-template-columns:32px minmax(0, 1fr);
  gap:12px;
}

#ll-soul-hold-lectio .llm-miniGrid.llr-ranking .llr-slotNumber{
  text-align:center;
}

#ll-soul-hold-lectio .llr-card.llr-isRanking{
  border-color:#111;
  background:#fff;
  color:#111;
}

@media (max-width:760px){
  #ll-soul-hold-lectio .llr-promptGrid{
    grid-template-columns:1fr;
    margin-right:0;
    margin-left:0;
    border-right:1px solid currentColor;
    border-left:1px solid currentColor;
  }

  #ll-soul-hold-lectio .llr-promptGrid .llm-miniBox,
  #ll-soul-hold-lectio .llr-promptGrid .llm-miniBox:nth-child(3n),
  #ll-soul-hold-lectio .llr-promptGrid .llm-miniBox:nth-last-child(-n+3){
    border-right:0;
    border-bottom:1px solid currentColor;
  }

  #ll-soul-hold-lectio .llr-promptGrid .llm-miniBox:last-child{
    border-bottom:0;
  }

  /* Give the draggable cards the full mobile width: the category becomes a
     horizontal group heading instead of occupying a permanent side rail. */
  #ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-rankZone{
    grid-template-columns:minmax(0, 1fr);
  }

  #ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBracket{
    justify-content:flex-start;
    min-height:38px;
    padding:8px 12px;
    border-right:0;
    border-bottom:1px solid currentColor;
    text-align:left;
  }

  #ll-soul-hold-lectio .llr-zoneBracketText{
    writing-mode:horizontal-tb;
    transform:none;
  }

  #ll-soul-hold-lectio .llm-miniGrid.llr-zonesRevealed .llr-zoneBody{
    padding:9px 10px 10px;
  }

  #ll-soul-hold-lectio .llm-miniGrid.llr-ranking .llr-rankSlot{
    grid-template-columns:18px minmax(0, 1fr);
    gap:6px;
  }

  #ll-soul-hold-lectio .llm-miniGrid.llr-ranking .llr-slotNumber{
    font-size:13px;
    line-height:1;
  }
}
