/* Pantalla de acceso con contraseña */
html.gate-on{overflow:hidden}
.gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 600px at 50% 110%,rgba(122,33,233,.45),transparent 70%),radial-gradient(700px 500px at 100% 0%,rgba(0,180,255,.16),transparent 70%),#0D1115;color:#fff;overflow:hidden;transition:opacity .6s ease,visibility .6s}
.gate--out{opacity:0;visibility:hidden}
.gate-rings{position:absolute;left:50%;top:50%;pointer-events:none}
.gate-rings i{position:absolute;left:0;top:0;width:min(130vw,1100px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:1px solid rgba(176,120,255,.22);animation:gatepulse 9s ease-out infinite}
.gate-rings i:nth-child(2){animation-delay:3s}.gate-rings i:nth-child(3){animation-delay:6s}
@keyframes gatepulse{from{scale:.25;opacity:.9}to{scale:1;opacity:0}}
.gate-box{position:relative;display:grid;gap:14px;justify-items:center;text-align:center;width:min(440px,100%)}
.gate-logo{height:30px;width:auto;filter:brightness(0) invert(1);margin-bottom:10px}
.gate-k{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#B1C0C7}
.gate-box h1{font-size:clamp(2rem,6vw,3.2rem);font-weight:800;letter-spacing:-.05em;line-height:1.05;background:linear-gradient(110deg,#00B4FF 0%,#7A21E9 54%,#E434E7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.gate-box p{font-size:.95rem;color:#B1C0C7;font-weight:500}
.gate-box form{display:grid;gap:12px;width:100%;margin-top:8px}
.gate-f{position:relative}
.gate-f input{width:100%;min-height:54px;padding:0 54px 0 20px;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);color:#fff;font:600 1rem Montserrat,Arial,sans-serif;letter-spacing:.02em;transition:border-color .25s,background-color .25s}
.gate-f input:focus{outline:none;border-color:#B078FF;background:rgba(255,255,255,.1)}
.gate-eye{position:absolute;right:6px;top:50%;translate:0 -50%;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#B1C0C7}
.gate-eye:hover{background:rgba(255,255,255,.1);color:#fff}.gate-eye svg{width:20px}
.gate-go{min-height:54px;border-radius:999px;background:linear-gradient(135deg,#4C1ED4 0%,#B91CC8 100%);color:#fff;font-weight:800;font-size:1rem;box-shadow:0 10px 30px rgba(120,30,200,.4);transition:translate .25s var(--ease,ease),box-shadow .25s}
.gate-go:hover{translate:0 -2px;box-shadow:0 16px 40px rgba(120,30,200,.55)}
.gate-er{min-height:1.3em;font-size:.86rem;font-weight:700;color:#FF8FA3}
.gate--no .gate-f{animation:gateshake .45s}
@keyframes gateshake{20%{translate:-8px 0}40%{translate:8px 0}60%{translate:-5px 0}80%{translate:5px 0}}
@media (prefers-reduced-motion:reduce){.gate-rings i,.gate--no .gate-f{animation:none}}

.gate-fill{min-height:44px;border-radius:999px;border:1.5px dashed rgba(0,223,125,.6);color:#00DF7D;font-weight:700;font-size:.88rem;transition:background-color .25s}
.gate-fill:hover{background:rgba(0,223,125,.12)}
