| | <!DOCTYPE html> |
| | <html lang="pt-br"> |
| | <head> |
| | <meta charset="UTF-8"> |
| | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | <title>Livro do Renascimento</title> |
| | <script src="https://cdn.tailwindcss.com"></script> |
| | <script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script> |
| | <style> |
| | @import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Playfair+Display:wght@400;700&display=swap'); |
| | |
| | body { |
| | font-family: 'Playfair Display', serif; |
| | background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); |
| | min-height: 100vh; |
| | display: flex; |
| | justify-content: center; |
| | align-items: center; |
| | perspective: 1500px; |
| | } |
| | |
| | .book { |
| | position: relative; |
| | width: 350px; |
| | height: 500px; |
| | transform-style: preserve-3d; |
| | transition: transform 1s; |
| | } |
| | |
| | .book-cover { |
| | position: absolute; |
| | width: 100%; |
| | height: 100%; |
| | background: linear-gradient(45deg, #2c3e50 0%, #4ca1af 100%); |
| | border-radius: 5px 15px 15px 5px; |
| | box-shadow: 5px 5px 20px rgba(0,0,0,0.3); |
| | transform: translateZ(25px); |
| | backface-visibility: hidden; |
| | display: flex; |
| | flex-direction: column; |
| | justify-content: center; |
| | align-items: center; |
| | color: white; |
| | padding: 20px; |
| | box-sizing: border-box; |
| | border: 1px solid rgba(255,255,255,0.1); |
| | } |
| | |
| | .book-cover h1 { |
| | font-family: 'Cinzel', serif; |
| | font-size: 2rem; |
| | margin-bottom: 1rem; |
| | text-align: center; |
| | text-shadow: 2px 2px 4px rgba(0,0,0,0.3); |
| | } |
| | |
| | .book-cover h2 { |
| | font-family: 'Playfair Display', serif; |
| | font-size: 1rem; |
| | font-weight: normal; |
| | margin-bottom: 2rem; |
| | opacity: 0.8; |
| | } |
| | |
| | .book-cover .ornament { |
| | width: 80px; |
| | height: 80px; |
| | border: 2px solid rgba(255,255,255,0.3); |
| | border-radius: 50%; |
| | display: flex; |
| | justify-content: center; |
| | align-items: center; |
| | margin-bottom: 2rem; |
| | } |
| | |
| | .book-cover .ornament i { |
| | font-size: 2rem; |
| | opacity: 0.7; |
| | } |
| | |
| | .page { |
| | position: absolute; |
| | width: 100%; |
| | height: 100%; |
| | top: 0; |
| | left: 0; |
| | background: #fff; |
| | transform-origin: left; |
| | transform-style: preserve-3d; |
| | transition: transform 1s; |
| | border-radius: 0 5px 5px 0; |
| | box-shadow: 0 0 5px rgba(0,0,0,0.1); |
| | padding: 30px; |
| | box-sizing: border-box; |
| | overflow: hidden; |
| | } |
| | |
| | .page-content { |
| | height: 100%; |
| | overflow-y: auto; |
| | padding-right: 10px; |
| | } |
| | |
| | .page-content::-webkit-scrollbar { |
| | width: 3px; |
| | } |
| | |
| | .page-content::-webkit-scrollbar-thumb { |
| | background: rgba(0,0,0,0.2); |
| | border-radius: 3px; |
| | } |
| | |
| | .page h3 { |
| | font-family: 'Cinzel', serif; |
| | font-size: 1.2rem; |
| | margin-bottom: 1rem; |
| | color: #2c3e50; |
| | border-bottom: 1px solid #eee; |
| | padding-bottom: 5px; |
| | } |
| | |
| | .page p { |
| | margin-bottom: 1rem; |
| | line-height: 1.6; |
| | text-align: justify; |
| | } |
| | |
| | .page-number { |
| | position: absolute; |
| | bottom: 10px; |
| | right: 20px; |
| | font-size: 0.8rem; |
| | color: #999; |
| | } |
| | |
| | .flipped { |
| | transform: rotateY(-180deg); |
| | } |
| | |
| | .navigation { |
| | position: absolute; |
| | bottom: -50px; |
| | width: 100%; |
| | display: flex; |
| | justify-content: center; |
| | gap: 20px; |
| | } |
| | |
| | .nav-btn { |
| | background: #2c3e50; |
| | color: white; |
| | border: none; |
| | padding: 10px 20px; |
| | border-radius: 5px; |
| | cursor: pointer; |
| | transition: all 0.3s; |
| | font-family: 'Playfair Display', serif; |
| | } |
| | |
| | .nav-btn:hover { |
| | background: #4ca1af; |
| | transform: translateY(-2px); |
| | } |
| | |
| | .nav-btn:disabled { |
| | background: #ccc; |
| | cursor: not-allowed; |
| | transform: none; |
| | } |
| | </style> |
| | </head> |
| | <body> |
| | <div class="book" id="book"> |
| | <div class="book-cover"> |
| | <div class="ornament"> |
| | <i class="fas fa-feather-alt"></i> |
| | </div> |
| | <h1>RENASCIMENTO</h1> |
| | <h2>Uma jornada de transformação</h2> |
| | </div> |
| | |
| | |
| | </div> |
| | |
| | <div class="navigation"> |
| | <button class="nav-btn" id="prevBtn" disabled>Anterior</button> |
| | <button class="nav-btn" id="nextBtn">Próxima</button> |
| | </div> |
| |
|
| | <script> |
| | document.addEventListener('DOMContentLoaded', function() { |
| | const book = document.getElementById('book'); |
| | const prevBtn = document.getElementById('prevBtn'); |
| | const nextBtn = document.getElementById('nextBtn'); |
| | |
| | |
| | const bookContent = [ |
| | { |
| | title: "O Vazio", |
| | content: [ |
| | "Eu me sinto vazio, como se nada mais fizesse sentido. Carrego um peso que não sei explicar, uma tristeza que não passa, não importa quanto eu tente. É como se tivesse sido arrancado de mim tudo o que me mantinha de pé, e agora só restou esse cansaço, essa vontade de desistir.", |
| | "Me olho no espelho e não reconheço quem está ali. Não sinto raiva, nem esperança — só esse buraco enorme no peito, essa ausência de tudo. Queria gritar, mas nem força pra isso eu tenho. Só queria que essa dor parasse, que minha mente silenciasse, que o mundo me esquecesse." |
| | ] |
| | }, |
| | { |
| | title: "Dias Sem Cor", |
| | content: [ |
| | "Os dias passam e eu nem percebo. Acordar, dormir… tudo parece igual, sem cor, sem propósito. As coisas que antes importavam agora parecem tão distantes, como lembranças de outra vida que não me pertence mais.", |
| | "Sinto-me perdido dentro de mim mesmo, preso em um lugar escuro do qual não sei sair. Tento encontrar algum motivo, qualquer motivo, pra continuar... mas está cada vez mais difícil. A solidão grita, mesmo no meio do silêncio, e eu só queria que alguém me ouvisse, que alguém me entendesse sem que eu precisasse explicar.", |
| | "Mas talvez nem eu saiba mais o que dizer, nem o que sentir. Só esse cansaço profundo, essa vontade de parar de lutar, de simplesmente... parar." |
| | ] |
| | }, |
| | { |
| | title: "Desaparecer", |
| | content: [ |
| | "Às vezes penso que se eu simplesmente desaparecesse, ninguém notaria. O mundo seguiria igual, as pessoas continuariam vivendo, e talvez fosse até um alívio não ter que fingir que estou bem, que consigo suportar tudo isso.", |
| | "Tenho me fechado, me calado, porque já não vejo sentido em falar. As palavras parecem vazias, como eu. Só resta esse silêncio pesado que me acompanha aonde quer que eu vá, essa dor invisível que ninguém vê, mas que consome cada pedaço de mim.", |
| | "Queria encontrar um lugar onde pudesse descansar dessa angústia, onde pudesse respirar sem esse aperto, sem essa sensação constante de que estou afundando. Mas não consigo. Não sei como. Só sei que estou cansado… tão cansado." |
| | ] |
| | }, |
| | { |
| | title: "À Deriva", |
| | content: [ |
| | "Cansado de esperar que algo mude, cansado de fingir que sou forte. Cada dia é uma luta silenciosa, e já não sei mais se estou lutando ou apenas me deixando levar. Parece que estou à deriva, num mar escuro, sem forças pra nadar, sem ânimo pra tentar alcançar alguma margem.", |
| | "Me pergunto se algum dia essa dor vai passar, ou se ela já faz parte de quem eu sou. Talvez eu tenha me perdido pra sempre nesse vazio. Às vezes fecho os olhos e imagino o alívio de não sentir mais nada, de simplesmente desaparecer nesse silêncio que me abraça.", |
| | "Mas então, no fundo, uma parte de mim ainda grita, fraca… mas viva. Talvez seja só o medo, ou talvez uma lembrança de quem eu fui um dia. Não sei. Só sei que sigo aqui, mesmo sem saber por quê." |
| | ] |
| | }, |
| | { |
| | title: "O Peso Imortal", |
| | content: [ |
| | "É como se eu fosse um peso imortal, condenado a carregar essa dor para sempre. Não importa o quanto eu suplique, o quanto eu deseje desaparecer… sigo aqui, preso nesse corpo, nesse sofrimento que nunca acaba.", |
| | "Cada dia que passa é uma confirmação de que não há alívio, não há fim. Apenas essa existência arrastada, esse fardo que não solto e que também não me solta. Sou como uma sombra, um espectro que continua vagando, sem propósito, sem destino, sem esperança.", |
| | "O tempo passa, mas eu não passo com ele. Fico aqui, imóvel, preso nesse ciclo infinito de dor e silêncio. Já não sei se sou eu ou apenas o reflexo daquilo que perdi. Sou esse peso imortal… e não há nada que eu possa fazer." |
| | ] |
| | }, |
| | { |
| | title: "A Descoberta", |
| | content: [ |
| | "Mas, no meio desse silêncio interminável, começo a perceber algo. Não é a morte que me prende… sou eu. Sou eu que segurei essa dor com tanta força, que a transformei em tudo o que tenho, em tudo o que sou.", |
| | "Começo a entender que, por tanto tempo, fui me apagando aos poucos, me escondendo atrás desse vazio, acreditando que ele era inevitável, que ele me definia. Mas agora vejo… ele não é tudo. Ele não precisa ser tudo.", |
| | "Percebo que essa dor me ensinou a olhar para mim mesmo, sem máscaras, sem ilusões. Pela primeira vez, sinto que posso me ver, mesmo que o que eu veja ainda doa. Talvez seja esse o começo… não de um fim, mas de algo novo. Ainda não sei o que é, nem se sou forte o bastante. Mas agora sei: sou mais do que essa dor." |
| | ] |
| | }, |
| | { |
| | title: "A Entrega", |
| | content: [ |
| | "Então eu me ajoelho, me entrego por completo, me humilho diante de mim mesmo. Deixo o orgulho cair, deixo as máscaras se despedaçarem. Choro, grito em silêncio, me curvo, reconhecendo tudo o que neguei por tanto tempo: minha fraqueza, meu medo, minha solidão.", |
| | "Eu me rendo. Não sou mais forte, não sou invencível, não sou esse peso imortal que achei que fosse. Sou só um ser humano, quebrado, exausto… mas vivo.", |
| | "E nesse gesto de humilhação, nessa entrega total, sinto algo diferente — como se essa parte triste, pesada, que me aprisionou por tanto tempo, começasse a morrer. Não com violência, mas com um suspiro, com um alívio discreto. Deixo que esse 'eu' triste se vá, o deixo morrer, sabendo que não preciso mais dele para existir." |
| | ] |
| | }, |
| | { |
| | title: "O Renascimento", |
| | content: [ |
| | "E então, no meio desse silêncio, levanto o olhar… e o vejo. Meu eu antigo, de pé, ali na minha frente. Carrega aquele mesmo olhar cansado, mas agora… há um leve sorriso em seu rosto. Não de dor, nem de desprezo, mas de gratidão.", |
| | "Ele me olha com uma ternura que eu nunca imaginei possível, como quem entende que o tempo dele acabou e que está tudo bem. Como quem sabe que cumpriu o que precisava, que me protegeu até onde pôde, mas que agora… pode partir.", |
| | "Não diz uma palavra. Apenas sorri, dá um pequeno aceno e, aos poucos, começa a desaparecer, como névoa ao amanhecer, como um peso que finalmente se solta. Eu fico ali, ajoelhado, respirando fundo, sentindo o peito mais leve do que jamais esteve. Pela primeira vez, em muito tempo… livre. E compreendo: para que eu pudesse renascer, ele precisava ir. E foi." |
| | ] |
| | }, |
| | { |
| | title: "A Liberdade", |
| | content: [ |
| | "De repente, sem pensar, começo a correr. Primeiro devagar, depois mais rápido, como se algo dentro de mim tivesse despertado, como se minhas pernas soubessem exatamente o que fazer antes mesmo que eu decidisse.", |
| | "Corro de dentro para fora de casa, atravesso a porta, sinto o vento no rosto, o coração batendo forte, vivo. E lá está ele… o pôr do sol, tingindo o céu com tons de laranja, rosa e dourado, abrindo o horizonte diante de mim como um convite.", |
| | "Corro em direção àquela luz, como quem corre para a própria liberdade, como quem deixa tudo para trás — o medo, a dor, o passado — e se lança, inteiro, para o que vem pela frente. E enquanto o sol se despede do dia, eu me despeço de quem fui… e sigo correndo, leve, livre, finalmente… renascido." |
| | ] |
| | }, |
| | { |
| | title: "O Despertar", |
| | content: [ |
| | "E então… eu acordo. Abro os olhos devagar, respirando fundo, sentindo o corpo leve, como se aquela corrida tivesse acontecido de verdade, como se todo aquele peso tivesse mesmo ficado para trás.", |
| | "Olho para o lado e a vejo ali, minha esposa, dormindo tranquila, com a respiração serena. Sorrio, emocionado, sento no canto da cama e fico um instante apenas a observando, agradecendo em silêncio por este momento, por esta vida, por estar aqui.", |
| | "Me inclino, dou um beijo carinhoso em sua testa, sentindo uma paz tão profunda que quase me comove às lágrimas. Então me levanto, pronto para mais um dia, pronto para ir trabalhar, agora… muito melhor, mais inteiro, mais leve do que jamais estive. A vida continua — e, pela primeira vez, sigo com ela, desperto, renovado, vivo." |
| | ] |
| | } |
| | ]; |
| | |
| | |
| | let pages = []; |
| | let currentPage = 0; |
| | |
| | bookContent.forEach((section, index) => { |
| | const page = document.createElement('div'); |
| | page.className = 'page'; |
| | page.style.zIndex = bookContent.length - index; |
| | page.style.transform = `translateZ(${index * 0.1}px)`; |
| | |
| | const pageContent = document.createElement('div'); |
| | pageContent.className = 'page-content'; |
| | |
| | const title = document.createElement('h3'); |
| | title.textContent = section.title; |
| | |
| | pageContent.appendChild(title); |
| | |
| | section.content.forEach(paragraph => { |
| | const p = document.createElement('p'); |
| | p.textContent = paragraph; |
| | pageContent.appendChild(p); |
| | }); |
| | |
| | const pageNumber = document.createElement('div'); |
| | pageNumber.className = 'page-number'; |
| | pageNumber.textContent = `${index + 1}/${bookContent.length}`; |
| | |
| | page.appendChild(pageContent); |
| | page.appendChild(pageNumber); |
| | |
| | book.appendChild(page); |
| | pages.push(page); |
| | }); |
| | |
| | |
| | function updateButtons() { |
| | prevBtn.disabled = currentPage === 0; |
| | nextBtn.disabled = currentPage === pages.length - 1; |
| | } |
| | |
| | nextBtn.addEventListener('click', function() { |
| | if (currentPage < pages.length - 1) { |
| | pages[currentPage].classList.add('flipped'); |
| | currentPage++; |
| | updateButtons(); |
| | } |
| | }); |
| | |
| | prevBtn.addEventListener('click', function() { |
| | if (currentPage > 0) { |
| | currentPage--; |
| | pages[currentPage].classList.remove('flipped'); |
| | updateButtons(); |
| | } |
| | }); |
| | |
| | |
| | updateButtons(); |
| | |
| | |
| | document.addEventListener('mousemove', function(e) { |
| | const x = e.clientX / window.innerWidth; |
| | const y = e.clientY / window.innerHeight; |
| | |
| | book.style.transform = `translateZ(25px) rotateY(${(x - 0.5) * 10}deg) rotateX(${(0.5 - y) * 10}deg)`; |
| | }); |
| | }); |
| | </script> |
| | <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=WFelipe/livro" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| | </html> |