/* Mobile-only enhancement. The desktop graph and the optional list stay intact. */
.elimu-constellation .ec-mobile-lines,
.elimu-constellation .ec-mobile-topic,
.elimu-constellation .ec-mobile-detail,
.elimu-constellation .ec-mobile-article-hint { display:none; }
@media (max-width:850px) {
  .elimu-constellation .ec-modes button { min-height:44px; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-map {
    display:block; position:relative; height:var(--mobile-height,610px); padding:0; margin:20px 0 14px;
  }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-node,
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-center {
    position:absolute; left:var(--mx,50%); top:var(--my,50%); transform:translate(-50%,-50%); margin:0;
  }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-node {
    width:clamp(76px,27%,112px); min-height:76px; padding:10px 6px; border-radius:25px;
    -webkit-tap-highlight-color:transparent;
  }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-node span { font-size:12px; line-height:1.3; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-node small { font-size:10px; margin-top:5px; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-node::before { display:none; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-center {
    width:clamp(100px,32%,150px); min-height:124px; padding:18px 9px; border-radius:50%;
    box-shadow:0 0 0 4px var(--ec-bg),0 0 0 5px var(--ec-line);
  }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-center span { font-size:20px; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-center small { font-size:10px; margin-top:10px; line-height:1.4; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-map > .ec-mobile-lines,
  .elimu-constellation.ec-mobile-ready .ec-article-map > .ec-mobile-lines {
    display:block; position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none;
  }
  .elimu-constellation .ec-mobile-lines line { stroke:var(--ec-line); stroke-width:1.2; vector-effect:non-scaling-stroke; }
  .elimu-constellation .ec-mobile-lines line.is-active { stroke:var(--ec-ink); stroke-width:2; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-mobile-topic {
    display:block; background:var(--ec-paper); border:1px solid var(--ec-line); border-radius:6px; padding:20px; margin-bottom:28px;
  }
  .elimu-constellation .ec-mobile-topic h3 { font-size:25px; margin-bottom:10px; }
  .elimu-constellation .ec-mobile-topic p { font-size:14px; color:var(--ec-muted); }
  .elimu-constellation .ec-mobile-open { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin-top:14px; padding:10px 15px; border-radius:3px; background:var(--ec-ink); color:var(--ec-paper); font:600 13px/1.4 Arial,sans-serif; }
  .elimu-constellation .ec-mobile-open:hover { background:var(--ec-green); color:var(--ec-paper); }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map { display:block; height:450px; margin:16px 0; }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-current-reading {
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:112px;
    min-height:132px; padding:16px 12px; border-radius:50%;
  }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-current-reading .ec-eyebrow { font-size:9px; letter-spacing:.08em; }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-current-reading > p:not(.ec-eyebrow) {
    font-size:13px; line-height:1.4; margin-top:9px; display:-webkit-box; -webkit-box-orient:vertical;
    -webkit-line-clamp:4; overflow:hidden;
  }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading {
    position:absolute; left:var(--mx); top:var(--my); transform:translate(-50%,-50%); margin:0;
    width:calc(44% - 2px); height:108px; padding:11px; border-radius:23px; display:flex; align-items:center;
    background:var(--ec-soft); cursor:pointer; -webkit-tap-highlight-color:transparent;
  }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading > .ec-eyebrow,
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-related-fields { display:none; }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading h3 { margin:0; font:600 13px/1.4 Arial,sans-serif; width:100%; letter-spacing:0; }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading-title {
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden;
    min-height:54px; width:100%; color:var(--ec-ink); text-wrap:pretty;
  }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading-title span { display:none; }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading.ec-picked { background:var(--ec-ink); border-color:var(--ec-ink); }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-picked .ec-reading-title { color:var(--ec-paper); }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-mobile-article-hint { display:block; font-size:13px; margin:12px 0; color:var(--ec-muted); }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-mobile-detail { display:block; padding:20px; border:1px solid var(--ec-line); border-radius:6px; margin:0 0 24px; }
  .elimu-constellation .ec-mobile-detail .ec-reading { border:0; padding:0; }
  .elimu-constellation .ec-mobile-detail .ec-reading h3 { font-size:24px; }
  .elimu-constellation .ec-mobile-empty { font-size:14px; color:var(--ec-muted); }
}
@media (max-width:380px) {
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-center span { font-size:17px; }
  .elimu-constellation.ec-mobile-ready[data-mode="carte"] .ec-node span { font-size:11px; }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading { padding:9px; }
  .elimu-constellation.ec-after-article.ec-mobile-ready .ec-article-map .ec-reading h3 { font-size:12px; }
}
