/* Delivery/accessibility fixes. Normal-motion desktop styling stays in the authored kits. */
.cn-skip-link { position: fixed; left: 16px; top: -100px; z-index: 10000; padding: 12px 18px; color: #fff; background: #0b0114; }
.cn-skip-link:focus { top: 12px; }
#cn-main:focus { outline: none; }
.cn-auth-dialog { width: min(440px, calc(100vw - 40px)); box-sizing: border-box; margin: auto; padding: 28px; border: 1px solid var(--gray-300); border-radius: 6px; background: var(--white); color: var(--gray-1000); box-shadow: none; }
.cn-auth-dialog::backdrop { background: rgba(0,0,0,.5); }
.cn-auth-dialog h2 { font: var(--text-h4); margin: 0 0 12px; }
.cn-auth-dialog p { font: var(--text-body-14); color: var(--text-subtle); margin: 0 0 24px; }
.cn-auth-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cn-auth-actions a, .cn-auth-actions button { font: var(--text-label); padding: 10px 16px; border: 1px solid var(--gray-300); border-radius: 6px; text-decoration: none; background: var(--white); color: var(--gray-1000); cursor: pointer; }
.cn-auth-actions a:first-child { background: var(--gray-1000); color: var(--white); }
.cn-auth-actions :focus-visible { outline: 2px solid var(--brand-main); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important; }
}
