.outpost-gate { min-height: 100dvh; }
.outpost-gate-header { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; padding: 1.5rem; border-bottom: 4px solid var(--brand-coral); }
.outpost-gate-header img { width: 12rem; max-width: 100%; }
.outpost-gate-header span { color: var(--ink); }
.outpost-gate-main { max-width: 34rem; margin: 5rem auto; padding: 0 1.5rem; }
.outpost-gate-main h1 { font-size: 3rem; margin: 0; }
.outpost-gate-main p { color: var(--ink); }
.outpost-gate-main form { margin-top: 2rem; }
.outpost-gate-main label { display: block; font-weight: 700; margin-bottom: .5rem; }
.outpost-gate-main input[type=password] { width: 100%; min-height: 3rem; padding: .75rem; font: inherit; font-size: 1rem; border: 1px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); }
.outpost-gate-main button { display: flex; justify-content: space-between; align-items: center; gap: 2rem; min-height: 3rem; width: 100%; padding: .75rem 1rem; background: var(--brand-coral); color: var(--ink); border: 0; font-weight: 700; }
.outpost-gate-main :focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
#gate-error:empty { display: none; }