/* Beta entry page. Rules live here, not in style attributes (app CSP: style-src 'self'). */
body { background: var(--bg-app); }
.gate { min-height: 100dvh; grid-template-rows: 1fr; }
.gate-head { display: grid; justify-items: center; gap: 4px; padding: 18px 0 4px; }
.gate-head img { image-rendering: auto; border-radius: 50%; box-shadow: 0 0 0 2px var(--oak-500); }
.gate-head h1 { margin: 6px 0 0; font-family: var(--f-title); font-weight: 700; font-size: 24px; letter-spacing: .12em; }
.gate-head p { margin: 0; font-size: 13px; letter-spacing: .2em; color: var(--ink-500); }
.gate-code { width: 100%; box-sizing: border-box; min-height: 52px; padding: 10px 14px; font: inherit; font-family: var(--f-title); font-size: 20px; letter-spacing: .14em; text-align: center; text-transform: uppercase; color: var(--ink-900); background: var(--cream-050); border: 0; box-shadow: inset 0 0 0 2px var(--oak-500); }
.gate-code:focus-visible { outline: 3px solid var(--apricot-300); outline-offset: 2px; }
.gate-code::placeholder { color: var(--ink-500); letter-spacing: .1em; }
.gate .ops-btn { width: 100%; box-sizing: border-box; }
.gate p, .ops-notes li { word-break: keep-all; overflow-wrap: anywhere; line-break: strict; }
.gate-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; font-size: 12px; }
.gate-legal a { color: var(--ink-700); text-underline-offset: 3px; }
[hidden] { display: none !important; }
