canonrs-server 0.1.0

CanonRS server-side rendering support
/* DIALOG — Tier S */

[data-rs-dialog] {
  display: contents;
}

[data-rs-dialog-portal] {
  display: contents;
}

/* ── Overlay ─────────────────────────────────────────────────────────────── */

[data-rs-dialog-overlay] {
  position: fixed;
  inset: 0;
  z-index: var(--dialog-overlay-z-index);
  background: var(--dialog-overlay-bg);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--dialog-transition-duration) var(--motion-ease-standard),
    visibility var(--dialog-transition-duration) var(--motion-ease-standard);
  will-change: opacity;
}

[data-rs-dialog-overlay][data-rs-state~="entering"],
[data-rs-dialog-overlay][data-rs-state~="open"] {
  opacity: 1;
  visibility: visible;
}

[data-rs-dialog-overlay][data-rs-state~="exiting"] {
  opacity: 0;
  visibility: visible;
}

/* ── Content ─────────────────────────────────────────────────────────────── */

[data-rs-dialog-content] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%) scale(0.96);
  z-index: calc(var(--dialog-overlay-z-index) + 1);
  width: var(--dialog-content-width);
  max-width: var(--dialog-content-max-width);
  background: var(--dialog-content-bg);
  color: var(--dialog-content-fg);
  padding: var(--dialog-content-padding);
  border-radius: var(--dialog-content-radius);
  box-shadow: var(--dialog-content-shadow);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--dialog-transition-duration) var(--motion-ease-standard),
    transform var(--dialog-transition-duration) var(--motion-ease-standard),
    visibility var(--dialog-transition-duration) var(--motion-ease-standard);
  will-change: transform, opacity;
  outline: none;
}

[data-rs-dialog-content][data-rs-state~="entering"],
[data-rs-dialog-content][data-rs-state~="open"] {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

[data-rs-dialog-content][data-rs-state~="exiting"] {
  opacity: 0;
  visibility: visible;
  transform: translate(-50%, -48%) scale(0.96);
}

/* ── Typography ──────────────────────────────────────────────────────────── */

[data-rs-dialog-title] {
  color: var(--dialog-title-fg);
  font-size: var(--dialog-title-font-size);
  font-weight: var(--dialog-title-font-weight);
  margin-bottom: var(--dialog-header-gap);
  line-height: 1.3;
}

[data-rs-dialog-description] {
  color: var(--dialog-description-fg);
  font-size: var(--dialog-description-font-size);
  margin-bottom: var(--dialog-footer-gap);
  line-height: 1.5;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */

[data-rs-dialog-footer] {
  display: flex;
  justify-content: flex-end;
  gap: var(--dialog-footer-gap);
  margin-top: var(--dialog-footer-gap);
}

/* ── Close ───────────────────────────────────────────────────────────────── */

[data-rs-dialog-close] {
  position: absolute;
  top: var(--dialog-header-gap);
  right: var(--dialog-header-gap);
}