        @import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Cinzel:wght@400;600&display=swap');
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Crimson Text', serif;
            background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
			overflow-y: auto;
			padding: 40px 0;
            position: relative;
        }
        
        body::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(ellipse at center, transparent 0%, rgba(15, 23, 42, 0.8) 100%);
            pointer-events: none;
        }
        
        .ocean-particles {
            position: absolute;
            width: 100%;
            height: 100%;
            pointer-events: none;
            overflow: hidden;
        }
        
        .particle {
            position: absolute;
            background: rgba(56, 189, 248, 0.1);
            border-radius: 50%;
            animation: float 6s ease-in-out infinite;
        }
        
        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.1; }
            50% { transform: translateY(-20px) rotate(180deg); opacity: 0.3; }
        }
        
        .book-container {
            perspective: 2500px;
            perspective-origin: center center;
            width: 95vw;
            max-width: 1400px;
			height: calc(100vh - 160px); /* ajusta según el espacio necesario */
            max-height: 900px;
            position: relative;
        }
        
        .book {
            width: 100%;
            height: 100%;
            position: relative;
            transform-style: preserve-3d;
            transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
            box-shadow: 
                0 25px 80px rgba(0, 0, 0, 0.3),
                0 0 0 1px rgba(255, 255, 255, 0.05),
                inset 0 1px 0 rgba(255, 255, 255, 0.1);
        }
        
        .page {
            position: absolute;
            width: 100%;
            height: 100%;
            background: 
                linear-gradient(145deg, #fefce8, #fef3c7),
                radial-gradient(circle at 20% 80%, rgba(251, 191, 36, 0.1) 0%, transparent 50%);
            border-radius: 12px;
            display: flex;
            transform-origin: left center;
            transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
            box-shadow: 
                inset 0 0 30px rgba(251, 191, 36, 0.1),
                0 8px 25px rgba(0, 0, 0, 0.15),
                0 15px 35px rgba(0, 0, 0, 0.1);
            backface-visibility: hidden;
            will-change: transform;
        }
        
        .page::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, 
                transparent 0%, 
                rgba(0, 0, 0, 0.05) 2%, 
                transparent 5%);
            border-radius: 12px;
            pointer-events: none;
            z-index: 1;
        }

        /* Página base que siempre está visible */
        .page-base {
            z-index: 1;
        }
        
        /* Página que se voltea */
        .page-flip {
            z-index: 2;
            transform: rotateY(0deg);
        }
        
        .page-flip.flipping-right {
            animation: pageFlipRight 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
        }
        
        .page-flip.flipping-left {
            animation: pageFlipLeft 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
        }
        
        @keyframes pageFlipRight {
            0% { 
                transform: rotateY(0deg) scale(1);
                z-index: 2;
                opacity: 1;
            }
            15% {
                transform: rotateY(-15deg) scale(0.98) translateX(5px);
                box-shadow: 
                    -3px 3px 15px rgba(0, 0, 0, 0.2),
                    0 10px 25px rgba(0, 0, 0, 0.15);
                opacity: 1;
            }
            35% {
                transform: rotateY(-45deg) scale(0.92) translateX(15px);
                box-shadow: 
                    -8px 8px 25px rgba(0, 0, 0, 0.3),
                    0 15px 30px rgba(0, 0, 0, 0.2);
                opacity: 0.9;
            }
            50% {
                transform: rotateY(-90deg) scale(0.88) translateX(25px);
                box-shadow: 
                    -12px 12px 35px rgba(0, 0, 0, 0.4),
                    0 20px 40px rgba(0, 0, 0, 0.3);
                opacity: 0.7;
            }
            65% {
                transform: rotateY(-135deg) scale(0.92) translateX(15px);
                box-shadow: 
                    8px 8px 25px rgba(0, 0, 0, 0.3),
                    0 15px 30px rgba(0, 0, 0, 0.2);
                opacity: 0.9;
            }
            85% {
                transform: rotateY(-165deg) scale(0.98) translateX(5px);
                box-shadow: 
                    3px 3px 15px rgba(0, 0, 0, 0.2),
                    0 10px 25px rgba(0, 0, 0, 0.15);
                opacity: 1;
            }
            100% { 
                transform: rotateY(-180deg) scale(1);
                z-index: 1;
                opacity: 1;
            }
        }
        
        @keyframes pageFlipLeft {
            0% { 
                transform: rotateY(0deg) scale(1);
                z-index: 2;
            }
            25% {
                transform: rotateY(25deg) scale(0.95) translateX(-10px);
                box-shadow: 
                    5px 5px 20px rgba(0, 0, 0, 0.3),
                    0 15px 35px rgba(0, 0, 0, 0.2);
            }
            50% {
                transform: rotateY(90deg) scale(0.9) translateX(-20px);
                box-shadow: 
                    10px 10px 30px rgba(0, 0, 0, 0.4),
                    0 20px 40px rgba(0, 0, 0, 0.3);
            }
            75% {
                transform: rotateY(155deg) scale(0.95) translateX(-10px);
                box-shadow: 
                    -5px 5px 20px rgba(0, 0, 0, 0.3),
                    0 15px 35px rgba(0, 0, 0, 0.2);
            }
            100% { 
                transform: rotateY(180deg) scale(1);
                z-index: 1;
            }
        }
        
        .page-left {
            width: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            overflow: hidden;
            border-radius: 12px 0 0 12px;
        }
        
        .page-right {
            width: 50%;
            padding: 80px 50px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: relative;
            border-left: 2px solid rgba(251, 191, 36, 0.3);
            border-radius: 0 12px 12px 0;
        }
        
        .story-image {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 12px 0 0 12px;
            transition: transform 0.5s ease;
        }
        
        .story-image:hover {
            transform: scale(1.02);
        }
        
        .story-text {
            font-size: 22px;
            line-height: 1.9;
            color: #1f2937;
            text-align: justify;
            text-indent: 25px;
            font-weight: 400;
            position: relative;
        }
        
        .story-text::first-letter {
            font-family: 'Cinzel', serif;
            font-size: 4.5em;
            line-height: 1;
            float: left;
            margin: 0 12px 0 0;
            color: #1e40af;
            text-shadow: 2px 2px 4px rgba(30, 64, 175, 0.3);
        }

        .story-text-no-initial {
			font-size: 22px;
			line-height: 1.9;
			color: #1f2937;
			text-align: justify;
			margin-left: 25px;
			font-weight: 400;
			position: relative;
			margin-top: 20px;
		}
        
        .page-number {
            position: absolute;
            bottom: 25px;
            right: 25px;
            font-size: 16px;
            color: #6b7280;
            font-family: 'Cinzel', serif;
        }
        
        .controls {
            position: absolute;
            bottom: -70px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 25px;
            z-index: 1000;
        }
        
        .btn {
            padding: 15px 30px;
            background: linear-gradient(145deg, #1e40af, #3b82f6);
            color: white;
            border: none;
            border-radius: 30px;
            cursor: pointer;
            font-family: 'Cinzel', serif;
            font-size: 18px;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(30, 64, 175, 0.4);
            position: relative;
            overflow: hidden;
        }
        
        .btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.5s ease;
        }
        
        .btn:hover::before {
            left: 100%;
        }
        
        .btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(30, 64, 175, 0.6);
        }
        
        .btn:disabled {
            background: linear-gradient(145deg, #6b7280, #9ca3af);
            cursor: not-allowed;
            box-shadow: 0 2px 8px rgba(107, 114, 128, 0.3);
        }
        
        .btn:disabled:hover {
            transform: none;
        }
        
        .loading {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: #3b82f6;
            font-size: 20px;
            font-family: 'Cinzel', serif;
        }
        
        .error {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: #dc2626;
            font-size: 18px;
            text-align: center;
        }
        
        .title {
            position: absolute;
            top: -80px;
            left: 50%;
            transform: translateX(-50%);
            font-family: 'Cinzel', serif;
            font-size: 3em;
            font-weight: 600;
            color: #f8fafc;
            text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
            text-align: center;
            z-index: 100;
        }
        
        .title::after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            width: 120px;
            height: 3px;
            background: linear-gradient(90deg, transparent, #3b82f6, transparent);
        }
		
		.btn-muro {
		    position: absolute;
		    top: -80px;
		    right: 30px;
		    padding: 12px 24px;
		    background: linear-gradient(145deg, #059669, #10b981);
		    color: white;
		    border: none;
		    border-radius: 25px;
		    cursor: pointer;
		    font-family: 'Cinzel', serif;
		    font-size: 16px;
		    font-weight: 600;
		    transition: all 0.3s ease;
		    box-shadow: 0 4px 15px rgba(5, 150, 105, 0.4);
		    text-decoration: none;
		    display: inline-flex;
		    align-items: center;
		    gap: 8px;
		    z-index: 1000;
		    opacity: 0.9;
		}

		.btn-muro::before {
		    content: '';
		    position: absolute;
		    top: 0;
		    left: -100%;
		    width: 100%;
		    height: 100%;
		    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
		    transition: left 0.5s ease;
		}

		.btn-muro:hover::before {
		    left: 100%;
		}

		.btn-muro:hover {
		    transform: translateY(-2px);
		    box-shadow: 0 6px 20px rgba(5, 150, 105, 0.6);
		    opacity: 1;
		}


@media screen 
  and (min-device-width: 900px) 
  and (max-device-width: 1400px) 
{
        .story-text 
	{
		line-height: 1.5;
		font-size: 20px;
	}	
}

@media screen 
  and (min-device-height: 768px) 
  and (max-device-height: 1400px) 
  and (orientation: landscape)
{
        .story-text 
	{
		line-height: 1.5;
		font-size: 20px;
	}	
}


@media screen 
  and (min-device-height: 900px) 
  and (max-device-height: 1400px) 
  and (orientation: landscape)
{
        .story-text 
	{
		line-height: 1.5;
		font-size: 20px;
	}	
}

@media screen
  and (min-device-width: 690px)   
  and (max-device-width: 900px) 
  and (orientation: landscape) 
{
	.title 
	{
            	transform: translateX(0%);
    		left: 0;
	}

	.btn-muro 
	{
    		top: -70px;
	}

	.story-text 
	{
    		font-size: 13px;
    		line-height: 1.1;
	}

	.story-text-no-initial
	{
    		font-size: 13px;
    		line-height: 1.1;
		margin-top: 10px;
	}

	.btn 
	{
    		font-size: 15px;
		padding: 15px 15px;
	}

	.page-number 
	{
    		bottom: 5px;
	}
}

@media screen and (max-device-width: 680px) and (orientation: landscape) 
{
	.title 
	{
            	transform: translateX(0%);
    		left: 0;
	   	top: -70px;
    		font-size: 25px;
	}

	.btn-muro 
	{
    		top: -70px;
	}

	.story-text 
	{
    		font-size: 12px;
    		line-height: 1;
	}

	.story-text-no-initial
	{
    		font-size: 12px;
    		line-height: 1;
		margin-top: 0px;
	}

	.btn 
	{
    		font-size: 15px;
		padding: 15px 15px;
	}

	.page-right 
	{
	    	padding: 80px 10px;
	}

	.page-number 
	{
		display: none;
	}
}