/*
 * The hosted field's base styling. Served same-origin under `style-src 'self'`.
 *
 * Fixed single-line geometry (ADR 0008 §2): the field never sizes to its content
 * and the error line's height is reserved whether or not there is an error, so the
 * document's rendered size never varies with what is typed or whether it is valid
 * — a size that changed would be a cross-origin-observable side channel on the
 * value's length and validity.
 */

:root {
  color-scheme: light dark;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

main {
  padding: 4px;
}

#field-form {
  display: flex;
  align-items: center;
  gap: 8px;
}

#secret {
  flex: 1 1 auto;
  height: 36px;
  min-width: 0;
  padding: 0 10px;
  font: inherit;
  line-height: 36px;
  /* Single line, never grows. */
  white-space: nowrap;
  overflow: hidden;
}

#submit {
  flex: 0 0 auto;
  height: 36px;
}

/* Reserved regardless of content: one line of space, always present. */
#error {
  flex: 0 0 100%;
  margin: 4px 0 0;
  min-height: 18px;
  font-size: 12px;
}
