canonrs-server 0.1.0

CanonRS server-side rendering support
/* =============================================================================
   DocProgress UI - Reading Progress Indicator
   Family D: Navigation

   Dois modos:
     [data-rs-doc-progress]        → standalone: fixed no topo da viewport
     [data-rs-doc-progress-portal] → portal: sem posicionamento, flui no layout
   ============================================================================= */

/* ── Standalone ────────────────────────────────────────────────────────────── */

[data-rs-doc-progress] {
  height: var(--doc-progress-height);
  background: var(--doc-progress-bg);
  overflow: hidden;
  width: 100%;
}

/* Layout aplicado pelo UI/Block */
[data-rs-doc-progress][data-rs-position="fixed"] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--doc-progress-z-index);
}

/* ── Portal ─────────────────────────────────────────────────────────────────── */

[data-rs-doc-progress-portal] {
  position: absolute;
  left: 0;
  right: 0;
  height: var(--doc-progress-height);
  background: var(--doc-progress-bg);
  overflow: hidden;
  z-index: var(--doc-progress-z-index);
}

[data-rs-doc-progress-portal][data-rs-position="top"] {
  top: 0;
  bottom: auto;
}

[data-rs-doc-progress-portal][data-rs-position="bottom"] {
  bottom: 0;
  top: auto;
}

/* ── Bar (compartilhado) ─────────────────────────────────────────────────────── */

[data-rs-doc-progress-bar] {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--doc-progress-bar-bg);
  width: calc(var(--progress, 0) * 1%);
  transition: var(--doc-progress-transition);
  transform-origin: left;
  will-change: width;
}

@media (prefers-reduced-motion: reduce) {
  [data-rs-doc-progress-bar] {
    transition: none;
  }
}