.gate-screen{box-sizing:border-box;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);background-image:radial-gradient(#1a161212 1px,#0000 1px);background-position:-1px -1px;background-size:22px 22px;flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;display:flex;position:fixed;inset:0}.gate{flex-direction:column;width:100%;max-width:408px;margin:0;display:flex}.gate-row{align-items:stretch;gap:12px;display:flex}.gate-field{border:1px solid var(--color-rule-strong);border-radius:var(--radius-chip);background:var(--color-bg);flex:1;align-items:stretch;min-width:0;transition:border-color .14s,box-shadow .14s;display:flex;position:relative}.gate-field:focus-within{border-color:var(--color-ink);box-shadow:3px 3px 0 var(--color-accent)}.gate-prompt{font-family:var(--font-mono);color:var(--color-accent);-webkit-user-select:none;user-select:none;align-self:center;padding-left:14px;font-size:14px}.gate-field input{appearance:none;min-width:0;color:var(--color-ink);font-family:var(--font-mono);letter-spacing:.08em;background:0 0;border:0;outline:none;flex:1;padding:15px 14px 15px 10px;font-size:15px}.gate-field input::placeholder{color:var(--color-muted-2);letter-spacing:.16em}.gate-error{min-height:17px;font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-accent);opacity:0;margin:11px 2px 0;font-size:11px;transition:opacity .12s}.gate-error.show{opacity:1}.gate-enter{appearance:none;cursor:pointer;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius-chip);font-family:var(--font-label);letter-spacing:.01em;align-items:center;gap:9px;padding:13px 24px;font-size:14px;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex}.gate-enter:hover{box-shadow:3px 3px 0 var(--color-accent);transform:translateY(-3px)}.gate-enter:active{box-shadow:none;transform:none}.gate-enter[disabled]{opacity:.45;pointer-events:none}.gate-arrow{font-family:var(--font-mono)}@keyframes gate-nudge{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.gate-field.reject{animation:.32s gate-nudge}@media (prefers-reduced-motion:reduce){.gate-field.reject{animation:none}}
