diff --git a/src/app.d.ts b/src/app.d.ts
index da08e6d..790a33d 100644
--- a/src/app.d.ts
+++ b/src/app.d.ts
@@ -1,3 +1,6 @@
+///
+///
+
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
declare global {
diff --git a/src/lib/components/ProgramCard.svelte b/src/lib/components/ProgramCard.svelte
new file mode 100644
index 0000000..4965805
--- /dev/null
+++ b/src/lib/components/ProgramCard.svelte
@@ -0,0 +1,49 @@
+
+
+
+
+
+

+
+
+
+
+ {program.name}
+
+
{program.shortDescription}
+
+
+
+
+ Acessar
+ →
+
+
+
diff --git a/src/lib/components/ProgramPage.svelte b/src/lib/components/ProgramPage.svelte
new file mode 100644
index 0000000..59cb2b9
--- /dev/null
+++ b/src/lib/components/ProgramPage.svelte
@@ -0,0 +1,100 @@
+
+
+
+ {program.name} | Secretaria de Esportes de Pernambuco
+
+
+
+
+
+ ←
+ Voltar para a página inicial
+
+
+
+
+
+
+
+
+

+
+
+
+ {program.name}
+
+
{program.shortDescription}
+
+
+
+
+ {program.longDescription}
+
+
+
+
+
+
+
+
+
diff --git a/src/lib/data/programs.ts b/src/lib/data/programs.ts
new file mode 100644
index 0000000..5397ed6
--- /dev/null
+++ b/src/lib/data/programs.ts
@@ -0,0 +1,58 @@
+export type ProgramId = 'bolsa-atleta' | 'bolsa-tecnico' | 'time-pe';
+
+export type Program = {
+ id: ProgramId;
+ name: string;
+ shortDescription: string;
+ longDescription: string;
+ brandImageSrc: string;
+ accent: 'blue' | 'yellow' | 'green' | 'red';
+ signupUrl: string;
+ editalUrl: string;
+};
+
+export const programs: Program[] = [
+ {
+ id: 'bolsa-atleta',
+ name: 'Bolsa Atleta',
+ shortDescription: 'Incentivo para atletas e paratletas em Pernambuco.',
+ longDescription:
+ 'O Bolsa Atleta Pernambuco é um programa de incentivo ao esporte, voltado a atletas e paratletas, com foco na valorização do desempenho, na permanência esportiva e no fortalecimento do esporte no estado.',
+ brandImageSrc: '/brand/bolsa-atleta.png',
+ accent: 'yellow',
+ signupUrl: 'https://forms.gle/2iJw8vtLsCrjvrmD6',
+ editalUrl:
+ 'https://drive.google.com/file/d/14zc13QfHC1mw6d6GFZJIJNNc-JgadsfA/view?usp=sharing'
+ },
+ {
+ id: 'bolsa-tecnico',
+ name: 'Bolsa Técnico',
+ shortDescription: 'Apoio a treinadores(as) e equipes técnicas.',
+ longDescription:
+ 'O Bolsa Técnico Pernambuco é um programa de apoio a treinadores(as) e equipes técnicas, fortalecendo a preparação esportiva e contribuindo para a formação e o desenvolvimento de atletas e paratletas no estado.',
+ brandImageSrc: '/brand/bolsa-tecnico.png',
+ accent: 'blue',
+ signupUrl: 'https://forms.gle/r9qC32yNEAFsyg4s7',
+ editalUrl:
+ 'https://drive.google.com/file/d/1mWQUPvsjmzp_glTcbJAY3F6k46VUJZiL/view?usp=sharing'
+ },
+ {
+ id: 'time-pe',
+ name: 'Time Pernambuco',
+ shortDescription: 'Programa para impulsionar talentos e resultados.',
+ longDescription:
+ 'O Time Pernambuco é uma iniciativa para apoiar talentos e impulsionar resultados, ampliando oportunidades, visibilidade e suporte ao esporte, em alinhamento com as políticas públicas da SESP-PE.',
+ brandImageSrc: '/brand/time-pe.png',
+ accent: 'green',
+ signupUrl: 'https://forms.gle/BDp5ZD8QkhVL1CDu5',
+ editalUrl:
+ 'https://drive.google.com/file/d/1XHvoUL92IGzItG-4WaF_Ih-whgPpdoEO/view?usp=sharing'
+ }
+];
+
+export function getProgram(id: ProgramId): Program {
+ const program = programs.find((p) => p.id === id);
+ if (!program) throw new Error(`Programa não encontrado: ${id}`);
+ return program;
+}
+
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 9c42926..bcc14d5 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,3 +1,117 @@
-
Welcome to your library project
-Create your package using @sveltejs/package and preview/showcase your work with SvelteKit
-Visit svelte.dev/docs/kit to read the documentation
+
+
+
+ Secretaria de Esportes de Pernambuco
+
+
+
+
+
+
+
+
+ Governo de Pernambuco
+
+
+
+ Informações e acesso rápido aos programas institucionais.
+
+
+
+
+
+ SESP-PE
+
+
+
+
+
+
+
+
+
+
+ Programas da Secretaria
+
+
+ Selecione um programa para acessar a página com os links oficiais de inscrição e
+ edital.
+
+
+
+ Links oficiais
+ Inscrição e edital
+ Nova aba
+
+
+
+
+ {#each programs as program (program.id)}
+
+ {/each}
+
+
+
+
+
+
Como participar
+
+ -
+ 1.
+ Escolha o programa e leia o edital.
+
+ -
+ 2.
+ Realize a inscrição no formulário oficial.
+
+ -
+ 3.
+ Acompanhe comunicados e prazos conforme o edital.
+
+
+
+
+
+
Atendimento e transparência
+
+ Esta página reúne acessos para facilitar a participação. Para regras, documentos exigidos e
+ cronogramas, consulte sempre o edital do programa.
+
+
+
+
+
+
+
diff --git a/src/routes/bolsa-atleta/+page.svelte b/src/routes/bolsa-atleta/+page.svelte
new file mode 100644
index 0000000..5e3cd7b
--- /dev/null
+++ b/src/routes/bolsa-atleta/+page.svelte
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/src/routes/bolsa-tecnico/+page.svelte b/src/routes/bolsa-tecnico/+page.svelte
new file mode 100644
index 0000000..77b048e
--- /dev/null
+++ b/src/routes/bolsa-tecnico/+page.svelte
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/src/routes/layout.css b/src/routes/layout.css
index d4b5078..81a0d7f 100644
--- a/src/routes/layout.css
+++ b/src/routes/layout.css
@@ -1 +1,59 @@
@import 'tailwindcss';
+
+:root {
+ /* Base */
+ --page-bg: #eef3ff;
+ --surface-muted: #f2f5fb;
+
+ /* Text */
+ --text-strong: #0f1f3a;
+ --text: #2b3a55;
+ --text-muted: #60708a;
+
+ /* Brand accents (inspirado nas logomarcas anexadas) */
+ --accent-blue: #1f4a86;
+ --accent-yellow: #f4d01d;
+ --accent-green: #2bb34a;
+ --accent-red: #e0382f;
+
+ /* UI */
+ --link: #1f4a86;
+ --focus-ring: #1f4a86;
+}
+
+html,
+body {
+ height: 100%;
+}
+
+body {
+ color: var(--text);
+ background:
+ radial-gradient(1000px 500px at 10% 0%, rgba(31, 74, 134, 0.14), transparent 60%),
+ radial-gradient(900px 480px at 90% 10%, rgba(244, 208, 29, 0.16), transparent 55%),
+ radial-gradient(800px 420px at 30% 100%, rgba(43, 179, 74, 0.12), transparent 55%),
+ var(--page-bg);
+}
+
+a {
+ color: inherit;
+}
+
+/* Pequenos utilitários locais (sem depender de plugins do Tailwind) */
+.pill {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.375rem;
+ border-radius: 9999px;
+ padding: 0.375rem 0.625rem;
+ font-size: 0.75rem;
+ font-weight: 600;
+ color: var(--text-muted);
+ background: rgba(255, 255, 255, 0.75);
+ box-shadow: 0 1px 0 rgba(15, 31, 58, 0.04);
+ border: 1px solid rgba(15, 31, 58, 0.06);
+}
+
+::selection {
+ background: rgba(31, 74, 134, 0.2);
+}
diff --git a/src/routes/time-pe/+page.svelte b/src/routes/time-pe/+page.svelte
new file mode 100644
index 0000000..e2e69ee
--- /dev/null
+++ b/src/routes/time-pe/+page.svelte
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/static/brand/bolsa-atleta.png b/static/brand/bolsa-atleta.png
new file mode 100644
index 0000000..44b2add
Binary files /dev/null and b/static/brand/bolsa-atleta.png differ
diff --git a/static/brand/bolsa-tecnico.png b/static/brand/bolsa-tecnico.png
new file mode 100644
index 0000000..5e20324
Binary files /dev/null and b/static/brand/bolsa-tecnico.png differ
diff --git a/static/brand/gov-pe.png b/static/brand/gov-pe.png
new file mode 100644
index 0000000..a2dec8d
Binary files /dev/null and b/static/brand/gov-pe.png differ
diff --git a/static/brand/time-pe.png b/static/brand/time-pe.png
new file mode 100644
index 0000000..a40e669
Binary files /dev/null and b/static/brand/time-pe.png differ
diff --git a/tsconfig.json b/tsconfig.json
index e7c4a9a..67e29fa 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -8,8 +8,6 @@
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
- "strict": true,
- "module": "NodeNext",
- "moduleResolution": "NodeNext"
+ "strict": true
}
}