/* Public criteria baseline. Loaded after generated utilities and theme. */
:root { --public-ink:#172033; --public-muted:#4b5563; --public-focus:#1d4ed8; --public-radius:.75rem; }
body { font-size:1rem; line-height:1.5; }
nav, footer { font-size:1rem; }
main :where(p,li) { line-height:1.5; }
main :where(article,.public-prose,.max-w-3xl) { max-width:70ch; }
main :where(.text-gray-400,.text-gray-500),footer { color:var(--public-muted); }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--public-focus); outline-offset:3px; }
:where(button,input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,summary), nav a,footer a { min-height:44px; }
nav a,footer a { display:inline-flex; align-items:center; }
button,select,summary { min-width:44px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.25rem 1rem; }
.footer-links a { margin:0; }
.skip-link { position:absolute; top:0; left:1rem; padding:.75rem 1rem; background:white; color:#172033; z-index:100; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
@media(max-width:760px){ nav>div, .nav-actions { flex-wrap:wrap; min-width:0; } .ka-theme .nav-inner { gap:.75rem; } }
@media(max-width:430px){ .ka-landing .nav-actions>a:last-child { display:inline-flex; } }

/* The product's 16px prose/control floor overrides legacy utility/theme sizes. */
.public-ui main :where(p,li,label,input,select,textarea,button,small) { font-size:1rem !important; line-height:1.5; }
.public-ui nav :is(a,summary),.public-ui footer :is(p,a) { font-size:1rem; }
.public-ui main .text-gray-400 { color:var(--public-muted) !important; }
.public-ui main,.public-ui main * { overflow-wrap:break-word; }
