body.entrar { display: grid; place-items: center; overflow: auto;
  background: radial-gradient(ellipse at center, #0a1018 0%, var(--fundo) 70%); }
body.entrar::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .35;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 40px 40px; }
.cantos i { position: fixed; width: 26px; height: 26px; border-color: var(--ouro-fraco); border-style: solid; }
.cantos i:nth-child(1) { top: 16px; left: 16px; border-width: 1px 0 0 1px; }
.cantos i:nth-child(2) { top: 16px; right: 16px; border-width: 1px 1px 0 0; }
.cantos i:nth-child(3) { bottom: 16px; left: 16px; border-width: 0 0 1px 1px; }
.cantos i:nth-child(4) { bottom: 16px; right: 16px; border-width: 0 1px 1px 0; }
.entrar main { text-align: center; width: min(360px, calc(100vw - 32px)); padding: 32px 0; position: relative; }
.orbita { width: 150px; height: 150px; margin-bottom: 26px; fill: none; stroke: #23303c; stroke-width: 1; animation: girar 30s linear infinite; }
.orbita .nucleo { stroke: var(--ouro); stroke-width: 2; }
.orbita .sat { stroke: none; }
.orbita .s1 { fill: var(--ouro); }
.orbita .s2 { fill: var(--ciano); }
@keyframes girar { to { transform: rotate(360deg); } }
.entrar h1 { font: 700 30px var(--mono); letter-spacing: .5em; margin-right: -.5em; color: var(--texto); }
.entrar .sub { font: 10px var(--mono); letter-spacing: .3em; color: var(--ouro-fraco); margin: 10px 0 36px; }
.entrar form { display: flex; flex-direction: column; gap: 12px; text-align: left; }
.entrar label { font: 10px var(--mono); letter-spacing: .25em; color: var(--apagado); }
.entrar input { background: rgba(8,11,16,.9); border: 1px solid var(--borda-forte); border-radius: 6px; padding: 14px;
  font: 16px var(--mono); letter-spacing: .2em; color: var(--ouro); text-transform: uppercase; outline: none; }
.entrar input:focus { border-color: var(--ouro-fraco); box-shadow: 0 0 0 3px rgba(217,171,79,.08); }
.entrar button { padding: 13px; border-radius: 6px; font: 600 12px var(--mono); letter-spacing: .3em; color: #120d03; background: var(--ouro); }
.entrar button:hover { filter: brightness(1.08); }
.entrar .erro { font: 11px var(--mono); letter-spacing: .15em; color: var(--vermelho); text-align: center; }
@media (prefers-reduced-motion: reduce) { .orbita { animation: none; } }
