:root { --canvas-surplus-x: 0px; --canvas-surplus-y: 0px; --canvas-reference-inset-x: 0px; --canvas-reference-inset-y: 0px; }
.canvas-safe-container { position: absolute; inset: var(--canvas-safe-top) var(--canvas-safe-right) var(--canvas-safe-bottom) var(--canvas-safe-left); min-inline-size: 0; min-block-size: 0; }
.canvas-reference-frame { position: absolute; inset: var(--canvas-reference-inset-y) var(--canvas-reference-inset-x); min-inline-size: 0; min-block-size: 0; }
.canvas-anchor { position: absolute; min-inline-size: 0; min-block-size: 0; }
.canvas-anchor-top { inset-block-start: 0; inset-inline-start: 50%; translate: -50% 0; }
.canvas-anchor-bottom { inset-block-end: 0; inset-inline-start: 50%; translate: -50% 0; }
.canvas-anchor-center { inset-block-start: 50%; inset-inline-start: 50%; translate: -50% -50%; }
.canvas-anchor-stretch { inset: 0; }
.canvas-anchor-top-start { inset-block-start: 0; inset-inline-start: 0; }
.canvas-anchor-top-end { inset-block-start: 0; inset-inline-end: 0; }
.canvas-anchor-bottom-start { inset-block-end: 0; inset-inline-start: 0; }
.canvas-anchor-bottom-end { inset-block-end: 0; inset-inline-end: 0; }
.canvas-flow { display: flex; flex-direction: column; min-inline-size: 0; min-block-size: 0; }
.canvas-scroll { flex: 1 1 auto; min-inline-size: 0; min-block-size: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
.canvas-sticky-header, .canvas-sticky-action { position: sticky; z-index: 2; flex: 0 0 auto; background: inherit; }
.canvas-sticky-header { inset-block-start: 0; }
.canvas-sticky-action { inset-block-end: 0; min-block-size: var(--canvas-control-standard); padding-block-end: max(var(--canvas-spacing-sm), var(--canvas-safe-bottom)); }
.canvas-sticky-action :is(button, a, input, select, textarea, [role="button"]) { min-block-size: 44px; }
.canvas-text-main { overflow-wrap: anywhere; white-space: normal; }
.canvas-text-auxiliary { overflow-wrap: anywhere; white-space: normal; }
html[data-canvas-compact-height="true"] .canvas-flow { gap: var(--canvas-spacing-xs); }


