/* Shared article chrome: share rail, reading progress, back-to-top. Dark, minimal, no brand colors. */
.share-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0;
  background: #5b8def; z-index: 1000;
}
.share-rail {
  position: fixed; left: calc(50% - 380px - 84px); top: 50%;
  transform: translateY(-50%); z-index: 900;
  display: flex; flex-direction: column; align-items: center;
  background: rgba(10, 15, 22, .85); border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 10px; padding: 8px 0; backdrop-filter: blur(8px);
}
.share-rail .share-label {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: .62rem; letter-spacing: .28em; text-transform: uppercase;
  color: #8b98a5; padding: 4px 0 8px;
}
.share-btn {
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  color: #c9d2da; background: transparent; border: none; border-top: 1px solid rgba(255, 255, 255, .08);
  cursor: pointer; text-decoration: none; transition: color .2s ease, background .2s ease;
}
.share-btn:hover { color: #ffffff; background: rgba(255, 255, 255, .06); }
.share-btn.done { color: #ffffff; }
.share-btn svg { width: 19px; height: 19px; fill: currentColor; }
.share-btn svg.stroke { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 1100px) { .share-rail { display: none; } }
.to-top {
  position: fixed; right: 24px; bottom: 24px; z-index: 900;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: .7rem; letter-spacing: .2em; text-transform: uppercase;
  padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 3px;
  background: rgba(10, 15, 22, .85); color: #eef2f6; cursor: pointer;
  opacity: 0; pointer-events: none; transition: opacity .25s ease, border-color .25s ease;
}
.to-top.show { opacity: 1; pointer-events: auto; }
.to-top:hover { border-color: #ffffff; }
