BlackMonsterMedia's picture
Agora cria o evento com esta informação:
07f23cf verified
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Alma Shopping Gaming Week – Evento</title>
<link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Inter:wght@300;400;600;800&display=swap" rel="stylesheet">
<style>
:root{
--bg:#0a0b0f;
--ink:#fffc00;
--border: rgba(255,255,255,.12);
--accent:#ff2a6d;
--glass: rgba(255,255,255,.06);
--glow: 0 0 8px rgba(255,42,109,.8);
--scanline: rgba(0,255,255,.05);
--space: 28px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; color:var(--ink); background: var(--bg);
font-family: Inter, sans-serif;
border: 16px solid #222;
border-image: linear-gradient(45deg, #333, #111) 1;
box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
min-height: 100vh;
position: relative;
overflow-x:hidden;
}
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 100; border: 8px solid rgba(255,42,109,0.2); }
body::before{
content:""; position:fixed; inset:0; z-index:-3; pointer-events:none;
background:
linear-gradient(var(--scanline) 1px, transparent 1px),
linear-gradient(90deg, var(--scanline) 1px, transparent 1px),
radial-gradient(ellipse at 50% 0, rgba(255,42,109,.2), transparent 70%),
radial-gradient(ellipse at 50% 100%, rgba(0,255,255,.1), transparent 70%),
var(--bg);
background-size: 100% 2px, 3px 100%, auto, auto, auto;
animation: scan 8s linear infinite;
}
@keyframes scan { from { background-position: 0 0, 0 0; } to { background-position: 0 100vh, 0 0; } }
.wrap{
max-width:900px; margin:0 auto; padding: calc(var(--space) * 2) var(--space);
text-align:center; min-height:100vh;
display:flex; flex-direction:column; justify-content:center; align-items:stretch;
gap: var(--space);
}
.tagline{
font-family: "Press Start 2P", monospace;
font-size: clamp(24px, 3vw, 36px);
margin: 0; padding: calc(var(--space) * .8);
background: rgba(0,0,0,0.5);
border: 4px solid var(--accent);
box-shadow: inset 0 0 20px rgba(255,42,109,0.3), var(--glow);
text-shadow: 0 0 5px var(--accent), 0 0 10px var(--accent), 0 0 20px var(--accent);
text-transform: uppercase; letter-spacing: 2px; position:relative;
}
.tagline::after {
content: ""; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);
width: 80%; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent);
box-shadow: 0 0 8px var(--accent);
}
.options-title {
font-family: "Press Start 2P", monospace;
font-size: 16px;
color: var(--accent);
text-transform: uppercase;
letter-spacing:2px;
text-shadow: 0 0 5px var(--accent), 0 0 10px var(--accent);
margin: 0;
}
.card {
background: rgba(0,0,0,0.5);
padding: var(--space);
border: 2px solid var(--accent);
box-shadow: inset 0 0 20px rgba(255,42,109,0.3), var(--glow);
text-align: left;
}
h1, h2, h3 {
font-family: "Press Start 2P", monospace;
color: var(--accent);
text-transform: uppercase;
letter-spacing: 1px;
text-shadow: 0 0 5px var(--accent);
}
h1 { font-size: clamp(24px, 3vw, 36px); }
h2 { font-size: clamp(20px, 2.5vw, 30px); }
h3 { font-size: clamp(18px, 2vw, 24px); }
.event-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--space);
margin-top: var(--space);
}
.event-card {
border: 2px solid var(--accent);
padding: 16px;
}
.event-card h4 {
margin: 0 0 12px 0;
color: var(--accent);
font-family: "Press Start 2P", monospace;
font-size: 14px;
}
.activation-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--space);
margin-top: var(--space);
}
.activation-card {
border: 2px solid var(--accent);
padding: 12px;
text-align: center;
}
.activation-card h4 {
margin: 0 0 8px 0;
color: var(--accent);
font-family: "Press Start 2P", monospace;
font-size: 14px;
}
.timeline {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 8px;
margin-top: var(--space);
}
.timeline-day {
border: 2px solid var(--accent);
padding: 8px;
text-align: center;
}
.timeline-day h4 {
margin: 0 0 4px 0;
color: var(--accent);
font-family: "Press Start 2P", monospace;
font-size: 12px;
}
.popup-icon{
position: fixed;
pointer-events:none;
z-index: 50;
opacity:0;
filter: drop-shadow(0 0 6px rgba(255,255,255,.35));
image-rendering: pixelated;
}
@keyframes popInOut{
0%{ transform: translateY(10px) scale(.6); opacity:0; }
15%{ transform: translateY(0) scale(1); opacity:1; }
70%{ transform: translateY(-20px) scale(1); opacity:1; }
100%{ transform: translateY(-28px) scale(.9); opacity:0; }
}
</style>
<script src="https://unpkg.com/feather-icons"></script>
</head>
<body>
<div class="wrap">
<h1 class="tagline">ALMA SHOPPING GAMING WEEK — EVENTO</h1>
<p class="options-title">VEM VIVER O GAMING AO MÁXIMO</p>
<section>
<h3>EVENTO AO VIVO</h3>
<div class="card">
<div class="event-grid">
<div class="event-card">
<h4>DURAÇÃO</h4>
<p>1 semana</p>
</div>
<div class="event-card">
<h4>OBJETIVO</h4>
<p>Transformar o Alma Shopping no epicentro do gaming em Coimbra</p>
</div>
<div class="event-card">
<h4>RESULTADOS</h4>
<p>Máximo footfall no shopping e conteúdo para fase Legacy</p>
</div>
</div>
<h4 style="color: var(--accent); margin-top: var(--space);">MENSAGEM-CHAVE</h4>
<p style="text-align: center; font-size: 1.2em; font-weight: bold;">
"A Alma Shopping Gaming Week chegou — vem viver o gaming ao máximo."
</p>
<h4 style="color: var(--accent); margin-top: var(--space);">ATIVAÇÕES PRINCIPAIS</h4>
<div class="activation-grid">
<div class="activation-card">
<h4>COMPETIÇÃO AO VIVO</h4>
<p>1 jogo por dia (Seg–Qui) com quartos e meias-finais</p>
<p>Finais Sábado e Domingo em palco principal</p>
</div>
<div class="activation-card">
<h4>CLASH FAMILIAR CORNER</h4>
<p>Zona hands-on com PlayStations e Switches</p>
<p>Bancada para assistir aos jogos + ecrã gigante</p>
</div>
<div class="activation-card">
<h4>SHOWCASE MATCHES</h4>
<p>Jogos de exibição entre influenciadores e pros</p>
</div>
<div class="activation-card">
<h4>MEET & GREET</h4>
<p>Influencers e casters em contacto direto com o público</p>
</div>
<div class="activation-card">
<h4>ATIVIDADES PARALELAS</h4>
<p>Consolas abertas, arcades, VR, photobooths temáticos</p>
</div>
</div>
<h4 style="color: var(--accent); margin-top: var(--space);">TIMING SUGERIDO</h4>
<div class="timeline">
<div class="timeline-day">
<h4>SEG</h4>
<p>Qualificações</p>
</div>
<div class="timeline-day">
<h4>TER</h4>
<p>Qualificações</p>
</div>
<div class="timeline-day">
<h4>QUA</h4>
<p>Qualificações</p>
</div>
<div class="timeline-day">
<h4>QUI</h4>
<p>Qualificações</p>
</div>
<div class="timeline-day">
<h4>SEX</h4>
<p>Preparação</p>
</div>
<div class="timeline-day">
<h4>SÁB</h4>
<p>Finais</p>
</div>
<div class="timeline-day">
<h4>DOM</h4>
<p>Finais + Prémios</p>
</div>
</div>
<h4 style="color: var(--accent); margin-top: var(--space);">CONEXÃO COM AWARENESS 1.1</h4>
<ul style="list-style-type: none; padding-left: 0;">
<li style="margin-bottom: 12px; display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Máquinas de arcade pela cidade e cartazes funcionam como ponte para o evento
</li>
<li style="margin-bottom: 12px; display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Leaderboards e brackets online ganham vida no palco do Alma
</li>
<li style="display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Público que acompanhou qualifiers tem payoff ao ver finalistas ao vivo
</li>
</ul>
<h4 style="color: var(--accent); margin-top: var(--space);">PRESS & INFLUENCERS</h4>
<ul style="list-style-type: none; padding-left: 0;">
<li style="margin-bottom: 12px; display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Cobertura em direto com imprensa local e nacional
</li>
<li style="display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Streamers e casters criam conteúdo live do evento
</li>
</ul>
</div>
</section>
</div>
<script>
feather.replace();
// Pop-up icons animation
const COLORS = ['#ff2a6d','#ff9c2a','#ffdc00','#00d1ff','#51ff6d','#ffffff'];
const ICON_POOL = ['heart','sword','bomb','trophy','diamond','crown','clover','star'];
function spawnPopupIcon(){
const el = document.createElement('span');
el.className = `popup-icon`;
el.style.left = Math.round(Math.random()*92+4) + 'vw';
el.style.top = Math.round(Math.random()*82+8) + 'vh';
el.style.animation = `popInOut ${1200 + Math.random()*1100}ms ease-out forwards`;
const name = ICON_POOL[Math.floor(Math.random()*ICON_POOL.length)];
const color = COLORS[Math.floor(Math.random()*COLORS.length)];
el.innerHTML = `
<svg width='32' height='32' viewBox='0 0 24 24' style='shape-rendering:crispEdges;image-rendering:pixelated'>
<path d='M12 21s-6-4.35-9-7.35C-1 12 1 5 6 6c2 .4 3 2 3 2s1-1.6 3-2c5-1 7 6 3 7.65C18 16.65 12 21 12 21z' fill='${color}' stroke='#000' stroke-width='1.2'/>
</svg>`;
document.body.appendChild(el);
setTimeout(()=> el.remove(), 2200);
}
function startPopupStream(){
const jitter = () => 900 + Math.random()*2000;
const loop = () => { spawnPopupIcon(); setTimeout(loop, jitter()); };
setTimeout(loop, 800);
}
startPopupStream();
</script>
</body>
</html>