portal_publico/static/css/login-intro.css

165 lines
3.1 KiB
CSS

/* Animação de intro pós-login — portada de pid-intro-escuro.html (composição
por cenas Build/Face/Wordmark/Portal, ver CLAUDE.md "Animação de intro do
login"). Cores e formas idênticas às do resto da marca P.I.D. já usada no
Portal (mesmos hex de pid-icone-escuro.svg/pid-logo-horizontal-escuro.svg),
hardcoded aqui como nesses SVGs — não são tokens de tema, são a paleta fixa
da marca. Só usado em index.html. */
.login-intro {
position: fixed;
inset: 0;
z-index: 200;
/* Mesmo tom de --bg-canvas (tema escuro, valor fixo — não var(), já que o
card do login e a animação são congelados escuros nos dois temas, ver
"Card de login" em login.css) — não a cor de fundo original do arquivo
fornecido (#241c33, roxo-tinto), pra a transição login → animação →
portal ler como uma coisa só se estruturando aos poucos, não uma troca
de cenário. */
background: #121017;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 500ms ease;
}
.login-intro.is-visible {
opacity: 1;
}
.login-intro__stage {
display: flex;
align-items: center;
gap: 32px;
}
.login-intro__icon {
width: 160px;
height: 160px;
flex: none;
overflow: visible;
transform: translate(0, 0) scale(1);
}
.login-intro__body {
fill: #7b5ba8;
fill-opacity: 0;
stroke: #7b5ba8;
stroke-width: 1.4;
stroke-linejoin: round;
stroke-dasharray: 100;
stroke-dashoffset: 100;
stroke-opacity: 0;
}
.login-intro__tab {
opacity: 0;
}
.login-intro__tab rect:first-child {
fill: #c6a24a;
}
.login-intro__tab rect:last-child {
fill: #7b5ba8;
}
.login-intro__screen {
opacity: 0;
}
.login-intro__screen rect {
fill: #241c33;
}
.login-intro__eye {
opacity: 0;
}
.login-intro__eye circle {
fill: #f2ede3;
}
.login-intro__eye .login-intro__glint {
fill: #241c33;
}
.login-intro__smile {
fill: none;
stroke: #c6a24a;
stroke-width: 3;
stroke-linecap: round;
stroke-dasharray: 100;
stroke-dashoffset: 100;
stroke-opacity: 0;
}
.login-intro__wordmark {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 14px;
opacity: 0;
}
.login-intro__letters {
display: flex;
align-items: baseline;
gap: 2px;
}
.login-intro__letter {
display: inline-block;
font-family: "Space Grotesk", sans-serif;
font-weight: 700;
font-size: 3rem;
letter-spacing: 0.03em;
color: #f2ede3;
opacity: 0;
}
.login-intro__dot {
color: #c6a24a;
}
.login-intro__rule {
width: 220px;
height: 3px;
background: #c6a24a;
transform-origin: left center;
transform: scaleX(0);
}
.login-intro__tagline {
font-family: "DM Mono", ui-monospace, monospace;
font-size: 0.85rem;
letter-spacing: 0.22em;
text-transform: uppercase;
color: rgba(242, 237, 227, 0.62);
opacity: 0;
}
@media (max-width: 600px) {
.login-intro__stage {
gap: 20px;
}
.login-intro__icon {
width: 100px;
height: 100px;
}
.login-intro__letter {
font-size: 2rem;
}
.login-intro__rule {
width: 150px;
}
.login-intro__tagline {
font-size: 0.65rem;
letter-spacing: 0.16em;
}
}