/* Alua Vitals · peças próprias (dados e tecnologia: frio, violeta-claro sobre noite) */
.seccao-escura-2 { background: var(--noite-2); }

.ecra { margin: 0; position: relative; border-radius: var(--raio); overflow: hidden; background: var(--noite-2); border: 1px solid rgb(180 140 255 / .28); box-shadow: 0 2rem 5rem -2rem rgb(122 39 207 / .55); }
.ecra-topo { display: flex; align-items: center; gap: .9rem; padding: .7rem 1rem; font-family: var(--f-mono); font-size: var(--t-rotulo); color: var(--lilas); border-bottom: 1px solid var(--linha-escura); }
.luzes { display: inline-flex; gap: .35rem; }
.luzes i { width: .6rem; height: .6rem; border-radius: 50%; background: rgb(255 255 255 / .18); }
.selo { white-space: nowrap; margin-left: auto; color: var(--noite); background: var(--acento); border-radius: 999px; padding: .1rem .6rem; }
.ecra img { width: 100%; height: auto; }

/* linha de pulso animada sobre o ecrã do herói */
.pulso { position: absolute; left: 0; right: 0; bottom: 8%; height: 18%; width: 100%; pointer-events: none; }
.pulso path { fill: none; stroke: var(--acento); stroke-width: 3; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 900; stroke-dashoffset: 900; animation: pulso 3.2s var(--suave) .4s infinite; filter: drop-shadow(0 0 6px var(--acento)); }
@keyframes pulso { 0% { stroke-dashoffset: 900; opacity: 1; } 60% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }

/* vitrine com separadores */
.vitrine-abas { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.vitrine-abas button { font: inherit; font-family: var(--f-mono); font-size: var(--t-rotulo); color: var(--lilas-claro); background: transparent; border: 1px solid var(--linha-escura); border-radius: 999px; padding: .5rem 1rem; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.vitrine-abas button:hover { border-color: var(--acento); }
.vitrine-abas button[aria-selected="true"] { background: var(--acento); color: var(--noite); border-color: var(--acento); }
.vitrine-ecra { display: grid; }
.vitrine-ecra img { grid-area: 1 / 1; opacity: 0; transition: opacity .5s; }
.vitrine-ecra img.ativo { opacity: 1; }
.ecra-grande { max-width: 64rem; }

.divisor { border: 0; border-top: 1px solid var(--linha-escura); margin: 2rem 0; }
