/* Login gate for the gostream Go demo. Same palette and type as the site; flat and sharp. */
:root {
  --ink: #0b0b0c; --ink-2: #16161a; --on-air: #ff2d3d; --on-air-deep: #b3121f; --amber: #ffb547;
  --text: #f5f3ef; --text-dim: #b9b6b0; --line: #34343b;
  --display: "Unbounded", "Arial Black", sans-serif; --body: "Instrument Sans", "Helvetica Neue", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
}
*, *::before, *::after { box-sizing: border-box; border-radius: 0; }
html, body { margin: 0; min-height: 100%; }
body { background: var(--ink); color: var(--text); font: 400 1.0625rem/1.6 var(--body); -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }

.gate { min-height: 100svh; display: grid; place-items: center; padding: 1.5rem; }
.gate__card { width: min(100%, 24rem); display: grid; gap: .75rem; padding: 2rem;
  background: var(--ink-2); border: 1px solid var(--line); border-top: 4px solid var(--on-air); }
.gate__rings { display: none; }
.gate__brand { margin: 0; font: 700 1rem/1 var(--display); display: flex; align-items: center; gap: .5rem; }
.gate__brand b { color: var(--on-air); }
.gate__dot { width: .7rem; height: .7rem; background: var(--on-air); }
.gate__title { margin: 1rem 0 0; font: 900 1.75rem/1.1 var(--display); letter-spacing: -.03em; }
.gate__lede { margin: 0 0 .5rem; color: var(--text-dim); }
.gate__error { margin: 0; padding: .6rem .8rem; border: 1px solid var(--on-air); border-left-width: 4px; font-size: .95rem; }
.gate__label { font: 700 .75rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--text-dim); }
.gate__input { font: inherit; color: var(--text); background: var(--ink); border: 1px solid var(--text-dim); padding: .8rem 1rem; }
.gate__input:focus-visible { border-color: var(--amber); }
.gate__btn { margin-top: .5rem; font: 700 1rem/1 var(--display); color: #fff; background: var(--on-air); border: 0;
  padding: 1rem; cursor: pointer; }
.gate__btn:hover { background: var(--on-air-deep); }
.gate__btn:disabled, .gate__input:disabled { opacity: .45; cursor: not-allowed; }
