.forge-single-shell,
.forge-project-shell{
  padding-block:clamp(2.5rem,5vw,4.5rem) clamp(4rem,7vw,6rem)
}
.forge-single-article,
.forge-project-article{
  max-width:1400px;
  margin-inline:auto
}
.forge-single-hero,
.forge-project-hero{
  border-bottom:1px solid var(--color-border);
  margin-bottom:2rem;
  padding-bottom:2rem
}
.forge-single-hero__eyebrow,
.forge-project-hero__eyebrow{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem
}
.forge-single-hero__back,
.forge-project-hero__back{
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase
}
.forge-single-hero__back:hover,
.forge-project-hero__back:hover{
  color:var(--color-paper)
}
.forge-single-hero__chip,
.forge-project-hero__chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.2rem .65rem;
  border:1px solid var(--color-border);
  border-radius:999px;
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase
}
.forge-single-hero__chip--premium{
  color:var(--color-signal);
  border-color:rgba(var(--color-signal-rgb), 0.30);
  background:rgba(var(--color-signal-rgb), 0.10)
}
.forge-single-hero__grid,
.forge-project-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);
  gap:2rem 3rem;
  align-items:end
}
.forge-single-hero__title,
.forge-project-hero__title{
  font-size:clamp(2.8rem,6vw,5.6rem);
  line-height:.94;
  letter-spacing:-.045em;
  max-width:12ch
}
.forge-single-hero__lead,
.forge-project-hero__lead{
  margin-top:1.25rem;
  max-width:52ch;
  color:rgba(var(--color-paper-rgb), 0.69);
  font-size:1.02rem;
  line-height:1.8
}
.forge-single-hero__meta{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem
}
.forge-single-hero__meta-item,
.forge-project-hero__actions{
  border-top:1px solid var(--color-border);
  padding-top:1rem
}
.forge-single-hero__meta-label{
  display:block;
  margin-bottom:.35rem;
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase
}
.forge-single-hero__meta-value{
  color:var(--color-paper);
  font-size:.98rem;
  font-weight:600
}
.forge-project-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem
}
.forge-single-cover,
.forge-project-cover{
  margin:0 0 2rem;
  border:1px solid var(--color-border);
  background:var(--color-ink-soft);
  overflow:hidden
}
.forge-single-cover{
  max-width:960px;
  margin:0 auto 2rem;
  border-radius:1rem
}
.forge-single-cover img,
.forge-project-cover img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover
}
.forge-single-cover img{
  height:clamp(240px, 32vw, 420px);
  aspect-ratio:auto
}
.forge-single-layout,
.forge-project-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:2rem 3rem;
  align-items:start
}
.forge-single-aside,
.forge-project-aside{
  position:sticky;
  top:92px;
  display:grid;
  gap:1rem
}
.forge-single-card{
  border:1px solid var(--color-border);
  background:var(--color-ink-soft);
  padding:1.1rem 1rem 1rem
}
.forge-single-card__kicker{
  margin-bottom:.9rem;
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase
}
.forge-single-facts{
  display:grid;
  gap:.8rem
}
.forge-single-facts li{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  border-top:1px solid var(--color-border);
  padding-top:.8rem
}
.forge-single-facts li:first-child{
  border-top:none;
  padding-top:0
}
.forge-single-facts span{
  color:var(--color-fog);
  font-size:.82rem
}
.forge-single-facts strong{
  color:var(--color-paper);
  font-size:.88rem;
  font-weight:600;
  text-align:right
}
.forge-single-card--ai{
  background:linear-gradient(180deg, rgba(var(--color-signal-rgb), 0.07), rgba(var(--color-paper-rgb), 0.03));
  border-color:rgba(var(--color-signal-rgb), 0.18)
}
.forge-single-ai-meta{
  display:grid;
  gap:.7rem
}
.forge-single-ai-meta__row{
  display:grid;
  gap:.28rem;
  margin:0
}
.forge-single-ai-meta__label{
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase
}
.forge-single-ai-meta__value{
  color:var(--color-paper);
  font-size:.92rem;
  line-height:1.45
}
.forge-single-ai-meta__note{
  margin:0;
  padding:.7rem .8rem;
  border:1px solid rgba(var(--color-signal-rgb), 0.16);
  background:rgba(var(--color-ink-rgb), 0.22);
  color:rgba(var(--color-paper-rgb), 0.72);
  font-size:.82rem;
  line-height:1.65
}
.forge-single-token-list{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem
}
.forge-single-card--toc{
  padding:1.1rem 0 0
}
.forge-single-card--toc .forge-single-card__kicker{
  padding-inline:1rem
}
.forge-single-toc{
  max-height:min(60vh, 34rem);
  overflow:auto;
  padding:0 1rem 1rem
}
.forge-single-toc__list,
.forge-single-toc__sublist{
  list-style:none;
  margin:0;
  padding:0
}
.forge-single-toc__item{
  position:relative
}
.forge-single-toc__item + .forge-single-toc__item{
  margin-top:.3rem
}
.forge-single-toc__link{
  display:block;
  border-radius:.8rem;
  color:rgba(var(--color-paper-rgb), 0.88);
  line-height:1.55;
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease,transform .18s ease
}
.forge-single-toc__item--h2>.forge-single-toc__link{
  padding:.48rem .75rem .48rem 1rem;
  font-size:.98rem;
  font-weight:650
}
.forge-single-toc__item--h2>.forge-single-toc__link::before{
  content:"";
  position:absolute;
  left:0;
  top:.82rem;
  width:.36rem;
  height:.36rem;
  border-radius:999px;
  background:rgba(var(--color-signal-rgb), 0.85);
  box-shadow:0 0 0 .28rem rgba(var(--color-signal-rgb), 0.12)
}
.forge-single-toc__sublist{
  margin:.35rem 0 0 .7rem;
  padding-left:.9rem;
  border-left:1px solid rgba(var(--color-paper-rgb), 0.12)
}
.forge-single-toc__item--h3>.forge-single-toc__link{
  padding:.34rem .65rem;
  color:rgba(var(--color-paper-rgb), 0.62);
  font-size:.88rem;
  font-weight:500
}
.forge-single-toc__link:hover{
  background:rgba(var(--color-paper-rgb), 0.05);
  color:var(--color-paper);
  transform:translateX(2px)
}
.forge-single-content,
.forge-project-content{
  min-width:0
}
.forge-single-body,
.forge-project-body{
  max-width:780px
}
.forge-single-body.forge-prose,
.forge-project-body.forge-prose{
  font-size:1.03rem;
  line-height:1.9
}
.forge-single-body > * + *,
.forge-project-body > * + *{
  margin-top:1.4rem
}
.forge-single-body h2,
.forge-project-body h2{
  margin-top:3.25rem;
  margin-bottom:1rem;
  font-size:clamp(1.6rem,3vw,2.35rem);
  line-height:1.02;
  letter-spacing:-.035em
}
.forge-single-body h3,
.forge-project-body h3{
  margin-top:2.4rem;
  margin-bottom:.85rem;
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.12;
  letter-spacing:-.02em
}
.forge-single-body h4,
.forge-project-body h4{
  margin-top:2rem;
  margin-bottom:.75rem;
  font-size:1rem;
  line-height:1.3
}
.forge-single-body p,
.forge-project-body p{
  color:rgba(var(--color-paper-rgb), 0.78)
}
.forge-single-body a:not(.forge-btn):not(.forge-tag),
.forge-project-body a:not(.forge-btn):not(.forge-tag){
  color:var(--color-signal);
  text-decoration:underline;
  text-decoration-color:rgba(var(--color-signal-rgb), 0.35);
  text-underline-offset:.18em
}
.forge-single-body strong,
.forge-project-body strong{
  color:var(--color-paper);
  font-weight:700
}
.forge-single-body ul,
.forge-single-body ol,
.forge-project-body ul,
.forge-project-body ol{
  padding-left:1.2rem;
  color:rgba(var(--color-paper-rgb), 0.75)
}
.forge-single-body ul li + li,
.forge-single-body ol li + li,
.forge-project-body ul li + li,
.forge-project-body ol li + li{
  margin-top:.55rem
}
.forge-single-body ul li::marker,
.forge-project-body ul li::marker{
  color:var(--color-signal)
}
.forge-single-body ol li::marker,
.forge-project-body ol li::marker{
  color:rgba(var(--color-paper-rgb), 0.50)
}
.forge-single-body blockquote,
.forge-project-body blockquote{
  margin:2rem 0;
  padding:1.1rem 1.2rem 1.1rem 1.35rem;
  border-left:2px solid var(--color-signal);
  background:var(--color-ink-soft);
  color:#f2f0ebb8
}
.forge-single-body blockquote p,
.forge-project-body blockquote p{
  color:inherit
}
.forge-single-body pre,
.forge-project-body pre{
  margin:1.5rem 0;
  position:relative;
  padding:3.25rem 1.1rem 1.1rem;
  overflow:auto;
  border:1px solid var(--color-border);
  border-radius:1rem;
  background:linear-gradient(180deg, rgba(var(--color-paper-rgb), 0.03), rgba(var(--color-paper-rgb), 0.015)) , color-mix(in srgb, var(--color-ink) 88%, #000 12%);
  color:#f8f8f2;
  font-size:.9rem;
  line-height:1.7
}
.forge-single-body pre::before,
.forge-project-body pre::before{
  content:"";
  position:absolute;
  left:1rem;
  top:1rem;
  width:2.6rem;
  height:.8rem;
  background:
    radial-gradient(circle at .4rem .4rem, #f87171 0 .32rem, transparent .35rem),
    radial-gradient(circle at 1.3rem .4rem, #fbbf24 0 .32rem, transparent .35rem),
    radial-gradient(circle at 2.2rem .4rem, #34d399 0 .32rem, transparent .35rem);
  pointer-events:none
}
.forge-single-body pre::after,
.forge-project-body pre::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:2.4rem;
  border-top:1px solid rgba(var(--color-paper-rgb), 0.08);
  pointer-events:none
}
.forge-single-body pre code,
.forge-project-body pre code{
  display:block;
  min-width:max-content;
  background:transparent;
  color:inherit;
  line-height:inherit
}
.forge-copy-btn{
  position:absolute;
  top:.9rem;
  right:.9rem;
  z-index:2;
  min-width:4.25rem;
  min-height:2.25rem;
  padding:.35rem .75rem;
  border:1px solid rgba(var(--color-paper-rgb), 0.08);
  border-radius:.65rem;
  background:rgba(var(--color-ink-rgb), 0.72);
  color:rgba(var(--color-paper-rgb), 0.76);
  font-family:var(--font-mono);
  font-size:.72rem;
  line-height:1;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease
}
.forge-copy-btn:hover{
  border-color:rgba(var(--color-signal-rgb), 0.22);
  background:rgba(var(--color-ink-rgb), 0.9);
  color:var(--color-paper)
}
.forge-single-body code,
.forge-project-body code{
  font-family:var(--font-mono);
  font-size:.88em
}
.forge-single-body :not(pre)>code,
.forge-project-body :not(pre)>code{
  display:inline-block;
  padding:.08rem .38rem;
  border:1px solid var(--color-border);
  background:var(--color-ink-soft);
  color:color-mix(in srgb, var(--color-accent) 78%, var(--color-paper) 22%)
}
.forge-single-body hr,
.forge-project-body hr{
  margin:2.25rem 0;
  border:none;
  border-top:1px solid var(--color-border)
}
.forge-single-body figure,
.forge-project-body figure{
  margin:2rem 0
}
.forge-single-body figure img,
.forge-project-body figure img,
.forge-single-body > img,
.forge-project-body > img{
  width:100%;
  border:1px solid var(--color-border);
  background:var(--color-ink-soft)
}
.forge-single-body figcaption,
.forge-project-body figcaption{
  margin-top:.7rem;
  color:rgba(var(--color-paper-rgb), 0.45);
  font-size:.82rem;
  line-height:1.6;
  text-align:center
}
.forge-single-body table,
.forge-project-body table{
  width:100%;
  margin:1.8rem 0;
  border-collapse:collapse;
  border:1px solid var(--color-border)
}
.forge-single-body th,
.forge-single-body td,
.forge-project-body th,
.forge-project-body td{
  padding:.8rem .9rem;
  border-top:1px solid var(--color-border);
  text-align:left
}
.forge-single-body th,
.forge-project-body th{
  color:var(--color-paper);
  background:var(--color-ink-soft);
  font-weight:600
}
.forge-project-summary{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);
  gap:1.5rem 2rem;
  margin:0 0 2.5rem;
  padding:1.5rem 0 2rem;
  border-bottom:1px solid var(--color-border)
}
.forge-project-summary__kicker{
  margin-bottom:.8rem;
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase
}
.forge-project-summary__title{
  font-size:clamp(1.6rem,3vw,2.3rem);
  line-height:1.02;
  letter-spacing:-.035em
}
.forge-project-summary__text{
  margin-top:.9rem;
  max-width:54ch;
  color:rgba(var(--color-paper-rgb), 0.72);
  line-height:1.8
}
.forge-project-summary__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem
}
.forge-project-summary__card{
  border:1px solid var(--color-border);
  background:var(--color-ink-soft);
  padding:1rem
}
.forge-project-summary__label{
  display:block;
  margin-bottom:.45rem;
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase
}
.forge-project-summary__value{
  color:var(--color-paper);
  font-size:1rem;
  line-height:1.45
}
.forge-project-aside__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem
}
.forge-single-post-nav{
  max-width:1400px;
  margin:3rem auto 0
}
.forge-single-related{
  max-width:1400px;
  margin:4rem auto 0;
  border-top:1px solid var(--color-border);
  padding-top:2rem
}
.forge-single-related__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem
}
.forge-single-related__grid .forge-post-card{
  display:grid;
  grid-template-rows:auto 1fr;
  height:100%;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(var(--color-paper-rgb), 0.08);
  background:rgba(var(--color-paper-rgb), 0.03)
}
.forge-single-related__grid .forge-post-card__img-wrap{
  aspect-ratio:16/9
}
.forge-single-related__grid .forge-post-card__img{
  width:100%;
  height:100%;
  object-fit:cover
}
.forge-single-related__grid .forge-post-card__body{
  display:grid;
  align-content:start;
  gap:.55rem;
  padding:1rem 1rem 1.05rem
}
.forge-single-related__grid .forge-post-card__meta{
  font-size:.72rem
}
.forge-single-related__grid .forge-post-card__title{
  margin:0;
  font-size:1.08rem;
  line-height:1.35
}
.forge-single-related__grid .forge-post-card__excerpt{
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  font-size:.9rem;
  line-height:1.65
}
.forge-single-related__grid .forge-post-card__tag-overlay,
.forge-single-related__grid .forge-badge{
  transform:scale(.92);
  transform-origin:top left
}
.forge-single-related__grid .forge-post-card:hover{
  border-color:rgba(var(--color-signal-rgb), 0.24)
}
.forge-single-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.5rem
}
.forge-single-section-head__eyebrow{
  color:var(--color-fog);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase
}
@media(max-width:1100px){
  .forge-single-layout,
  .forge-project-layout,
  .forge-single-hero__grid,
  .forge-project-hero__grid,
  .forge-project-summary{
    grid-template-columns:1fr
  }
  .forge-single-aside,
  .forge-project-aside{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .forge-single-body,
  .forge-project-body{
    max-width:none
  }
  .forge-single-toc{
    max-height:none
  }
  .forge-single-related__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:700px){
  .forge-single-cover{
    margin-bottom:1.5rem;
    border-radius:.85rem
  }
  .forge-single-cover img{
    height:220px
  }
  .forge-single-hero__title,
  .forge-project-hero__title{
    max-width:none;
    font-size:clamp(2.2rem,11vw,3.6rem)
  }
  .forge-single-aside,
  .forge-project-aside{
    grid-template-columns:1fr
  }
  .forge-single-section-head{
    flex-direction:column;
    align-items:flex-start
  }
  .forge-single-related__grid{
    grid-template-columns:1fr
  }
  .forge-project-summary__grid{
    grid-template-columns:1fr
  }
}
