/* Content is visible before JavaScript and throughout every effect. */
.cm-preferences{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px clamp(20px,5vw,80px);border-top:1px solid currentColor;font:12px/1.5 system-ui,sans-serif;color:inherit;background:inherit}
.cm-preferences button{font:inherit;line-height:1.5;color:inherit;background:transparent;border:1px solid currentColor;border-radius:24px;min-height:44px;padding:9px 16px;cursor:pointer}
.cm-preferences button:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.cm-preferences span{max-width:45em}
.cm-progress{position:fixed;inset:0 0 auto;height:3px;z-index:90;pointer-events:none;transform-origin:left;transform:scaleX(0);background:var(--cm-color,#69435e);opacity:.95}
[data-collection-motion=photo]{--cm-color:#277965}[data-collection-motion=signal]{--cm-color:#a75326}[data-collection-motion=frame]{--cm-color:#b83161}[data-collection-motion=route]{--cm-color:#4c6f95}
[data-cm-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
[data-cm-accent]{position:relative}
[data-cm-accent]::after{content:"";display:block;position:absolute;left:-12px;top:0;width:3px;height:100%;background:currentColor;transform-origin:top;pointer-events:none}
[data-collection-motion=signal] [data-cm-accent]::after{width:6px;height:6px;top:4px;left:-13px;border:1px solid currentColor;background:transparent;border-radius:50%}
[data-collection-motion=frame] [data-cm-accent]::after{width:6px;height:100%;background:transparent;border-left:2px solid currentColor;border-bottom:2px solid currentColor}
html[data-motion=off]{scroll-behavior:auto!important}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:cm-page-out 120ms ease-out both}
::view-transition-new(root){animation:cm-page-in 180ms ease-out both}
@keyframes cm-page-in{from{opacity:.9}to{opacity:1}}
@keyframes cm-page-out{to{opacity:.9}}
html[data-motion=off]::view-transition-old(root),html[data-motion=off]::view-transition-new(root){animation:none}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
