/* ===============================
   SINGLE SYSTEM CONSOLIDATED
================================ */
.safe-wrap{overflow-wrap:anywhere;word-break:break-word;}
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

html{scroll-behavior:smooth;}

#progress-bar{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  background:#4f46e5;
  z-index:100;
}

.img-container{
  overflow:hidden;
  border-radius:40px;
}
.img-container img{
  transition:transform .8s cubic-bezier(.165,.84,.44,1);
}
.img-container:hover img{
  transform:scale(1.02);
}

.edb-link,
.marker-link{
  background-image:linear-gradient(to top, rgba(250,204,21,.55) 45%, transparent 45%);
  background-repeat:no-repeat;
  text-decoration:none;
  font-weight:800;
  color:#111827;
  padding:0 .08em;
  transition:all .2s ease;
}
.edb-link:hover,
.marker-link:hover{
  background-image:linear-gradient(to top, rgba(250,204,21,.8) 55%, transparent 55%);
  color:#000;
}

.prose-audit p{
  font-size:1.08rem;
  line-height:1.92;
  color:#52525b;
  margin-bottom:1.55rem;
}
.prose-audit h2{
  font-size:1.85rem;
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.04em;
  margin:2.75rem 0 1rem;
  color:#000;
  scroll-margin-top:110px;
}
.prose-audit h3{
  font-size:1.2rem;
  line-height:1.15;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.03em;
  margin:2rem 0 .95rem;
  color:#000;
  scroll-margin-top:110px;
}
.prose-audit ul,
.prose-audit ol{
  margin:1.1rem 0 1.9rem 1.25rem;
  color:#52525b;
}
.prose-audit li{
  margin:.55rem 0;
  line-height:1.85;
}
.prose-audit strong{
  color:#000;
  font-weight:900;
}
.prose-audit blockquote{
  margin:2.2rem 0;
  padding:1.6rem 1.7rem;
  border:1px solid #c7d2fe;
  background:rgba(238,242,255,.8);
  border-radius:28px;
}
.prose-audit blockquote p{
  margin:0;
  font-size:1.22rem;
  line-height:1.45;
  color:#312e81;
  font-weight:700;
}

.edb-toc-block{position:relative;}
.edb-toc-progress{transition:width .25s linear;}

.edb-toc-panel{
  display:none;
}
.edb-toc-panel.is-open{
  display:block !important;
}

.edb-toc-link{
  position:relative;
  display:block;
  padding:6px 10px 6px 12px;
  border-radius:999px;
  transition:all .25s ease;
  color:rgba(0,0,0,.58);
}
.edb-toc-link:hover{
  background:rgba(79,70,229,.08);
  color:#111827;
}
.edb-toc-child{
  font-size:13px;
  color:rgba(0,0,0,.46);
}
.edb-toc-link.is-active{
  background:linear-gradient(90deg, rgba(79,70,229,.12), rgba(99,102,241,.05));
  color:#4338ca !important;
  font-weight:900;
}
.edb-toc-link.is-parent-active{
  background:rgba(79,70,229,.05);
  color:#111827 !important;
}
.edb-toc-link.is-active::before{
  content:"";
  position:absolute;
  left:-6px;
  top:50%;
  transform:translateY(-50%);
  width:4px;
  height:16px;
  border-radius:999px;
  background:linear-gradient(to bottom, #4f46e5, #6366f1);
}

/* Native mobile details TOC */
.edb-toc-details summary{
  list-style:none;
}
.edb-toc-details summary::-webkit-details-marker{
  display:none;
}
.edb-toc-details .edb-toc-toggle-icon{
  transition:transform .3s ease;
}
.edb-toc-details[open] .edb-toc-toggle-icon{
  transform:rotate(180deg);
}
.edb-toc-details .edb-toc-panel{
  display:none;
}
.edb-toc-details[open] .edb-toc-panel{
  display:block !important;
}

@media(min-width:1280px){
  .edb-toc-panel{
    display:block !important;
  }
}

@media(max-width:768px){
  .prose-audit p{font-size:1rem;line-height:1.85;}
  .prose-audit h2{font-size:1.5rem;}
  .prose-audit h3{font-size:1.08rem;}
}
