*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--color-canvas);color:var(--color-text);font-family:var(--font-ui)}.gate{min-height:100%;padding:var(--gutter);place-items:center;display:grid}.gate__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gate__field{padding:var(--space-4) var(--space-5);border:var(--glass-border,var(--card-border));border-radius:var(--radius-pill);background:var(--glass-bg,var(--color-surface));box-shadow:var(--glass-shadow,var(--shadow-card));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);cursor:text;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, opacity var(--duration-panel) ease, transform var(--duration-panel) var(--ease-out);animation:gate-in var(--duration-panel) var(--ease-out) both;display:block;position:relative}.gate__field:focus-within{border-color:var(--color-brand-fill);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-fill) 28%, transparent), var(--glass-shadow,var(--shadow-card))}.gate__input{border-radius:inherit;color:#0000;caret-color:#0000;letter-spacing:1em;opacity:0;cursor:text;background:0 0;border:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.gate__slots{gap:var(--space-3);display:flex}.gate__slots>span{border:1.5px solid var(--color-border);width:14px;height:14px;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform .22s var(--ease-spring);background:0 0;border-radius:50%}.gate__slots>span.is-filled{border-color:var(--color-brand-fill);background:var(--color-brand-fill);transform:scale(1.08)}.gate__slots>span.is-current{border-color:var(--color-brand);animation:1.1s ease-in-out infinite gate-pulse}.gate__field[data-state=checking] .gate__slots>span{animation:.9s ease-in-out infinite gate-wave;animation-delay:calc(var(--n,0) * 60ms)}.gate__slots>span:first-child{--n:0}.gate__slots>span:nth-child(2){--n:1}.gate__slots>span:nth-child(3){--n:2}.gate__slots>span:nth-child(4){--n:3}.gate__slots>span:nth-child(5){--n:4}.gate__slots>span:nth-child(6){--n:5}.gate__slots>span:nth-child(7){--n:6}.gate__slots>span:nth-child(8){--n:7}.gate__field[data-state=error]{border-color:var(--color-danger);animation:.42s gate-shake}.gate__field[data-state=error] .gate__slots>span{border-color:var(--color-danger);background:0 0}.gate__field[data-state=success]{border-color:var(--color-brand-fill);opacity:0;transform:scale(.96)}@keyframes gate-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes gate-pulse{50%{transform:scale(1.18)}}@keyframes gate-wave{50%{transform:translateY(-4px)}}@keyframes gate-shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation:none!important}}
