/* 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; } }